[{"data":1,"prerenderedAt":6162},["ShallowReactive",2],{"XBJJhzFSVp":3,"VyF3Mmj32r":4603,"N9m89Rcq0G":4804},{"title":4,"description":5,"body":6,"_type":4602,"_id":4},"VK_AMDX_shader_enqueue.proposal","This extension adds the ability for developers to enqueue compute workgroups from a shader.",{"type":7,"children":8,"toc":4589},"root",[9,16,23,28,41,47,52,72,77,82,87,92,98,105,112,124,456,477,520,544,672,705,804,809,815,820,957,970,975,998,1003,1061,1081,1087,1092,1462,1483,1523,1550,1568,1624,1629,1687,1707,1732,1760,1855,1888,1933,1938,1952,1958,1963,2068,2073,2139,2145,2150,2203,2215,2221,2226,2326,2331,2487,2499,2504,2928,2947,2969,2980,2998,3025,3030,3049,3060,3171,3176,3616,3628,3633,3758,3769,4110,4129,4141,4152,4315,4326,4528,4533,4539,4545,4556,4561,4567,4572,4578,4583],{"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},"Applications are increasingly using more complex renderers, often incorporating multiple compute passes that classify, sort, or otherwise preprocess input data.\nThese passes may be used to determine how future work is performed on the GPU; but triggering that future GPU work requires either a round trip to the host, or going through buffer memory and using indirect commands.\nHost round trips necessarily include more system bandwidth and latency as command buffers need to be built and transmitted back to the GPU.\nIndirect commands work well in many cases, but they have little flexibility when it comes to determining what is actually dispatched; they must be enqueued ahead of time, synchronized with heavy API barriers, and execute with a single pre-recorded pipeline.",{"type":10,"tag":11,"props":29,"children":30},{},[31,33,39],{"type":15,"value":32},"Whilst latency can be hidden and indirect commands can work in many cases where additional latency and bandwidth is not acceptable, recent engine developments such as Unreal 5’s Nanite technology explicitly require the flexibility of shader selection ",{"type":10,"tag":34,"props":35,"children":36},"em",{},[37],{"type":15,"value":38},"and",{"type":15,"value":40}," low latency.\nA desirable solution should be able to have the flexibility required for these systems, while keeping the execution loop firmly on the GPU.",{"type":10,"tag":17,"props":42,"children":44},{"id":43},"_solution_space",[45],{"type":15,"value":46},"Solution Space",{"type":10,"tag":11,"props":48,"children":49},{},[50],{"type":15,"value":51},"Three main possibilities exist:",{"type":10,"tag":53,"props":54,"children":55},"ol",{},[56,62,67],{"type":10,"tag":57,"props":58,"children":59},"li",{},[60],{"type":15,"value":61},"Extend indirect commands",{"type":10,"tag":57,"props":63,"children":64},{},[65],{"type":15,"value":66},"VK_NV_device_generated_commands",{"type":10,"tag":57,"props":68,"children":69},{},[70],{"type":15,"value":71},"Shader enqueue",{"type":10,"tag":11,"props":73,"children":74},{},[75],{"type":15,"value":76},"More flexible indirect commands could feasibly allow things like shader selection, introduce more complex flow control, or include indirect state setting commands.\nThe main issue with these is that these always require parameters to be written through regular buffer memory, and that buffer memory has to be sized for each indirect command to handle the maximum number of possibilities.\nAs well as the large allocation size causing memory pressure, pushing all that data through buffer memory will reduce the bandwidth available for other operations.\nAll of this could cause bottlenecks elsewhere in the pipeline.\nHypothetically a new interface for better scheduling/memory management could be introduced, but that starts looking a lot like option 3.",{"type":10,"tag":11,"props":78,"children":79},{},[80],{"type":15,"value":81},"Option 2 - implementing a cross-vendor equivalent of VK_NV_device_generated_commands would be a workable solution that adds both flexibility and avoids a CPU round trip.\nThe reason it has not enjoyed wider support is due to concerns about how the commands are generated - it uses a tokenised API which has to be processed by the GPU before it can be executed.\nFor existing GPUs this can mean doing things like running a single compute shader invocation to process each token stream into a runnable command buffer, adding both latency and bandwidth on the GPU.",{"type":10,"tag":11,"props":83,"children":84},{},[85],{"type":15,"value":86},"Option 3 - OpenCL and CUDA have had some form of shader enqueue API for a while, where the focus has typically been primarily on enabling developers and on compute workloads.\nFrom a user interface perspective these have had a decent amount of battle testing and is quite a popular and flexible interface.",{"type":10,"tag":11,"props":88,"children":89},{},[90],{"type":15,"value":91},"This proposal is built around something like Option 3, but extended to be explicit and performant.",{"type":10,"tag":17,"props":93,"children":95},{"id":94},"_proposal",[96],{"type":15,"value":97},"Proposal",{"type":10,"tag":99,"props":100,"children":102},"h3",{"id":101},"_api_changes",[103],{"type":15,"value":104},"API Changes",{"type":10,"tag":106,"props":107,"children":109},"h4",{"id":108},"_graph_pipelines",[110],{"type":15,"value":111},"Graph Pipelines",{"type":10,"tag":11,"props":113,"children":114},{},[115,117,122],{"type":15,"value":116},"In order to facilitate dispatch of multiple shaders from the GPU, the implementation needs some information about how pipelines will be launched and synchronized.\nThis proposal introduces a new ",{"type":10,"tag":34,"props":118,"children":119},{},[120],{"type":15,"value":121},"execution graph pipeline",{"type":15,"value":123}," that defines execution paths between multiple shaders, and allows dynamic execution of different shaders.",{"type":10,"tag":125,"props":126,"children":131},"pre",{"className":127,"code":128,"language":129,"meta":130,"style":130},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkCreateExecutionGraphPipelinesAMDX(\n VkDevice device,\n VkPipelineCache pipelineCache,\n uint32_t createInfoCount,\n const VkExecutionGraphPipelineCreateInfoAMDX* pCreateInfos,\n const VkAllocationCallbacks* pAllocator,\n VkPipeline* pPipelines);\n\ntypedef struct VkExecutionGraphPipelineCreateInfoAMDX {\n VkStructureType sType;\n const void* pNext;\n VkPipelineCreateFlags flags;\n uint32_t stageCount;\n const VkPipelineShaderStageCreateInfo* pStages;\n const VkPipelineLibraryCreateInfoKHR* pLibraryInfo;\n VkPipelineLayout layout;\n VkPipeline basePipelineHandle;\n int32_t basePipelineIndex;\n} VkExecutionGraphPipelineCreateInfoAMDX;\n","c","",[132],{"type":10,"tag":133,"props":134,"children":135},"code",{"__ignoreMap":130},[136,159,179,197,216,244,270,293,303,322,331,349,358,371,393,415,424,433,447],{"type":10,"tag":137,"props":138,"children":141},"span",{"class":139,"line":140},"line",1,[142,148,154],{"type":10,"tag":137,"props":143,"children":145},{"style":144},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[146],{"type":15,"value":147},"VkResult ",{"type":10,"tag":137,"props":149,"children":151},{"style":150},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[152],{"type":15,"value":153},"vkCreateExecutionGraphPipelinesAMDX",{"type":10,"tag":137,"props":155,"children":156},{"style":144},[157],{"type":15,"value":158},"(\n",{"type":10,"tag":137,"props":160,"children":162},{"class":139,"line":161},2,[163,168,174],{"type":10,"tag":137,"props":164,"children":165},{"style":144},[166],{"type":15,"value":167}," VkDevice ",{"type":10,"tag":137,"props":169,"children":171},{"style":170},"--shiki-default:#953800;--shiki-dark:#FFA657",[172],{"type":15,"value":173},"device",{"type":10,"tag":137,"props":175,"children":176},{"style":144},[177],{"type":15,"value":178},",\n",{"type":10,"tag":137,"props":180,"children":182},{"class":139,"line":181},3,[183,188,193],{"type":10,"tag":137,"props":184,"children":185},{"style":144},[186],{"type":15,"value":187}," VkPipelineCache ",{"type":10,"tag":137,"props":189,"children":190},{"style":170},[191],{"type":15,"value":192},"pipelineCache",{"type":10,"tag":137,"props":194,"children":195},{"style":144},[196],{"type":15,"value":178},{"type":10,"tag":137,"props":198,"children":200},{"class":139,"line":199},4,[201,207,212],{"type":10,"tag":137,"props":202,"children":204},{"style":203},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[205],{"type":15,"value":206}," uint32_t",{"type":10,"tag":137,"props":208,"children":209},{"style":170},[210],{"type":15,"value":211}," createInfoCount",{"type":10,"tag":137,"props":213,"children":214},{"style":144},[215],{"type":15,"value":178},{"type":10,"tag":137,"props":217,"children":219},{"class":139,"line":218},5,[220,225,230,235,240],{"type":10,"tag":137,"props":221,"children":222},{"style":203},[223],{"type":15,"value":224}," const",{"type":10,"tag":137,"props":226,"children":227},{"style":144},[228],{"type":15,"value":229}," VkExecutionGraphPipelineCreateInfoAMDX",{"type":10,"tag":137,"props":231,"children":232},{"style":203},[233],{"type":15,"value":234},"*",{"type":10,"tag":137,"props":236,"children":237},{"style":170},[238],{"type":15,"value":239}," pCreateInfos",{"type":10,"tag":137,"props":241,"children":242},{"style":144},[243],{"type":15,"value":178},{"type":10,"tag":137,"props":245,"children":247},{"class":139,"line":246},6,[248,252,257,261,266],{"type":10,"tag":137,"props":249,"children":250},{"style":203},[251],{"type":15,"value":224},{"type":10,"tag":137,"props":253,"children":254},{"style":144},[255],{"type":15,"value":256}," VkAllocationCallbacks",{"type":10,"tag":137,"props":258,"children":259},{"style":203},[260],{"type":15,"value":234},{"type":10,"tag":137,"props":262,"children":263},{"style":170},[264],{"type":15,"value":265}," pAllocator",{"type":10,"tag":137,"props":267,"children":268},{"style":144},[269],{"type":15,"value":178},{"type":10,"tag":137,"props":271,"children":273},{"class":139,"line":272},7,[274,279,283,288],{"type":10,"tag":137,"props":275,"children":276},{"style":144},[277],{"type":15,"value":278}," VkPipeline",{"type":10,"tag":137,"props":280,"children":281},{"style":203},[282],{"type":15,"value":234},{"type":10,"tag":137,"props":284,"children":285},{"style":170},[286],{"type":15,"value":287}," pPipelines",{"type":10,"tag":137,"props":289,"children":290},{"style":144},[291],{"type":15,"value":292},");\n",{"type":10,"tag":137,"props":294,"children":296},{"class":139,"line":295},8,[297],{"type":10,"tag":137,"props":298,"children":300},{"emptyLinePlaceholder":299},true,[301],{"type":15,"value":302},"\n",{"type":10,"tag":137,"props":304,"children":306},{"class":139,"line":305},9,[307,312,317],{"type":10,"tag":137,"props":308,"children":309},{"style":203},[310],{"type":15,"value":311},"typedef",{"type":10,"tag":137,"props":313,"children":314},{"style":203},[315],{"type":15,"value":316}," struct",{"type":10,"tag":137,"props":318,"children":319},{"style":144},[320],{"type":15,"value":321}," VkExecutionGraphPipelineCreateInfoAMDX {\n",{"type":10,"tag":137,"props":323,"children":325},{"class":139,"line":324},10,[326],{"type":10,"tag":137,"props":327,"children":328},{"style":144},[329],{"type":15,"value":330}," VkStructureType sType;\n",{"type":10,"tag":137,"props":332,"children":334},{"class":139,"line":333},11,[335,339,344],{"type":10,"tag":137,"props":336,"children":337},{"style":203},[338],{"type":15,"value":224},{"type":10,"tag":137,"props":340,"children":341},{"style":203},[342],{"type":15,"value":343}," void*",{"type":10,"tag":137,"props":345,"children":346},{"style":144},[347],{"type":15,"value":348}," pNext;\n",{"type":10,"tag":137,"props":350,"children":352},{"class":139,"line":351},12,[353],{"type":10,"tag":137,"props":354,"children":355},{"style":144},[356],{"type":15,"value":357}," VkPipelineCreateFlags flags;\n",{"type":10,"tag":137,"props":359,"children":361},{"class":139,"line":360},13,[362,366],{"type":10,"tag":137,"props":363,"children":364},{"style":203},[365],{"type":15,"value":206},{"type":10,"tag":137,"props":367,"children":368},{"style":144},[369],{"type":15,"value":370}," stageCount;\n",{"type":10,"tag":137,"props":372,"children":374},{"class":139,"line":373},14,[375,379,384,388],{"type":10,"tag":137,"props":376,"children":377},{"style":203},[378],{"type":15,"value":224},{"type":10,"tag":137,"props":380,"children":381},{"style":144},[382],{"type":15,"value":383}," VkPipelineShaderStageCreateInfo",{"type":10,"tag":137,"props":385,"children":386},{"style":203},[387],{"type":15,"value":234},{"type":10,"tag":137,"props":389,"children":390},{"style":144},[391],{"type":15,"value":392}," pStages;\n",{"type":10,"tag":137,"props":394,"children":396},{"class":139,"line":395},15,[397,401,406,410],{"type":10,"tag":137,"props":398,"children":399},{"style":203},[400],{"type":15,"value":224},{"type":10,"tag":137,"props":402,"children":403},{"style":144},[404],{"type":15,"value":405}," VkPipelineLibraryCreateInfoKHR",{"type":10,"tag":137,"props":407,"children":408},{"style":203},[409],{"type":15,"value":234},{"type":10,"tag":137,"props":411,"children":412},{"style":144},[413],{"type":15,"value":414}," pLibraryInfo;\n",{"type":10,"tag":137,"props":416,"children":418},{"class":139,"line":417},16,[419],{"type":10,"tag":137,"props":420,"children":421},{"style":144},[422],{"type":15,"value":423}," VkPipelineLayout layout;\n",{"type":10,"tag":137,"props":425,"children":427},{"class":139,"line":426},17,[428],{"type":10,"tag":137,"props":429,"children":430},{"style":144},[431],{"type":15,"value":432}," VkPipeline basePipelineHandle;\n",{"type":10,"tag":137,"props":434,"children":436},{"class":139,"line":435},18,[437,442],{"type":10,"tag":137,"props":438,"children":439},{"style":203},[440],{"type":15,"value":441}," int32_t",{"type":10,"tag":137,"props":443,"children":444},{"style":144},[445],{"type":15,"value":446}," basePipelineIndex;\n",{"type":10,"tag":137,"props":448,"children":450},{"class":139,"line":449},19,[451],{"type":10,"tag":137,"props":452,"children":453},{"style":144},[454],{"type":15,"value":455},"} VkExecutionGraphPipelineCreateInfoAMDX;\n",{"type":10,"tag":11,"props":457,"children":458},{},[459,461,467,469,475],{"type":15,"value":460},"Shaders defined by ",{"type":10,"tag":133,"props":462,"children":464},{"className":463},[],[465],{"type":15,"value":466},"pStages",{"type":15,"value":468}," and any pipelines in ",{"type":10,"tag":133,"props":470,"children":472},{"className":471},[],[473],{"type":15,"value":474},"pLibraryInfo→pLibraries",{"type":15,"value":476}," define the possible nodes of the graph.\nThe linkage between nodes however is defined wholly in shader code.",{"type":10,"tag":11,"props":478,"children":479},{},[480,482,487,489,495,497,502,504,510,512,518],{"type":15,"value":481},"Shaders in ",{"type":10,"tag":133,"props":483,"children":485},{"className":484},[],[486],{"type":15,"value":466},{"type":15,"value":488}," must be in the ",{"type":10,"tag":133,"props":490,"children":492},{"className":491},[],[493],{"type":15,"value":494},"GLCompute",{"type":15,"value":496}," execution model, and may have the ",{"type":10,"tag":34,"props":498,"children":499},{},[500],{"type":15,"value":501},"CoalescingAMDX",{"type":15,"value":503}," execution mode.\nPipelines in ",{"type":10,"tag":133,"props":505,"children":507},{"className":506},[],[508],{"type":15,"value":509},"pLibraries",{"type":15,"value":511}," can be compute pipelines or other graph pipelines created with the ",{"type":10,"tag":133,"props":513,"children":515},{"className":514},[],[516],{"type":15,"value":517},"VK_PIPELINE_CREATE_LIBRARY_BIT_KHR",{"type":15,"value":519}," flag bit.",{"type":10,"tag":11,"props":521,"children":522},{},[523,525,531,533,542],{"type":15,"value":524},"Each shader in an execution graph is associated with a name and an index, which are used to identify the target shader when dispatching a payload.\nThe ",{"type":10,"tag":133,"props":526,"children":528},{"className":527},[],[529],{"type":15,"value":530},"VkPipelineShaderStageNodeCreateInfoAMDX",{"type":15,"value":532}," provides options for specifying how the shader is specified with regards to its entry point name and index, and can be chained to the ",{"type":10,"tag":534,"props":535,"children":539},"a",{"href":536,"rel":537},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPipelineShaderStageCreateInfo.html",[538],"nofollow",[540],{"type":15,"value":541},"VkPipelineShaderStageCreateInfo",{"type":15,"value":543}," structure.",{"type":10,"tag":125,"props":545,"children":547},{"className":127,"code":546,"language":129,"meta":130,"style":130},"const uint32_t VK_SHADER_INDEX_UNUSED_AMDX = 0xFFFFFFFF;\n\ntypedef struct VkPipelineShaderStageNodeCreateInfoAMDX {\n VkStructureType sType;\n const void* pNext;\n const char* pName;\n uint32_t index;\n} VkPipelineShaderStageNodeCreateInfoAMDX;\n",[548],{"type":10,"tag":133,"props":549,"children":550},{"__ignoreMap":130},[551,590,597,613,620,635,652,664],{"type":10,"tag":137,"props":552,"children":553},{"class":139,"line":140},[554,559,564,569,574,579,585],{"type":10,"tag":137,"props":555,"children":556},{"style":203},[557],{"type":15,"value":558},"const",{"type":10,"tag":137,"props":560,"children":561},{"style":203},[562],{"type":15,"value":563}," uint32_t",{"type":10,"tag":137,"props":565,"children":566},{"style":144},[567],{"type":15,"value":568}," VK_SHADER_INDEX_UNUSED_AMDX ",{"type":10,"tag":137,"props":570,"children":571},{"style":203},[572],{"type":15,"value":573},"=",{"type":10,"tag":137,"props":575,"children":576},{"style":203},[577],{"type":15,"value":578}," 0x",{"type":10,"tag":137,"props":580,"children":582},{"style":581},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[583],{"type":15,"value":584},"FFFFFFFF",{"type":10,"tag":137,"props":586,"children":587},{"style":144},[588],{"type":15,"value":589},";\n",{"type":10,"tag":137,"props":591,"children":592},{"class":139,"line":161},[593],{"type":10,"tag":137,"props":594,"children":595},{"emptyLinePlaceholder":299},[596],{"type":15,"value":302},{"type":10,"tag":137,"props":598,"children":599},{"class":139,"line":181},[600,604,608],{"type":10,"tag":137,"props":601,"children":602},{"style":203},[603],{"type":15,"value":311},{"type":10,"tag":137,"props":605,"children":606},{"style":203},[607],{"type":15,"value":316},{"type":10,"tag":137,"props":609,"children":610},{"style":144},[611],{"type":15,"value":612}," VkPipelineShaderStageNodeCreateInfoAMDX {\n",{"type":10,"tag":137,"props":614,"children":615},{"class":139,"line":199},[616],{"type":10,"tag":137,"props":617,"children":618},{"style":144},[619],{"type":15,"value":330},{"type":10,"tag":137,"props":621,"children":622},{"class":139,"line":218},[623,627,631],{"type":10,"tag":137,"props":624,"children":625},{"style":203},[626],{"type":15,"value":224},{"type":10,"tag":137,"props":628,"children":629},{"style":203},[630],{"type":15,"value":343},{"type":10,"tag":137,"props":632,"children":633},{"style":144},[634],{"type":15,"value":348},{"type":10,"tag":137,"props":636,"children":637},{"class":139,"line":246},[638,642,647],{"type":10,"tag":137,"props":639,"children":640},{"style":203},[641],{"type":15,"value":224},{"type":10,"tag":137,"props":643,"children":644},{"style":203},[645],{"type":15,"value":646}," char*",{"type":10,"tag":137,"props":648,"children":649},{"style":144},[650],{"type":15,"value":651}," pName;\n",{"type":10,"tag":137,"props":653,"children":654},{"class":139,"line":272},[655,659],{"type":10,"tag":137,"props":656,"children":657},{"style":203},[658],{"type":15,"value":206},{"type":10,"tag":137,"props":660,"children":661},{"style":144},[662],{"type":15,"value":663}," index;\n",{"type":10,"tag":137,"props":665,"children":666},{"class":139,"line":295},[667],{"type":10,"tag":137,"props":668,"children":669},{"style":144},[670],{"type":15,"value":671},"} VkPipelineShaderStageNodeCreateInfoAMDX;\n",{"type":10,"tag":673,"props":674,"children":675},"ul",{},[676,687],{"type":10,"tag":57,"props":677,"children":678},{},[679,685],{"type":10,"tag":133,"props":680,"children":682},{"className":681},[],[683],{"type":15,"value":684},"index",{"type":15,"value":686}," sets the index value for a shader.",{"type":10,"tag":57,"props":688,"children":689},{},[690,696,698,703],{"type":10,"tag":133,"props":691,"children":693},{"className":692},[],[694],{"type":15,"value":695},"pName",{"type":15,"value":697}," allows applications to override the name specified in SPIR-V by ",{"type":10,"tag":34,"props":699,"children":700},{},[701],{"type":15,"value":702},"OpEntryPoint",{"type":15,"value":704},".",{"type":10,"tag":11,"props":706,"children":707},{},[708,710,715,717,723,725,731,733,738,739,745,747,753,755,761,762,768,770,776,778,783,785,790,792,797,798,803],{"type":15,"value":709},"If ",{"type":10,"tag":133,"props":711,"children":713},{"className":712},[],[714],{"type":15,"value":695},{"type":15,"value":716}," is ",{"type":10,"tag":133,"props":718,"children":720},{"className":719},[],[721],{"type":15,"value":722},"NULL",{"type":15,"value":724}," then the original name is used, as specified by ",{"type":10,"tag":133,"props":726,"children":728},{"className":727},[],[729],{"type":15,"value":730},"VkPipelineShaderStageCreateInfo::pName",{"type":15,"value":732},".\nIf ",{"type":10,"tag":133,"props":734,"children":736},{"className":735},[],[737],{"type":15,"value":684},{"type":15,"value":716},{"type":10,"tag":133,"props":740,"children":742},{"className":741},[],[743],{"type":15,"value":744},"VK_SHADER_INDEX_UNUSED_AMDX",{"type":15,"value":746}," then the original index is used, either as specified by the ",{"type":10,"tag":133,"props":748,"children":750},{"className":749},[],[751],{"type":15,"value":752},"ShaderIndexAMDX",{"type":15,"value":754}," ",{"type":10,"tag":133,"props":756,"children":758},{"className":757},[],[759],{"type":15,"value":760},"Execution",{"type":15,"value":754},{"type":10,"tag":133,"props":763,"children":765},{"className":764},[],[766],{"type":15,"value":767},"Mode",{"type":15,"value":769},", or ",{"type":10,"tag":133,"props":771,"children":773},{"className":772},[],[774],{"type":15,"value":775},"0",{"type":15,"value":777}," if that too is not specified.\nIf this structure is not provided, ",{"type":10,"tag":133,"props":779,"children":781},{"className":780},[],[782],{"type":15,"value":695},{"type":15,"value":784}," defaults to ",{"type":10,"tag":133,"props":786,"children":788},{"className":787},[],[789],{"type":15,"value":722},{"type":15,"value":791},", and ",{"type":10,"tag":133,"props":793,"children":795},{"className":794},[],[796],{"type":15,"value":684},{"type":15,"value":784},{"type":10,"tag":133,"props":799,"children":801},{"className":800},[],[802],{"type":15,"value":744},{"type":15,"value":704},{"type":10,"tag":11,"props":805,"children":806},{},[807],{"type":15,"value":808},"When dispatching from another shader, the index is dynamic and can be specified in uniform control flow - however the name must be statically declared as a decoration on the payload.\nAllowing the index to be set dynamically lets applications stream shaders in and out dynamically, by simply changing constant data and relinking the graph pipeline from new libraries.\nShaders with the same name and different indexes must consume identical payloads and have the same execution model.\nShaders with the same name in an execution graph pipeline must have unique indexes.",{"type":10,"tag":106,"props":810,"children":812},{"id":811},"_scratch_memory",[813],{"type":15,"value":814},"Scratch Memory",{"type":10,"tag":11,"props":816,"children":817},{},[818],{"type":15,"value":819},"Implementations may need scratch memory to manage dispatch queues or similar when executing a pipeline graph, and this is explicitly managed by the application.",{"type":10,"tag":125,"props":821,"children":823},{"className":127,"code":822,"language":129,"meta":130,"style":130},"typedef struct VkExecutionGraphPipelineScratchSizeAMDX {\n VkStructureType sType;\n void* pNext;\n VkDeviceSize size;\n} VkExecutionGraphPipelineScratchSizeAMDX;\n\nVkResult vkGetExecutionGraphPipelineScratchSizeAMDX(\n VkDevice device,\n VkPipeline executionGraph,\n VkExecutionGraphPipelineScratchSizeAMDX* pSizeInfo);\n",[824],{"type":10,"tag":133,"props":825,"children":826},{"__ignoreMap":130},[827,843,851,864,872,880,887,903,919,936],{"type":10,"tag":137,"props":828,"children":829},{"class":139,"line":140},[830,834,838],{"type":10,"tag":137,"props":831,"children":832},{"style":203},[833],{"type":15,"value":311},{"type":10,"tag":137,"props":835,"children":836},{"style":203},[837],{"type":15,"value":316},{"type":10,"tag":137,"props":839,"children":840},{"style":144},[841],{"type":15,"value":842}," VkExecutionGraphPipelineScratchSizeAMDX {\n",{"type":10,"tag":137,"props":844,"children":845},{"class":139,"line":161},[846],{"type":10,"tag":137,"props":847,"children":848},{"style":144},[849],{"type":15,"value":850}," VkStructureType sType;\n",{"type":10,"tag":137,"props":852,"children":853},{"class":139,"line":181},[854,859],{"type":10,"tag":137,"props":855,"children":856},{"style":203},[857],{"type":15,"value":858}," void*",{"type":10,"tag":137,"props":860,"children":861},{"style":144},[862],{"type":15,"value":863}," pNext;\n",{"type":10,"tag":137,"props":865,"children":866},{"class":139,"line":199},[867],{"type":10,"tag":137,"props":868,"children":869},{"style":144},[870],{"type":15,"value":871}," VkDeviceSize size;\n",{"type":10,"tag":137,"props":873,"children":874},{"class":139,"line":218},[875],{"type":10,"tag":137,"props":876,"children":877},{"style":144},[878],{"type":15,"value":879},"} VkExecutionGraphPipelineScratchSizeAMDX;\n",{"type":10,"tag":137,"props":881,"children":882},{"class":139,"line":246},[883],{"type":10,"tag":137,"props":884,"children":885},{"emptyLinePlaceholder":299},[886],{"type":15,"value":302},{"type":10,"tag":137,"props":888,"children":889},{"class":139,"line":272},[890,894,899],{"type":10,"tag":137,"props":891,"children":892},{"style":144},[893],{"type":15,"value":147},{"type":10,"tag":137,"props":895,"children":896},{"style":150},[897],{"type":15,"value":898},"vkGetExecutionGraphPipelineScratchSizeAMDX",{"type":10,"tag":137,"props":900,"children":901},{"style":144},[902],{"type":15,"value":158},{"type":10,"tag":137,"props":904,"children":905},{"class":139,"line":295},[906,911,915],{"type":10,"tag":137,"props":907,"children":908},{"style":144},[909],{"type":15,"value":910}," VkDevice ",{"type":10,"tag":137,"props":912,"children":913},{"style":170},[914],{"type":15,"value":173},{"type":10,"tag":137,"props":916,"children":917},{"style":144},[918],{"type":15,"value":178},{"type":10,"tag":137,"props":920,"children":921},{"class":139,"line":305},[922,927,932],{"type":10,"tag":137,"props":923,"children":924},{"style":144},[925],{"type":15,"value":926}," VkPipeline ",{"type":10,"tag":137,"props":928,"children":929},{"style":170},[930],{"type":15,"value":931},"executionGraph",{"type":10,"tag":137,"props":933,"children":934},{"style":144},[935],{"type":15,"value":178},{"type":10,"tag":137,"props":937,"children":938},{"class":139,"line":324},[939,944,948,953],{"type":10,"tag":137,"props":940,"children":941},{"style":144},[942],{"type":15,"value":943}," VkExecutionGraphPipelineScratchSizeAMDX",{"type":10,"tag":137,"props":945,"children":946},{"style":203},[947],{"type":15,"value":234},{"type":10,"tag":137,"props":949,"children":950},{"style":170},[951],{"type":15,"value":952}," pSizeInfo",{"type":10,"tag":137,"props":954,"children":955},{"style":144},[956],{"type":15,"value":292},{"type":10,"tag":11,"props":958,"children":959},{},[960,962,968],{"type":15,"value":961},"Applications can query the required amount of scratch memory required for a given pipeline, and the address of a buffer of that size must be provided when calling ",{"type":10,"tag":133,"props":963,"children":965},{"className":964},[],[966],{"type":15,"value":967},"vkCmdDispatchGraphAMDX",{"type":15,"value":969},".\nThe amount of scratch memory needed by a given pipeline is related to the number and size of payloads across the whole graph; while the exact relationship is implementation dependent, reducing the number of unique nodes (different name string) and size of payloads can reduce scratch memory consumption.",{"type":10,"tag":11,"props":971,"children":972},{},[973],{"type":15,"value":974},"Buffers created for this purpose must use the new buffer usage flags:",{"type":10,"tag":125,"props":976,"children":978},{"className":127,"code":977,"language":129,"meta":130,"style":130},"VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX\nVK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX\n",[979],{"type":10,"tag":133,"props":980,"children":981},{"__ignoreMap":130},[982,990],{"type":10,"tag":137,"props":983,"children":984},{"class":139,"line":140},[985],{"type":10,"tag":137,"props":986,"children":987},{"style":144},[988],{"type":15,"value":989},"VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX\n",{"type":10,"tag":137,"props":991,"children":992},{"class":139,"line":161},[993],{"type":10,"tag":137,"props":994,"children":995},{"style":144},[996],{"type":15,"value":997},"VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX\n",{"type":10,"tag":11,"props":999,"children":1000},{},[1001],{"type":15,"value":1002},"Scratch memory needs to be initialized against a graph pipeline before it can be used with that graph for the first time, using the following command:",{"type":10,"tag":125,"props":1004,"children":1006},{"className":127,"code":1005,"language":129,"meta":130,"style":130},"void vkCmdInitializeGraphScratchMemoryAMDX(\n VkCommandBuffer commandBuffer,\n VkDeviceAddress scratch);\n",[1007],{"type":10,"tag":133,"props":1008,"children":1009},{"__ignoreMap":130},[1010,1027,1044],{"type":10,"tag":137,"props":1011,"children":1012},{"class":139,"line":140},[1013,1018,1023],{"type":10,"tag":137,"props":1014,"children":1015},{"style":203},[1016],{"type":15,"value":1017},"void",{"type":10,"tag":137,"props":1019,"children":1020},{"style":150},[1021],{"type":15,"value":1022}," vkCmdInitializeGraphScratchMemoryAMDX",{"type":10,"tag":137,"props":1024,"children":1025},{"style":144},[1026],{"type":15,"value":158},{"type":10,"tag":137,"props":1028,"children":1029},{"class":139,"line":161},[1030,1035,1040],{"type":10,"tag":137,"props":1031,"children":1032},{"style":144},[1033],{"type":15,"value":1034}," VkCommandBuffer ",{"type":10,"tag":137,"props":1036,"children":1037},{"style":170},[1038],{"type":15,"value":1039},"commandBuffer",{"type":10,"tag":137,"props":1041,"children":1042},{"style":144},[1043],{"type":15,"value":178},{"type":10,"tag":137,"props":1045,"children":1046},{"class":139,"line":181},[1047,1052,1057],{"type":10,"tag":137,"props":1048,"children":1049},{"style":144},[1050],{"type":15,"value":1051}," VkDeviceAddress ",{"type":10,"tag":137,"props":1053,"children":1054},{"style":170},[1055],{"type":15,"value":1056},"scratch",{"type":10,"tag":137,"props":1058,"children":1059},{"style":144},[1060],{"type":15,"value":292},{"type":10,"tag":11,"props":1062,"children":1063},{},[1064,1066,1072,1074,1080],{"type":15,"value":1065},"This command initializes it for the currently bound execution graph pipeline.\nScratch memory will need to be re-initialized if it is going to be reused with a different execution graph pipeline, but can be used with the same pipeline repeatedly without re-initialization.\nScratch memory initialization can be synchronized using the compute pipeline stage ",{"type":10,"tag":133,"props":1067,"children":1069},{"className":1068},[],[1070],{"type":15,"value":1071},"VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT",{"type":15,"value":1073}," and shader write access flag ",{"type":10,"tag":133,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":15,"value":1079},"VK_ACCESS_SHADER_WRITE_BIT",{"type":15,"value":704},{"type":10,"tag":106,"props":1082,"children":1084},{"id":1083},"_dispatch_a_graph",[1085],{"type":15,"value":1086},"Dispatch a graph",{"type":10,"tag":11,"props":1088,"children":1089},{},[1090],{"type":15,"value":1091},"Once an execution graph has been created and scratch memory has been initialized for it, the following commands can be used to execute the graph:",{"type":10,"tag":125,"props":1093,"children":1095},{"className":127,"code":1094,"language":129,"meta":130,"style":130},"typedef struct VkDispatchGraphInfoAMDX {\n uint32_t nodeIndex;\n uint32_t payloadCount;\n VkDeviceOrHostAddressConstAMDX payloads;\n uint64_t payloadStride;\n} VkDispatchGraphInfoAMDX;\n\ntypedef struct VkDispatchGraphCountInfoAMDX {\n uint32_t count;\n VkDeviceOrHostAddressConstAMDX infos;\n uint64_t stride;\n} VkDispatchGraphCountInfoAMDX;\n\nvoid vkCmdDispatchGraphAMDX(\n VkCommandBuffer commandBuffer,\n VkDeviceAddress scratch,\n const VkDispatchGraphCountInfoAMDX* pCountInfo);\n\nvoid vkCmdDispatchGraphIndirectAMDX(\n VkCommandBuffer commandBuffer,\n VkDeviceAddress scratch,\n const VkDispatchGraphCountInfoAMDX* pCountInfo);\n\nvoid vkCmdDispatchGraphIndirectCountAMDX(\n VkCommandBuffer commandBuffer,\n VkDeviceAddress scratch,\n VkDeviceAddress countInfo);\n",[1096],{"type":10,"tag":133,"props":1097,"children":1098},{"__ignoreMap":130},[1099,1115,1127,1139,1147,1160,1168,1175,1191,1203,1211,1223,1231,1238,1254,1269,1284,1309,1316,1332,1348,1364,1388,1396,1413,1429,1445],{"type":10,"tag":137,"props":1100,"children":1101},{"class":139,"line":140},[1102,1106,1110],{"type":10,"tag":137,"props":1103,"children":1104},{"style":203},[1105],{"type":15,"value":311},{"type":10,"tag":137,"props":1107,"children":1108},{"style":203},[1109],{"type":15,"value":316},{"type":10,"tag":137,"props":1111,"children":1112},{"style":144},[1113],{"type":15,"value":1114}," VkDispatchGraphInfoAMDX {\n",{"type":10,"tag":137,"props":1116,"children":1117},{"class":139,"line":161},[1118,1122],{"type":10,"tag":137,"props":1119,"children":1120},{"style":203},[1121],{"type":15,"value":206},{"type":10,"tag":137,"props":1123,"children":1124},{"style":144},[1125],{"type":15,"value":1126}," nodeIndex;\n",{"type":10,"tag":137,"props":1128,"children":1129},{"class":139,"line":181},[1130,1134],{"type":10,"tag":137,"props":1131,"children":1132},{"style":203},[1133],{"type":15,"value":206},{"type":10,"tag":137,"props":1135,"children":1136},{"style":144},[1137],{"type":15,"value":1138}," payloadCount;\n",{"type":10,"tag":137,"props":1140,"children":1141},{"class":139,"line":199},[1142],{"type":10,"tag":137,"props":1143,"children":1144},{"style":144},[1145],{"type":15,"value":1146}," VkDeviceOrHostAddressConstAMDX payloads;\n",{"type":10,"tag":137,"props":1148,"children":1149},{"class":139,"line":218},[1150,1155],{"type":10,"tag":137,"props":1151,"children":1152},{"style":203},[1153],{"type":15,"value":1154}," uint64_t",{"type":10,"tag":137,"props":1156,"children":1157},{"style":144},[1158],{"type":15,"value":1159}," payloadStride;\n",{"type":10,"tag":137,"props":1161,"children":1162},{"class":139,"line":246},[1163],{"type":10,"tag":137,"props":1164,"children":1165},{"style":144},[1166],{"type":15,"value":1167},"} VkDispatchGraphInfoAMDX;\n",{"type":10,"tag":137,"props":1169,"children":1170},{"class":139,"line":272},[1171],{"type":10,"tag":137,"props":1172,"children":1173},{"emptyLinePlaceholder":299},[1174],{"type":15,"value":302},{"type":10,"tag":137,"props":1176,"children":1177},{"class":139,"line":295},[1178,1182,1186],{"type":10,"tag":137,"props":1179,"children":1180},{"style":203},[1181],{"type":15,"value":311},{"type":10,"tag":137,"props":1183,"children":1184},{"style":203},[1185],{"type":15,"value":316},{"type":10,"tag":137,"props":1187,"children":1188},{"style":144},[1189],{"type":15,"value":1190}," VkDispatchGraphCountInfoAMDX {\n",{"type":10,"tag":137,"props":1192,"children":1193},{"class":139,"line":305},[1194,1198],{"type":10,"tag":137,"props":1195,"children":1196},{"style":203},[1197],{"type":15,"value":206},{"type":10,"tag":137,"props":1199,"children":1200},{"style":144},[1201],{"type":15,"value":1202}," count;\n",{"type":10,"tag":137,"props":1204,"children":1205},{"class":139,"line":324},[1206],{"type":10,"tag":137,"props":1207,"children":1208},{"style":144},[1209],{"type":15,"value":1210}," VkDeviceOrHostAddressConstAMDX infos;\n",{"type":10,"tag":137,"props":1212,"children":1213},{"class":139,"line":333},[1214,1218],{"type":10,"tag":137,"props":1215,"children":1216},{"style":203},[1217],{"type":15,"value":1154},{"type":10,"tag":137,"props":1219,"children":1220},{"style":144},[1221],{"type":15,"value":1222}," stride;\n",{"type":10,"tag":137,"props":1224,"children":1225},{"class":139,"line":351},[1226],{"type":10,"tag":137,"props":1227,"children":1228},{"style":144},[1229],{"type":15,"value":1230},"} VkDispatchGraphCountInfoAMDX;\n",{"type":10,"tag":137,"props":1232,"children":1233},{"class":139,"line":360},[1234],{"type":10,"tag":137,"props":1235,"children":1236},{"emptyLinePlaceholder":299},[1237],{"type":15,"value":302},{"type":10,"tag":137,"props":1239,"children":1240},{"class":139,"line":373},[1241,1245,1250],{"type":10,"tag":137,"props":1242,"children":1243},{"style":203},[1244],{"type":15,"value":1017},{"type":10,"tag":137,"props":1246,"children":1247},{"style":150},[1248],{"type":15,"value":1249}," vkCmdDispatchGraphAMDX",{"type":10,"tag":137,"props":1251,"children":1252},{"style":144},[1253],{"type":15,"value":158},{"type":10,"tag":137,"props":1255,"children":1256},{"class":139,"line":395},[1257,1261,1265],{"type":10,"tag":137,"props":1258,"children":1259},{"style":144},[1260],{"type":15,"value":1034},{"type":10,"tag":137,"props":1262,"children":1263},{"style":170},[1264],{"type":15,"value":1039},{"type":10,"tag":137,"props":1266,"children":1267},{"style":144},[1268],{"type":15,"value":178},{"type":10,"tag":137,"props":1270,"children":1271},{"class":139,"line":417},[1272,1276,1280],{"type":10,"tag":137,"props":1273,"children":1274},{"style":144},[1275],{"type":15,"value":1051},{"type":10,"tag":137,"props":1277,"children":1278},{"style":170},[1279],{"type":15,"value":1056},{"type":10,"tag":137,"props":1281,"children":1282},{"style":144},[1283],{"type":15,"value":178},{"type":10,"tag":137,"props":1285,"children":1286},{"class":139,"line":426},[1287,1291,1296,1300,1305],{"type":10,"tag":137,"props":1288,"children":1289},{"style":203},[1290],{"type":15,"value":224},{"type":10,"tag":137,"props":1292,"children":1293},{"style":144},[1294],{"type":15,"value":1295}," VkDispatchGraphCountInfoAMDX",{"type":10,"tag":137,"props":1297,"children":1298},{"style":203},[1299],{"type":15,"value":234},{"type":10,"tag":137,"props":1301,"children":1302},{"style":170},[1303],{"type":15,"value":1304}," pCountInfo",{"type":10,"tag":137,"props":1306,"children":1307},{"style":144},[1308],{"type":15,"value":292},{"type":10,"tag":137,"props":1310,"children":1311},{"class":139,"line":435},[1312],{"type":10,"tag":137,"props":1313,"children":1314},{"emptyLinePlaceholder":299},[1315],{"type":15,"value":302},{"type":10,"tag":137,"props":1317,"children":1318},{"class":139,"line":449},[1319,1323,1328],{"type":10,"tag":137,"props":1320,"children":1321},{"style":203},[1322],{"type":15,"value":1017},{"type":10,"tag":137,"props":1324,"children":1325},{"style":150},[1326],{"type":15,"value":1327}," vkCmdDispatchGraphIndirectAMDX",{"type":10,"tag":137,"props":1329,"children":1330},{"style":144},[1331],{"type":15,"value":158},{"type":10,"tag":137,"props":1333,"children":1335},{"class":139,"line":1334},20,[1336,1340,1344],{"type":10,"tag":137,"props":1337,"children":1338},{"style":144},[1339],{"type":15,"value":1034},{"type":10,"tag":137,"props":1341,"children":1342},{"style":170},[1343],{"type":15,"value":1039},{"type":10,"tag":137,"props":1345,"children":1346},{"style":144},[1347],{"type":15,"value":178},{"type":10,"tag":137,"props":1349,"children":1351},{"class":139,"line":1350},21,[1352,1356,1360],{"type":10,"tag":137,"props":1353,"children":1354},{"style":144},[1355],{"type":15,"value":1051},{"type":10,"tag":137,"props":1357,"children":1358},{"style":170},[1359],{"type":15,"value":1056},{"type":10,"tag":137,"props":1361,"children":1362},{"style":144},[1363],{"type":15,"value":178},{"type":10,"tag":137,"props":1365,"children":1367},{"class":139,"line":1366},22,[1368,1372,1376,1380,1384],{"type":10,"tag":137,"props":1369,"children":1370},{"style":203},[1371],{"type":15,"value":224},{"type":10,"tag":137,"props":1373,"children":1374},{"style":144},[1375],{"type":15,"value":1295},{"type":10,"tag":137,"props":1377,"children":1378},{"style":203},[1379],{"type":15,"value":234},{"type":10,"tag":137,"props":1381,"children":1382},{"style":170},[1383],{"type":15,"value":1304},{"type":10,"tag":137,"props":1385,"children":1386},{"style":144},[1387],{"type":15,"value":292},{"type":10,"tag":137,"props":1389,"children":1391},{"class":139,"line":1390},23,[1392],{"type":10,"tag":137,"props":1393,"children":1394},{"emptyLinePlaceholder":299},[1395],{"type":15,"value":302},{"type":10,"tag":137,"props":1397,"children":1399},{"class":139,"line":1398},24,[1400,1404,1409],{"type":10,"tag":137,"props":1401,"children":1402},{"style":203},[1403],{"type":15,"value":1017},{"type":10,"tag":137,"props":1405,"children":1406},{"style":150},[1407],{"type":15,"value":1408}," vkCmdDispatchGraphIndirectCountAMDX",{"type":10,"tag":137,"props":1410,"children":1411},{"style":144},[1412],{"type":15,"value":158},{"type":10,"tag":137,"props":1414,"children":1416},{"class":139,"line":1415},25,[1417,1421,1425],{"type":10,"tag":137,"props":1418,"children":1419},{"style":144},[1420],{"type":15,"value":1034},{"type":10,"tag":137,"props":1422,"children":1423},{"style":170},[1424],{"type":15,"value":1039},{"type":10,"tag":137,"props":1426,"children":1427},{"style":144},[1428],{"type":15,"value":178},{"type":10,"tag":137,"props":1430,"children":1432},{"class":139,"line":1431},26,[1433,1437,1441],{"type":10,"tag":137,"props":1434,"children":1435},{"style":144},[1436],{"type":15,"value":1051},{"type":10,"tag":137,"props":1438,"children":1439},{"style":170},[1440],{"type":15,"value":1056},{"type":10,"tag":137,"props":1442,"children":1443},{"style":144},[1444],{"type":15,"value":178},{"type":10,"tag":137,"props":1446,"children":1448},{"class":139,"line":1447},27,[1449,1453,1458],{"type":10,"tag":137,"props":1450,"children":1451},{"style":144},[1452],{"type":15,"value":1051},{"type":10,"tag":137,"props":1454,"children":1455},{"style":170},[1456],{"type":15,"value":1457},"countInfo",{"type":10,"tag":137,"props":1459,"children":1460},{"style":144},[1461],{"type":15,"value":292},{"type":10,"tag":11,"props":1463,"children":1464},{},[1465,1467,1473,1475,1481],{"type":15,"value":1466},"Each of the above commands enqueues an array of nodes in the bound execution graph pipeline with separate payloads, according to the contents of the ",{"type":10,"tag":133,"props":1468,"children":1470},{"className":1469},[],[1471],{"type":15,"value":1472},"VkDispatchGraphCountInfoAMDX",{"type":15,"value":1474}," and ",{"type":10,"tag":133,"props":1476,"children":1478},{"className":1477},[],[1479],{"type":15,"value":1480},"VkDispatchGraphInfoAMDX",{"type":15,"value":1482}," structures.",{"type":10,"tag":11,"props":1484,"children":1485},{},[1486,1491,1493,1499,1501,1506,1508,1514,1515,1521],{"type":10,"tag":133,"props":1487,"children":1489},{"className":1488},[],[1490],{"type":15,"value":967},{"type":15,"value":1492}," takes all of its arguments from the host pointers.\n",{"type":10,"tag":133,"props":1494,"children":1496},{"className":1495},[],[1497],{"type":15,"value":1498},"VkDispatchGraphCountInfoAMDX::infos.hostAddress",{"type":15,"value":1500}," is a pointer to an array of ",{"type":10,"tag":133,"props":1502,"children":1504},{"className":1503},[],[1505],{"type":15,"value":1480},{"type":15,"value":1507}," structures,\nwith stride equal to ",{"type":10,"tag":133,"props":1509,"children":1511},{"className":1510},[],[1512],{"type":15,"value":1513},"VkDispatchGraphCountInfoAMDX::stride",{"type":15,"value":1474},{"type":10,"tag":133,"props":1516,"children":1518},{"className":1517},[],[1519],{"type":15,"value":1520},"VkDispatchGraphCountInfoAMDX::count",{"type":15,"value":1522}," elements.",{"type":10,"tag":11,"props":1524,"children":1525},{},[1526,1532,1534,1540,1542,1548],{"type":10,"tag":133,"props":1527,"children":1529},{"className":1528},[],[1530],{"type":15,"value":1531},"vkCmdDispatchGraphIndirectAMDX",{"type":15,"value":1533}," consumes most parameters on the host, but uses the device address for ",{"type":10,"tag":133,"props":1535,"children":1537},{"className":1536},[],[1538],{"type":15,"value":1539},"VkDispatchGraphCountInfoAMDX::infos",{"type":15,"value":1541},", and also treating ",{"type":10,"tag":133,"props":1543,"children":1545},{"className":1544},[],[1546],{"type":15,"value":1547},"payloads",{"type":15,"value":1549}," parameters as device addresses.",{"type":10,"tag":11,"props":1551,"children":1552},{},[1553,1559,1561,1566],{"type":10,"tag":133,"props":1554,"children":1556},{"className":1555},[],[1557],{"type":15,"value":1558},"vkCmdDispatchGraphIndirectCountAMDX",{"type":15,"value":1560}," consumes ",{"type":10,"tag":133,"props":1562,"children":1564},{"className":1563},[],[1565],{"type":15,"value":1457},{"type":15,"value":1567}," on the device and all child parameters also use device addresses.",{"type":10,"tag":11,"props":1569,"children":1570},{},[1571,1573,1579,1580,1586,1588,1593,1595,1601,1603,1609,1611,1616,1617,1622],{"type":15,"value":1572},"Data consumed via a device address must be from buffers created with the ",{"type":10,"tag":133,"props":1574,"children":1576},{"className":1575},[],[1577],{"type":15,"value":1578},"VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT",{"type":15,"value":1474},{"type":10,"tag":133,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":15,"value":1585},"VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT",{"type":15,"value":1587}," flags.\n",{"type":10,"tag":133,"props":1589,"children":1591},{"className":1590},[],[1592],{"type":15,"value":1547},{"type":15,"value":1594}," is a pointer to a linear array of payloads in memory, with a stride equal to ",{"type":10,"tag":133,"props":1596,"children":1598},{"className":1597},[],[1599],{"type":15,"value":1600},"payloadStride",{"type":15,"value":1602},".\n",{"type":10,"tag":133,"props":1604,"children":1606},{"className":1605},[],[1607],{"type":15,"value":1608},"payloadCount",{"type":15,"value":1610}," may be ",{"type":10,"tag":133,"props":1612,"children":1614},{"className":1613},[],[1615],{"type":15,"value":775},{"type":15,"value":1602},{"type":10,"tag":133,"props":1618,"children":1620},{"className":1619},[],[1621],{"type":15,"value":1056},{"type":15,"value":1623}," may be used by the implementation to hold temporary data during graph execution, and can be synchronized using the compute pipeline stage and shader write access flags.",{"type":10,"tag":11,"props":1625,"children":1626},{},[1627],{"type":15,"value":1628},"These dispatch commands must not be called in protected command buffers or secondary command buffers.",{"type":10,"tag":11,"props":1630,"children":1631},{},[1632,1634,1640,1642,1647,1649,1654,1656,1662,1664,1670,1672,1677,1679,1685],{"type":15,"value":1633},"If a selected node does not include a ",{"type":10,"tag":133,"props":1635,"children":1637},{"className":1636},[],[1638],{"type":15,"value":1639},"StaticNumWorkgroupsAMDX",{"type":15,"value":1641}," or ",{"type":10,"tag":133,"props":1643,"children":1645},{"className":1644},[],[1646],{"type":15,"value":501},{"type":15,"value":1648}," declaration, the first part of each element of ",{"type":10,"tag":133,"props":1650,"children":1652},{"className":1651},[],[1653],{"type":15,"value":1547},{"type":15,"value":1655}," must be a ",{"type":10,"tag":133,"props":1657,"children":1659},{"className":1658},[],[1660],{"type":15,"value":1661},"VkDispatchIndirectCommand",{"type":15,"value":1663}," structure, indicating the number of workgroups to dispatch in each dimension.\nIf an input payload variable in ",{"type":10,"tag":133,"props":1665,"children":1667},{"className":1666},[],[1668],{"type":15,"value":1669},"NodePayloadAMDX",{"type":15,"value":1671}," storage class is defined in the shader, its structure type ",{"type":10,"tag":34,"props":1673,"children":1674},{},[1675],{"type":15,"value":1676},"must",{"type":15,"value":1678}," include ",{"type":10,"tag":534,"props":1680,"children":1683},{"href":1681,"rel":1682},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkDispatchIndirectCommand.html",[538],[1684],{"type":15,"value":1661},{"type":15,"value":1686}," in its first 12 bytes.",{"type":10,"tag":11,"props":1688,"children":1689},{},[1690,1692,1698,1700,1706],{"type":15,"value":1691},"If that node does not include a ",{"type":10,"tag":133,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":15,"value":1697},"MaxNumWorkgroupsAMDX",{"type":15,"value":1699}," declaration, it is assumed that the node may be dispatched with a grid size up to ",{"type":10,"tag":133,"props":1701,"children":1703},{"className":1702},[],[1704],{"type":15,"value":1705},"VkPhysicalDeviceLimits::maxComputeWorkGroupCount",{"type":15,"value":704},{"type":10,"tag":11,"props":1708,"children":1709},{},[1710,1711,1716,1718,1723,1725,1730],{"type":15,"value":1691},{"type":10,"tag":133,"props":1712,"children":1714},{"className":1713},[],[1715],{"type":15,"value":501},{"type":15,"value":1717}," declaration, all data in the payload is broadcast to all workgroups dispatched in this way.\nIf that node includes a ",{"type":10,"tag":133,"props":1719,"children":1721},{"className":1720},[],[1722],{"type":15,"value":501},{"type":15,"value":1724}," declaration, data in the payload will be consumed by exactly one workgroup.\nThere is no guarantee of how payloads will be consumed by ",{"type":10,"tag":133,"props":1726,"children":1728},{"className":1727},[],[1729],{"type":15,"value":501},{"type":15,"value":1731}," nodes.",{"type":10,"tag":11,"props":1733,"children":1734},{},[1735,1737,1743,1745,1750,1752,1758],{"type":15,"value":1736},"The ",{"type":10,"tag":133,"props":1738,"children":1740},{"className":1739},[],[1741],{"type":15,"value":1742},"nodeIndex",{"type":15,"value":1744}," is a unique integer identifier identifying a specific shader name and shader index (defined by ",{"type":10,"tag":133,"props":1746,"children":1748},{"className":1747},[],[1749],{"type":15,"value":530},{"type":15,"value":1751},") added to the executable graph pipeline.\n",{"type":10,"tag":133,"props":1753,"children":1755},{"className":1754},[],[1756],{"type":15,"value":1757},"vkGetExecutionGraphPipelineNodeIndexAMDX",{"type":15,"value":1759}," can be used to query the identifier for a given node:",{"type":10,"tag":125,"props":1761,"children":1763},{"className":127,"code":1762,"language":129,"meta":130,"style":130},"VkResult vkGetExecutionGraphPipelineNodeIndexAMDX(\n VkDevice device,\n VkPipeline executionGraph,\n const VkPipelineShaderStageNodeCreateInfoAMDX* pNodeInfo,\n uint32_t* pNodeIndex);\n",[1764],{"type":10,"tag":133,"props":1765,"children":1766},{"__ignoreMap":130},[1767,1782,1797,1813,1838],{"type":10,"tag":137,"props":1768,"children":1769},{"class":139,"line":140},[1770,1774,1778],{"type":10,"tag":137,"props":1771,"children":1772},{"style":144},[1773],{"type":15,"value":147},{"type":10,"tag":137,"props":1775,"children":1776},{"style":150},[1777],{"type":15,"value":1757},{"type":10,"tag":137,"props":1779,"children":1780},{"style":144},[1781],{"type":15,"value":158},{"type":10,"tag":137,"props":1783,"children":1784},{"class":139,"line":161},[1785,1789,1793],{"type":10,"tag":137,"props":1786,"children":1787},{"style":144},[1788],{"type":15,"value":167},{"type":10,"tag":137,"props":1790,"children":1791},{"style":170},[1792],{"type":15,"value":173},{"type":10,"tag":137,"props":1794,"children":1795},{"style":144},[1796],{"type":15,"value":178},{"type":10,"tag":137,"props":1798,"children":1799},{"class":139,"line":181},[1800,1805,1809],{"type":10,"tag":137,"props":1801,"children":1802},{"style":144},[1803],{"type":15,"value":1804}," VkPipeline ",{"type":10,"tag":137,"props":1806,"children":1807},{"style":170},[1808],{"type":15,"value":931},{"type":10,"tag":137,"props":1810,"children":1811},{"style":144},[1812],{"type":15,"value":178},{"type":10,"tag":137,"props":1814,"children":1815},{"class":139,"line":199},[1816,1820,1825,1829,1834],{"type":10,"tag":137,"props":1817,"children":1818},{"style":203},[1819],{"type":15,"value":224},{"type":10,"tag":137,"props":1821,"children":1822},{"style":144},[1823],{"type":15,"value":1824}," VkPipelineShaderStageNodeCreateInfoAMDX",{"type":10,"tag":137,"props":1826,"children":1827},{"style":203},[1828],{"type":15,"value":234},{"type":10,"tag":137,"props":1830,"children":1831},{"style":170},[1832],{"type":15,"value":1833}," pNodeInfo",{"type":10,"tag":137,"props":1835,"children":1836},{"style":144},[1837],{"type":15,"value":178},{"type":10,"tag":137,"props":1839,"children":1840},{"class":139,"line":218},[1841,1846,1851],{"type":10,"tag":137,"props":1842,"children":1843},{"style":203},[1844],{"type":15,"value":1845}," uint32_t*",{"type":10,"tag":137,"props":1847,"children":1848},{"style":170},[1849],{"type":15,"value":1850}," pNodeIndex",{"type":10,"tag":137,"props":1852,"children":1853},{"style":144},[1854],{"type":15,"value":292},{"type":10,"tag":11,"props":1856,"children":1857},{},[1858,1864,1866,1872,1874,1880,1882,1887],{"type":10,"tag":133,"props":1859,"children":1861},{"className":1860},[],[1862],{"type":15,"value":1863},"pNodeInfo",{"type":15,"value":1865}," specifies the shader name and index as set up when creating the pipeline, with the associated node index returned in ",{"type":10,"tag":133,"props":1867,"children":1869},{"className":1868},[],[1870],{"type":15,"value":1871},"pNodeIndex",{"type":15,"value":1873},".\nWhen used with this function, ",{"type":10,"tag":133,"props":1875,"children":1877},{"className":1876},[],[1878],{"type":15,"value":1879},"pNodeInfo→pName",{"type":15,"value":1881}," must not be ",{"type":10,"tag":133,"props":1883,"children":1885},{"className":1884},[],[1886],{"type":15,"value":722},{"type":15,"value":704},{"type":10,"tag":1889,"props":1890,"children":1891},"note",{},[1892,1897],{"type":10,"tag":11,"props":1893,"children":1894},{},[1895],{"type":15,"value":1896},"To summarize, execution graphs use two kinds of indexes:",{"type":10,"tag":53,"props":1898,"children":1899},{},[1900,1917],{"type":10,"tag":57,"props":1901,"children":1902},{},[1903,1908,1910,1915],{"type":10,"tag":34,"props":1904,"children":1905},{},[1906],{"type":15,"value":1907},"shader index",{"type":15,"value":1909}," specified in ",{"type":10,"tag":133,"props":1911,"children":1913},{"className":1912},[],[1914],{"type":15,"value":530},{"type":15,"value":1916}," and used to enqueue payloads,",{"type":10,"tag":57,"props":1918,"children":1919},{},[1920,1925,1926,1931],{"type":10,"tag":34,"props":1921,"children":1922},{},[1923],{"type":15,"value":1924},"node index",{"type":15,"value":1909},{"type":10,"tag":133,"props":1927,"children":1929},{"className":1928},[],[1930],{"type":15,"value":1480},{"type":15,"value":1932}," and used only for launching the graph from a command buffer.",{"type":10,"tag":11,"props":1934,"children":1935},{},[1936],{"type":15,"value":1937},"Execution graph pipelines and their resources are bound using a new pipeline bind point:",{"type":10,"tag":125,"props":1939,"children":1941},{"className":127,"code":1940,"language":129,"meta":130,"style":130},"VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX\n",[1942],{"type":10,"tag":133,"props":1943,"children":1944},{"__ignoreMap":130},[1945],{"type":10,"tag":137,"props":1946,"children":1947},{"class":139,"line":140},[1948],{"type":10,"tag":137,"props":1949,"children":1950},{"style":144},[1951],{"type":15,"value":1940},{"type":10,"tag":106,"props":1953,"children":1955},{"id":1954},"_properties",[1956],{"type":15,"value":1957},"Properties",{"type":10,"tag":11,"props":1959,"children":1960},{},[1961],{"type":15,"value":1962},"The following new properties are added to Vulkan:",{"type":10,"tag":125,"props":1964,"children":1966},{"className":127,"code":1965,"language":129,"meta":130,"style":130},"typedef VkPhysicalDeviceShaderEnqueuePropertiesAMDX {\n VkStructureType sType;\n void* pNext;\n uint32_t maxExecutionGraphDepth;\n uint32_t maxExecutionGraphShaderOutputNodes;\n uint32_t maxExecutionGraphShaderPayloadSize;\n uint32_t maxExecutionGraphShaderPayloadCount;\n uint32_t executionGraphDispatchAddressAlignment;\n} VkPhysicalDeviceShaderEnqueuePropertiesAMDX;\n",[1967],{"type":10,"tag":133,"props":1968,"children":1969},{"__ignoreMap":130},[1970,1982,1989,2000,2012,2024,2036,2048,2060],{"type":10,"tag":137,"props":1971,"children":1972},{"class":139,"line":140},[1973,1977],{"type":10,"tag":137,"props":1974,"children":1975},{"style":203},[1976],{"type":15,"value":311},{"type":10,"tag":137,"props":1978,"children":1979},{"style":144},[1980],{"type":15,"value":1981}," VkPhysicalDeviceShaderEnqueuePropertiesAMDX {\n",{"type":10,"tag":137,"props":1983,"children":1984},{"class":139,"line":161},[1985],{"type":10,"tag":137,"props":1986,"children":1987},{"style":144},[1988],{"type":15,"value":850},{"type":10,"tag":137,"props":1990,"children":1991},{"class":139,"line":181},[1992,1996],{"type":10,"tag":137,"props":1993,"children":1994},{"style":203},[1995],{"type":15,"value":858},{"type":10,"tag":137,"props":1997,"children":1998},{"style":144},[1999],{"type":15,"value":863},{"type":10,"tag":137,"props":2001,"children":2002},{"class":139,"line":199},[2003,2007],{"type":10,"tag":137,"props":2004,"children":2005},{"style":203},[2006],{"type":15,"value":206},{"type":10,"tag":137,"props":2008,"children":2009},{"style":144},[2010],{"type":15,"value":2011}," maxExecutionGraphDepth;\n",{"type":10,"tag":137,"props":2013,"children":2014},{"class":139,"line":218},[2015,2019],{"type":10,"tag":137,"props":2016,"children":2017},{"style":203},[2018],{"type":15,"value":206},{"type":10,"tag":137,"props":2020,"children":2021},{"style":144},[2022],{"type":15,"value":2023}," maxExecutionGraphShaderOutputNodes;\n",{"type":10,"tag":137,"props":2025,"children":2026},{"class":139,"line":246},[2027,2031],{"type":10,"tag":137,"props":2028,"children":2029},{"style":203},[2030],{"type":15,"value":206},{"type":10,"tag":137,"props":2032,"children":2033},{"style":144},[2034],{"type":15,"value":2035}," maxExecutionGraphShaderPayloadSize;\n",{"type":10,"tag":137,"props":2037,"children":2038},{"class":139,"line":272},[2039,2043],{"type":10,"tag":137,"props":2040,"children":2041},{"style":203},[2042],{"type":15,"value":206},{"type":10,"tag":137,"props":2044,"children":2045},{"style":144},[2046],{"type":15,"value":2047}," maxExecutionGraphShaderPayloadCount;\n",{"type":10,"tag":137,"props":2049,"children":2050},{"class":139,"line":295},[2051,2055],{"type":10,"tag":137,"props":2052,"children":2053},{"style":203},[2054],{"type":15,"value":206},{"type":10,"tag":137,"props":2056,"children":2057},{"style":144},[2058],{"type":15,"value":2059}," executionGraphDispatchAddressAlignment;\n",{"type":10,"tag":137,"props":2061,"children":2062},{"class":139,"line":305},[2063],{"type":10,"tag":137,"props":2064,"children":2065},{"style":144},[2066],{"type":15,"value":2067},"} VkPhysicalDeviceShaderEnqueuePropertiesAMDX;\n",{"type":10,"tag":11,"props":2069,"children":2070},{},[2071],{"type":15,"value":2072},"Each limit is defined as follows:",{"type":10,"tag":673,"props":2074,"children":2075},{},[2076,2087,2098,2109,2120],{"type":10,"tag":57,"props":2077,"children":2078},{},[2079,2085],{"type":10,"tag":133,"props":2080,"children":2082},{"className":2081},[],[2083],{"type":15,"value":2084},"maxExecutionGraphDepth",{"type":15,"value":2086}," defines the maximum node chain length in the graph, and must be at least 32.\nThe dispatched node is at depth 1 and the node enqueued by it is at depth 2, and so on.\nIf a node uses tail recursion, each recursive call increases the depth by 1 as well.",{"type":10,"tag":57,"props":2088,"children":2089},{},[2090,2096],{"type":10,"tag":133,"props":2091,"children":2093},{"className":2092},[],[2094],{"type":15,"value":2095},"maxExecutionGraphShaderOutputNodes",{"type":15,"value":2097}," specifies the maximum number of unique nodes that can be dispatched from a single shader, and must be at least 256.",{"type":10,"tag":57,"props":2099,"children":2100},{},[2101,2107],{"type":10,"tag":133,"props":2102,"children":2104},{"className":2103},[],[2105],{"type":15,"value":2106},"maxExecutionGraphShaderPayloadSize",{"type":15,"value":2108}," specifies the maximum total size of payload declarations in a shader, and must be at least 32KB.",{"type":10,"tag":57,"props":2110,"children":2111},{},[2112,2118],{"type":10,"tag":133,"props":2113,"children":2115},{"className":2114},[],[2116],{"type":15,"value":2117},"maxExecutionGraphShaderPayloadCount",{"type":15,"value":2119}," specifies the maximum number of output payloads that can be initialized in a single workgroup, and must be at least 256.",{"type":10,"tag":57,"props":2121,"children":2122},{},[2123,2129,2131,2137],{"type":10,"tag":133,"props":2124,"children":2126},{"className":2125},[],[2127],{"type":15,"value":2128},"executionGraphDispatchAddressAlignment",{"type":15,"value":2130}," specifies the alignment of non-scratch ",{"type":10,"tag":133,"props":2132,"children":2134},{"className":2133},[],[2135],{"type":15,"value":2136},"VkDeviceAddress",{"type":15,"value":2138}," arguments consumed by graph dispatch commands, and must be no more than 4 bytes.",{"type":10,"tag":106,"props":2140,"children":2142},{"id":2141},"_features",[2143],{"type":15,"value":2144},"Features",{"type":10,"tag":11,"props":2146,"children":2147},{},[2148],{"type":15,"value":2149},"The following new feature is added to Vulkan:",{"type":10,"tag":125,"props":2151,"children":2153},{"className":127,"code":2152,"language":129,"meta":130,"style":130},"typedef VkPhysicalDeviceShaderEnqueueFeaturesAMDX {\n VkStructureType sType;\n void* pNext;\n VkBool32 shaderEnqueue;\n} VkPhysicalDeviceShaderEnqueueFeaturesAMDX;\n",[2154],{"type":10,"tag":133,"props":2155,"children":2156},{"__ignoreMap":130},[2157,2169,2176,2187,2195],{"type":10,"tag":137,"props":2158,"children":2159},{"class":139,"line":140},[2160,2164],{"type":10,"tag":137,"props":2161,"children":2162},{"style":203},[2163],{"type":15,"value":311},{"type":10,"tag":137,"props":2165,"children":2166},{"style":144},[2167],{"type":15,"value":2168}," VkPhysicalDeviceShaderEnqueueFeaturesAMDX {\n",{"type":10,"tag":137,"props":2170,"children":2171},{"class":139,"line":161},[2172],{"type":10,"tag":137,"props":2173,"children":2174},{"style":144},[2175],{"type":15,"value":850},{"type":10,"tag":137,"props":2177,"children":2178},{"class":139,"line":181},[2179,2183],{"type":10,"tag":137,"props":2180,"children":2181},{"style":203},[2182],{"type":15,"value":858},{"type":10,"tag":137,"props":2184,"children":2185},{"style":144},[2186],{"type":15,"value":863},{"type":10,"tag":137,"props":2188,"children":2189},{"class":139,"line":199},[2190],{"type":10,"tag":137,"props":2191,"children":2192},{"style":144},[2193],{"type":15,"value":2194}," VkBool32 shaderEnqueue;\n",{"type":10,"tag":137,"props":2196,"children":2197},{"class":139,"line":218},[2198],{"type":10,"tag":137,"props":2199,"children":2200},{"style":144},[2201],{"type":15,"value":2202},"} VkPhysicalDeviceShaderEnqueueFeaturesAMDX;\n",{"type":10,"tag":11,"props":2204,"children":2205},{},[2206,2207,2213],{"type":15,"value":1736},{"type":10,"tag":133,"props":2208,"children":2210},{"className":2209},[],[2211],{"type":15,"value":2212},"shaderEnqueue",{"type":15,"value":2214}," feature enables all functionality in this extension.",{"type":10,"tag":99,"props":2216,"children":2218},{"id":2217},"_spir_v_changes",[2219],{"type":15,"value":2220},"SPIR-V Changes",{"type":10,"tag":11,"props":2222,"children":2223},{},[2224],{"type":15,"value":2225},"A new capability is added:",{"type":10,"tag":2227,"props":2228,"children":2234},"table",{"className":2229},[2230,2231,2232,2233],"tableblock","frame-all","grid-all","stretch",[2235,2252,2278],{"type":10,"tag":2236,"props":2237,"children":2238},"colgroup",{},[2239,2244,2248],{"type":10,"tag":2240,"props":2241,"children":2243},"col",{"style":2242},"width: 5.2631%;",[],{"type":10,"tag":2240,"props":2245,"children":2247},{"style":2246},"width: 52.6315%;",[],{"type":10,"tag":2240,"props":2249,"children":2251},{"style":2250},"width: 42.1054%;",[],{"type":10,"tag":2253,"props":2254,"children":2255},"thead",{},[2256],{"type":10,"tag":2257,"props":2258,"children":2259},"tr",{},[2260,2270],{"type":10,"tag":2261,"props":2262,"children":2267},"th",{"className":2263,"colSpan":2266},[2230,2264,2265],"halign-center","valign-middle","2",[2268],{"type":15,"value":2269},"Capability",{"type":10,"tag":2261,"props":2271,"children":2275},{"className":2272},[2230,2273,2274],"halign-left","valign-top",[2276],{"type":15,"value":2277},"Enabling Capabilities",{"type":10,"tag":2279,"props":2280,"children":2281},"tbody",{},[2282],{"type":10,"tag":2257,"props":2283,"children":2284},{},[2285,2296,2313],{"type":10,"tag":2286,"props":2287,"children":2289},"td",{"className":2288},[2230,2273,2274],[2290],{"type":10,"tag":11,"props":2291,"children":2293},{"className":2292},[2230],[2294],{"type":15,"value":2295},"5067",{"type":10,"tag":2286,"props":2297,"children":2299},{"className":2298},[2230,2273,2274],[2300],{"type":10,"tag":11,"props":2301,"children":2303},{"className":2302},[2230],[2304,2311],{"type":10,"tag":2305,"props":2306,"children":2308},"emphasis",{"role":2307},"strong",[2309],{"type":15,"value":2310},"ShaderEnqueueAMDX",{"type":15,"value":2312},"\nUses shader enqueue capabilities",{"type":10,"tag":2286,"props":2314,"children":2316},{"className":2315},[2230,2273,2274],[2317],{"type":10,"tag":11,"props":2318,"children":2320},{"className":2319},[2230],[2321],{"type":10,"tag":2305,"props":2322,"children":2323},{"role":2307},[2324],{"type":15,"value":2325},"Shader",{"type":10,"tag":11,"props":2327,"children":2328},{},[2329],{"type":15,"value":2330},"A new storage class is added:",{"type":10,"tag":2227,"props":2332,"children":2334},{"className":2333},[2230,2231,2232,2233],[2335,2347,2364],{"type":10,"tag":2236,"props":2336,"children":2337},{},[2338,2341,2344],{"type":10,"tag":2240,"props":2339,"children":2340},{"style":2242},[],{"type":10,"tag":2240,"props":2342,"children":2343},{"style":2246},[],{"type":10,"tag":2240,"props":2345,"children":2346},{"style":2250},[],{"type":10,"tag":2253,"props":2348,"children":2349},{},[2350],{"type":10,"tag":2257,"props":2351,"children":2352},{},[2353,2359],{"type":10,"tag":2261,"props":2354,"children":2356},{"className":2355,"colSpan":2266},[2230,2264,2265],[2357],{"type":15,"value":2358},"Storage Class",{"type":10,"tag":2261,"props":2360,"children":2362},{"className":2361},[2230,2273,2274],[2363],{"type":15,"value":2277},{"type":10,"tag":2279,"props":2365,"children":2366},{},[2367,2422],{"type":10,"tag":2257,"props":2368,"children":2369},{},[2370,2380,2410],{"type":10,"tag":2286,"props":2371,"children":2373},{"className":2372},[2230,2273,2274],[2374],{"type":10,"tag":11,"props":2375,"children":2377},{"className":2376},[2230],[2378],{"type":15,"value":2379},"5068",{"type":10,"tag":2286,"props":2381,"children":2383},{"className":2382},[2230,2273,2274],[2384],{"type":10,"tag":11,"props":2385,"children":2387},{"className":2386},[2230],[2388,2392,2394,2396,2400,2402,2406,2408],{"type":10,"tag":2305,"props":2389,"children":2390},{"role":2307},[2391],{"type":15,"value":1669},{"type":15,"value":2393},"\nInput payload from a node dispatch.",{"type":15,"value":2395},"\nIn the ",{"type":10,"tag":2305,"props":2397,"children":2398},{"role":2307},[2399],{"type":15,"value":494},{"type":15,"value":2401}," execution model with the ",{"type":10,"tag":2305,"props":2403,"children":2404},{"role":2307},[2405],{"type":15,"value":501},{"type":15,"value":2407}," execution mode, it is visible across all functions in all invocations in a workgroup; otherwise it is visible across all functions in all invocations in a dispatch.",{"type":15,"value":2409},"\nVariables declared with this storage class are read-write, and must not have initializers.",{"type":10,"tag":2286,"props":2411,"children":2413},{"className":2412},[2230,2273,2274],[2414],{"type":10,"tag":11,"props":2415,"children":2417},{"className":2416},[2230],[2418],{"type":10,"tag":2305,"props":2419,"children":2420},{"role":2307},[2421],{"type":15,"value":2310},{"type":10,"tag":2257,"props":2423,"children":2424},{},[2425,2435,2475],{"type":10,"tag":2286,"props":2426,"children":2428},{"className":2427},[2230,2273,2274],[2429],{"type":10,"tag":11,"props":2430,"children":2432},{"className":2431},[2230],[2433],{"type":15,"value":2434},"5076",{"type":10,"tag":2286,"props":2436,"children":2438},{"className":2437},[2230,2273,2274],[2439],{"type":10,"tag":11,"props":2440,"children":2442},{"className":2441},[2230],[2443,2448,2450,2452,2457,2459,2461,2466,2467,2469,2473],{"type":10,"tag":2305,"props":2444,"children":2445},{"role":2307},[2446],{"type":15,"value":2447},"NodeOutputPayloadAMDX",{"type":15,"value":2449},"\nOutput payload to be used for dispatch.",{"type":15,"value":2451},"\nVariables declared with this storage class are read-write, must not have initializers, and must be initialized with ",{"type":10,"tag":2305,"props":2453,"children":2454},{"role":2307},[2455],{"type":15,"value":2456},"OpInitializeNodePayloadsAMDX",{"type":15,"value":2458}," before they are accessed.",{"type":15,"value":2460},"\nOnce initialized, a variable declared with this storage class is visible to all invocations in the declared ",{"type":10,"tag":2305,"props":2462,"children":2463},{},[2464],{"type":15,"value":2465},"Scope",{"type":15,"value":704},{"type":15,"value":2468},"\nValid in ",{"type":10,"tag":2305,"props":2470,"children":2471},{"role":2307},[2472],{"type":15,"value":494},{"type":15,"value":2474}," execution models.",{"type":10,"tag":2286,"props":2476,"children":2478},{"className":2477},[2230,2273,2274],[2479],{"type":10,"tag":11,"props":2480,"children":2482},{"className":2481},[2230],[2483],{"type":10,"tag":2305,"props":2484,"children":2485},{"role":2307},[2486],{"type":15,"value":2310},{"type":10,"tag":11,"props":2488,"children":2489},{},[2490,2492,2497],{"type":15,"value":2491},"An entry point must only declare one variable in the ",{"type":10,"tag":133,"props":2493,"children":2495},{"className":2494},[],[2496],{"type":15,"value":1669},{"type":15,"value":2498}," storage class in its interface.",{"type":10,"tag":11,"props":2500,"children":2501},{},[2502],{"type":15,"value":2503},"New execution modes are added:",{"type":10,"tag":2227,"props":2505,"children":2507},{"className":2506},[2230,2231,2232,2233],[2508,2533,2557],{"type":10,"tag":2236,"props":2509,"children":2510},{},[2511,2515,2519,2523,2526,2529],{"type":10,"tag":2240,"props":2512,"children":2514},{"style":2513},"width: 3.5714%;",[],{"type":10,"tag":2240,"props":2516,"children":2518},{"style":2517},"width: 35.7142%;",[],{"type":10,"tag":2240,"props":2520,"children":2522},{"style":2521},"width: 10.7142%;",[],{"type":10,"tag":2240,"props":2524,"children":2525},{"style":2521},[],{"type":10,"tag":2240,"props":2527,"children":2528},{"style":2521},[],{"type":10,"tag":2240,"props":2530,"children":2532},{"style":2531},"width: 28.5718%;",[],{"type":10,"tag":2253,"props":2534,"children":2535},{},[2536],{"type":10,"tag":2257,"props":2537,"children":2538},{},[2539,2545,2552],{"type":10,"tag":2261,"props":2540,"children":2542},{"className":2541,"colSpan":2266},[2230,2264,2265],[2543],{"type":15,"value":2544},"Execution Mode",{"type":10,"tag":2261,"props":2546,"children":2549},{"className":2547,"colSpan":2548},[2230,2273,2274],"3",[2550],{"type":15,"value":2551},"Extra Operands",{"type":10,"tag":2261,"props":2553,"children":2555},{"className":2554},[2230,2273,2274],[2556],{"type":15,"value":2277},{"type":10,"tag":2279,"props":2558,"children":2559},{},[2560,2615,2673,2774,2872],{"type":10,"tag":2257,"props":2561,"children":2562},{},[2563,2573,2599,2603],{"type":10,"tag":2286,"props":2564,"children":2566},{"className":2565},[2230,2273,2274],[2567],{"type":10,"tag":11,"props":2568,"children":2570},{"className":2569},[2230],[2571],{"type":15,"value":2572},"5069",{"type":10,"tag":2286,"props":2574,"children":2576},{"className":2575},[2230,2273,2274],[2577],{"type":10,"tag":11,"props":2578,"children":2580},{"className":2579},[2230],[2581,2585,2587,2589,2593,2594,2598],{"type":10,"tag":2305,"props":2582,"children":2583},{"role":2307},[2584],{"type":15,"value":501},{"type":15,"value":2586},"\nIndicates that a GLCompute shader has coalescing semantics. (GLCompute only)",{"type":15,"value":2588},"\nMust not be declared alongside ",{"type":10,"tag":2305,"props":2590,"children":2591},{"role":2307},[2592],{"type":15,"value":1639},{"type":15,"value":1641},{"type":10,"tag":2305,"props":2595,"children":2596},{"role":2307},[2597],{"type":15,"value":1697},{"type":15,"value":704},{"type":10,"tag":2286,"props":2600,"children":2602},{"className":2601,"colSpan":2548},[2230,2273,2274],[],{"type":10,"tag":2286,"props":2604,"children":2606},{"className":2605},[2230,2273,2274],[2607],{"type":10,"tag":11,"props":2608,"children":2610},{"className":2609},[2230],[2611],{"type":10,"tag":2305,"props":2612,"children":2613},{"role":2307},[2614],{"type":15,"value":2310},{"type":10,"tag":2257,"props":2616,"children":2617},{},[2618,2628,2643,2661],{"type":10,"tag":2286,"props":2619,"children":2621},{"className":2620},[2230,2273,2274],[2622],{"type":10,"tag":11,"props":2623,"children":2625},{"className":2624},[2230],[2626],{"type":15,"value":2627},"5071",{"type":10,"tag":2286,"props":2629,"children":2631},{"className":2630},[2230,2273,2274],[2632],{"type":10,"tag":11,"props":2633,"children":2635},{"className":2634},[2230],[2636,2641],{"type":10,"tag":2305,"props":2637,"children":2638},{"role":2307},[2639],{"type":15,"value":2640},"MaxNodeRecursionAMDX",{"type":15,"value":2642},"\nMaximum number of times a node can enqueue itself.",{"type":10,"tag":2286,"props":2644,"children":2646},{"className":2645,"colSpan":2548},[2230,2273,2274],[2647],{"type":10,"tag":11,"props":2648,"children":2650},{"className":2649},[2230],[2651,2656],{"type":10,"tag":2305,"props":2652,"children":2653},{},[2654],{"type":15,"value":2655},"\u003Cid>",{"type":10,"tag":2305,"props":2657,"children":2658},{},[2659],{"type":15,"value":2660},"Number of recursions",{"type":10,"tag":2286,"props":2662,"children":2664},{"className":2663},[2230,2273,2274],[2665],{"type":10,"tag":11,"props":2666,"children":2668},{"className":2667},[2230],[2669],{"type":10,"tag":2305,"props":2670,"children":2671},{"role":2307},[2672],{"type":15,"value":2310},{"type":10,"tag":2257,"props":2674,"children":2675},{},[2676,2686,2711,2728,2745,2762],{"type":10,"tag":2286,"props":2677,"children":2679},{"className":2678},[2230,2273,2274],[2680],{"type":10,"tag":11,"props":2681,"children":2683},{"className":2682},[2230],[2684],{"type":15,"value":2685},"5072",{"type":10,"tag":2286,"props":2687,"children":2689},{"className":2688},[2230,2273,2274],[2690],{"type":10,"tag":11,"props":2691,"children":2693},{"className":2692},[2230],[2694,2698,2700,2701,2705,2706,2710],{"type":10,"tag":2305,"props":2695,"children":2696},{"role":2307},[2697],{"type":15,"value":1639},{"type":15,"value":2699},"\nStatically declare the number of workgroups dispatched for this shader, instead of obeying an API- or payload-specified value. Values are reflected in the NumWorkgroups built-in value. (GLCompute only)",{"type":15,"value":2588},{"type":10,"tag":2305,"props":2702,"children":2703},{"role":2307},[2704],{"type":15,"value":501},{"type":15,"value":1641},{"type":10,"tag":2305,"props":2707,"children":2708},{"role":2307},[2709],{"type":15,"value":1697},{"type":15,"value":704},{"type":10,"tag":2286,"props":2712,"children":2714},{"className":2713},[2230,2273,2274],[2715],{"type":10,"tag":11,"props":2716,"children":2718},{"className":2717},[2230],[2719,2723],{"type":10,"tag":2305,"props":2720,"children":2721},{},[2722],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2724,"children":2725},{},[2726],{"type":15,"value":2727},"x size",{"type":10,"tag":2286,"props":2729,"children":2731},{"className":2730},[2230,2273,2274],[2732],{"type":10,"tag":11,"props":2733,"children":2735},{"className":2734},[2230],[2736,2740],{"type":10,"tag":2305,"props":2737,"children":2738},{},[2739],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2741,"children":2742},{},[2743],{"type":15,"value":2744},"y size",{"type":10,"tag":2286,"props":2746,"children":2748},{"className":2747},[2230,2273,2274],[2749],{"type":10,"tag":11,"props":2750,"children":2752},{"className":2751},[2230],[2753,2757],{"type":10,"tag":2305,"props":2754,"children":2755},{},[2756],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2758,"children":2759},{},[2760],{"type":15,"value":2761},"z size",{"type":10,"tag":2286,"props":2763,"children":2765},{"className":2764},[2230,2273,2274],[2766],{"type":10,"tag":11,"props":2767,"children":2769},{"className":2768},[2230],[2770],{"type":10,"tag":2305,"props":2771,"children":2772},{"role":2307},[2773],{"type":15,"value":2310},{"type":10,"tag":2257,"props":2775,"children":2776},{},[2777,2787,2812,2828,2844,2860],{"type":10,"tag":2286,"props":2778,"children":2780},{"className":2779},[2230,2273,2274],[2781],{"type":10,"tag":11,"props":2782,"children":2784},{"className":2783},[2230],[2785],{"type":15,"value":2786},"5077",{"type":10,"tag":2286,"props":2788,"children":2790},{"className":2789},[2230,2273,2274],[2791],{"type":10,"tag":11,"props":2792,"children":2794},{"className":2793},[2230],[2795,2799,2801,2802,2806,2807,2811],{"type":10,"tag":2305,"props":2796,"children":2797},{"role":2307},[2798],{"type":15,"value":1697},{"type":15,"value":2800},"\nDeclare the maximum number of workgroups dispatched for this shader. Dispatches must not exceed this value (GLCompute only)",{"type":15,"value":2588},{"type":10,"tag":2305,"props":2803,"children":2804},{"role":2307},[2805],{"type":15,"value":501},{"type":15,"value":1641},{"type":10,"tag":2305,"props":2808,"children":2809},{"role":2307},[2810],{"type":15,"value":1639},{"type":15,"value":704},{"type":10,"tag":2286,"props":2813,"children":2815},{"className":2814},[2230,2273,2274],[2816],{"type":10,"tag":11,"props":2817,"children":2819},{"className":2818},[2230],[2820,2824],{"type":10,"tag":2305,"props":2821,"children":2822},{},[2823],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2825,"children":2826},{},[2827],{"type":15,"value":2727},{"type":10,"tag":2286,"props":2829,"children":2831},{"className":2830},[2230,2273,2274],[2832],{"type":10,"tag":11,"props":2833,"children":2835},{"className":2834},[2230],[2836,2840],{"type":10,"tag":2305,"props":2837,"children":2838},{},[2839],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2841,"children":2842},{},[2843],{"type":15,"value":2744},{"type":10,"tag":2286,"props":2845,"children":2847},{"className":2846},[2230,2273,2274],[2848],{"type":10,"tag":11,"props":2849,"children":2851},{"className":2850},[2230],[2852,2856],{"type":10,"tag":2305,"props":2853,"children":2854},{},[2855],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2857,"children":2858},{},[2859],{"type":15,"value":2761},{"type":10,"tag":2286,"props":2861,"children":2863},{"className":2862},[2230,2273,2274],[2864],{"type":10,"tag":11,"props":2865,"children":2867},{"className":2866},[2230],[2868],{"type":10,"tag":2305,"props":2869,"children":2870},{"role":2307},[2871],{"type":15,"value":2310},{"type":10,"tag":2257,"props":2873,"children":2874},{},[2875,2885,2899,2916],{"type":10,"tag":2286,"props":2876,"children":2878},{"className":2877},[2230,2273,2274],[2879],{"type":10,"tag":11,"props":2880,"children":2882},{"className":2881},[2230],[2883],{"type":15,"value":2884},"5073",{"type":10,"tag":2286,"props":2886,"children":2888},{"className":2887},[2230,2273,2274],[2889],{"type":10,"tag":11,"props":2890,"children":2892},{"className":2891},[2230],[2893,2897],{"type":10,"tag":2305,"props":2894,"children":2895},{"role":2307},[2896],{"type":15,"value":752},{"type":15,"value":2898},"\nDeclare the node index for this shader. (GLCompute only)",{"type":10,"tag":2286,"props":2900,"children":2902},{"className":2901,"colSpan":2548},[2230,2273,2274],[2903],{"type":10,"tag":11,"props":2904,"children":2906},{"className":2905},[2230],[2907,2911],{"type":10,"tag":2305,"props":2908,"children":2909},{},[2910],{"type":15,"value":2655},{"type":10,"tag":2305,"props":2912,"children":2913},{},[2914],{"type":15,"value":2915},"Shader Index",{"type":10,"tag":2286,"props":2917,"children":2919},{"className":2918},[2230,2273,2274],[2920],{"type":10,"tag":11,"props":2921,"children":2923},{"className":2922},[2230],[2924],{"type":10,"tag":2305,"props":2925,"children":2926},{"role":2307},[2927],{"type":15,"value":2310},{"type":10,"tag":11,"props":2929,"children":2930},{},[2931,2933,2938,2940,2945],{"type":15,"value":2932},"A shader module declaring ",{"type":10,"tag":133,"props":2934,"children":2936},{"className":2935},[],[2937],{"type":15,"value":2310},{"type":15,"value":2939}," capability must only be used in execution graph pipelines created by\n",{"type":10,"tag":133,"props":2941,"children":2943},{"className":2942},[],[2944],{"type":15,"value":153},{"type":15,"value":2946}," command.",{"type":10,"tag":11,"props":2948,"children":2949},{},[2950,2955,2957,2962,2963,2967],{"type":10,"tag":133,"props":2951,"children":2953},{"className":2952},[],[2954],{"type":15,"value":2640},{"type":15,"value":2956}," must be specified if a shader re-enqueues itself, which takes place if that shader\ninitializes and finalizes a payload for the same node ",{"type":10,"tag":34,"props":2958,"children":2959},{},[2960],{"type":15,"value":2961},"name",{"type":15,"value":1474},{"type":10,"tag":34,"props":2964,"children":2965},{},[2966],{"type":15,"value":684},{"type":15,"value":2968},". Other forms of recursion are not allowed.",{"type":10,"tag":11,"props":2970,"children":2971},{},[2972,2974,2979],{"type":15,"value":2973},"An application must not dispatch the shader with a number of workgroups in any dimension greater than the values specified by ",{"type":10,"tag":133,"props":2975,"children":2977},{"className":2976},[],[2978],{"type":15,"value":1697},{"type":15,"value":704},{"type":10,"tag":11,"props":2981,"children":2982},{},[2983,2988,2990,2996],{"type":10,"tag":133,"props":2984,"children":2986},{"className":2985},[],[2987],{"type":15,"value":1639},{"type":15,"value":2989}," allows the declaration of the number of workgroups to dispatch to be coded into the shader itself, which can be useful for optimizing some algorithms. When a compute shader is dispatched using existing ",{"type":10,"tag":133,"props":2991,"children":2993},{"className":2992},[],[2994],{"type":15,"value":2995},"vkCmdDispatchGraph*",{"type":15,"value":2997}," commands, the workgroup counts specified there are overridden. When enqueuing such shaders with a payload, these arguments will not be consumed from the payload before application-specified data begins.",{"type":10,"tag":11,"props":2999,"children":3000},{},[3001,3003,3008,3009,3014,3016,3023],{"type":15,"value":3002},"The values of ",{"type":10,"tag":133,"props":3004,"children":3006},{"className":3005},[],[3007],{"type":15,"value":1697},{"type":15,"value":1474},{"type":10,"tag":133,"props":3010,"children":3012},{"className":3011},[],[3013],{"type":15,"value":1639},{"type":15,"value":3015}," must be less than or equal to ",{"type":10,"tag":534,"props":3017,"children":3020},{"href":3018,"rel":3019},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceLimits.html",[538],[3021],{"type":15,"value":3022},"VkPhysicalDeviceLimits",{"type":15,"value":3024},"::maxComputeWorkGroupCount.",{"type":10,"tag":11,"props":3026,"children":3027},{},[3028],{"type":15,"value":3029},"The arguments to each of these execution modes must be a constant 32-bit integer value, and may be supplied via specialization constants.",{"type":10,"tag":11,"props":3031,"children":3032},{},[3033,3035,3039,3041,3047],{"type":15,"value":3034},"When a ",{"type":10,"tag":34,"props":3036,"children":3037},{},[3038],{"type":15,"value":494},{"type":15,"value":3040}," shader is being used in an execution graph, ",{"type":10,"tag":133,"props":3042,"children":3044},{"className":3043},[],[3045],{"type":15,"value":3046},"NumWorkgroups",{"type":15,"value":3048}," must not be used.",{"type":10,"tag":11,"props":3050,"children":3051},{},[3052,3054,3058],{"type":15,"value":3053},"When ",{"type":10,"tag":34,"props":3055,"children":3056},{},[3057],{"type":15,"value":501},{"type":15,"value":3059}," is used, it has the following effects on a compute shader’s inputs and outputs:",{"type":10,"tag":673,"props":3061,"children":3062},{},[3063,3081,3092,3104,3128,3141,3154],{"type":10,"tag":57,"props":3064,"children":3065},{},[3066,3067,3073,3075],{"type":15,"value":1736},{"type":10,"tag":133,"props":3068,"children":3070},{"className":3069},[],[3071],{"type":15,"value":3072},"WorkgroupId",{"type":15,"value":3074}," built-in is always ",{"type":10,"tag":133,"props":3076,"children":3078},{"className":3077},[],[3079],{"type":15,"value":3080},"(0,0,0)",{"type":10,"tag":57,"props":3082,"children":3083},{},[3084,3086],{"type":15,"value":3085},"NB: This affects related built-ins like ",{"type":10,"tag":133,"props":3087,"children":3089},{"className":3088},[],[3090],{"type":15,"value":3091},"GlobalInvocationId",{"type":10,"tag":57,"props":3093,"children":3094},{},[3095,3097,3102],{"type":15,"value":3096},"So similar to ",{"type":10,"tag":133,"props":3098,"children":3100},{"className":3099},[],[3101],{"type":15,"value":1639},{"type":15,"value":3103},", no dispatch size is consumed from the payload-specified",{"type":10,"tag":57,"props":3105,"children":3106},{},[3107,3109,3114,3116,3121,3122,3127],{"type":15,"value":3108},"The input in the ",{"type":10,"tag":133,"props":3110,"children":3112},{"className":3111},[],[3113],{"type":15,"value":1669},{"type":15,"value":3115}," storage class must have a type of ",{"type":10,"tag":34,"props":3117,"children":3118},{},[3119],{"type":15,"value":3120},"OpTypeArray",{"type":15,"value":1641},{"type":10,"tag":34,"props":3123,"children":3124},{},[3125],{"type":15,"value":3126},"OpTypeRuntimeArray",{"type":15,"value":704},{"type":10,"tag":57,"props":3129,"children":3130},{},[3131,3133,3139],{"type":15,"value":3132},"This input must be decorated with ",{"type":10,"tag":133,"props":3134,"children":3136},{"className":3135},[],[3137],{"type":15,"value":3138},"NodeMaxPayloadsAMDX",{"type":15,"value":3140},", indicating the number of payloads that can be received.",{"type":10,"tag":57,"props":3142,"children":3143},{},[3144,3146,3152],{"type":15,"value":3145},"The number of payloads received is provided in the ",{"type":10,"tag":133,"props":3147,"children":3149},{"className":3148},[],[3150],{"type":15,"value":3151},"CoalescedInputCountAMDX",{"type":15,"value":3153}," built-in.",{"type":10,"tag":57,"props":3155,"children":3156},{},[3157,3158,3162,3164,3169],{"type":15,"value":709},{"type":10,"tag":34,"props":3159,"children":3160},{},[3161],{"type":15,"value":3120},{"type":15,"value":3163}," is used, that input’s array length must be equal to the size indicated by the ",{"type":10,"tag":133,"props":3165,"children":3167},{"className":3166},[],[3168],{"type":15,"value":3138},{"type":15,"value":3170}," decoration.",{"type":10,"tag":11,"props":3172,"children":3173},{},[3174],{"type":15,"value":3175},"New decorations are added:",{"type":10,"tag":2227,"props":3177,"children":3179},{"className":3178},[2230,2231,2232,2233],[3180,3199,3221],{"type":10,"tag":2236,"props":3181,"children":3182},{},[3183,3187,3191,3195],{"type":10,"tag":2240,"props":3184,"children":3186},{"style":3185},"width: 5.5555%;",[],{"type":10,"tag":2240,"props":3188,"children":3190},{"style":3189},"width: 55.5555%;",[],{"type":10,"tag":2240,"props":3192,"children":3194},{"style":3193},"width: 16.6666%;",[],{"type":10,"tag":2240,"props":3196,"children":3198},{"style":3197},"width: 22.2224%;",[],{"type":10,"tag":2253,"props":3200,"children":3201},{},[3202],{"type":10,"tag":2257,"props":3203,"children":3204},{},[3205,3211,3216],{"type":10,"tag":2261,"props":3206,"children":3208},{"className":3207,"colSpan":2266},[2230,2264,2265],[3209],{"type":15,"value":3210},"Decoration",{"type":10,"tag":2261,"props":3212,"children":3214},{"className":3213},[2230,2273,2274],[3215],{"type":15,"value":2551},{"type":10,"tag":2261,"props":3217,"children":3219},{"className":3218},[2230,2273,2274],[3220],{"type":15,"value":2277},{"type":10,"tag":2279,"props":3222,"children":3223},{},[3224,3314,3429,3504],{"type":10,"tag":2257,"props":3225,"children":3226},{},[3227,3237,3285,3302],{"type":10,"tag":2286,"props":3228,"children":3230},{"className":3229},[2230,2273,2274],[3231],{"type":10,"tag":11,"props":3232,"children":3234},{"className":3233},[2230],[3235],{"type":15,"value":3236},"5020",{"type":10,"tag":2286,"props":3238,"children":3240},{"className":3239},[2230,2273,2274],[3241],{"type":10,"tag":11,"props":3242,"children":3244},{"className":3243},[2230],[3245,3249,3251,3255,3256,3260,3262,3264,3268,3270,3272,3273,3277,3279,3283],{"type":10,"tag":2305,"props":3246,"children":3247},{"role":2307},[3248],{"type":15,"value":3138},{"type":15,"value":3250},"\nMust only be used to decorate a variable in the ",{"type":10,"tag":2305,"props":3252,"children":3253},{"role":2307},[3254],{"type":15,"value":2447},{"type":15,"value":1641},{"type":10,"tag":2305,"props":3257,"children":3258},{"role":2307},[3259],{"type":15,"value":1669},{"type":15,"value":3261}," storage class.",{"type":15,"value":3263},"\nVariables in the ",{"type":10,"tag":2305,"props":3265,"children":3266},{"role":2307},[3267],{"type":15,"value":2447},{"type":15,"value":3269}," storage class must have this decoration.\nIf such a variable is decorated, the operand indicates the maximum number of payloads in the array",{"type":15,"value":3271},"\nas well as the maximum number of payloads that can be allocated by a single workgroup for this output.",{"type":15,"value":3263},{"type":10,"tag":2305,"props":3274,"children":3275},{"role":2307},[3276],{"type":15,"value":1669},{"type":15,"value":3278}," storage class must have this decoration if the ",{"type":10,"tag":2305,"props":3280,"children":3281},{"role":2307},[3282],{"type":15,"value":501},{"type":15,"value":3284}," execution mode is specified, otherwise they must not.\nIf such a variable is decorated, the operand indicates the maximum number of payloads in the array.",{"type":10,"tag":2286,"props":3286,"children":3288},{"className":3287},[2230,2273,2274],[3289],{"type":10,"tag":11,"props":3290,"children":3292},{"className":3291},[2230],[3293,3297],{"type":10,"tag":2305,"props":3294,"children":3295},{},[3296],{"type":15,"value":2655},{"type":10,"tag":2305,"props":3298,"children":3299},{},[3300],{"type":15,"value":3301},"Max number of payloads",{"type":10,"tag":2286,"props":3303,"children":3305},{"className":3304},[2230,2273,2274],[3306],{"type":10,"tag":11,"props":3307,"children":3309},{"className":3308},[2230],[3310],{"type":10,"tag":2305,"props":3311,"children":3312},{"role":2307},[3313],{"type":15,"value":2310},{"type":10,"tag":2257,"props":3315,"children":3316},{},[3317,3327,3401,3417],{"type":10,"tag":2286,"props":3318,"children":3320},{"className":3319},[2230,2273,2274],[3321],{"type":10,"tag":11,"props":3322,"children":3324},{"className":3323},[2230],[3325],{"type":15,"value":3326},"5019",{"type":10,"tag":2286,"props":3328,"children":3330},{"className":3329},[2230,2273,2274],[3331],{"type":10,"tag":11,"props":3332,"children":3334},{"className":3333},[2230],[3335,3340,3342,3346,3348,3353,3355,3357,3361,3363,3364,3368,3370,3374,3376,3380,3382,3386,3388,3392,3393,3395,3399],{"type":10,"tag":2305,"props":3336,"children":3337},{"role":2307},[3338],{"type":15,"value":3339},"NodeSharesPayloadLimitsWithAMDX",{"type":15,"value":3341},"\nDecorates a variable in the ",{"type":10,"tag":2305,"props":3343,"children":3344},{"role":2307},[3345],{"type":15,"value":2447},{"type":15,"value":3347}," storage class to indicate that it shares output resources with ",{"type":10,"tag":2305,"props":3349,"children":3350},{},[3351],{"type":15,"value":3352},"Payload Array",{"type":15,"value":3354}," when dispatched.",{"type":15,"value":3356},"\nWithout the decoration, each variable’s resources are separately allocated against the output limits; by using the decoration only the limit of ",{"type":10,"tag":2305,"props":3358,"children":3359},{},[3360],{"type":15,"value":3352},{"type":15,"value":3362}," is considered.\nApplications must still ensure that at runtime the actual usage does not exceed these limits, as this decoration only relaxes static validation.",{"type":15,"value":3250},{"type":10,"tag":2305,"props":3365,"children":3366},{"role":2307},[3367],{"type":15,"value":2447},{"type":15,"value":3369}," storage class,\n",{"type":10,"tag":2305,"props":3371,"children":3372},{},[3373],{"type":15,"value":3352},{"type":15,"value":3375}," must be a different variable in the ",{"type":10,"tag":2305,"props":3377,"children":3378},{"role":2307},[3379],{"type":15,"value":2447},{"type":15,"value":3381}," storage class, and\n",{"type":10,"tag":2305,"props":3383,"children":3384},{},[3385],{"type":15,"value":3352},{"type":15,"value":3387}," must not be itself decorated with ",{"type":10,"tag":2305,"props":3389,"children":3390},{"role":2307},[3391],{"type":15,"value":3339},{"type":15,"value":704},{"type":15,"value":3394},"\nIt is only necessary to decorate one variable to indicate sharing between two node outputs.\nMultiple variables can be decorated with the same ",{"type":10,"tag":2305,"props":3396,"children":3397},{},[3398],{"type":15,"value":3352},{"type":15,"value":3400}," to indicate sharing across multiple node outputs.",{"type":10,"tag":2286,"props":3402,"children":3404},{"className":3403},[2230,2273,2274],[3405],{"type":10,"tag":11,"props":3406,"children":3408},{"className":3407},[2230],[3409,3413],{"type":10,"tag":2305,"props":3410,"children":3411},{},[3412],{"type":15,"value":2655},{"type":10,"tag":2305,"props":3414,"children":3415},{},[3416],{"type":15,"value":3352},{"type":10,"tag":2286,"props":3418,"children":3420},{"className":3419},[2230,2273,2274],[3421],{"type":10,"tag":11,"props":3422,"children":3424},{"className":3423},[2230],[3425],{"type":10,"tag":2305,"props":3426,"children":3427},{"role":2307},[3428],{"type":15,"value":2310},{"type":10,"tag":2257,"props":3430,"children":3431},{},[3432,3442,3475,3492],{"type":10,"tag":2286,"props":3433,"children":3435},{"className":3434},[2230,2273,2274],[3436],{"type":10,"tag":11,"props":3437,"children":3439},{"className":3438},[2230],[3440],{"type":15,"value":3441},"5091",{"type":10,"tag":2286,"props":3443,"children":3445},{"className":3444},[2230,2273,2274],[3446],{"type":10,"tag":11,"props":3447,"children":3449},{"className":3448},[2230],[3450,3455,3456,3460,3462,3467,3468,3470,3474],{"type":10,"tag":2305,"props":3451,"children":3452},{"role":2307},[3453],{"type":15,"value":3454},"PayloadNodeNameAMDX",{"type":15,"value":3341},{"type":10,"tag":2305,"props":3457,"children":3458},{"role":2307},[3459],{"type":15,"value":2447},{"type":15,"value":3461}," storage class to indicate that the payloads in the array\nwill be enqueued for the shader with ",{"type":10,"tag":2305,"props":3463,"children":3464},{},[3465],{"type":15,"value":3466},"Node Name",{"type":15,"value":704},{"type":15,"value":3469},"\nMust only be used to decorate a variable that is initialized by ",{"type":10,"tag":2305,"props":3471,"children":3472},{"role":2307},[3473],{"type":15,"value":2456},{"type":15,"value":704},{"type":10,"tag":2286,"props":3476,"children":3478},{"className":3477},[2230,2273,2274],[3479],{"type":10,"tag":11,"props":3480,"children":3482},{"className":3481},[2230],[3483,3488],{"type":10,"tag":2305,"props":3484,"children":3485},{},[3486],{"type":15,"value":3487},"Literal",{"type":10,"tag":2305,"props":3489,"children":3490},{},[3491],{"type":15,"value":3466},{"type":10,"tag":2286,"props":3493,"children":3495},{"className":3494},[2230,2273,2274],[3496],{"type":10,"tag":11,"props":3497,"children":3499},{"className":3498},[2230],[3500],{"type":10,"tag":2305,"props":3501,"children":3502},{"role":2307},[3503],{"type":15,"value":2310},{"type":10,"tag":2257,"props":3505,"children":3506},{},[3507,3517,3600,3604],{"type":10,"tag":2286,"props":3508,"children":3510},{"className":3509},[2230,2273,2274],[3511],{"type":10,"tag":11,"props":3512,"children":3514},{"className":3513},[2230],[3515],{"type":15,"value":3516},"5078",{"type":10,"tag":2286,"props":3518,"children":3520},{"className":3519},[2230,2273,2274],[3521],{"type":10,"tag":11,"props":3522,"children":3524},{"className":3523},[2230],[3525,3530,3531,3535,3536,3540,3542,3547,3549,3550,3554,3555,3559,3560,3562,3566,3568,3572,3574,3576,3580,3582,3586,3588,3589,3593,3594,3598],{"type":10,"tag":2305,"props":3526,"children":3527},{"role":2307},[3528],{"type":15,"value":3529},"TrackFinishWritingAMDX",{"type":15,"value":3341},{"type":10,"tag":2305,"props":3532,"children":3533},{"role":2307},[3534],{"type":15,"value":2447},{"type":15,"value":1641},{"type":10,"tag":2305,"props":3537,"children":3538},{"role":2307},[3539],{"type":15,"value":1669},{"type":15,"value":3541}," storage class to indicate that a payload that is first\nenqueued and then accessed in a receiving shader, will be used with ",{"type":10,"tag":2305,"props":3543,"children":3544},{"role":2307},[3545],{"type":15,"value":3546},"OpFinishWritingNodePayloadAMDX",{"type":15,"value":3548}," instruction.",{"type":15,"value":3250},{"type":10,"tag":2305,"props":3551,"children":3552},{"role":2307},[3553],{"type":15,"value":2447},{"type":15,"value":1641},{"type":10,"tag":2305,"props":3556,"children":3557},{"role":2307},[3558],{"type":15,"value":1669},{"type":15,"value":3261},{"type":15,"value":3561},"\nMust not be used to decorate a variable in the ",{"type":10,"tag":2305,"props":3563,"children":3564},{"role":2307},[3565],{"type":15,"value":1669},{"type":15,"value":3567}," storage class if the shader uses ",{"type":10,"tag":2305,"props":3569,"children":3570},{"role":2307},[3571],{"type":15,"value":501},{"type":15,"value":3573}," execution mode.",{"type":15,"value":3575},"\nIf a variable in ",{"type":10,"tag":2305,"props":3577,"children":3578},{"role":2307},[3579],{"type":15,"value":2447},{"type":15,"value":3581}," storage class is decorated, then a matching variable with ",{"type":10,"tag":2305,"props":3583,"children":3584},{"role":2307},[3585],{"type":15,"value":1669},{"type":15,"value":3587}," storage class\nin the receiving shader must be decorated as well.",{"type":15,"value":3575},{"type":10,"tag":2305,"props":3590,"children":3591},{"role":2307},[3592],{"type":15,"value":1669},{"type":15,"value":3581},{"type":10,"tag":2305,"props":3595,"children":3596},{"role":2307},[3597],{"type":15,"value":2447},{"type":15,"value":3599}," storage class\nin the enqueuing shader must be decorated as well.",{"type":10,"tag":2286,"props":3601,"children":3603},{"className":3602},[2230,2273,2274],[],{"type":10,"tag":2286,"props":3605,"children":3607},{"className":3606},[2230,2273,2274],[3608],{"type":10,"tag":11,"props":3609,"children":3611},{"className":3610},[2230],[3612],{"type":10,"tag":2305,"props":3613,"children":3614},{"role":2307},[3615],{"type":15,"value":2310},{"type":10,"tag":11,"props":3617,"children":3618},{},[3619,3621,3626],{"type":15,"value":3620},"This allows more control over the ",{"type":10,"tag":133,"props":3622,"children":3624},{"className":3623},[],[3625],{"type":15,"value":2106},{"type":15,"value":3627}," limit, and can be useful when a shader may output some large number of payloads but to potentially different nodes.",{"type":10,"tag":11,"props":3629,"children":3630},{},[3631],{"type":15,"value":3632},"Two new built-ins are provided:",{"type":10,"tag":2227,"props":3634,"children":3636},{"className":3635},[2230,2231,2232,2233],[3637,3649,3666],{"type":10,"tag":2236,"props":3638,"children":3639},{},[3640,3643,3646],{"type":10,"tag":2240,"props":3641,"children":3642},{"style":2242},[],{"type":10,"tag":2240,"props":3644,"children":3645},{"style":2246},[],{"type":10,"tag":2240,"props":3647,"children":3648},{"style":2250},[],{"type":10,"tag":2253,"props":3650,"children":3651},{},[3652],{"type":10,"tag":2257,"props":3653,"children":3654},{},[3655,3661],{"type":10,"tag":2261,"props":3656,"children":3658},{"className":3657,"colSpan":2266},[2230,2264,2265],[3659],{"type":15,"value":3660},"BuiltIn",{"type":10,"tag":2261,"props":3662,"children":3664},{"className":3663},[2230,2273,2274],[3665],{"type":15,"value":2277},{"type":10,"tag":2279,"props":3667,"children":3668},{},[3669,3707],{"type":10,"tag":2257,"props":3670,"children":3671},{},[3672,3681,3695],{"type":10,"tag":2286,"props":3673,"children":3675},{"className":3674},[2230,2273,2274],[3676],{"type":10,"tag":11,"props":3677,"children":3679},{"className":3678},[2230],[3680],{"type":15,"value":2884},{"type":10,"tag":2286,"props":3682,"children":3684},{"className":3683},[2230,2273,2274],[3685],{"type":10,"tag":11,"props":3686,"children":3688},{"className":3687},[2230],[3689,3693],{"type":10,"tag":2305,"props":3690,"children":3691},{"role":2307},[3692],{"type":15,"value":752},{"type":15,"value":3694},"\nIndex assigned to the current shader.",{"type":10,"tag":2286,"props":3696,"children":3698},{"className":3697},[2230,2273,2274],[3699],{"type":10,"tag":11,"props":3700,"children":3702},{"className":3701},[2230],[3703],{"type":10,"tag":2305,"props":3704,"children":3705},{"role":2307},[3706],{"type":15,"value":2310},{"type":10,"tag":2257,"props":3708,"children":3709},{},[3710,3720,3746],{"type":10,"tag":2286,"props":3711,"children":3713},{"className":3712},[2230,2273,2274],[3714],{"type":10,"tag":11,"props":3715,"children":3717},{"className":3716},[2230],[3718],{"type":15,"value":3719},"5021",{"type":10,"tag":2286,"props":3721,"children":3723},{"className":3722},[2230,2273,2274],[3724],{"type":10,"tag":11,"props":3725,"children":3727},{"className":3726},[2230],[3728,3732,3734,3738,3740,3744],{"type":10,"tag":2305,"props":3729,"children":3730},{"role":2307},[3731],{"type":15,"value":3151},{"type":15,"value":3733},"\nNumber of valid inputs in the ",{"type":10,"tag":2305,"props":3735,"children":3736},{"role":2307},[3737],{"type":15,"value":1669},{"type":15,"value":3739}," storage class array when using the ",{"type":10,"tag":2305,"props":3741,"children":3742},{"role":2307},[3743],{"type":15,"value":501},{"type":15,"value":3745}," Execution Mode. (GLCompute only)",{"type":10,"tag":2286,"props":3747,"children":3749},{"className":3748},[2230,2273,2274],[3750],{"type":10,"tag":11,"props":3751,"children":3753},{"className":3752},[2230],[3754],{"type":10,"tag":2305,"props":3755,"children":3756},{"role":2307},[3757],{"type":15,"value":2310},{"type":10,"tag":11,"props":3759,"children":3760},{},[3761,3763,3767],{"type":15,"value":3762},"The business of actually allocating and enqueuing payloads is done by ",{"type":10,"tag":34,"props":3764,"children":3765},{},[3766],{"type":15,"value":2456},{"type":15,"value":3768},":",{"type":10,"tag":2227,"props":3770,"children":3772},{"className":3771},[2230,2231,2232,2233],[3773,3797],{"type":10,"tag":2236,"props":3774,"children":3775},{},[3776,3780,3784,3787,3790,3793],{"type":10,"tag":2240,"props":3777,"children":3779},{"style":3778},"width: 9.0909%;",[],{"type":10,"tag":2240,"props":3781,"children":3783},{"style":3782},"width: 18.1818%;",[],{"type":10,"tag":2240,"props":3785,"children":3786},{"style":3782},[],{"type":10,"tag":2240,"props":3788,"children":3789},{"style":3782},[],{"type":10,"tag":2240,"props":3791,"children":3792},{"style":3782},[],{"type":10,"tag":2240,"props":3794,"children":3796},{"style":3795},"width: 18.1819%;",[],{"type":10,"tag":2279,"props":3798,"children":3799},{},[3800,4023],{"type":10,"tag":2257,"props":3801,"children":3802},{},[3803,4009],{"type":10,"tag":2286,"props":3804,"children":3807},{"className":3805,"colSpan":3806},[2230,2273,2274],"5",[3808],{"type":10,"tag":11,"props":3809,"children":3811},{"className":3810},[2230],[3812],{"type":10,"tag":3813,"props":3814,"children":3816},"anchor",{"xml:id":2456,"xreflabel":3815},"[OpInitializeNodePayloadsAMDX]",[3817,3821,3823,3827,3829,3834,3835,3839,3841,3845,3847,3851,3853,3857,3859,3864,3866,3870,3872,3877,3879,3884,3885,3889,3891,3896,3897,3902,3903,3905,3909,3911,3916,3917,3919,3923,3925,3930,3932,3936,3937,3941,3943,3947,3948,3952,3954,3958,3960,3964,3965,3969,3970,3974,3976,3980,3981,3985,3987,3992,3993,3998,3999,4001,4003,4007],{"type":10,"tag":2305,"props":3818,"children":3819},{"role":2307},[3820],{"type":15,"value":2456},{"type":15,"value":3822},"\nAllocate payloads in memory and make them accessible through the ",{"type":10,"tag":2305,"props":3824,"children":3825},{},[3826],{"type":15,"value":3352},{"type":15,"value":3828}," variable.\nThe payloads are enqueued for the node shader identified by the ",{"type":10,"tag":2305,"props":3830,"children":3831},{},[3832],{"type":15,"value":3833},"Node Index",{"type":15,"value":1474},{"type":10,"tag":2305,"props":3836,"children":3837},{},[3838],{"type":15,"value":3466},{"type":15,"value":3840}," in the decoration\n",{"type":10,"tag":2305,"props":3842,"children":3843},{"role":2307},[3844],{"type":15,"value":3454},{"type":15,"value":3846}," on the ",{"type":10,"tag":2305,"props":3848,"children":3849},{},[3850],{"type":15,"value":3352},{"type":15,"value":3852}," variable.",{"type":10,"tag":2305,"props":3854,"children":3855},{},[3856],{"type":15,"value":3352},{"type":15,"value":3858}," variable must be an ",{"type":10,"tag":2305,"props":3860,"children":3861},{"role":2307},[3862],{"type":15,"value":3863},"OpTypePointer",{"type":15,"value":3865}," with a ",{"type":10,"tag":2305,"props":3867,"children":3868},{},[3869],{"type":15,"value":2358},{"type":15,"value":3871}," of ",{"type":10,"tag":2305,"props":3873,"children":3874},{},[3875],{"type":15,"value":3876},"OutputNodePayloadAMDX",{"type":15,"value":3878},", and a ",{"type":10,"tag":2305,"props":3880,"children":3881},{},[3882],{"type":15,"value":3883},"Type",{"type":15,"value":3871},{"type":10,"tag":2305,"props":3886,"children":3887},{"role":2307},[3888],{"type":15,"value":3120},{"type":15,"value":3890}," with an ",{"type":10,"tag":2305,"props":3892,"children":3893},{},[3894],{"type":15,"value":3895},"Element Type",{"type":15,"value":3871},{"type":10,"tag":2305,"props":3898,"children":3899},{"role":2307},[3900],{"type":15,"value":3901},"OpTypeStruct",{"type":15,"value":704},{"type":15,"value":3904},"\nThe array pointed to by ",{"type":10,"tag":2305,"props":3906,"children":3907},{},[3908],{"type":15,"value":3352},{"type":15,"value":3910}," variable must have ",{"type":10,"tag":2305,"props":3912,"children":3913},{},[3914],{"type":15,"value":3915},"Payload Count",{"type":15,"value":1522},{"type":15,"value":3918},"\nPayloads are allocated for the ",{"type":10,"tag":2305,"props":3920,"children":3921},{},[3922],{"type":15,"value":2465},{"type":15,"value":3924}," indicated by ",{"type":10,"tag":2305,"props":3926,"children":3927},{},[3928],{"type":15,"value":3929},"Visibility",{"type":15,"value":3931},", and are visible to all invocations in that ",{"type":10,"tag":2305,"props":3933,"children":3934},{},[3935],{"type":15,"value":2465},{"type":15,"value":704},{"type":10,"tag":2305,"props":3938,"children":3939},{},[3940],{"type":15,"value":3915},{"type":15,"value":3942}," is the number of payloads to initialize in the ",{"type":10,"tag":2305,"props":3944,"children":3945},{},[3946],{"type":15,"value":3352},{"type":15,"value":704},{"type":10,"tag":2305,"props":3949,"children":3950},{},[3951],{"type":15,"value":3915},{"type":15,"value":3953}," must be less than or equal to the ",{"type":10,"tag":2305,"props":3955,"children":3956},{"role":2307},[3957],{"type":15,"value":3138},{"type":15,"value":3959}," decoration on the ",{"type":10,"tag":2305,"props":3961,"children":3962},{},[3963],{"type":15,"value":3352},{"type":15,"value":3852},{"type":10,"tag":2305,"props":3966,"children":3967},{},[3968],{"type":15,"value":3915},{"type":15,"value":1474},{"type":10,"tag":2305,"props":3971,"children":3972},{},[3973],{"type":15,"value":3833},{"type":15,"value":3975}," must be dynamically uniform within the scope identified by ",{"type":10,"tag":2305,"props":3977,"children":3978},{},[3979],{"type":15,"value":3929},{"type":15,"value":704},{"type":10,"tag":2305,"props":3982,"children":3983},{},[3984],{"type":15,"value":3929},{"type":15,"value":3986}," must only be either ",{"type":10,"tag":2305,"props":3988,"children":3989},{},[3990],{"type":15,"value":3991},"Invocation",{"type":15,"value":1641},{"type":10,"tag":2305,"props":3994,"children":3995},{},[3996],{"type":15,"value":3997},"Workgroup",{"type":15,"value":704},{"type":15,"value":4000},"\nThis instruction must be called in uniform control flow.",{"type":15,"value":4002},"\nThis instruction must not be called on a ",{"type":10,"tag":2305,"props":4004,"children":4005},{},[4006],{"type":15,"value":3352},{"type":15,"value":4008}," variable that has previously been initialized.",{"type":10,"tag":2286,"props":4010,"children":4012},{"className":4011},[2230,2273,2274],[4013],{"type":10,"tag":11,"props":4014,"children":4016},{"className":4015},[2230],[4017,4019],{"type":15,"value":4018},"Capability:",{"type":10,"tag":2305,"props":4020,"children":4021},{"role":2307},[4022],{"type":15,"value":2310},{"type":10,"tag":2257,"props":4024,"children":4025},{},[4026,4035,4045,4061,4078,4094],{"type":10,"tag":2286,"props":4027,"children":4029},{"className":4028},[2230,2273,2274],[4030],{"type":10,"tag":11,"props":4031,"children":4033},{"className":4032},[2230],[4034],{"type":15,"value":3806},{"type":10,"tag":2286,"props":4036,"children":4038},{"className":4037},[2230,2273,2274],[4039],{"type":10,"tag":11,"props":4040,"children":4042},{"className":4041},[2230],[4043],{"type":15,"value":4044},"5090",{"type":10,"tag":2286,"props":4046,"children":4048},{"className":4047},[2230,2273,2274],[4049],{"type":10,"tag":11,"props":4050,"children":4052},{"className":4051},[2230],[4053,4057],{"type":10,"tag":2305,"props":4054,"children":4055},{},[4056],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4058,"children":4059},{},[4060],{"type":15,"value":3352},{"type":10,"tag":2286,"props":4062,"children":4064},{"className":4063},[2230,2273,2274],[4065],{"type":10,"tag":11,"props":4066,"children":4068},{"className":4067},[2230],[4069,4074],{"type":10,"tag":2305,"props":4070,"children":4071},{},[4072],{"type":15,"value":4073},"Scope \u003Cid>",{"type":10,"tag":2305,"props":4075,"children":4076},{},[4077],{"type":15,"value":3929},{"type":10,"tag":2286,"props":4079,"children":4081},{"className":4080},[2230,2273,2274],[4082],{"type":10,"tag":11,"props":4083,"children":4085},{"className":4084},[2230],[4086,4090],{"type":10,"tag":2305,"props":4087,"children":4088},{},[4089],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4091,"children":4092},{},[4093],{"type":15,"value":3915},{"type":10,"tag":2286,"props":4095,"children":4097},{"className":4096},[2230,2273,2274],[4098],{"type":10,"tag":11,"props":4099,"children":4101},{"className":4100},[2230],[4102,4106],{"type":10,"tag":2305,"props":4103,"children":4104},{},[4105],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4107,"children":4108},{},[4109],{"type":15,"value":3833},{"type":10,"tag":11,"props":4111,"children":4112},{},[4113,4115,4120,4122,4127],{"type":15,"value":4114},"Once a payload element is initialized, it will be enqueued to workgroups in the corresponding shader after the calling shader has written all of its values.\nEnqueues are performed in the same manner as the ",{"type":10,"tag":133,"props":4116,"children":4118},{"className":4117},[],[4119],{"type":15,"value":2995},{"type":15,"value":4121}," API commands.\nIf the node enqueued has the ",{"type":10,"tag":133,"props":4123,"children":4125},{"className":4124},[],[4126],{"type":15,"value":501},{"type":15,"value":4128}," execution mode, there is no guarantee what set of payloads are visible to the same workgroup.",{"type":10,"tag":11,"props":4130,"children":4131},{},[4132,4134,4139],{"type":15,"value":4133},"The shader must not enqueue payloads to a shader with the same name as this shader unless the index identifies this shader and ",{"type":10,"tag":133,"props":4135,"children":4137},{"className":4136},[],[4138],{"type":15,"value":2640},{"type":15,"value":4140}," is declared with a sufficient depth.\nShaders with the same name and different indexes can each recurse independently.",{"type":10,"tag":11,"props":4142,"children":4143},{},[4144,4146,4151],{"type":15,"value":4145},"A shader can explicitly specify that it is done writing to outputs (allowing the enqueue to happen sooner) by calling ",{"type":10,"tag":34,"props":4147,"children":4148},{},[4149],{"type":15,"value":4150},"OpFinalizeNodePayloadsAMDX",{"type":15,"value":3768},{"type":10,"tag":2227,"props":4153,"children":4155},{"className":4154},[2230,2231,2232,2233],[4156,4170],{"type":10,"tag":2236,"props":4157,"children":4158},{},[4159,4163,4167],{"type":10,"tag":2240,"props":4160,"children":4162},{"style":4161},"width: 60%;",[],{"type":10,"tag":2240,"props":4164,"children":4166},{"style":4165},"width: 20%;",[],{"type":10,"tag":2240,"props":4168,"children":4169},{"style":4165},[],{"type":10,"tag":2279,"props":4171,"children":4172},{},[4173,4277],{"type":10,"tag":2257,"props":4174,"children":4175},{},[4176,4264],{"type":10,"tag":2286,"props":4177,"children":4179},{"className":4178,"colSpan":2266},[2230,2273,2274],[4180],{"type":10,"tag":11,"props":4181,"children":4183},{"className":4182},[2230],[4184],{"type":10,"tag":3813,"props":4185,"children":4187},{"xml:id":4150,"xreflabel":4186},"[OpFinalizeNodePayloadsAMDX]",[4188,4192,4194,4198,4200,4204,4205,4207,4211,4213,4217,4218,4222,4223,4227,4228,4232,4233,4237,4238,4242,4243,4247,4248,4252,4253,4257,4259,4263],{"type":10,"tag":2305,"props":4189,"children":4190},{"role":2307},[4191],{"type":15,"value":4150},{"type":15,"value":4193},"\nOptionally indicates that all accesses to an array of output payloads have completed.\n",{"type":10,"tag":2305,"props":4195,"children":4196},{},[4197],{"type":15,"value":3352},{"type":15,"value":4199}," is a payload array previously initialized by ",{"type":10,"tag":2305,"props":4201,"children":4202},{"role":2307},[4203],{"type":15,"value":2456},{"type":15,"value":1602},{"type":15,"value":4206},"\nThis instruction must be called in uniform control flow.\n",{"type":10,"tag":2305,"props":4208,"children":4209},{},[4210],{"type":15,"value":3352},{"type":15,"value":4212}," must be an ",{"type":10,"tag":2305,"props":4214,"children":4215},{"role":2307},[4216],{"type":15,"value":3863},{"type":15,"value":3865},{"type":10,"tag":2305,"props":4219,"children":4220},{},[4221],{"type":15,"value":2358},{"type":15,"value":3871},{"type":10,"tag":2305,"props":4224,"children":4225},{},[4226],{"type":15,"value":3876},{"type":15,"value":3878},{"type":10,"tag":2305,"props":4229,"children":4230},{},[4231],{"type":15,"value":3883},{"type":15,"value":3871},{"type":10,"tag":2305,"props":4234,"children":4235},{"role":2307},[4236],{"type":15,"value":3120},{"type":15,"value":1641},{"type":10,"tag":2305,"props":4239,"children":4240},{"role":2307},[4241],{"type":15,"value":3126},{"type":15,"value":3890},{"type":10,"tag":2305,"props":4244,"children":4245},{},[4246],{"type":15,"value":3895},{"type":15,"value":3871},{"type":10,"tag":2305,"props":4249,"children":4250},{"role":2307},[4251],{"type":15,"value":3901},{"type":15,"value":1602},{"type":10,"tag":2305,"props":4254,"children":4255},{},[4256],{"type":15,"value":3352},{"type":15,"value":4258}," must not have been previously finalized by ",{"type":10,"tag":2305,"props":4260,"children":4261},{"role":2307},[4262],{"type":15,"value":4150},{"type":15,"value":704},{"type":10,"tag":2286,"props":4265,"children":4267},{"className":4266},[2230,2273,2274],[4268],{"type":10,"tag":11,"props":4269,"children":4271},{"className":4270},[2230],[4272,4273],{"type":15,"value":4018},{"type":10,"tag":2305,"props":4274,"children":4275},{"role":2307},[4276],{"type":15,"value":2310},{"type":10,"tag":2257,"props":4278,"children":4279},{},[4280,4289,4299],{"type":10,"tag":2286,"props":4281,"children":4283},{"className":4282},[2230,2273,2274],[4284],{"type":10,"tag":11,"props":4285,"children":4287},{"className":4286},[2230],[4288],{"type":15,"value":2266},{"type":10,"tag":2286,"props":4290,"children":4292},{"className":4291},[2230,2273,2274],[4293],{"type":10,"tag":11,"props":4294,"children":4296},{"className":4295},[2230],[4297],{"type":15,"value":4298},"5075",{"type":10,"tag":2286,"props":4300,"children":4302},{"className":4301},[2230,2273,2274],[4303],{"type":10,"tag":11,"props":4304,"children":4306},{"className":4305},[2230],[4307,4311],{"type":10,"tag":2305,"props":4308,"children":4309},{},[4310],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4312,"children":4313},{},[4314],{"type":15,"value":3352},{"type":10,"tag":11,"props":4316,"children":4317},{},[4318,4320,4324],{"type":15,"value":4319},"Once this has been called, accessing any element of ",{"type":10,"tag":34,"props":4321,"children":4322},{},[4323],{"type":15,"value":3352},{"type":15,"value":4325}," is undefined behavior.",{"type":10,"tag":2227,"props":4327,"children":4329},{"className":4328},[2230,2231,2232,2233],[4330,4351],{"type":10,"tag":2236,"props":4331,"children":4332},{},[4333,4337,4341,4344,4347],{"type":10,"tag":2240,"props":4334,"children":4336},{"style":4335},"width: 42.8571%;",[],{"type":10,"tag":2240,"props":4338,"children":4340},{"style":4339},"width: 14.2857%;",[],{"type":10,"tag":2240,"props":4342,"children":4343},{"style":4339},[],{"type":10,"tag":2240,"props":4345,"children":4346},{"style":4339},[],{"type":10,"tag":2240,"props":4348,"children":4350},{"style":4349},"width: 14.2858%;",[],{"type":10,"tag":2279,"props":4352,"children":4353},{},[4354,4457],{"type":10,"tag":2257,"props":4355,"children":4356},{},[4357,4444],{"type":10,"tag":2286,"props":4358,"children":4361},{"className":4359,"colSpan":4360},[2230,2273,2274],"4",[4362,4386,4404,4415],{"type":10,"tag":11,"props":4363,"children":4365},{"className":4364},[2230],[4366],{"type":10,"tag":3813,"props":4367,"children":4369},{"xml:id":3546,"xreflabel":4368},"[OpFinishWritingNodePayloadAMDX]",[4370,4374,4376,4378,4384],{"type":10,"tag":2305,"props":4371,"children":4372},{"role":2307},[4373],{"type":15,"value":3546},{"type":15,"value":4375},"\nOptionally indicates that all writes to the input payload by the current workgroup have completed.\n",{"type":15,"value":4377},"\nReturns ",{"type":10,"tag":4379,"props":4380,"children":4381},"literal",{},[4382],{"type":15,"value":4383},"true",{"type":15,"value":4385}," when all workgroups that can access this payload have called this function.",{"type":10,"tag":11,"props":4387,"children":4389},{"className":4388},[2230],[4390,4392,4396,4398,4402],{"type":15,"value":4391},"Must not be called if the shader is using ",{"type":10,"tag":2305,"props":4393,"children":4394},{"role":2307},[4395],{"type":15,"value":501},{"type":15,"value":4397}," execution mode,\nor if the shader was dispatched with a ",{"type":10,"tag":4379,"props":4399,"children":4400},{},[4401],{"type":15,"value":2995},{"type":15,"value":4403}," command, rather than enqueued from another shader.",{"type":10,"tag":11,"props":4405,"children":4407},{"className":4406},[2230],[4408,4410,4414],{"type":15,"value":4409},"Must not be called if the input payload is not decorated with ",{"type":10,"tag":2305,"props":4411,"children":4412},{"role":2307},[4413],{"type":15,"value":3529},{"type":15,"value":704},{"type":10,"tag":11,"props":4416,"children":4418},{"className":4417},[2230],[4419,4424,4426,4431,4432,4437,4439,4443],{"type":10,"tag":2305,"props":4420,"children":4421},{},[4422],{"type":15,"value":4423},"Result Type",{"type":15,"value":4425}," must be ",{"type":10,"tag":2305,"props":4427,"children":4428},{"role":2307},[4429],{"type":15,"value":4430},"OpTypeBool",{"type":15,"value":1602},{"type":10,"tag":2305,"props":4433,"children":4434},{},[4435],{"type":15,"value":4436},"Payload",{"type":15,"value":4438}," is a variable in the ",{"type":10,"tag":2305,"props":4440,"children":4441},{"role":2307},[4442],{"type":15,"value":1669},{"type":15,"value":3261},{"type":10,"tag":2286,"props":4445,"children":4447},{"className":4446},[2230,2273,2274],[4448],{"type":10,"tag":11,"props":4449,"children":4451},{"className":4450},[2230],[4452,4453],{"type":15,"value":4018},{"type":10,"tag":2305,"props":4454,"children":4455},{"role":2307},[4456],{"type":15,"value":2310},{"type":10,"tag":2257,"props":4458,"children":4459},{},[4460,4469,4478,4494,4512],{"type":10,"tag":2286,"props":4461,"children":4463},{"className":4462},[2230,2273,2274],[4464],{"type":10,"tag":11,"props":4465,"children":4467},{"className":4466},[2230],[4468],{"type":15,"value":4360},{"type":10,"tag":2286,"props":4470,"children":4472},{"className":4471},[2230,2273,2274],[4473],{"type":10,"tag":11,"props":4474,"children":4476},{"className":4475},[2230],[4477],{"type":15,"value":3516},{"type":10,"tag":2286,"props":4479,"children":4481},{"className":4480},[2230,2273,2274],[4482],{"type":10,"tag":11,"props":4483,"children":4485},{"className":4484},[2230],[4486,4490],{"type":10,"tag":2305,"props":4487,"children":4488},{},[4489],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4491,"children":4492},{},[4493],{"type":15,"value":4423},{"type":10,"tag":2286,"props":4495,"children":4497},{"className":4496},[2230,2273,2274],[4498],{"type":10,"tag":11,"props":4499,"children":4501},{"className":4500},[2230],[4502,4507,4508],{"type":10,"tag":2305,"props":4503,"children":4504},{},[4505],{"type":15,"value":4506},"Result",{"type":15,"value":754},{"type":10,"tag":2305,"props":4509,"children":4510},{},[4511],{"type":15,"value":2655},{"type":10,"tag":2286,"props":4513,"children":4515},{"className":4514},[2230,2273,2274],[4516],{"type":10,"tag":11,"props":4517,"children":4519},{"className":4518},[2230],[4520,4524],{"type":10,"tag":2305,"props":4521,"children":4522},{},[4523],{"type":15,"value":2655},{"type":10,"tag":2305,"props":4525,"children":4526},{},[4527],{"type":15,"value":4436},{"type":10,"tag":11,"props":4529,"children":4530},{},[4531],{"type":15,"value":4532},"Once this has been called for a given payload, writing values into that payload by the current invocation/workgroup is undefined behavior.",{"type":10,"tag":17,"props":4534,"children":4536},{"id":4535},"_issues",[4537],{"type":15,"value":4538},"Issues",{"type":10,"tag":99,"props":4540,"children":4542},{"id":4541},"_resolved_for_compute_nodes_can_the_input_payload_be_modified_if_so_what_sees_that_modification",[4543],{"type":15,"value":4544},"RESOLVED: For compute nodes, can the input payload be modified? If so what sees that modification?",{"type":10,"tag":11,"props":4546,"children":4547},{},[4548,4550,4554],{"type":15,"value":4549},"Yes, input payloads are writable and ",{"type":10,"tag":34,"props":4551,"children":4552},{},[4553],{"type":15,"value":3546},{"type":15,"value":4555}," instruction is provided to indicate that all\nworkgroups that share the same payload have finished writing to it.",{"type":10,"tag":11,"props":4557,"children":4558},{},[4559],{"type":15,"value":4560},"Limitations apply to this functionality. Please refer to the instruction’s specification.",{"type":10,"tag":99,"props":4562,"children":4564},{"id":4563},"_unresolved_do_we_need_input_from_the_application_to_tune_the_scratch_allocation",[4565],{"type":15,"value":4566},"UNRESOLVED: Do we need input from the application to tune the scratch allocation?",{"type":10,"tag":11,"props":4568,"children":4569},{},[4570],{"type":15,"value":4571},"For now no, more research is required to determine what information would be actually useful to know.",{"type":10,"tag":99,"props":4573,"children":4575},{"id":4574},"_proposed_how_does_this_extension_interact_with_device_groups",[4576],{"type":15,"value":4577},"PROPOSED: How does this extension interact with device groups?",{"type":10,"tag":11,"props":4579,"children":4580},{},[4581],{"type":15,"value":4582},"It works the same as any other dispatch commands - work is replicated to all devices unless applications split the work themselves.\nThere is no automatic scheduling between devices.",{"type":10,"tag":4584,"props":4585,"children":4586},"style",{},[4587],{"type":15,"value":4588},"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":130,"searchDepth":161,"depth":161,"links":4590},[4591,4592,4593,4597],{"id":19,"depth":161,"text":22},{"id":43,"depth":161,"text":46},{"id":94,"depth":161,"text":97,"children":4594},[4595,4596],{"id":101,"depth":181,"text":104},{"id":2217,"depth":181,"text":2220},{"id":4535,"depth":161,"text":4538,"children":4598},[4599,4600,4601],{"id":4541,"depth":181,"text":4544},{"id":4563,"depth":181,"text":4566},{"id":4574,"depth":181,"text":4577},"markdown",[4604,4609,4612,4615,4618,4621,4624,4627,4630,4633,4636,4639,4642,4645,4648,4651,4654,4657,4660,4663,4666,4669,4672,4675,4678,4681,4684,4687,4690,4694,4698,4702,4706,4710,4714,4718,4722,4726,4730,4734,4738,4742,4746,4750,4754,4758,4761,4765,4769,4773,4777,4780,4783,4786,4789,4792,4795,4798,4801],{"index":4605,"title":4606,"id":4607,"appendix":4608},0,"Preamble","preamble",false,{"index":140,"title":4610,"id":4611,"appendix":4608},"Introduction","introduction",{"index":161,"title":4613,"id":4614,"appendix":4608},"Fundamentals","fundamentals",{"index":181,"title":4616,"id":4617,"appendix":4608},"Initialization","initialization",{"index":199,"title":4619,"id":4620,"appendix":4608},"Devices and Queues","devsandqueues",{"index":218,"title":4622,"id":4623,"appendix":4608},"Command Buffers","commandbuffers",{"index":246,"title":4625,"id":4626,"appendix":4608},"Synchronization and Cache Control","synchronization",{"index":272,"title":4628,"id":4629,"appendix":4608},"Render Pass","renderpass",{"index":295,"title":4631,"id":4632,"appendix":4608},"Shaders","shaders",{"index":305,"title":4634,"id":4635,"appendix":4608},"Pipelines","pipelines",{"index":324,"title":4637,"id":4638,"appendix":4608},"Memory Allocation","memory",{"index":333,"title":4640,"id":4641,"appendix":4608},"Resource Creation","resources",{"index":351,"title":4643,"id":4644,"appendix":4608},"Samplers","samplers",{"index":360,"title":4646,"id":4647,"appendix":4608},"Resource Descriptors","descriptorsets",{"index":373,"title":4649,"id":4650,"appendix":4608},"Shader Interfaces","interfaces",{"index":395,"title":4652,"id":4653,"appendix":4608},"Image Operations","textures",{"index":417,"title":4655,"id":4656,"appendix":4608},"Fragment Density Map Operations","fragmentdensitymapops",{"index":426,"title":4658,"id":4659,"appendix":4608},"Queries","queries",{"index":435,"title":4661,"id":4662,"appendix":4608},"Clear Commands","clears",{"index":449,"title":4664,"id":4665,"appendix":4608},"Copy Commands","copies",{"index":1334,"title":4667,"id":4668,"appendix":4608},"Drawing Commands","drawing",{"index":1350,"title":4670,"id":4671,"appendix":4608},"Fixed-Function Vertex Processing","fxvertex",{"index":1366,"title":4673,"id":4674,"appendix":4608},"Tessellation","tessellation",{"index":1390,"title":4676,"id":4677,"appendix":4608},"Geometry Shading","geometry",{"index":1398,"title":4679,"id":4680,"appendix":4608},"Mesh Shading","mesh",{"index":1415,"title":4682,"id":4683,"appendix":4608},"Cluster Culling Shading","cluster-culling",{"index":1431,"title":4685,"id":4686,"appendix":4608},"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":1447,"title":4688,"id":4689,"appendix":4608},"Rasterization","primsrast",{"index":4691,"title":4692,"id":4693,"appendix":4608},28,"Fragment Operations","fragops",{"index":4695,"title":4696,"id":4697,"appendix":4608},29,"The Framebuffer","framebuffer",{"index":4699,"title":4700,"id":4701,"appendix":4608},30,"Dispatching Commands","dispatch",{"index":4703,"title":4704,"id":4705,"appendix":4608},31,"Device-Generated Commands","device-generated-commands",{"index":4707,"title":4708,"id":4709,"appendix":4608},32,"Sparse Resources","sparsememory",{"index":4711,"title":4712,"id":4713,"appendix":4608},33,"Window System Integration (WSI)","wsi",{"index":4715,"title":4716,"id":4717,"appendix":4608},34,"Deferred Host Operations","deferred-host-operations",{"index":4719,"title":4720,"id":4721,"appendix":4608},35,"Private Data","private-data",{"index":4723,"title":4724,"id":4725,"appendix":4608},36,"Acceleration Structures","acceleration-structure",{"index":4727,"title":4728,"id":4729,"appendix":4608},37,"Micromap","micromap",{"index":4731,"title":4732,"id":4733,"appendix":4608},38,"Ray Traversal","ray-traversal",{"index":4735,"title":4736,"id":4737,"appendix":4608},39,"Ray Tracing","ray-tracing",{"index":4739,"title":4740,"id":4741,"appendix":4608},40,"Memory Decompression","memory-decompression",{"index":4743,"title":4744,"id":4745,"appendix":4608},41,"Video Coding","video-coding",{"index":4747,"title":4748,"id":4749,"appendix":4608},42,"Optical Flow","opticalflow",{"index":4751,"title":4752,"id":4753,"appendix":4608},43,"Execution Graphs","executiongraphs",{"index":4755,"title":4756,"id":4757,"appendix":4608},44,"Extending Vulkan","extendingvulkan",{"index":4759,"title":2144,"id":4760,"appendix":4608},45,"features",{"index":4762,"title":4763,"id":4764,"appendix":4608},46,"Limits","limits",{"index":4766,"title":4767,"id":4768,"appendix":4608},47,"Formats","formats",{"index":4770,"title":4771,"id":4772,"appendix":4608},48,"Additional Capabilities","capabilities",{"index":4774,"title":4775,"id":4776,"appendix":4608},49,"Debugging","debugging",{"index":4605,"title":4778,"id":4779,"appendix":299},"Vulkan Environment for SPIR-V","spirvenv",{"index":140,"title":4781,"id":4782,"appendix":299},"Memory Model","memory-model",{"index":161,"title":4784,"id":4785,"appendix":299},"Compressed Image Formats","compressed_image_formats",{"index":181,"title":4787,"id":4788,"appendix":299},"Core Revisions (Informative)","versions",{"index":199,"title":4790,"id":4791,"appendix":299},"Layers & Extensions (Informative)","extensions",{"index":218,"title":4793,"id":4794,"appendix":299},"API Boilerplate","boilerplate",{"index":246,"title":4796,"id":4797,"appendix":299},"Invariance","invariance",{"index":272,"title":4799,"id":4800,"appendix":299},"Lexicon","lexicon",{"index":295,"title":4802,"id":4803,"appendix":299},"Credits (Informative)","credits",[4805,4812,4816,4821,4825,4830,4833,4836,4839,4843,4847,4850,4853,4856,4858,4860,4863,4866,4870,4872,4876,4878,4881,4883,4886,4894,4898,4904,4908,4913,4915,4919,4925,4931,4937,4939,4942,4948,4951,4955,4961,4965,4969,4974,4978,4981,4984,4990,4993,4996,5000,5004,5008,5011,5013,5017,5022,5028,5031,5035,5038,5044,5047,5051,5054,5058,5061,5065,5068,5073,5077,5080,5085,5088,5091,5094,5098,5103,5108,5112,5116,5120,5124,5128,5132,5136,5139,5142,5146,5149,5152,5155,5159,5164,5168,5171,5175,5180,5184,5189,5192,5195,5200,5205,5209,5212,5216,5221,5224,5229,5234,5237,5240,5244,5248,5252,5257,5261,5264,5269,5273,5276,5280,5284,5288,5291,5293,5297,5300,5303,5306,5309,5312,5315,5318,5321,5324,5328,5332,5335,5338,5341,5344,5347,5350,5354,5358,5362,5365,5369,5372,5375,5378,5380,5384,5389,5393,5397,5399,5403,5406,5413,5417,5421,5425,5431,5434,5438,5442,5445,5448,5452,5457,5463,5467,5469,5474,5477,5482,5486,5491,5495,5499,5501,5504,5507,5509,5514,5517,5520,5525,5529,5533,5538,5542,5546,5548,5550,5553,5555,5558,5561,5565,5569,5571,5575,5578,5582,5585,5587,5590,5594,5596,5600,5603,5606,5609,5613,5616,5619,5621,5624,5626,5629,5633,5636,5638,5640,5642,5644,5648,5650,5653,5658,5662,5665,5667,5670,5672,5676,5679,5682,5685,5689,5692,5697,5701,5704,5708,5711,5714,5718,5722,5724,5729,5732,5736,5739,5742,5745,5747,5750,5754,5757,5761,5764,5768,5772,5775,5778,5781,5784,5788,5790,5793,5795,5800,5801,5805,5808,5811,5814,5817,5819,5823,5826,5829,5832,5836,5838,5840,5844,5846,5849,5853,5857,5859,5863,5866,5869,5872,5875,5879,5884,5889,5893,5899,5903,5906,5910,5914,5917,5921,5925,5928,5932,5935,5940,5944,5946,5952,5955,5958,5961,5964,5967,5971,5975,5979,5981,5984,5986,5989,5991,5993,5996,5999,6002,6005,6008,6011,6013,6017,6021,6025,6029,6032,6035,6039,6042,6046,6048,6052,6056,6059,6062,6065,6068,6071,6074,6077,6080,6083,6086,6089,6092,6095,6098,6102,6105,6109,6113,6116,6119,6122,6125,6128,6131,6135,6138,6141,6147,6151,6155,6159],{"number":4806,"type":173,"author":4807,"provisional":299,"depends":4808,"platform":4809,"contact":4810,"extension":4811,"proposal":299},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":4813,"type":173,"author":4807,"provisional":4608,"contact":4814,"extension":4815,"proposal":299},477,"Stu Smith","VK_AMD_anti_lag",{"number":4817,"type":173,"author":4807,"provisional":4608,"specialuse":4818,"contact":4819,"extension":4820,"proposal":4608},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":4822,"type":173,"author":4807,"provisional":4608,"depends":4823,"contact":4810,"extension":4824,"proposal":4608},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":4826,"type":173,"author":4807,"provisional":4608,"depends":4827,"contact":4828,"extension":4829,"proposal":4608},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":4715,"type":173,"author":4807,"promotedto":4831,"provisional":4608,"contact":4819,"extension":4832,"proposal":4608},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":1431,"type":173,"author":4807,"provisional":4608,"contact":4834,"extension":4835,"proposal":4608},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":4727,"type":173,"author":4807,"deprecatedby":4837,"provisional":4608,"contact":4834,"extension":4838,"proposal":4608},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":4840,"type":173,"author":4807,"deprecatedby":4837,"provisional":4608,"contact":4841,"extension":4842,"proposal":4608},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":4844,"type":173,"author":4807,"provisional":4608,"contact":4845,"extension":4846,"proposal":4608},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":4848,"type":173,"author":4807,"provisional":4608,"contact":4828,"extension":4849,"proposal":4608},137,"VK_AMD_mixed_attachment_samples",{"number":4723,"type":173,"author":4807,"obsoletedby":4851,"provisional":4608,"contact":4828,"extension":4852,"proposal":4608},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":4854,"type":173,"author":4807,"provisional":4608,"contact":4828,"extension":4855,"proposal":4608},184,"VK_AMD_pipeline_compiler_control",{"number":449,"type":173,"author":4807,"provisional":4608,"contact":4819,"extension":4857,"proposal":4608},"VK_AMD_rasterization_order",{"number":4731,"type":173,"author":4807,"provisional":4608,"contact":4834,"extension":4859,"proposal":4608},"VK_AMD_shader_ballot",{"number":4861,"type":173,"author":4807,"provisional":4608,"depends":4823,"contact":4845,"extension":4862,"proposal":4608},186,"VK_AMD_shader_core_properties",{"number":4864,"type":173,"author":4807,"provisional":4608,"depends":4862,"contact":4828,"extension":4865,"proposal":4608},228,"VK_AMD_shader_core_properties2",{"number":4867,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":4810,"extension":4869,"proposal":299},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":1366,"type":173,"author":4807,"provisional":4608,"contact":4841,"extension":4871,"proposal":4608},"VK_AMD_shader_explicit_vertex_parameter",{"number":4873,"type":173,"author":4807,"provisional":4608,"contact":4874,"extension":4875,"proposal":4608},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":4766,"type":173,"author":4807,"provisional":4608,"contact":4834,"extension":4877,"proposal":4608},"VK_AMD_shader_image_load_store_lod",{"number":4751,"type":173,"author":4807,"provisional":4608,"specialuse":4818,"contact":4879,"extension":4880,"proposal":4608},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":1350,"type":173,"author":4807,"provisional":4608,"contact":4841,"extension":4882,"proposal":4608},"VK_AMD_shader_trinary_minmax",{"number":4747,"type":173,"author":4807,"provisional":4608,"depends":4823,"contact":4884,"extension":4885,"proposal":4608},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":4887,"type":173,"author":4888,"provisional":4608,"depends":4889,"platform":4890,"specialuse":4891,"contact":4892,"extension":4893,"proposal":299},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":4895,"type":173,"author":4888,"provisional":4608,"depends":4896,"platform":4890,"contact":4897,"extension":4889,"proposal":4608},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":4899,"type":173,"author":4900,"promotedto":4901,"provisional":4608,"depends":4823,"contact":4902,"extension":4903,"proposal":4608},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":4905,"type":173,"author":4900,"provisional":4608,"depends":4906,"contact":4902,"extension":4907,"proposal":299},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":4909,"type":173,"author":4900,"provisional":4608,"depends":4910,"contact":4911,"extension":4912,"proposal":4608},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":4914,"type":173,"author":4900,"provisional":4608,"depends":4823,"contact":4911,"extension":4910,"proposal":4608},498,{"number":4916,"type":173,"author":4900,"provisional":4608,"depends":4917,"contact":4902,"extension":4918,"proposal":4608},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":4920,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":4923,"extension":4924,"proposal":4608},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":4926,"type":4927,"author":4868,"provisional":4608,"depends":4928,"contact":4929,"extension":4930,"proposal":4608},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":4932,"type":4927,"author":4933,"provisional":4608,"depends":4928,"platform":4934,"contact":4935,"extension":4936,"proposal":4608},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":4938,"proposal":4608},"VK_EXT_application_parameters",{"number":4940,"type":173,"author":4900,"provisional":4608,"depends":4823,"contact":4902,"extension":4941,"proposal":4608},68,"VK_EXT_astc_decode_mode",{"number":4943,"type":173,"author":4868,"provisional":4608,"depends":4944,"ratified":4945,"contact":4946,"extension":4947,"proposal":299},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":4949,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4923,"extension":4950,"proposal":299},340,"VK_EXT_attachment_feedback_loop_layout",{"number":4952,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":4954,"proposal":4608},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":4956,"type":173,"author":4868,"provisional":4608,"depends":4957,"specialuse":4958,"contact":4959,"extension":4960,"proposal":4608},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":4962,"type":173,"author":4933,"deprecatedby":4963,"provisional":4608,"depends":4823,"contact":4953,"extension":4964,"proposal":4608},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":4966,"type":173,"author":4868,"promotedto":4967,"provisional":4608,"depends":4823,"contact":4819,"extension":4968,"proposal":299},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":4970,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4971,"contact":4972,"extension":4973,"proposal":4608},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":4975,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":4976,"extension":4977,"proposal":4608},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":4979,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4945,"contact":4959,"extension":4980,"proposal":4608},102,"VK_EXT_conservative_rasterization",{"number":4982,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4971,"specialuse":4958,"contact":4983,"extension":4957,"proposal":4608},288,"Liam Middlebrook @liam-middlebrook",{"number":1390,"type":173,"author":4985,"promotedto":4986,"provisional":4608,"depends":4987,"specialuse":4776,"contact":4988,"extension":4989,"proposal":4608},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":351,"type":4927,"author":4991,"deprecatedby":4986,"provisional":4608,"specialuse":4776,"contact":4992,"extension":4987,"proposal":4608},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":4994,"type":4927,"author":4868,"provisional":4608,"specialuse":4776,"contact":4995,"extension":4986,"proposal":4608},129,"Mark Young @marky-lunarg",{"number":4997,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4998,"contact":4923,"extension":4999,"proposal":299},284,"d3demulation","VK_EXT_depth_bias_control",{"number":5001,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5002,"extension":5003,"proposal":4608},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":5005,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4891,"contact":5006,"extension":5007,"proposal":4608},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":5009,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4971,"specialuse":4998,"contact":4959,"extension":5010,"proposal":4608},103,"VK_EXT_depth_clip_enable",{"number":373,"type":173,"author":4933,"provisional":4608,"ratified":4971,"contact":4959,"extension":5012,"proposal":4608},"VK_EXT_depth_range_unrestricted",{"number":5014,"type":173,"author":4868,"provisional":4608,"depends":5015,"contact":4810,"extension":5016,"proposal":299},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":5018,"type":173,"author":4933,"promotedto":5019,"provisional":4608,"depends":5020,"contact":4953,"extension":5021,"proposal":4608},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":5023,"type":173,"author":4868,"provisional":4608,"depends":5024,"specialuse":5025,"contact":5026,"extension":5027,"proposal":4608},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":5029,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5026,"extension":5030,"proposal":299},342,"VK_EXT_device_fault",{"number":5032,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4818,"contact":5033,"extension":5034,"proposal":4608},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":5036,"type":4927,"author":4933,"provisional":4608,"depends":5037,"contact":4935,"extension":4928,"proposal":4608},89,"VK_KHR_display",{"number":5039,"type":4927,"author":4868,"provisional":4608,"depends":5040,"platform":5041,"contact":5042,"extension":5043,"proposal":4608},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":5045,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4971,"contact":4959,"extension":5046,"proposal":4608},100,"VK_EXT_discard_rectangles",{"number":5048,"type":173,"author":4933,"provisional":4608,"depends":5049,"ratified":4945,"contact":4935,"extension":5050,"proposal":4608},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":5052,"type":4927,"author":4933,"provisional":4608,"depends":5037,"ratified":4945,"contact":4935,"extension":5053,"proposal":4608},91,"VK_EXT_display_surface_counter",{"number":5055,"type":173,"author":4868,"provisional":4608,"depends":5056,"ratified":4945,"contact":4959,"extension":5057,"proposal":299},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":5059,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":4959,"extension":5060,"proposal":4608},268,"VK_EXT_extended_dynamic_state",{"number":5062,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":5063,"extension":5064,"proposal":4608},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":5066,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4945,"contact":4959,"extension":5067,"proposal":299},456,"VK_EXT_extended_dynamic_state3",{"number":5069,"type":173,"author":4868,"provisional":4608,"depends":5070,"ratified":4945,"contact":5071,"extension":5072,"proposal":299},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":5074,"type":173,"author":4868,"provisional":4608,"depends":5075,"ratified":4971,"contact":5071,"extension":5076,"proposal":4608},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":5078,"type":173,"author":4868,"provisional":4608,"depends":5070,"ratified":4971,"contact":4819,"extension":5079,"proposal":4608},179,"VK_EXT_external_memory_host",{"number":5081,"type":173,"author":5082,"provisional":4608,"ratified":4945,"contact":5083,"extension":5084,"proposal":4608},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":5086,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5083,"extension":5087,"proposal":4608},219,"VK_EXT_fragment_density_map",{"number":5089,"type":173,"author":4868,"provisional":4608,"depends":5087,"contact":5083,"extension":5090,"proposal":4608},333,"VK_EXT_fragment_density_map2",{"number":5092,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":4959,"extension":5093,"proposal":4608},252,"VK_EXT_fragment_shader_interlock",{"number":5095,"type":173,"author":4868,"provisional":4608,"ratified":4945,"contact":5096,"extension":5097,"proposal":299},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":5099,"type":173,"author":4868,"provisional":4608,"depends":5100,"platform":5101,"ratified":4945,"contact":4935,"extension":5102,"proposal":4608},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":5104,"type":173,"author":4868,"promotedto":5105,"provisional":4608,"contact":5106,"extension":5107,"proposal":4608},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":5109,"type":173,"author":4868,"promotedto":5105,"provisional":4608,"depends":5110,"contact":5033,"extension":5111,"proposal":4608},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":5113,"type":173,"author":4807,"provisional":4608,"depends":5114,"contact":4810,"extension":5115,"proposal":299},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":5117,"type":173,"author":4991,"provisional":4608,"depends":5118,"ratified":4971,"contact":4992,"extension":5119,"proposal":4608},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":5121,"type":4927,"author":4868,"provisional":4608,"depends":5040,"contact":5122,"extension":5123,"proposal":4608},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":5125,"type":173,"author":4868,"provisional":4608,"depends":5126,"ratified":4945,"contact":5006,"extension":5127,"proposal":299},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":5129,"type":173,"author":4868,"promotedto":5019,"provisional":4608,"depends":4823,"contact":5130,"extension":5131,"proposal":4608},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":5133,"type":173,"author":4868,"provisional":4608,"depends":5134,"specialuse":4891,"contact":4946,"extension":5135,"proposal":4608},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":5137,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":4902,"extension":5138,"proposal":299},339,"VK_EXT_image_compression_control",{"number":5140,"type":173,"author":4868,"provisional":4608,"depends":5138,"contact":4902,"extension":5141,"proposal":4608},438,"VK_EXT_image_compression_control_swapchain",{"number":5143,"type":173,"author":4868,"provisional":4608,"depends":5144,"ratified":4945,"contact":5071,"extension":5145,"proposal":4608},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":5147,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":5002,"extension":5148,"proposal":4608},336,"VK_EXT_image_robustness",{"number":5150,"type":173,"author":4868,"provisional":4608,"depends":5134,"specialuse":4998,"contact":4946,"extension":5151,"proposal":299},419,"VK_EXT_image_sliced_view_of_3d",{"number":5153,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":4923,"extension":5154,"proposal":4608},392,"VK_EXT_image_view_min_lod",{"number":5156,"type":173,"author":4868,"promotedto":5157,"provisional":4608,"depends":4823,"contact":4959,"extension":5158,"proposal":4608},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":5160,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":5161,"contact":5162,"extension":5163,"proposal":4608},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":5165,"type":4927,"author":4868,"provisional":4608,"ratified":4945,"contact":5166,"extension":5167,"proposal":299},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":5169,"type":173,"author":4868,"provisional":4608,"depends":4823,"specialuse":4891,"contact":5006,"extension":5170,"proposal":299},466,"VK_EXT_legacy_dithering",{"number":5172,"type":173,"author":4868,"provisional":4608,"depends":5173,"ratified":4945,"specialuse":4891,"contact":4946,"extension":5174,"proposal":299},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":5176,"type":173,"author":4868,"promotedto":5177,"provisional":4608,"depends":4823,"specialuse":5178,"contact":4953,"extension":5179,"proposal":4608},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":5181,"type":173,"author":4868,"promotedto":5182,"provisional":4608,"ratified":4945,"contact":5006,"extension":5183,"proposal":4608},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":5185,"type":173,"author":4868,"provisional":4608,"depends":5186,"ratified":4945,"contact":5187,"extension":5188,"proposal":299},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":5190,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5191,"proposal":4608},238,"VK_EXT_memory_budget",{"number":5193,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5194,"proposal":4608},239,"VK_EXT_memory_priority",{"number":5196,"type":173,"author":4868,"provisional":4608,"depends":5197,"contact":5198,"extension":5199,"proposal":299},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":5201,"type":173,"author":4868,"provisional":4608,"platform":5202,"contact":5203,"extension":5204,"proposal":299},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":5206,"type":4927,"author":4868,"provisional":4608,"depends":5040,"platform":5202,"contact":5207,"extension":5208,"proposal":4608},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":5210,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":4946,"extension":5211,"proposal":4608},393,"VK_EXT_multi_draw",{"number":5213,"type":173,"author":4868,"provisional":4608,"depends":5214,"contact":5006,"extension":5215,"proposal":299},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":5217,"type":173,"author":4868,"provisional":4608,"depends":5218,"specialuse":4998,"contact":5219,"extension":5220,"proposal":299},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":5222,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4959,"extension":5223,"proposal":4608},452,"VK_EXT_nested_command_buffer",{"number":5225,"type":173,"author":4868,"provisional":4608,"depends":4823,"specialuse":5226,"contact":5227,"extension":5228,"proposal":299},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":5230,"type":173,"author":4868,"provisional":4608,"depends":5231,"ratified":4945,"contact":5232,"extension":5233,"proposal":299},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":5235,"type":173,"author":4868,"provisional":4608,"depends":5194,"contact":4959,"extension":5236,"proposal":4608},413,"VK_EXT_pageable_device_local_memory",{"number":5238,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4971,"contact":4828,"extension":5239,"proposal":4608},213,"VK_EXT_pci_bus_info",{"number":5241,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5242,"extension":5243,"proposal":4608},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":5245,"type":173,"author":4807,"promotedto":4921,"provisional":4608,"depends":4823,"contact":5246,"extension":5247,"proposal":4608},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":5249,"type":173,"author":4991,"promotedto":4921,"provisional":4608,"specialuse":4818,"contact":5250,"extension":5251,"proposal":4608},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":5253,"type":173,"author":4868,"provisional":4608,"depends":5254,"contact":5255,"extension":5256,"proposal":299},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":5258,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5259,"extension":5260,"proposal":4608},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":5262,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5006,"extension":5263,"proposal":299},467,"VK_EXT_pipeline_protected_access",{"number":5265,"type":173,"author":5266,"provisional":4608,"depends":4823,"contact":5267,"extension":5268,"proposal":4608},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":5270,"type":173,"author":4933,"provisional":4608,"ratified":4945,"contact":5271,"extension":5272,"proposal":4608},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":5274,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4891,"contact":5006,"extension":5275,"proposal":4608},357,"VK_EXT_primitive_topology_list_restart",{"number":5277,"type":173,"author":4868,"provisional":4608,"depends":5278,"specialuse":4891,"contact":5006,"extension":5279,"proposal":299},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":5281,"type":173,"author":4933,"promotedto":4921,"provisional":4608,"depends":4823,"contact":5282,"extension":5283,"proposal":4608},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":5285,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4891,"contact":5286,"extension":5287,"proposal":4608},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":5289,"type":173,"author":4868,"provisional":4608,"depends":5070,"ratified":4971,"contact":5071,"extension":5290,"proposal":4608},127,"VK_EXT_queue_family_foreign",{"number":5292,"type":173,"author":4900,"provisional":4608,"depends":4823,"contact":4902,"extension":4901,"proposal":299},464,{"number":5294,"type":173,"author":4868,"provisional":4608,"depends":5295,"contact":4902,"extension":5296,"proposal":4608},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":5298,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4971,"contact":4983,"extension":5299,"proposal":4608},287,"VK_EXT_robustness2",{"number":5301,"type":173,"author":4807,"provisional":4608,"depends":4823,"ratified":4971,"contact":4819,"extension":5302,"proposal":4608},144,"VK_EXT_sample_locations",{"number":5304,"type":173,"author":4933,"promotedto":5019,"provisional":4608,"depends":4823,"contact":4953,"extension":5305,"proposal":4608},131,"VK_EXT_sampler_filter_minmax",{"number":5307,"type":173,"author":4868,"promotedto":5019,"provisional":4608,"depends":4823,"contact":4810,"extension":5308,"proposal":4608},222,"VK_EXT_scalar_block_layout",{"number":5310,"type":173,"author":4868,"promotedto":5019,"provisional":4608,"contact":4819,"extension":5311,"proposal":4608},247,"VK_EXT_separate_stencil_usage",{"number":5313,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4971,"contact":5063,"extension":5314,"proposal":4608},261,"VK_EXT_shader_atomic_float",{"number":5316,"type":173,"author":4868,"provisional":4608,"depends":5314,"ratified":4945,"contact":5187,"extension":5317,"proposal":4608},274,"VK_EXT_shader_atomic_float2",{"number":5319,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":4953,"extension":5320,"proposal":4608},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":5322,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4810,"extension":5323,"proposal":4608},235,"VK_EXT_shader_image_atomic_int64",{"number":5325,"type":173,"author":4868,"provisional":4608,"depends":5326,"contact":5255,"extension":5327,"proposal":299},463,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_pipeline_creation_cache_control),VK_VERSION_1_3","VK_EXT_shader_module_identifier",{"number":5329,"type":173,"author":4868,"provisional":4608,"depends":5056,"ratified":4945,"contact":5330,"extension":5331,"proposal":299},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":5333,"type":173,"author":4868,"provisional":4608,"ratified":4945,"contact":4911,"extension":5334,"proposal":299},565,"VK_EXT_shader_replicated_composites",{"number":5336,"type":173,"author":4868,"provisional":4608,"ratified":4971,"contact":4834,"extension":5337,"proposal":4608},141,"VK_EXT_shader_stencil_export",{"number":5339,"type":173,"author":4933,"deprecatedby":5019,"provisional":4608,"contact":5271,"extension":5340,"proposal":4608},65,"VK_EXT_shader_subgroup_ballot",{"number":5342,"type":173,"author":4933,"deprecatedby":4917,"provisional":4608,"contact":5271,"extension":5343,"proposal":4608},66,"VK_EXT_shader_subgroup_vote",{"number":5345,"type":173,"author":4868,"provisional":4608,"depends":4921,"ratified":4945,"contact":4902,"extension":5346,"proposal":299},396,"VK_EXT_shader_tile_image",{"number":5348,"type":173,"author":4933,"promotedto":5019,"provisional":4608,"contact":5271,"extension":5349,"proposal":4608},163,"VK_EXT_shader_viewport_index_layer",{"number":5351,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4917,"ratified":4922,"contact":5352,"extension":5353,"proposal":4608},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":5355,"type":173,"author":4868,"provisional":4608,"depends":4823,"contact":5356,"extension":5357,"proposal":299},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":5359,"type":4927,"author":4868,"provisional":4608,"depends":5360,"contact":5006,"extension":5361,"proposal":299},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":5363,"type":4927,"author":4991,"provisional":4608,"depends":5040,"contact":4992,"extension":5364,"proposal":4608},105,"VK_EXT_swapchain_colorspace",{"number":5366,"type":173,"author":4868,"provisional":4608,"depends":5367,"contact":5006,"extension":5368,"proposal":299},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":5370,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":4953,"extension":5371,"proposal":4608},282,"VK_EXT_texel_buffer_alignment",{"number":5373,"type":173,"author":4900,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4922,"contact":4902,"extension":5374,"proposal":4608},67,"VK_EXT_texture_compression_astc_hdr",{"number":5376,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"contact":4810,"extension":5377,"proposal":4608},246,"VK_EXT_tooling_info",{"number":4695,"type":173,"author":4933,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":5379,"contact":4959,"extension":5278,"proposal":4608},"glemulation,d3demulation,devtools",{"number":5381,"type":173,"author":4991,"provisional":4608,"contact":5382,"extension":5383,"proposal":4608},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":5385,"type":4927,"author":5386,"deprecatedby":5167,"provisional":4608,"specialuse":4776,"contact":5387,"extension":5388,"proposal":4608},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":5390,"type":4927,"author":4991,"deprecatedby":5167,"provisional":4608,"specialuse":4776,"contact":5391,"extension":5392,"proposal":4608},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":5394,"type":173,"author":4933,"promotedto":5395,"provisional":4608,"depends":4823,"contact":4976,"extension":5396,"proposal":4608},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":5398,"type":173,"author":4868,"provisional":4608,"depends":4823,"ratified":4945,"contact":4959,"extension":5173,"proposal":4608},353,{"number":5400,"type":173,"author":4868,"promotedto":4921,"provisional":4608,"depends":5295,"ratified":4922,"contact":5401,"extension":5402,"proposal":4608},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":5404,"type":173,"author":4868,"provisional":4608,"depends":5295,"ratified":4971,"contact":4959,"extension":5405,"proposal":4608},253,"VK_EXT_ycbcr_image_arrays",{"number":5407,"type":173,"author":5408,"provisional":4608,"depends":5409,"platform":5410,"contact":5411,"extension":5412,"proposal":4608},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":5414,"type":173,"author":5408,"provisional":4608,"depends":5415,"platform":5410,"contact":5411,"extension":5416,"proposal":4608},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":5418,"type":173,"author":5408,"provisional":4608,"depends":5419,"platform":5410,"contact":5411,"extension":5420,"proposal":4608},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":5422,"type":4927,"author":5408,"provisional":4608,"depends":5040,"platform":5410,"contact":5423,"extension":5424,"proposal":4608},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":5426,"type":173,"author":5427,"provisional":4608,"depends":5428,"platform":5429,"contact":5250,"extension":5430,"proposal":4608},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":5432,"type":4927,"author":5427,"provisional":4608,"depends":5040,"platform":5429,"contact":5250,"extension":5433,"proposal":4608},50,"VK_GGP_stream_descriptor_surface",{"number":5435,"type":173,"author":4991,"provisional":4608,"contact":5436,"extension":5437,"proposal":4608},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":5439,"type":173,"author":4991,"provisional":4608,"depends":5118,"contact":5440,"extension":5441,"proposal":4608},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":5443,"type":173,"author":4991,"provisional":4608,"contact":5436,"extension":5444,"proposal":4608},224,"VK_GOOGLE_hlsl_functionality1",{"number":5446,"type":4927,"author":4991,"provisional":4608,"depends":5040,"specialuse":4891,"contact":5006,"extension":5447,"proposal":299},434,"VK_GOOGLE_surfaceless_query",{"number":5449,"type":173,"author":4991,"provisional":4608,"contact":5450,"extension":5451,"proposal":4608},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":5453,"type":173,"author":5454,"provisional":4608,"depends":4823,"contact":5455,"extension":5456,"proposal":299},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":5458,"type":173,"author":5459,"provisional":4608,"depends":5460,"contact":5461,"extension":5462,"proposal":299},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":5464,"type":173,"author":5454,"provisional":4608,"depends":5465,"contact":5461,"extension":5466,"proposal":4608},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":417,"type":173,"author":5266,"provisional":4608,"contact":4810,"extension":5468,"proposal":4608},"VK_IMG_filter_cubic",{"number":5470,"type":173,"author":5266,"deprecatedby":5471,"provisional":4608,"contact":5472,"extension":5473,"proposal":4608},55,null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":5475,"type":173,"author":5266,"provisional":4608,"depends":4823,"specialuse":4891,"contact":5096,"extension":5476,"proposal":4608},111,"VK_IMG_relaxed_line_rasterization",{"number":5478,"type":173,"author":5479,"provisional":4608,"specialuse":4818,"contact":5480,"extension":5481,"proposal":4608},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":5483,"type":173,"author":5479,"provisional":4608,"depends":4823,"contact":5484,"extension":5485,"proposal":4608},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":5487,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5489,"ratified":4945,"contact":4902,"extension":5490,"proposal":4608},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":5492,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5489,"ratified":4945,"contact":5493,"extension":5494,"proposal":4608},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":5496,"type":173,"author":5488,"provisional":4608,"depends":5497,"ratified":4945,"contact":5271,"extension":5498,"proposal":4608},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":305,"type":4927,"author":5488,"provisional":4608,"depends":5040,"platform":4890,"ratified":4945,"contact":4897,"extension":5500,"proposal":4608},"VK_KHR_android_surface",{"number":5502,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":4810,"extension":5503,"proposal":4608},158,"VK_KHR_bind_memory2",{"number":5505,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5506,"ratified":4945,"contact":4953,"extension":4963,"proposal":4608},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":5508,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":5162,"extension":4967,"proposal":4608},544,{"number":5510,"type":173,"author":5488,"provisional":4608,"depends":5511,"ratified":4945,"contact":5512,"extension":5513,"proposal":299},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":5515,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"contact":4911,"extension":5516,"proposal":299},507,"VK_KHR_cooperative_matrix",{"number":5518,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4971,"contact":5083,"extension":5519,"proposal":4608},338,"VK_KHR_copy_commands2",{"number":5521,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5522,"ratified":4945,"contact":5523,"extension":5524,"proposal":4608},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":5526,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5527,"ratified":4945,"contact":4935,"extension":5528,"proposal":4608},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":5530,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":5531,"extension":5532,"proposal":4608},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":5534,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5535,"ratified":4945,"contact":5536,"extension":5537,"proposal":4608},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":5539,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5540,"extension":5541,"proposal":4608},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":5543,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5544,"ratified":4945,"contact":4953,"extension":5545,"proposal":4608},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":5547,"type":4927,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":4953,"extension":5544,"proposal":4608},71,{"number":181,"type":4927,"author":5488,"provisional":4608,"depends":5040,"ratified":4971,"contact":5549,"extension":5037,"proposal":4608},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":199,"type":173,"author":5488,"provisional":4608,"depends":5551,"ratified":4971,"contact":4935,"extension":5552,"proposal":4608},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":5554,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"ratified":4945,"contact":4959,"extension":4831,"proposal":4608},170,{"number":5556,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":4819,"extension":5557,"proposal":4608},197,"VK_KHR_driver_properties",{"number":4759,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":5559,"ratified":4945,"contact":4810,"extension":5560,"proposal":299},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":5562,"type":173,"author":4807,"provisional":4608,"depends":5563,"ratified":4945,"contact":4810,"extension":5564,"proposal":299},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":5566,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5567,"ratified":4945,"contact":4897,"extension":5568,"proposal":4608},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":5570,"type":4927,"author":5488,"promotedto":4917,"provisional":4608,"depends":4823,"ratified":4945,"contact":4897,"extension":5567,"proposal":4608},113,{"number":5572,"type":173,"author":5488,"provisional":4608,"depends":5573,"ratified":4971,"contact":4897,"extension":5574,"proposal":4608},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":5576,"type":173,"author":5488,"provisional":4608,"depends":5568,"platform":5101,"ratified":4945,"contact":4897,"extension":5577,"proposal":4608},115,"VK_KHR_external_fence_win32",{"number":5579,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5580,"ratified":4945,"contact":4935,"extension":5581,"proposal":4608},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":5583,"type":4927,"author":5488,"promotedto":4917,"provisional":4608,"depends":4823,"ratified":4945,"contact":4935,"extension":5584,"proposal":4608},72,"VK_KHR_external_memory_capabilities",{"number":5586,"type":173,"author":5488,"provisional":4608,"depends":5070,"ratified":4971,"contact":4935,"extension":5075,"proposal":4608},75,{"number":5588,"type":173,"author":5488,"provisional":4608,"depends":5070,"platform":5101,"ratified":4945,"contact":4935,"extension":5589,"proposal":4608},74,"VK_KHR_external_memory_win32",{"number":5591,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5592,"ratified":4945,"contact":4935,"extension":5593,"proposal":4608},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":5595,"type":4927,"author":5488,"promotedto":4917,"provisional":4608,"depends":4823,"ratified":4945,"contact":4935,"extension":5592,"proposal":4608},77,{"number":5597,"type":173,"author":5488,"provisional":4608,"depends":5598,"ratified":4971,"contact":4935,"extension":5599,"proposal":4608},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":5601,"type":173,"author":5488,"provisional":4608,"depends":5593,"platform":5101,"ratified":4945,"contact":4935,"extension":5602,"proposal":4608},79,"VK_KHR_external_semaphore_win32",{"number":5604,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4945,"contact":5480,"extension":5605,"proposal":4608},361,"VK_KHR_format_feature_flags2",{"number":5607,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"contact":4814,"extension":5608,"proposal":299},323,"VK_KHR_fragment_shader_barycentric",{"number":5610,"type":173,"author":5488,"provisional":4608,"depends":5611,"ratified":4971,"contact":4810,"extension":5612,"proposal":299},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":5614,"type":4927,"author":5488,"provisional":4608,"depends":5037,"ratified":4971,"contact":4935,"extension":5615,"proposal":4608},122,"VK_KHR_get_display_properties2",{"number":5617,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5187,"extension":5618,"proposal":4608},147,"VK_KHR_get_memory_requirements2",{"number":5620,"type":4927,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":4953,"extension":5511,"proposal":4608},60,{"number":5622,"type":4927,"author":5488,"provisional":4608,"depends":5040,"ratified":4971,"contact":4935,"extension":5623,"proposal":4608},120,"VK_KHR_get_surface_capabilities2",{"number":5625,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":4810,"extension":5105,"proposal":4608},189,{"number":5627,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"ratified":4945,"contact":5187,"extension":5628,"proposal":4608},148,"VK_KHR_image_format_list",{"number":5630,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5631,"ratified":4945,"contact":5523,"extension":5632,"proposal":4608},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":5634,"type":173,"author":5488,"provisional":4608,"depends":5118,"ratified":4971,"contact":5440,"extension":5635,"proposal":4608},85,"VK_KHR_incremental_present",{"number":5637,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":4959,"extension":5157,"proposal":4608},534,{"number":5639,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":4959,"extension":5177,"proposal":4608},535,{"number":5641,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":5006,"extension":5182,"proposal":299},527,{"number":5643,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":4959,"extension":4851,"proposal":4608},70,{"number":5645,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5646,"extension":5647,"proposal":4608},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":5649,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5218,"proposal":4608},169,{"number":5651,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4917,"ratified":4945,"contact":4959,"extension":5652,"proposal":4608},414,"VK_KHR_maintenance4",{"number":5654,"type":173,"author":5488,"provisional":4608,"depends":5655,"ratified":4945,"contact":5656,"extension":5657,"proposal":299},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":5659,"type":173,"author":5488,"provisional":4608,"depends":4917,"ratified":4945,"contact":5660,"extension":5661,"proposal":299},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":5663,"type":173,"author":5488,"provisional":4608,"depends":4917,"ratified":4945,"contact":4946,"extension":5664,"proposal":299},563,"VK_KHR_maintenance7",{"number":5666,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":5187,"extension":5186,"proposal":299},272,{"number":5668,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5669,"proposal":4608},54,"VK_KHR_multiview",{"extension":5671,"proposal":4608},"VK_KHR_object_refresh",{"number":5673,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"specialuse":4818,"contact":5674,"extension":5675,"proposal":4608},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":5677,"type":173,"author":5488,"provisional":4608,"depends":5657,"ratified":4945,"contact":5656,"extension":5678,"proposal":299},484,"VK_KHR_pipeline_binary",{"number":5680,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"specialuse":4818,"contact":5187,"extension":5681,"proposal":4608},270,"VK_KHR_pipeline_executable_properties",{"number":5683,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":5198,"extension":5684,"proposal":4608},291,"VK_KHR_pipeline_library",{"number":5686,"type":4927,"author":5488,"provisional":4608,"ratified":4945,"contact":5687,"extension":5688,"proposal":4608},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":5690,"type":173,"author":5488,"provisional":299,"depends":4823,"platform":4809,"ratified":4945,"contact":5203,"extension":5691,"proposal":4608},164,"VK_KHR_portability_subset",{"number":5693,"type":173,"author":5488,"provisional":4608,"depends":5694,"ratified":4945,"contact":5695,"extension":5696,"proposal":4608},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":5698,"type":173,"author":5488,"provisional":4608,"depends":5699,"ratified":4945,"contact":5695,"extension":5700,"proposal":4608},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":5702,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5703,"proposal":4608},81,"VK_KHR_push_descriptor",{"number":5705,"type":173,"author":5488,"provisional":4608,"depends":5706,"ratified":4945,"contact":5271,"extension":5707,"proposal":4608},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":5709,"type":173,"author":5488,"provisional":4608,"depends":5498,"ratified":4945,"contact":5271,"extension":5710,"proposal":4608},387,"VK_KHR_ray_tracing_maintenance1",{"number":5712,"type":173,"author":5488,"provisional":4608,"depends":5706,"ratified":4945,"contact":5271,"extension":5713,"proposal":4608},348,"VK_KHR_ray_tracing_pipeline",{"number":5715,"type":173,"author":5488,"provisional":4608,"depends":5498,"ratified":4945,"contact":5716,"extension":5717,"proposal":299},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":5719,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5720,"extension":5721,"proposal":4608},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":395,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"ratified":4945,"contact":4810,"extension":5723,"proposal":4608},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":5725,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5726,"ratified":4945,"contact":5727,"extension":5728,"proposal":4608},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":5730,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5611,"ratified":4945,"contact":4959,"extension":5731,"proposal":4608},242,"VK_KHR_separate_depth_stencil_layouts",{"number":5733,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":5734,"extension":5735,"proposal":4608},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":5737,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":5734,"extension":5738,"proposal":4608},182,"VK_KHR_shader_clock",{"number":5740,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5271,"extension":5741,"proposal":4608},64,"VK_KHR_shader_draw_parameters",{"number":5743,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"contact":4911,"extension":5744,"proposal":299},545,"VK_KHR_shader_expect_assume",{"number":5746,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":5493,"extension":4837,"proposal":4608},83,{"number":5748,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":5493,"extension":5749,"proposal":4608},198,"VK_KHR_shader_float_controls",{"number":5751,"type":173,"author":5488,"provisional":4608,"depends":5752,"ratified":4945,"contact":5002,"extension":5753,"proposal":299},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":5755,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4945,"contact":4911,"extension":5756,"proposal":299},281,"VK_KHR_shader_integer_dot_product",{"number":5758,"type":173,"author":5488,"provisional":4608,"depends":4917,"ratified":4945,"contact":5759,"extension":5760,"proposal":299},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":5762,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"ratified":4945,"contact":4988,"extension":5763,"proposal":4608},294,"VK_KHR_shader_non_semantic_info",{"number":5765,"type":173,"author":5488,"provisional":4608,"depends":5766,"ratified":4945,"contact":4810,"extension":5767,"proposal":299},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":5769,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":5770,"extension":5771,"proposal":299},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":5773,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4917,"ratified":4945,"contact":5352,"extension":5774,"proposal":4608},176,"VK_KHR_shader_subgroup_extended_types",{"number":5776,"type":173,"author":5488,"provisional":4608,"ratified":4945,"contact":4911,"extension":5777,"proposal":299},417,"VK_KHR_shader_subgroup_rotate",{"number":5779,"type":173,"author":5488,"provisional":4608,"depends":4917,"ratified":4945,"contact":5759,"extension":5780,"proposal":4608},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":5782,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4971,"contact":4897,"extension":5783,"proposal":4608},216,"VK_KHR_shader_terminate_invocation",{"number":5785,"type":173,"author":5488,"provisional":4608,"depends":5786,"ratified":4971,"contact":5674,"extension":5787,"proposal":4608},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":5789,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":5752,"ratified":4945,"contact":4897,"extension":5197,"proposal":4608},237,{"number":5791,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"ratified":4945,"contact":5493,"extension":5792,"proposal":4608},132,"VK_KHR_storage_buffer_storage_class",{"number":140,"type":4927,"author":5488,"provisional":4608,"ratified":4971,"contact":5794,"extension":5040,"proposal":4608},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":5796,"type":4927,"author":5488,"provisional":4608,"depends":5797,"ratified":4945,"contact":5798,"extension":5799,"proposal":4608},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":161,"type":173,"author":5488,"provisional":4608,"depends":5040,"ratified":4971,"contact":5794,"extension":5118,"proposal":4608},{"number":5802,"type":173,"author":5488,"provisional":4608,"depends":5803,"ratified":4971,"contact":4819,"extension":5804,"proposal":4608},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":5806,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4971,"contact":4810,"extension":5807,"proposal":4608},315,"VK_KHR_synchronization2",{"number":5809,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":5187,"extension":5810,"proposal":4608},208,"VK_KHR_timeline_semaphore",{"number":5812,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":5002,"extension":5813,"proposal":4608},254,"VK_KHR_uniform_buffer_standard_layout",{"number":5815,"type":173,"author":5488,"promotedto":4917,"provisional":4608,"depends":5489,"ratified":4945,"contact":4897,"extension":5816,"proposal":4608},121,"VK_KHR_variable_pointers",{"number":5818,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4971,"contact":5006,"extension":5395,"proposal":299},526,{"number":5820,"type":173,"author":5488,"provisional":4608,"depends":5821,"ratified":4945,"contact":5162,"extension":5822,"proposal":299},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":4743,"type":173,"author":5488,"provisional":4608,"depends":5821,"ratified":4945,"contact":5824,"extension":5825,"proposal":299},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":5827,"type":173,"author":5488,"provisional":4608,"depends":5821,"ratified":4945,"contact":5824,"extension":5828,"proposal":299},188,"VK_KHR_video_decode_h265",{"number":1415,"type":173,"author":5488,"provisional":4608,"depends":5830,"ratified":4945,"contact":5831,"extension":5821,"proposal":299},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":4735,"type":173,"author":5488,"provisional":4608,"depends":5833,"ratified":4945,"contact":5834,"extension":5835,"proposal":299},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":4739,"type":173,"author":5488,"provisional":4608,"depends":5833,"ratified":4945,"contact":5834,"extension":5837,"proposal":299},"VK_KHR_video_encode_h265",{"number":5839,"type":173,"author":5488,"provisional":4608,"depends":5830,"ratified":4945,"contact":5834,"extension":5833,"proposal":299},300,{"number":5841,"type":173,"author":5488,"provisional":4608,"depends":5842,"ratified":4945,"contact":5162,"extension":5843,"proposal":299},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":1398,"type":173,"author":5488,"provisional":4608,"depends":5845,"ratified":4945,"contact":5401,"extension":5842,"proposal":299},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":5847,"type":173,"author":5488,"promotedto":5019,"provisional":4608,"depends":4823,"ratified":4945,"contact":4953,"extension":5848,"proposal":4608},212,"VK_KHR_vulkan_memory_model",{"number":272,"type":4927,"author":5488,"provisional":4608,"depends":5040,"platform":5850,"ratified":4945,"contact":5851,"extension":5852,"proposal":4608},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":5854,"type":173,"author":5488,"provisional":4608,"depends":5589,"platform":5101,"ratified":4945,"contact":5855,"extension":5856,"proposal":4608},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":324,"type":4927,"author":5488,"provisional":4608,"depends":5040,"platform":5101,"ratified":4945,"contact":5851,"extension":5858,"proposal":4608},"VK_KHR_win32_surface",{"number":5860,"type":173,"author":5488,"provisional":4608,"depends":4823,"ratified":4945,"contact":5861,"extension":5862,"proposal":4608},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":246,"type":4927,"author":5488,"provisional":4608,"depends":5040,"platform":5864,"ratified":4945,"contact":5851,"extension":5865,"proposal":4608},"xcb","VK_KHR_xcb_surface",{"number":218,"type":4927,"author":5488,"provisional":4608,"depends":5040,"platform":5867,"ratified":4945,"contact":5851,"extension":5868,"proposal":4608},"xlib","VK_KHR_xlib_surface",{"number":5870,"type":173,"author":5488,"promotedto":4921,"provisional":4608,"depends":4823,"ratified":4945,"contact":5759,"extension":5871,"proposal":4608},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":5873,"type":4927,"author":5386,"provisional":4608,"contact":5687,"extension":5874,"proposal":299},460,"VK_LUNARG_direct_driver_loading",{"number":5876,"type":173,"author":5877,"provisional":4608,"depends":4823,"specialuse":4998,"contact":5255,"extension":5878,"proposal":4608},576,"MESA","VK_MESA_image_alignment_control",{"number":5880,"type":173,"author":5881,"provisional":4608,"depends":4823,"contact":5882,"extension":5883,"proposal":299},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":5885,"type":4927,"author":5886,"deprecatedby":5208,"provisional":4608,"depends":5040,"platform":5887,"contact":5203,"extension":5888,"proposal":4608},123,"MVK","ios","VK_MVK_ios_surface",{"number":5890,"type":4927,"author":5886,"deprecatedby":5208,"provisional":4608,"depends":5040,"platform":5891,"contact":5203,"extension":5892,"proposal":4608},124,"macos","VK_MVK_macos_surface",{"number":5894,"type":4927,"author":5895,"provisional":4608,"depends":5040,"platform":5896,"contact":5897,"extension":5898,"proposal":4608},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":4699,"type":173,"author":5900,"provisional":4608,"contact":5901,"extension":5902,"proposal":4608},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":4703,"type":173,"author":5900,"provisional":4608,"contact":5904,"extension":5905,"proposal":4608},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":5907,"type":173,"author":5900,"provisional":4608,"depends":5908,"contact":4953,"extension":5909,"proposal":4608},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":5911,"type":173,"author":4933,"provisional":4608,"depends":4928,"platform":5101,"contact":5912,"extension":5913,"proposal":4608},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":5915,"type":173,"author":4933,"provisional":4608,"contact":5904,"extension":5916,"proposal":4608},88,"VK_NV_clip_space_w_scaling",{"number":5918,"type":173,"author":4933,"provisional":4608,"contact":5919,"extension":5920,"proposal":4608},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":5922,"type":173,"author":4933,"promotedto":5513,"provisional":4608,"depends":4823,"contact":5923,"extension":5924,"proposal":4608},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":5926,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":4953,"extension":5927,"proposal":4608},250,"VK_NV_cooperative_matrix",{"number":5929,"type":173,"author":4933,"provisional":4608,"depends":5930,"contact":5063,"extension":5931,"proposal":4608},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":5933,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5271,"extension":5934,"proposal":4608},51,"VK_NV_corner_sampled_image",{"number":5936,"type":173,"author":4933,"provisional":4608,"depends":5937,"contact":5938,"extension":5939,"proposal":4608},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":5941,"type":173,"author":4933,"provisional":299,"contact":5942,"extension":5943,"proposal":4608},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":1447,"type":173,"author":4933,"deprecatedby":5528,"provisional":4608,"contact":4953,"extension":5945,"proposal":4608},"VK_NV_dedicated_allocation",{"number":5947,"type":173,"author":5948,"provisional":4608,"depends":5949,"contact":5950,"extension":5951,"proposal":4608},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":5953,"type":173,"author":4933,"provisional":4608,"depends":4917,"contact":4959,"extension":5954,"proposal":4608},547,"VK_NV_descriptor_pool_overallocation",{"number":5956,"type":173,"author":5948,"provisional":4608,"depends":4823,"contact":5950,"extension":5957,"proposal":4608},207,"VK_NV_device_diagnostic_checkpoints",{"number":5959,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5938,"extension":5960,"proposal":4608},301,"VK_NV_device_diagnostics_config",{"number":5962,"type":173,"author":4933,"provisional":4608,"depends":5963,"contact":5198,"extension":66,"proposal":4608},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2",{"number":5965,"type":173,"author":4933,"provisional":4608,"depends":66,"contact":5063,"extension":5966,"proposal":4608},429,"VK_NV_device_generated_commands_compute",{"number":5968,"type":173,"author":4933,"provisional":299,"depends":5233,"platform":4809,"contact":5969,"extension":5970,"proposal":4608},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":5972,"type":173,"author":4933,"provisional":4608,"contact":5973,"extension":5974,"proposal":4608},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":5976,"type":173,"author":4933,"deprecatedby":5581,"provisional":4608,"depends":5977,"contact":4935,"extension":5978,"proposal":4608},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":5980,"type":4927,"author":4933,"deprecatedby":5584,"provisional":4608,"contact":4935,"extension":5977,"proposal":4608},56,{"number":5982,"type":173,"author":4933,"provisional":4608,"depends":5070,"contact":5855,"extension":5983,"proposal":4608},372,"VK_NV_external_memory_rdma",{"extension":5985,"proposal":4608},"VK_NV_external_memory_sci_buf",{"number":5987,"type":173,"author":4933,"deprecatedby":5589,"provisional":4608,"depends":5978,"platform":5101,"contact":4935,"extension":5988,"proposal":4608},58,"VK_NV_external_memory_win32",{"extension":5990,"proposal":4608},"VK_NV_external_sci_sync",{"extension":5992,"proposal":4608},"VK_NV_external_sci_sync2",{"number":5994,"type":173,"author":4933,"provisional":4608,"contact":4953,"extension":5995,"proposal":4608},154,"VK_NV_fill_rectangle",{"number":5997,"type":173,"author":4933,"provisional":4608,"contact":4953,"extension":5998,"proposal":4608},150,"VK_NV_fragment_coverage_to_color",{"number":6000,"type":173,"author":4933,"promotedto":5608,"provisional":4608,"depends":4823,"contact":5923,"extension":6001,"proposal":4608},204,"VK_NV_fragment_shader_barycentric",{"number":6003,"type":173,"author":4933,"provisional":4608,"depends":5612,"contact":5923,"extension":6004,"proposal":4608},327,"VK_NV_fragment_shading_rate_enums",{"number":6006,"type":173,"author":4933,"provisional":4608,"contact":4953,"extension":6007,"proposal":4608},153,"VK_NV_framebuffer_mixed_samples",{"number":6009,"type":173,"author":4933,"provisional":4608,"contact":5271,"extension":6010,"proposal":4608},96,"VK_NV_geometry_shader_passthrough",{"number":360,"type":173,"author":4933,"deprecatedby":5471,"provisional":4608,"contact":4959,"extension":6012,"proposal":4608},"VK_NV_glsl_shader",{"number":6014,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":6015,"extension":6016,"proposal":4608},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":6018,"type":173,"author":5948,"provisional":4608,"depends":4823,"contact":6019,"extension":6020,"proposal":4608},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":6022,"type":173,"author":4933,"provisional":4608,"contact":6023,"extension":6024,"proposal":4608},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":6026,"type":173,"author":4933,"provisional":4608,"depends":6027,"contact":6023,"extension":6028,"proposal":4608},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":6030,"type":173,"author":4933,"provisional":4608,"depends":5930,"contact":5063,"extension":6031,"proposal":4608},428,"VK_NV_memory_decompression",{"number":6033,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5198,"extension":6034,"proposal":4608},203,"VK_NV_mesh_shader",{"number":6036,"type":173,"author":4933,"provisional":4608,"depends":6037,"contact":5855,"extension":6038,"proposal":4608},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":6040,"type":173,"author":4933,"provisional":4608,"depends":5661,"contact":4959,"extension":6041,"proposal":4608},517,"VK_NV_per_stage_descriptor_set",{"number":6043,"type":173,"author":4933,"provisional":4608,"depends":5100,"contact":6044,"extension":6045,"proposal":4608},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":6047,"proposal":4608},"VK_NV_private_vendor_info",{"number":6049,"type":173,"author":4933,"provisional":4608,"contact":6050,"extension":6051,"proposal":4608},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":6053,"type":173,"author":4933,"deprecatedby":5713,"provisional":4608,"depends":6054,"contact":5904,"extension":6055,"proposal":4608},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":6057,"type":173,"author":4933,"provisional":4608,"depends":5713,"contact":5904,"extension":6058,"proposal":4608},491,"VK_NV_ray_tracing_invocation_reorder",{"number":6060,"type":173,"author":4933,"provisional":4608,"depends":5713,"contact":5716,"extension":6061,"proposal":4608},328,"VK_NV_ray_tracing_motion_blur",{"number":6063,"type":173,"author":4933,"provisional":4608,"contact":5063,"extension":6064,"proposal":299},569,"VK_NV_ray_tracing_validation",{"number":6066,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5938,"extension":6067,"proposal":4608},167,"VK_NV_representative_fragment_test",{"number":6069,"type":173,"author":4933,"provisional":4608,"contact":4959,"extension":6070,"proposal":4608},95,"VK_NV_sample_mask_override_coverage",{"number":6072,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5923,"extension":6073,"proposal":4608},206,"VK_NV_scissor_exclusive",{"number":6075,"type":173,"author":4933,"provisional":4608,"contact":4953,"extension":6076,"proposal":4608},564,"VK_NV_shader_atomic_float16_vector",{"number":6078,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5923,"extension":6079,"proposal":4608},205,"VK_NV_shader_image_footprint",{"number":6081,"type":173,"author":4933,"provisional":4608,"depends":4917,"contact":5271,"extension":6082,"proposal":4608},155,"VK_NV_shader_sm_builtins",{"number":6084,"type":173,"author":4933,"provisional":4608,"depends":4917,"contact":4953,"extension":6085,"proposal":4608},199,"VK_NV_shader_subgroup_partitioned",{"number":6087,"type":173,"author":4933,"provisional":4608,"depends":4823,"contact":5923,"extension":6088,"proposal":4608},165,"VK_NV_shading_rate_image",{"number":6090,"type":173,"author":4933,"provisional":4608,"contact":5271,"extension":6091,"proposal":4608},97,"VK_NV_viewport_array2",{"number":6093,"type":173,"author":4933,"provisional":4608,"contact":4959,"extension":6094,"proposal":4608},99,"VK_NV_viewport_swizzle",{"number":6096,"type":173,"author":4933,"promotedto":5856,"provisional":4608,"depends":5988,"platform":5101,"contact":5855,"extension":6097,"proposal":4608},59,"VK_NV_win32_keyed_mutex",{"number":6099,"type":173,"author":5082,"provisional":4608,"depends":6100,"contact":5083,"extension":6101,"proposal":4608},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":6103,"type":173,"author":5082,"provisional":4608,"depends":5084,"contact":5083,"extension":6104,"proposal":4608},520,"VK_QCOM_filter_cubic_weights",{"number":6106,"type":173,"author":5082,"provisional":4608,"depends":6107,"contact":5083,"extension":6108,"proposal":4608},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":6110,"type":173,"author":5082,"provisional":4608,"depends":6111,"contact":5083,"extension":6112,"proposal":299},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":6114,"type":173,"author":5082,"provisional":4608,"depends":6112,"contact":5083,"extension":6115,"proposal":4608},519,"VK_QCOM_image_processing2",{"number":6117,"type":173,"author":5082,"provisional":4608,"contact":5083,"extension":6118,"proposal":4608},511,"VK_QCOM_multiview_per_view_render_areas",{"number":6120,"type":173,"author":5082,"provisional":4608,"depends":4823,"contact":5083,"extension":6121,"proposal":4608},489,"VK_QCOM_multiview_per_view_viewports",{"number":6123,"type":173,"author":5082,"provisional":4608,"contact":5083,"extension":6124,"proposal":4608},172,"VK_QCOM_render_pass_shader_resolve",{"number":6126,"type":173,"author":5082,"provisional":4608,"contact":5083,"extension":6127,"proposal":4608},302,"VK_QCOM_render_pass_store_ops",{"number":6129,"type":173,"author":5082,"provisional":4608,"contact":5083,"extension":6130,"proposal":4608},283,"VK_QCOM_render_pass_transform",{"number":6132,"type":173,"author":5082,"provisional":4608,"depends":6133,"contact":5083,"extension":6134,"proposal":4608},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":6136,"type":173,"author":5082,"provisional":4608,"depends":4823,"contact":5083,"extension":6137,"proposal":299},485,"VK_QCOM_tile_properties",{"number":6139,"type":173,"author":5082,"provisional":4608,"contact":5083,"extension":6140,"proposal":4608},521,"VK_QCOM_ycbcr_degamma",{"number":6142,"type":173,"author":6143,"provisional":4608,"depends":4896,"platform":6144,"contact":6145,"extension":6146,"proposal":4608},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":6148,"type":4927,"author":6143,"provisional":4608,"depends":5040,"platform":6144,"contact":6149,"extension":6150,"proposal":4608},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":6152,"type":173,"author":6153,"provisional":4608,"depends":4823,"contact":5026,"extension":6154,"proposal":4608},486,"SEC","VK_SEC_amigo_profiling",{"number":6156,"type":173,"author":6157,"provisional":4608,"depends":4823,"specialuse":4998,"contact":5255,"extension":6158,"proposal":4608},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":6160,"type":173,"author":6157,"promotedto":5220,"provisional":4608,"depends":5218,"specialuse":4998,"contact":5219,"extension":6161,"proposal":4608},352,"VK_VALVE_mutable_descriptor_type",1725732636796]