[{"data":1,"prerenderedAt":10834},["ShallowReactive",2],{"tFo3m37EYq":3,"VyF3Mmj32r":9250,"N9m89Rcq0G":9474},{"title":4,"description":5,"body":6,"_type":9248,"_id":9249},"Shader Interfaces","When a pipeline is created, the set of shaders specified in the\ncorresponding VkPipelineCreateInfo structure are implicitly linked at\na number of different interfaces.",{"type":7,"children":8,"toc":9222},"root",[9,17,32,110,170,187,194,199,235,247,265,272,296,334,357,382,388,475,481,486,756,787,819,834,854,859,865,899,933,945,963,975,1026,1075,1099,1157,1200,1211,1265,1331,1711,1717,1852,1881,1913,1918,1953,1998,2037,2050,2060,2065,2091,2172,2267,2289,2300,2310,2315,2352,2378,2406,2480,2486,2529,2559,2564,2578,2583,2617,2684,2752,2762,2767,2793,2917,2984,3011,3020,3029,3057,3069,3075,3120,3125,3135,3153,3158,3168,3201,3211,3559,3564,3590,3644,3649,3655,3678,3737,3746,3818,3835,3841,3877,3916,3977,4137,4176,4191,4248,4263,4313,4381,4448,4476,4520,4530,4890,4920,5329,6219,6224,6280,6322,6390,6450,6466,6531,6635,7040,7045,7088,7103,7108,7116,7121,7126,7139,7157,7191,7207,7270,7287,7305,7317,7344,7348,7356,7378,7514,7527,7537,7578,7583,7658,7668,7697,7718,7724,7748,7762,7827,7831,7841,7850,7854,7863,7872,7881,7890,7899,7908,7917,7921,7930,7934,7943,7947,7956,7960,7969,7973,7982,7986,7994,7998,8007,8011,8020,8024,8033,8037,8046,8050,8059,8063,8072,8076,8085,8089,8097,8101,8110,8114,8123,8127,8135,8139,8147,8151,8160,8164,8173,8177,8186,8194,8198,8207,8211,8220,8224,8233,8237,8246,8250,8259,8263,8272,8276,8285,8289,8298,8302,8310,8314,8322,8326,8335,8339,8348,8352,8361,8370,8374,8383,8387,8396,8400,8409,8413,8422,8426,8435,8439,8448,8452,8461,8465,8474,8478,8487,8491,8500,8504,8513,8517,8526,8530,8539,8543,8552,8556,8565,8569,8578,8582,8591,8595,8604,8608,8617,8621,8630,8634,8643,8647,8656,8660,8669,8673,8682,8686,8695,8699,8708,8712,8721,8725,8734,8738,8747,8751,8760,8764,8773,8777,8786,8790,8799,8803,8812,8816,8825,8829,8838,8842,8851,8855,8864,8868,8877,8881,8890,8894,8903,8907,8916,8920,8929,8933,8942,8946,8955,8959,8967,8971,8980,8984,8992,8996,9005,9009,9018,9022,9031,9035,9044,9048,9057,9061,9070,9074,9083,9087,9096,9100,9109,9113,9122,9126,9135,9139,9148,9152,9161,9165,9174,9178,9187,9191,9200,9204,9213],{"type":10,"tag":11,"props":12,"children":14},"element","h1",{"id":13},"interfaces",[15],{"type":16,"value":4},"text",{"type":10,"tag":18,"props":19,"children":20},"p",{},[21,23,30],{"type":16,"value":22},"When a pipeline is created, the set of shaders specified in the\ncorresponding ",{"type":10,"tag":24,"props":25,"children":27},"code",{"className":26},[],[28],{"type":16,"value":29},"VkPipelineCreateInfo",{"type":16,"value":31}," structure are implicitly linked at\na number of different interfaces.",{"type":10,"tag":33,"props":34,"children":35},"ul",{},[36,47,56,65,74,83,92,101],{"type":10,"tag":37,"props":38,"children":39},"li",{},[40],{"type":10,"tag":41,"props":42,"children":44},"a",{"href":43},"/chapters/interfaces#interfaces-iointerfaces",[45],{"type":16,"value":46},"Shader Input and Output Interface",{"type":10,"tag":37,"props":48,"children":49},{},[50],{"type":10,"tag":41,"props":51,"children":53},{"href":52},"/chapters/interfaces#interfaces-vertexinput",[54],{"type":16,"value":55},"Vertex Input Interface",{"type":10,"tag":37,"props":57,"children":58},{},[59],{"type":10,"tag":41,"props":60,"children":62},{"href":61},"/chapters/interfaces#interfaces-fragmentoutput",[63],{"type":16,"value":64},"Fragment Output Interface",{"type":10,"tag":37,"props":66,"children":67},{},[68],{"type":10,"tag":41,"props":69,"children":71},{"href":70},"/chapters/interfaces#interfaces-fragmenttileimage",[72],{"type":16,"value":73},"Fragment Tile Image Interface",{"type":10,"tag":37,"props":75,"children":76},{},[77],{"type":10,"tag":41,"props":78,"children":80},{"href":79},"/chapters/interfaces#interfaces-inputattachment",[81],{"type":16,"value":82},"Fragment Input Attachment Interface",{"type":10,"tag":37,"props":84,"children":85},{},[86],{"type":10,"tag":41,"props":87,"children":89},{"href":88},"/chapters/interfaces#interfaces-raypipeline",[90],{"type":16,"value":91},"Ray Tracing Pipeline Interface",{"type":10,"tag":37,"props":93,"children":94},{},[95],{"type":10,"tag":41,"props":96,"children":98},{"href":97},"/chapters/interfaces#interfaces-resources",[99],{"type":16,"value":100},"Shader Resource Interface",{"type":10,"tag":37,"props":102,"children":103},{},[104],{"type":10,"tag":41,"props":105,"children":107},{"href":106},"/chapters/geometry#geometry-passthrough-passthrough",[108],{"type":16,"value":109},"Geometry Shader Passthrough",{"type":10,"tag":18,"props":111,"children":112},{},[113,115,121,123,129,131,137,138,144,146,152,154,160,162,168],{"type":16,"value":114},"This chapter describes valid uses for a set of SPIR-V decorations.\nAny other use of one of these decorations is invalid, with the exception\nthat, when using SPIR-V versions 1.4 and earlier: ",{"type":10,"tag":24,"props":116,"children":118},{"className":117},[],[119],{"type":16,"value":120},"Block",{"type":16,"value":122},",\n",{"type":10,"tag":24,"props":124,"children":126},{"className":125},[],[127],{"type":16,"value":128},"BufferBlock",{"type":16,"value":130},", ",{"type":10,"tag":24,"props":132,"children":134},{"className":133},[],[135],{"type":16,"value":136},"Offset",{"type":16,"value":130},{"type":10,"tag":24,"props":139,"children":141},{"className":140},[],[142],{"type":16,"value":143},"ArrayStride",{"type":16,"value":145},", and ",{"type":10,"tag":24,"props":147,"children":149},{"className":148},[],[150],{"type":16,"value":151},"MatrixStride",{"type":16,"value":153}," can\nalso decorate types and type members used by variables in the ",{"type":10,"tag":24,"props":155,"children":157},{"className":156},[],[158],{"type":16,"value":159},"Private",{"type":16,"value":161},"\nand ",{"type":10,"tag":24,"props":163,"children":165},{"className":164},[],[166],{"type":16,"value":167},"Function",{"type":16,"value":169}," storage classes.",{"type":10,"tag":171,"props":172,"children":173},"note",{},[174],{"type":10,"tag":18,"props":175,"children":176},{},[177,179,185],{"type":16,"value":178},"In this chapter, there are references to SPIR-V terms such as the\n",{"type":10,"tag":24,"props":180,"children":182},{"className":181},[],[183],{"type":16,"value":184},"MeshNV",{"type":16,"value":186}," execution model.\nThese terms will appear even in a build of the specification which does not\nsupport any extensions.\nThis is as intended, since these terms appear in the unified SPIR-V\nspecification without such qualifiers.",{"type":10,"tag":188,"props":189,"children":191},"h2",{"id":190},"interfaces-iointerfaces",[192],{"type":16,"value":193},"Shader Input and Output Interfaces",{"type":10,"tag":18,"props":195,"children":196},{},[197],{"type":16,"value":198},"When multiple stages are present in a pipeline, the outputs of one stage\nform an interface with the inputs of the next stage.\nWhen such an interface involves a shader, shader outputs are matched against\nthe inputs of the next stage, and shader inputs are matched against the\noutputs of the previous stage.",{"type":10,"tag":18,"props":200,"children":201},{},[202,204,209,211,217,219,225,227,233],{"type":16,"value":203},"All the variables forming the shader input and output ",{"type":10,"tag":205,"props":206,"children":207},"em",{},[208],{"type":16,"value":13},{"type":16,"value":210}," are\nlisted as operands to the ",{"type":10,"tag":24,"props":212,"children":214},{"className":213},[],[215],{"type":16,"value":216},"OpEntryPoint",{"type":16,"value":218}," instruction and are declared\nwith the ",{"type":10,"tag":24,"props":220,"children":222},{"className":221},[],[223],{"type":16,"value":224},"Input",{"type":16,"value":226}," or ",{"type":10,"tag":24,"props":228,"children":230},{"className":229},[],[231],{"type":16,"value":232},"Output",{"type":16,"value":234}," storage classes, respectively, in the\nSPIR-V module.\nThese generally form the interfaces between consecutive shader stages,\nregardless of any non-shader stages between the consecutive shader stages.",{"type":10,"tag":18,"props":236,"children":237},{},[238,240,245],{"type":16,"value":239},"There are two classes of variables that ",{"type":10,"tag":241,"props":242,"children":244},"normative",{"type":243},"can",[],{"type":16,"value":246}," be matched between shader\nstages, built-in variables and user-defined variables.\nEach class has a different set of matching criteria.",{"type":10,"tag":18,"props":248,"children":249},{},[250,255,257,263],{"type":10,"tag":24,"props":251,"children":253},{"className":252},[],[254],{"type":16,"value":232},{"type":16,"value":256}," variables of a shader stage have undefined: values until the\nshader writes to them or uses the ",{"type":10,"tag":24,"props":258,"children":260},{"className":259},[],[261],{"type":16,"value":262},"Initializer",{"type":16,"value":264}," operand when declaring\nthe variable.",{"type":10,"tag":266,"props":267,"children":269},"h3",{"id":268},"interfaces-iointerfaces-builtin",[270],{"type":16,"value":271},"Built-in Interface Block",{"type":10,"tag":18,"props":273,"children":274},{},[275,277,283,285,290,292],{"type":16,"value":276},"Shader ",{"type":10,"tag":41,"props":278,"children":280},{"href":279},"/chapters/interfaces#interfaces-builtin-variables",[281],{"type":16,"value":282},"built-in",{"type":16,"value":284}," variables meeting the\nfollowing requirements define the ",{"type":10,"tag":205,"props":286,"children":287},{},[288],{"type":16,"value":289},"built-in interface block",{"type":16,"value":291},".\nThey ",{"type":10,"tag":241,"props":293,"children":295},{"type":294},"must",[],{"type":10,"tag":33,"props":297,"children":298},{},[299,304,317,329],{"type":10,"tag":37,"props":300,"children":301},{},[302],{"type":16,"value":303},"be explicitly declared (there are no implicit built-ins),",{"type":10,"tag":37,"props":305,"children":306},{},[307,309,315],{"type":16,"value":308},"be identified with a ",{"type":10,"tag":24,"props":310,"children":312},{"className":311},[],[313],{"type":16,"value":314},"BuiltIn",{"type":16,"value":316}," decoration,",{"type":10,"tag":37,"props":318,"children":319},{},[320,322,327],{"type":16,"value":321},"form object types as described in the\n",{"type":10,"tag":41,"props":323,"children":324},{"href":279},[325],{"type":16,"value":326},"Built-in Variables",{"type":16,"value":328}," section, and",{"type":10,"tag":37,"props":330,"children":331},{},[332],{"type":16,"value":333},"be declared in a block whose top-level members are the built-ins.",{"type":10,"tag":18,"props":335,"children":336},{},[337,339,342,344,347,349,355],{"type":16,"value":338},"There ",{"type":10,"tag":241,"props":340,"children":341},{"type":294},[],{"type":16,"value":343}," be no more than one built-in interface block per shader per\ninterface\n, except for the mesh output interface where there ",{"type":10,"tag":241,"props":345,"children":346},{"type":294},[],{"type":16,"value":348}," be at most one\nbuilt-in interface block decorated with the ",{"type":10,"tag":24,"props":350,"children":352},{"className":351},[],[353],{"type":16,"value":354},"PerPrimitiveEXT",{"type":16,"value":356}," decoration\nand at most one built-in interface block without this decoration\n.",{"type":10,"tag":18,"props":358,"children":359},{},[360,362,365,367,373,374,380],{"type":16,"value":361},"Built-ins ",{"type":10,"tag":241,"props":363,"children":364},{"type":294},[],{"type":16,"value":366}," not have any ",{"type":10,"tag":24,"props":368,"children":370},{"className":369},[],[371],{"type":16,"value":372},"Location",{"type":16,"value":226},{"type":10,"tag":24,"props":375,"children":377},{"className":376},[],[378],{"type":16,"value":379},"Component",{"type":16,"value":381}," decorations.",{"type":10,"tag":266,"props":383,"children":385},{"id":384},"interfaces-iointerfaces-user",[386],{"type":16,"value":387},"User-defined Variable Interface",{"type":10,"tag":18,"props":389,"children":390},{},[391,393,398,400,405,407,412,414,419,421,424,426,432,434,444,446,449,451,454,456,461,463,466,468,473],{"type":16,"value":392},"The non-built-in variables listed by ",{"type":10,"tag":24,"props":394,"children":396},{"className":395},[],[397],{"type":16,"value":216},{"type":16,"value":399}," with the ",{"type":10,"tag":24,"props":401,"children":403},{"className":402},[],[404],{"type":16,"value":224},{"type":16,"value":406},"\nor ",{"type":10,"tag":24,"props":408,"children":410},{"className":409},[],[411],{"type":16,"value":232},{"type":16,"value":413}," storage class form the ",{"type":10,"tag":205,"props":415,"children":416},{},[417],{"type":16,"value":418},"user-defined variable interface",{"type":16,"value":420},".\nThese ",{"type":10,"tag":241,"props":422,"children":423},{"type":294},[],{"type":16,"value":425}," have ",{"type":10,"tag":41,"props":427,"children":429},{"href":428},"/chapters/formats#formats-numericformat",[430],{"type":16,"value":431},"numeric type",{"type":16,"value":433}," or, recursively,\ncomposite types of such types.\nIf an implementation supports ",{"type":10,"tag":41,"props":435,"children":437},{"href":436},"/man/VkPhysicalDevice16BitStorageFeatures#features-storageInputOutput16",[438],{"type":10,"tag":24,"props":439,"children":441},{"className":440},[],[442],{"type":16,"value":443},"storageInputOutput16",{"type":16,"value":445},", components ",{"type":10,"tag":241,"props":447,"children":448},{"type":243},[],{"type":16,"value":450}," have a width of 16 bits.\nThese variables ",{"type":10,"tag":241,"props":452,"children":453},{"type":294},[],{"type":16,"value":455}," be identified with a ",{"type":10,"tag":24,"props":457,"children":459},{"className":458},[],[460],{"type":16,"value":372},{"type":16,"value":462}," decoration and ",{"type":10,"tag":241,"props":464,"children":465},{"type":243},[],{"type":16,"value":467},"\nalso be identified with a ",{"type":10,"tag":24,"props":469,"children":471},{"className":470},[],[472],{"type":16,"value":379},{"type":16,"value":474}," decoration.",{"type":10,"tag":266,"props":476,"children":478},{"id":477},"interfaces-iointerfaces-matching",[479],{"type":16,"value":480},"Interface Matching",{"type":10,"tag":18,"props":482,"children":483},{},[484],{"type":16,"value":485},"An output variable, block, or structure member in a given shader stage has\nan interface match with an input variable, block, or structure member in a\nsubsequent shader stage if they both adhere to the following conditions:",{"type":10,"tag":33,"props":487,"children":488},{},[489,571,751],{"type":10,"tag":37,"props":490,"children":491},{},[492,494],{"type":16,"value":493},"They have equivalent decorations, other than:",{"type":10,"tag":33,"props":495,"children":496},{},[497,526,551,560],{"type":10,"tag":37,"props":498,"children":499},{},[500,506,507,513,514,519,520],{"type":10,"tag":24,"props":501,"children":503},{"className":502},[],[504],{"type":16,"value":505},"XfbBuffer",{"type":16,"value":130},{"type":10,"tag":24,"props":508,"children":510},{"className":509},[],[511],{"type":16,"value":512},"XfbStride",{"type":16,"value":130},{"type":10,"tag":24,"props":515,"children":517},{"className":516},[],[518],{"type":16,"value":136},{"type":16,"value":145},{"type":10,"tag":24,"props":521,"children":523},{"className":522},[],[524],{"type":16,"value":525},"Stream",{"type":10,"tag":37,"props":527,"children":528},{},[529,531,536,538,543,545],{"type":16,"value":530},"one is not decorated with ",{"type":10,"tag":24,"props":532,"children":534},{"className":533},[],[535],{"type":16,"value":379},{"type":16,"value":537}," and the other is declared with\na ",{"type":10,"tag":24,"props":539,"children":541},{"className":540},[],[542],{"type":16,"value":379},{"type":16,"value":544}," of ",{"type":10,"tag":24,"props":546,"children":548},{"className":547},[],[549],{"type":16,"value":550},"0",{"type":10,"tag":37,"props":552,"children":553},{},[554],{"type":10,"tag":41,"props":555,"children":557},{"href":556},"/chapters/shaders#shaders-interpolation-decorations",[558],{"type":16,"value":559},"Interpolation decorations",{"type":10,"tag":37,"props":561,"children":562},{},[563,569],{"type":10,"tag":24,"props":564,"children":566},{"className":565},[],[567],{"type":16,"value":568},"RelaxedPrecision",{"type":16,"value":570}," if one is an input variable and the other an\noutput variable",{"type":10,"tag":37,"props":572,"children":573},{},[574,576],{"type":16,"value":575},"Their types match as follows:",{"type":10,"tag":33,"props":577,"children":578},{},[579,616,668,700,739],{"type":10,"tag":37,"props":580,"children":581},{},[582,584,590,592,598,600,606,608,614],{"type":16,"value":583},"if the input is declared in a tessellation control or geometry shader\nas an ",{"type":10,"tag":24,"props":585,"children":587},{"className":586},[],[588],{"type":16,"value":589},"OpTypeArray",{"type":16,"value":591}," with an ",{"type":10,"tag":24,"props":593,"children":595},{"className":594},[],[596],{"type":16,"value":597},"Element",{"type":16,"value":599}," ",{"type":10,"tag":24,"props":601,"children":603},{"className":602},[],[604],{"type":16,"value":605},"Type",{"type":16,"value":607}," equivalent to the\n",{"type":10,"tag":24,"props":609,"children":611},{"className":610},[],[612],{"type":16,"value":613},"OpType*",{"type":16,"value":615}," declaration of the output, and neither is a structure\nmember; or",{"type":10,"tag":37,"props":617,"children":618},{},[619,621,631,633,639,641,646,647,653,655,660,661,666],{"type":16,"value":620},"if the ",{"type":10,"tag":41,"props":622,"children":624},{"href":623},"/man/VkPhysicalDeviceMaintenance4Features#features-maintenance4",[625],{"type":10,"tag":24,"props":626,"children":628},{"className":627},[],[629],{"type":16,"value":630},"maintenance4",{"type":16,"value":632}," feature is\nenabled, they are declared as ",{"type":10,"tag":24,"props":634,"children":636},{"className":635},[],[637],{"type":16,"value":638},"OpTypeVector",{"type":16,"value":640}," variables, and the\noutput has a ",{"type":10,"tag":24,"props":642,"children":644},{"className":643},[],[645],{"type":16,"value":379},{"type":16,"value":599},{"type":10,"tag":24,"props":648,"children":650},{"className":649},[],[651],{"type":16,"value":652},"Count",{"type":16,"value":654}," value higher than that of the\ninput but the same ",{"type":10,"tag":24,"props":656,"children":658},{"className":657},[],[659],{"type":16,"value":379},{"type":16,"value":599},{"type":10,"tag":24,"props":662,"children":664},{"className":663},[],[665],{"type":16,"value":605},{"type":16,"value":667},"; or",{"type":10,"tag":37,"props":669,"children":670},{},[671,673,678,680,685,686,691,693,698],{"type":16,"value":672},"if the output is declared in a mesh shader as an ",{"type":10,"tag":24,"props":674,"children":676},{"className":675},[],[677],{"type":16,"value":589},{"type":16,"value":679}," with\nan ",{"type":10,"tag":24,"props":681,"children":683},{"className":682},[],[684],{"type":16,"value":597},{"type":16,"value":599},{"type":10,"tag":24,"props":687,"children":689},{"className":688},[],[690],{"type":16,"value":605},{"type":16,"value":692}," equivalent to the ",{"type":10,"tag":24,"props":694,"children":696},{"className":695},[],[697],{"type":16,"value":613},{"type":16,"value":699}," declaration of\nthe input, and neither is a structure member; or",{"type":10,"tag":37,"props":701,"children":702},{},[703,705,711,713,718,719,724,725,730,732,737],{"type":16,"value":704},"if the input is decorated with ",{"type":10,"tag":24,"props":706,"children":708},{"className":707},[],[709],{"type":16,"value":710},"PerVertexKHR",{"type":16,"value":712},", and is declared in a\nfragment shader as an ",{"type":10,"tag":24,"props":714,"children":716},{"className":715},[],[717],{"type":16,"value":589},{"type":16,"value":591},{"type":10,"tag":24,"props":720,"children":722},{"className":721},[],[723],{"type":16,"value":597},{"type":16,"value":599},{"type":10,"tag":24,"props":726,"children":728},{"className":727},[],[729],{"type":16,"value":605},{"type":16,"value":731},"\nequivalent to the ",{"type":10,"tag":24,"props":733,"children":735},{"className":734},[],[736],{"type":16,"value":613},{"type":16,"value":738}," declaration of the output, and neither\nthe input nor the output is a structure member; or",{"type":10,"tag":37,"props":740,"children":741},{},[742,744,749],{"type":16,"value":743},"if in any other case they are declared with an equivalent ",{"type":10,"tag":24,"props":745,"children":747},{"className":746},[],[748],{"type":16,"value":613},{"type":16,"value":750},"\ndeclaration.",{"type":10,"tag":37,"props":752,"children":753},{},[754],{"type":16,"value":755},"If both are structures and every member has an interface match.",{"type":10,"tag":171,"props":757,"children":758},{},[759],{"type":10,"tag":18,"props":760,"children":761},{},[762,764,770,772,778,780,785],{"type":16,"value":763},"The word ",{"type":10,"tag":24,"props":765,"children":767},{"className":766},[],[768],{"type":16,"value":769},"structure",{"type":16,"value":771}," above refers to both variables that have an\n",{"type":10,"tag":24,"props":773,"children":775},{"className":774},[],[776],{"type":16,"value":777},"OpTypeStruct",{"type":16,"value":779}," type and interface blocks (which are also declared as\n",{"type":10,"tag":24,"props":781,"children":783},{"className":782},[],[784],{"type":16,"value":777},{"type":16,"value":786},").",{"type":10,"tag":18,"props":788,"children":789},{},[790,792,802,804,809,811,817],{"type":16,"value":791},"If the pipeline is compiled as separate graphics pipeline libraries and the\n",{"type":10,"tag":41,"props":793,"children":795},{"href":794},"/man/VkPhysicalDeviceGraphicsPipelineLibraryPropertiesEXT#limits-graphicsPipelineLibraryIndependentInterpolationDecoration",[796],{"type":10,"tag":24,"props":797,"children":799},{"className":798},[],[800],{"type":16,"value":801},"graphicsPipelineLibraryIndependentInterpolationDecoration",{"type":16,"value":803}," limit is\nnot supported, matches are not found if the\n",{"type":10,"tag":41,"props":805,"children":806},{"href":556},[807],{"type":16,"value":808},"interpolation decorations",{"type":16,"value":810}," differ\nbetween the last ",{"type":10,"tag":41,"props":812,"children":814},{"href":813},"/man/VkGraphicsPipelineCreateInfo#pipelines-graphics-subsets-pre-rasterization",[815],{"type":16,"value":816},"pre-rasterization shader stage",{"type":16,"value":818}," and the fragment shader stage.",{"type":10,"tag":18,"props":820,"children":821},{},[822,824,827,829,832],{"type":16,"value":823},"All input variables and blocks ",{"type":10,"tag":241,"props":825,"children":826},{"type":294},[],{"type":16,"value":828}," have an interface match in the\npreceding shader stage, except for built-in variables in fragment shaders.\nShaders ",{"type":10,"tag":241,"props":830,"children":831},{"type":243},[],{"type":16,"value":833}," declare and write to output variables that are not declared or\nread by the subsequent stage.",{"type":10,"tag":18,"props":835,"children":836},{},[837,839,844,846,852],{"type":16,"value":838},"Matching rules for ",{"type":10,"tag":205,"props":840,"children":841},{},[842],{"type":16,"value":843},"passthrough geometry shaders",{"type":16,"value":845}," are slightly different and\nare described in the ",{"type":10,"tag":41,"props":847,"children":849},{"href":848},"/chapters/geometry#geometry-passthrough-interface",[850],{"type":16,"value":851},"Passthrough Interface\nMatching",{"type":16,"value":853}," section.",{"type":10,"tag":18,"props":855,"children":856},{},[857],{"type":16,"value":858},"The value of an input variable is undefined: if the preceding stage does not\nwrite to a matching output variable, as described above.",{"type":10,"tag":266,"props":860,"children":862},{"id":861},"interfaces-iointerfaces-locations",[863],{"type":16,"value":864},"Location Assignment",{"type":10,"tag":18,"props":866,"children":867},{},[868,870,875,877,882,884,890,892,897],{"type":16,"value":869},"This section describes ",{"type":10,"tag":24,"props":871,"children":873},{"className":872},[],[874],{"type":16,"value":372},{"type":16,"value":876}," assignments for user-defined variables\nand how many ",{"type":10,"tag":24,"props":878,"children":880},{"className":879},[],[881],{"type":16,"value":372},{"type":16,"value":883}," slots are consumed by a given user-variable type.\n",{"type":10,"tag":41,"props":885,"children":887},{"href":886},"/chapters/interfaces#interfaces-iointerfaces-matching",[888],{"type":16,"value":889},"As mentioned above",{"type":16,"value":891},", some inputs and\noutputs have an additional level of arrayness relative to other shader\ninputs and outputs.\nThis outer array level is removed from the type before considering how many\n",{"type":10,"tag":24,"props":893,"children":895},{"className":894},[],[896],{"type":16,"value":372},{"type":16,"value":898}," slots the type consumes.",{"type":10,"tag":18,"props":900,"children":901},{},[902,904,909,911,916,918,924,926,931],{"type":16,"value":903},"The ",{"type":10,"tag":24,"props":905,"children":907},{"className":906},[],[908],{"type":16,"value":372},{"type":16,"value":910}," value specifies an interface slot comprised of a 32-bit\nfour-component vector conveyed between stages.\nThe ",{"type":10,"tag":24,"props":912,"children":914},{"className":913},[],[915],{"type":16,"value":379},{"type":16,"value":917}," specifies ",{"type":10,"tag":41,"props":919,"children":921},{"href":920},"/chapters/interfaces#interfaces-iointerfaces-components",[922],{"type":16,"value":923},"word\ncomponents",{"type":16,"value":925}," within these vector ",{"type":10,"tag":24,"props":927,"children":929},{"className":928},[],[930],{"type":16,"value":372},{"type":16,"value":932}," slots.\nOnly types with widths of\n16,\n32 or 64 are supported in shader interfaces.",{"type":10,"tag":18,"props":934,"children":935},{},[936,938,943],{"type":16,"value":937},"Inputs and outputs of the following types consume a single interface\n",{"type":10,"tag":24,"props":939,"children":941},{"className":940},[],[942],{"type":16,"value":372},{"type":16,"value":944},":",{"type":10,"tag":33,"props":946,"children":947},{},[948,953,958],{"type":10,"tag":37,"props":949,"children":950},{},[951],{"type":16,"value":952},"16-bit scalar and vector types, and",{"type":10,"tag":37,"props":954,"children":955},{},[956],{"type":16,"value":957},"32-bit scalar and vector types, and",{"type":10,"tag":37,"props":959,"children":960},{},[961],{"type":16,"value":962},"64-bit scalar and 2-component vector types.",{"type":10,"tag":18,"props":964,"children":965},{},[966,968,973],{"type":16,"value":967},"64-bit three- and four-component vectors consume two consecutive\n",{"type":10,"tag":24,"props":969,"children":971},{"className":970},[],[972],{"type":16,"value":372},{"type":16,"value":974}," slots.",{"type":10,"tag":18,"props":976,"children":977},{},[978,980,985,987,992,993,998,1000,1004,1006,1010,1012,1017,1019,1024],{"type":16,"value":979},"If a declared input or output is an array of size ",{"type":10,"tag":205,"props":981,"children":982},{},[983],{"type":16,"value":984},"n",{"type":16,"value":986}," and each element takes\n",{"type":10,"tag":205,"props":988,"children":989},{},[990],{"type":16,"value":991},"m",{"type":16,"value":599},{"type":10,"tag":24,"props":994,"children":996},{"className":995},[],[997],{"type":16,"value":372},{"type":16,"value":999}," slots, it will be assigned ",{"type":10,"tag":205,"props":1001,"children":1002},{},[1003],{"type":16,"value":991},{"type":16,"value":1005}," × ",{"type":10,"tag":205,"props":1007,"children":1008},{},[1009],{"type":16,"value":984},{"type":16,"value":1011}," consecutive\n",{"type":10,"tag":24,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":16,"value":372},{"type":16,"value":1018}," slots starting with the specified ",{"type":10,"tag":24,"props":1020,"children":1022},{"className":1021},[],[1023],{"type":16,"value":372},{"type":16,"value":1025},".",{"type":10,"tag":18,"props":1027,"children":1028},{},[1029,1031,1035,1036,1040,1042,1047,1049,1054,1056,1061,1063,1067,1069,1073],{"type":16,"value":1030},"If the declared input or output is an ",{"type":10,"tag":205,"props":1032,"children":1033},{},[1034],{"type":16,"value":984},{"type":16,"value":1005},{"type":10,"tag":205,"props":1037,"children":1038},{},[1039],{"type":16,"value":991},{"type":16,"value":1041},"\n16-,\n32- or 64-bit matrix, it will be assigned multiple ",{"type":10,"tag":24,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":16,"value":372},{"type":16,"value":1048}," slots\nstarting with the specified ",{"type":10,"tag":24,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":16,"value":372},{"type":16,"value":1055},".\nThe number of ",{"type":10,"tag":24,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":16,"value":372},{"type":16,"value":1062}," slots assigned for each matrix will be the same\nas for an ",{"type":10,"tag":205,"props":1064,"children":1065},{},[1066],{"type":16,"value":984},{"type":16,"value":1068},"-element array of ",{"type":10,"tag":205,"props":1070,"children":1071},{},[1072],{"type":16,"value":991},{"type":16,"value":1074},"-component vectors.",{"type":10,"tag":18,"props":1076,"children":1077},{},[1078,1080,1086,1088,1091,1093,1098],{"type":16,"value":1079},"An ",{"type":10,"tag":24,"props":1081,"children":1083},{"className":1082},[],[1084],{"type":16,"value":1085},"OpVariable",{"type":16,"value":1087}," with a structure type that is not a block ",{"type":10,"tag":241,"props":1089,"children":1090},{"type":294},[],{"type":16,"value":1092}," be\ndecorated with a ",{"type":10,"tag":24,"props":1094,"children":1096},{"className":1095},[],[1097],{"type":16,"value":372},{"type":16,"value":1025},{"type":10,"tag":18,"props":1100,"children":1101},{},[1102,1104,1109,1111,1116,1118,1121,1123,1128,1130,1135,1137,1142,1144,1149,1151,1156],{"type":16,"value":1103},"When an ",{"type":10,"tag":24,"props":1105,"children":1107},{"className":1106},[],[1108],{"type":16,"value":1085},{"type":16,"value":1110}," with a structure type (either block or non-block) is\ndecorated with a ",{"type":10,"tag":24,"props":1112,"children":1114},{"className":1113},[],[1115],{"type":16,"value":372},{"type":16,"value":1117},", the members in the structure type ",{"type":10,"tag":241,"props":1119,"children":1120},{"type":294},[],{"type":16,"value":1122}," not\nbe decorated with a ",{"type":10,"tag":24,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":16,"value":372},{"type":16,"value":1129},".\nThe ",{"type":10,"tag":24,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":16,"value":1085},{"type":16,"value":1136},"’s members are assigned consecutive ",{"type":10,"tag":24,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":16,"value":372},{"type":16,"value":1143}," slots\nin declaration order, starting from the first member, which is assigned the\n",{"type":10,"tag":24,"props":1145,"children":1147},{"className":1146},[],[1148],{"type":16,"value":372},{"type":16,"value":1150}," decoration from the ",{"type":10,"tag":24,"props":1152,"children":1154},{"className":1153},[],[1155],{"type":16,"value":1085},{"type":16,"value":1025},{"type":10,"tag":18,"props":1158,"children":1159},{},[1160,1162,1167,1169,1174,1176,1179,1181,1186,1188,1191,1193,1198],{"type":16,"value":1161},"When a block-type ",{"type":10,"tag":24,"props":1163,"children":1165},{"className":1164},[],[1166],{"type":16,"value":1085},{"type":16,"value":1168}," is declared without a ",{"type":10,"tag":24,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":16,"value":372},{"type":16,"value":1175},"\ndecoration, each member in its structure type ",{"type":10,"tag":241,"props":1177,"children":1178},{"type":294},[],{"type":16,"value":1180}," be decorated with a\n",{"type":10,"tag":24,"props":1182,"children":1184},{"className":1183},[],[1185],{"type":16,"value":372},{"type":16,"value":1187},".\nTypes nested deeper than the top-level members ",{"type":10,"tag":241,"props":1189,"children":1190},{"type":294},[],{"type":16,"value":1192}," not have ",{"type":10,"tag":24,"props":1194,"children":1196},{"className":1195},[],[1197],{"type":16,"value":372},{"type":16,"value":1199},"\ndecorations.",{"type":10,"tag":18,"props":1201,"children":1202},{},[1203,1204,1209],{"type":16,"value":903},{"type":10,"tag":24,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":16,"value":372},{"type":16,"value":1210}," slots consumed by block and structure members are\ndetermined by applying the rules above in a depth-first traversal of the\ninstantiated members as though the structure or block member were declared\nas an input or output variable of the same type.",{"type":10,"tag":18,"props":1212,"children":1213},{},[1214,1216,1221,1222,1225,1227,1232,1234,1239,1241,1246,1247,1250,1252,1257,1258,1263],{"type":16,"value":1215},"Any two inputs listed as operands on the same ",{"type":10,"tag":24,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":16,"value":216},{"type":16,"value":599},{"type":10,"tag":241,"props":1223,"children":1224},{"type":294},[],{"type":16,"value":1226}," not be\nassigned the same ",{"type":10,"tag":24,"props":1228,"children":1230},{"className":1229},[],[1231],{"type":16,"value":372},{"type":16,"value":1233}," slot and ",{"type":10,"tag":24,"props":1235,"children":1237},{"className":1236},[],[1238],{"type":16,"value":379},{"type":16,"value":1240}," word, either\nexplicitly or implicitly.\nAny two outputs listed as operands on the same ",{"type":10,"tag":24,"props":1242,"children":1244},{"className":1243},[],[1245],{"type":16,"value":216},{"type":16,"value":599},{"type":10,"tag":241,"props":1248,"children":1249},{"type":294},[],{"type":16,"value":1251}," not\nbe assigned the same ",{"type":10,"tag":24,"props":1253,"children":1255},{"className":1254},[],[1256],{"type":16,"value":372},{"type":16,"value":1233},{"type":10,"tag":24,"props":1259,"children":1261},{"className":1260},[],[1262],{"type":16,"value":379},{"type":16,"value":1264}," word, either\nexplicitly or implicitly.",{"type":10,"tag":18,"props":1266,"children":1267},{},[1268,1270,1275,1277,1283,1285,1290,1292,1298,1300,1305,1306,1309,1311,1316,1318,1324,1326,1330],{"type":16,"value":1269},"The number of input and output ",{"type":10,"tag":24,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":16,"value":372},{"type":16,"value":1276}," slots available for a shader\ninput or output interface is limited, and dependent on the shader stage as\ndescribed in ",{"type":10,"tag":41,"props":1278,"children":1280},{"href":1279},"/chapters/interfaces#interfaces-iointerfaces-limits",[1281],{"type":16,"value":1282},"Table 19. Shader Input and Output Locations",{"type":16,"value":1284},".\nAll variables in both the ",{"type":10,"tag":41,"props":1286,"children":1287},{"href":279},[1288],{"type":16,"value":1289},"built-in interface\nblock",{"type":16,"value":1291}," and the ",{"type":10,"tag":41,"props":1293,"children":1295},{"href":1294},"/chapters/interfaces#interfaces-iointerfaces-user",[1296],{"type":16,"value":1297},"user-defined variable\ninterface",{"type":16,"value":1299}," count against these limits.\nEach effective ",{"type":10,"tag":24,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":16,"value":372},{"type":16,"value":599},{"type":10,"tag":241,"props":1307,"children":1308},{"type":294},[],{"type":16,"value":1310}," have a value less than the number of\n",{"type":10,"tag":24,"props":1312,"children":1314},{"className":1313},[],[1315],{"type":16,"value":372},{"type":16,"value":1317}," slots available for the given interface, as specified in the\n",{"type":10,"tag":24,"props":1319,"children":1321},{"className":1320},[],[1322],{"type":16,"value":1323},"Locations Available",{"type":16,"value":1325}," column in ",{"type":10,"tag":41,"props":1327,"children":1328},{"href":1279},[1329],{"type":16,"value":1282},{"type":16,"value":1025},{"type":10,"tag":1332,"props":1333,"children":1340},"table",{"id":1334,"className":1335,"style":1339},"interfaces-iointerfaces-limits",[1336,1337,1338],"tableblock","frame-all","grid-all","width: 90%;",[1341,1348,1361,1383],{"type":10,"tag":1342,"props":1343,"children":1346},"caption",{"className":1344},[1345],"title",[1347],{"type":16,"value":1282},{"type":10,"tag":1349,"props":1350,"children":1351},"colgroup",{},[1352,1357],{"type":10,"tag":1353,"props":1354,"children":1356},"col",{"style":1355},"width: 31.5789%;",[],{"type":10,"tag":1353,"props":1358,"children":1360},{"style":1359},"width: 68.4211%;",[],{"type":10,"tag":1362,"props":1363,"children":1364},"thead",{},[1365],{"type":10,"tag":1366,"props":1367,"children":1368},"tr",{},[1369,1378],{"type":10,"tag":1370,"props":1371,"children":1375},"th",{"className":1372},[1336,1373,1374],"halign-left","valign-top",[1376],{"type":16,"value":1377},"Shader Interface",{"type":10,"tag":1370,"props":1379,"children":1381},{"className":1380},[1336,1373,1374],[1382],{"type":16,"value":1323},{"type":10,"tag":1384,"props":1385,"children":1386},"tbody",{},[1387,1415,1443,1470,1497,1524,1551,1578,1605,1632,1658,1685],{"type":10,"tag":1366,"props":1388,"children":1389},{},[1390,1401],{"type":10,"tag":1391,"props":1392,"children":1394},"td",{"className":1393},[1336,1373,1374],[1395],{"type":10,"tag":18,"props":1396,"children":1398},{"className":1397},[1336],[1399],{"type":16,"value":1400},"vertex input",{"type":10,"tag":1391,"props":1402,"children":1404},{"className":1403},[1336,1373,1374],[1405],{"type":10,"tag":18,"props":1406,"children":1408},{"className":1407},[1336],[1409],{"type":10,"tag":1410,"props":1411,"children":1412},"literal",{},[1413],{"type":16,"value":1414},"maxVertexInputAttributes",{"type":10,"tag":1366,"props":1416,"children":1417},{},[1418,1428],{"type":10,"tag":1391,"props":1419,"children":1421},{"className":1420},[1336,1373,1374],[1422],{"type":10,"tag":18,"props":1423,"children":1425},{"className":1424},[1336],[1426],{"type":16,"value":1427},"vertex output",{"type":10,"tag":1391,"props":1429,"children":1431},{"className":1430},[1336,1373,1374],[1432],{"type":10,"tag":18,"props":1433,"children":1435},{"className":1434},[1336],[1436,1441],{"type":10,"tag":1410,"props":1437,"children":1438},{},[1439],{"type":16,"value":1440},"maxVertexOutputComponents",{"type":16,"value":1442}," / 4",{"type":10,"tag":1366,"props":1444,"children":1445},{},[1446,1456],{"type":10,"tag":1391,"props":1447,"children":1449},{"className":1448},[1336,1373,1374],[1450],{"type":10,"tag":18,"props":1451,"children":1453},{"className":1452},[1336],[1454],{"type":16,"value":1455},"tessellation control input",{"type":10,"tag":1391,"props":1457,"children":1459},{"className":1458},[1336,1373,1374],[1460],{"type":10,"tag":18,"props":1461,"children":1463},{"className":1462},[1336],[1464,1469],{"type":10,"tag":1410,"props":1465,"children":1466},{},[1467],{"type":16,"value":1468},"maxTessellationControlPerVertexInputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1471,"children":1472},{},[1473,1483],{"type":10,"tag":1391,"props":1474,"children":1476},{"className":1475},[1336,1373,1374],[1477],{"type":10,"tag":18,"props":1478,"children":1480},{"className":1479},[1336],[1481],{"type":16,"value":1482},"tessellation control output",{"type":10,"tag":1391,"props":1484,"children":1486},{"className":1485},[1336,1373,1374],[1487],{"type":10,"tag":18,"props":1488,"children":1490},{"className":1489},[1336],[1491,1496],{"type":10,"tag":1410,"props":1492,"children":1493},{},[1494],{"type":16,"value":1495},"maxTessellationControlPerVertexOutputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1498,"children":1499},{},[1500,1510],{"type":10,"tag":1391,"props":1501,"children":1503},{"className":1502},[1336,1373,1374],[1504],{"type":10,"tag":18,"props":1505,"children":1507},{"className":1506},[1336],[1508],{"type":16,"value":1509},"tessellation evaluation input",{"type":10,"tag":1391,"props":1511,"children":1513},{"className":1512},[1336,1373,1374],[1514],{"type":10,"tag":18,"props":1515,"children":1517},{"className":1516},[1336],[1518,1523],{"type":10,"tag":1410,"props":1519,"children":1520},{},[1521],{"type":16,"value":1522},"maxTessellationEvaluationInputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1525,"children":1526},{},[1527,1537],{"type":10,"tag":1391,"props":1528,"children":1530},{"className":1529},[1336,1373,1374],[1531],{"type":10,"tag":18,"props":1532,"children":1534},{"className":1533},[1336],[1535],{"type":16,"value":1536},"tessellation evaluation output",{"type":10,"tag":1391,"props":1538,"children":1540},{"className":1539},[1336,1373,1374],[1541],{"type":10,"tag":18,"props":1542,"children":1544},{"className":1543},[1336],[1545,1550],{"type":10,"tag":1410,"props":1546,"children":1547},{},[1548],{"type":16,"value":1549},"maxTessellationEvaluationOutputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1552,"children":1553},{},[1554,1564],{"type":10,"tag":1391,"props":1555,"children":1557},{"className":1556},[1336,1373,1374],[1558],{"type":10,"tag":18,"props":1559,"children":1561},{"className":1560},[1336],[1562],{"type":16,"value":1563},"geometry input",{"type":10,"tag":1391,"props":1565,"children":1567},{"className":1566},[1336,1373,1374],[1568],{"type":10,"tag":18,"props":1569,"children":1571},{"className":1570},[1336],[1572,1577],{"type":10,"tag":1410,"props":1573,"children":1574},{},[1575],{"type":16,"value":1576},"maxGeometryInputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1579,"children":1580},{},[1581,1591],{"type":10,"tag":1391,"props":1582,"children":1584},{"className":1583},[1336,1373,1374],[1585],{"type":10,"tag":18,"props":1586,"children":1588},{"className":1587},[1336],[1589],{"type":16,"value":1590},"geometry output",{"type":10,"tag":1391,"props":1592,"children":1594},{"className":1593},[1336,1373,1374],[1595],{"type":10,"tag":18,"props":1596,"children":1598},{"className":1597},[1336],[1599,1604],{"type":10,"tag":1410,"props":1600,"children":1601},{},[1602],{"type":16,"value":1603},"maxGeometryOutputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1606,"children":1607},{},[1608,1618],{"type":10,"tag":1391,"props":1609,"children":1611},{"className":1610},[1336,1373,1374],[1612],{"type":10,"tag":18,"props":1613,"children":1615},{"className":1614},[1336],[1616],{"type":16,"value":1617},"fragment input",{"type":10,"tag":1391,"props":1619,"children":1621},{"className":1620},[1336,1373,1374],[1622],{"type":10,"tag":18,"props":1623,"children":1625},{"className":1624},[1336],[1626,1631],{"type":10,"tag":1410,"props":1627,"children":1628},{},[1629],{"type":16,"value":1630},"maxFragmentInputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1633,"children":1634},{},[1635,1645],{"type":10,"tag":1391,"props":1636,"children":1638},{"className":1637},[1336,1373,1374],[1639],{"type":10,"tag":18,"props":1640,"children":1642},{"className":1641},[1336],[1643],{"type":16,"value":1644},"fragment output",{"type":10,"tag":1391,"props":1646,"children":1648},{"className":1647},[1336,1373,1374],[1649],{"type":10,"tag":18,"props":1650,"children":1652},{"className":1651},[1336],[1653],{"type":10,"tag":1410,"props":1654,"children":1655},{},[1656],{"type":16,"value":1657},"maxFragmentOutputAttachments",{"type":10,"tag":1366,"props":1659,"children":1660},{},[1661,1671],{"type":10,"tag":1391,"props":1662,"children":1664},{"className":1663},[1336,1373,1374],[1665],{"type":10,"tag":18,"props":1666,"children":1668},{"className":1667},[1336],[1669],{"type":16,"value":1670},"mesh output",{"type":10,"tag":1391,"props":1672,"children":1674},{"className":1673},[1336,1373,1374],[1675],{"type":10,"tag":18,"props":1676,"children":1678},{"className":1677},[1336],[1679,1684],{"type":10,"tag":1410,"props":1680,"children":1681},{},[1682],{"type":16,"value":1683},"maxMeshOutputComponents",{"type":16,"value":1442},{"type":10,"tag":1366,"props":1686,"children":1687},{},[1688,1698],{"type":10,"tag":1391,"props":1689,"children":1691},{"className":1690},[1336,1373,1374],[1692],{"type":10,"tag":18,"props":1693,"children":1695},{"className":1694},[1336],[1696],{"type":16,"value":1697},"cluster culling output",{"type":10,"tag":1391,"props":1699,"children":1701},{"className":1700},[1336,1373,1374],[1702],{"type":10,"tag":18,"props":1703,"children":1705},{"className":1704},[1336],[1706],{"type":10,"tag":1410,"props":1707,"children":1708},{},[1709],{"type":16,"value":1710},"maxOutputClusterCount",{"type":10,"tag":266,"props":1712,"children":1714},{"id":1713},"interfaces-iointerfaces-components",[1715],{"type":16,"value":1716},"Component Assignment",{"type":10,"tag":18,"props":1718,"children":1719},{},[1720,1721,1726,1728,1733,1735,1740,1742,1747,1749,1754,1756,1761,1763,1768,1770,1775,1777,1782,1784,1789,1791,1796,1798,1803,1805,1808,1810,1815,1817,1822,1824,1829,1831,1836,1838,1843,1845,1850],{"type":16,"value":903},{"type":10,"tag":24,"props":1722,"children":1724},{"className":1723},[],[1725],{"type":16,"value":379},{"type":16,"value":1727}," decoration allows the ",{"type":10,"tag":24,"props":1729,"children":1731},{"className":1730},[],[1732],{"type":16,"value":372},{"type":16,"value":1734}," to be more finely\nspecified for scalars and vectors, down to the individual ",{"type":10,"tag":24,"props":1736,"children":1738},{"className":1737},[],[1739],{"type":16,"value":379},{"type":16,"value":1741},"\nword within a ",{"type":10,"tag":24,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":16,"value":372},{"type":16,"value":1748}," slot that are consumed.\nThe ",{"type":10,"tag":24,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":16,"value":379},{"type":16,"value":1755}," word within a ",{"type":10,"tag":24,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":16,"value":372},{"type":16,"value":1762}," are 0, 1, 2, and 3.\nA variable or block member starting at ",{"type":10,"tag":24,"props":1764,"children":1766},{"className":1765},[],[1767],{"type":16,"value":379},{"type":16,"value":1769}," N will consume\n",{"type":10,"tag":24,"props":1771,"children":1773},{"className":1772},[],[1774],{"type":16,"value":379},{"type":16,"value":1776}," words N, N+1, N+2, …​\nup through its size.\nFor 16-, and 32-bit types,\nit is invalid if this sequence of ",{"type":10,"tag":24,"props":1778,"children":1780},{"className":1779},[],[1781],{"type":16,"value":379},{"type":16,"value":1783}," words gets larger than 3.\nA scalar 64-bit type will consume two of these ",{"type":10,"tag":24,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":16,"value":379},{"type":16,"value":1790}," words in\nsequence, and a two-component 64-bit vector type will consume all four\n",{"type":10,"tag":24,"props":1792,"children":1794},{"className":1793},[],[1795],{"type":16,"value":379},{"type":16,"value":1797}," words available within a ",{"type":10,"tag":24,"props":1799,"children":1801},{"className":1800},[],[1802],{"type":16,"value":372},{"type":16,"value":1804},".\nA three- or four-component 64-bit vector type ",{"type":10,"tag":241,"props":1806,"children":1807},{"type":294},[],{"type":16,"value":1809}," not specify a non-zero\n",{"type":10,"tag":24,"props":1811,"children":1813},{"className":1812},[],[1814],{"type":16,"value":379},{"type":16,"value":1816}," decoration.\nA three-component 64-bit vector type will consume all four ",{"type":10,"tag":24,"props":1818,"children":1820},{"className":1819},[],[1821],{"type":16,"value":379},{"type":16,"value":1823},"\nwords of the first ",{"type":10,"tag":24,"props":1825,"children":1827},{"className":1826},[],[1828],{"type":16,"value":372},{"type":16,"value":1830}," and ",{"type":10,"tag":24,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":16,"value":379},{"type":16,"value":1837}," 0 and 1 of the second\n",{"type":10,"tag":24,"props":1839,"children":1841},{"className":1840},[],[1842],{"type":16,"value":372},{"type":16,"value":1844},".\nThis leaves ",{"type":10,"tag":24,"props":1846,"children":1848},{"className":1847},[],[1849],{"type":16,"value":379},{"type":16,"value":1851}," 2 and 3 available for other component-qualified\ndeclarations.",{"type":10,"tag":18,"props":1853,"children":1854},{},[1855,1857,1860,1862,1867,1869,1874,1876,1879],{"type":16,"value":1856},"A scalar or two-component 64-bit data type ",{"type":10,"tag":241,"props":1858,"children":1859},{"type":294},[],{"type":16,"value":1861}," not specify a\n",{"type":10,"tag":24,"props":1863,"children":1865},{"className":1864},[],[1866],{"type":16,"value":379},{"type":16,"value":1868}," decoration of 1 or 3.\nA ",{"type":10,"tag":24,"props":1870,"children":1872},{"className":1871},[],[1873],{"type":16,"value":379},{"type":16,"value":1875}," decoration ",{"type":10,"tag":241,"props":1877,"children":1878},{"type":294},[],{"type":16,"value":1880}," not be specified for any type that is not\na scalar or vector.",{"type":10,"tag":18,"props":1882,"children":1883},{},[1884,1886,1891,1893,1898,1900,1905,1907,1912],{"type":16,"value":1885},"A four-component 64-bit data type will consume all four ",{"type":10,"tag":24,"props":1887,"children":1889},{"className":1888},[],[1890],{"type":16,"value":379},{"type":16,"value":1892}," words\nof the first ",{"type":10,"tag":24,"props":1894,"children":1896},{"className":1895},[],[1897],{"type":16,"value":372},{"type":16,"value":1899}," and all four ",{"type":10,"tag":24,"props":1901,"children":1903},{"className":1902},[],[1904],{"type":16,"value":379},{"type":16,"value":1906}," words of the second\n",{"type":10,"tag":24,"props":1908,"children":1910},{"className":1909},[],[1911],{"type":16,"value":372},{"type":16,"value":1025},{"type":10,"tag":188,"props":1914,"children":1916},{"id":1915},"interfaces-vertexinput",[1917],{"type":16,"value":55},{"type":10,"tag":18,"props":1919,"children":1920},{},[1921,1923,1928,1930,1935,1937,1943,1945,1951],{"type":16,"value":1922},"When the vertex stage is present in a pipeline, the vertex shader input\nvariables form an interface with the vertex input attributes.\nThe vertex shader input variables are matched by the ",{"type":10,"tag":24,"props":1924,"children":1926},{"className":1925},[],[1927],{"type":16,"value":372},{"type":16,"value":1929}," and\n",{"type":10,"tag":24,"props":1931,"children":1933},{"className":1932},[],[1934],{"type":16,"value":379},{"type":16,"value":1936}," decorations to the vertex input attributes specified in the\n",{"type":10,"tag":24,"props":1938,"children":1940},{"className":1939},[],[1941],{"type":16,"value":1942},"pVertexInputState",{"type":16,"value":1944}," member of the ",{"type":10,"tag":41,"props":1946,"children":1948},{"href":1947},"/man/VkGraphicsPipelineCreateInfo",[1949],{"type":16,"value":1950},"VkGraphicsPipelineCreateInfo",{"type":16,"value":1952},"\nstructure.",{"type":10,"tag":18,"props":1954,"children":1955},{},[1956,1958,1963,1965,1970,1971,1976,1978,1981,1982,1987,1988,1991,1992,1997],{"type":16,"value":1957},"The vertex shader input variables listed by ",{"type":10,"tag":24,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":16,"value":216},{"type":16,"value":1964}," with the\n",{"type":10,"tag":24,"props":1966,"children":1968},{"className":1967},[],[1969],{"type":16,"value":224},{"type":16,"value":413},{"type":10,"tag":205,"props":1972,"children":1973},{},[1974],{"type":16,"value":1975},"vertex input interface",{"type":16,"value":1977},".\nThese variables ",{"type":10,"tag":241,"props":1979,"children":1980},{"type":294},[],{"type":16,"value":455},{"type":10,"tag":24,"props":1983,"children":1985},{"className":1984},[],[1986],{"type":16,"value":372},{"type":16,"value":462},{"type":10,"tag":241,"props":1989,"children":1990},{"type":243},[],{"type":16,"value":467},{"type":10,"tag":24,"props":1993,"children":1995},{"className":1994},[],[1996],{"type":16,"value":379},{"type":16,"value":474},{"type":10,"tag":18,"props":1999,"children":2000},{},[2001,2003,2008,2010,2015,2017,2022,2024,2029,2030,2036],{"type":16,"value":2002},"For the purposes of interface matching: variables declared without a\n",{"type":10,"tag":24,"props":2004,"children":2006},{"className":2005},[],[2007],{"type":16,"value":379},{"type":16,"value":2009}," decoration are considered to have a ",{"type":10,"tag":24,"props":2011,"children":2013},{"className":2012},[],[2014],{"type":16,"value":379},{"type":16,"value":2016}," decoration\nof zero.\nThe number of available vertex input ",{"type":10,"tag":24,"props":2018,"children":2020},{"className":2019},[],[2021],{"type":16,"value":372},{"type":16,"value":2023}," slots is given by the\n",{"type":10,"tag":24,"props":2025,"children":2027},{"className":2026},[],[2028],{"type":16,"value":1414},{"type":16,"value":1944},{"type":10,"tag":24,"props":2031,"children":2033},{"className":2032},[],[2034],{"type":16,"value":2035},"VkPhysicalDeviceLimits",{"type":16,"value":1952},{"type":10,"tag":18,"props":2038,"children":2039},{},[2040,2042,2048],{"type":16,"value":2041},"See ",{"type":10,"tag":41,"props":2043,"children":2045},{"href":2044},"/chapters/fxvertex#fxvertex-attrib-location",[2046],{"type":16,"value":2047},"Attribute Location and Component Assignment",{"type":16,"value":2049}," for details.",{"type":10,"tag":18,"props":2051,"children":2052},{},[2053,2055,2058],{"type":16,"value":2054},"All vertex shader inputs declared as above ",{"type":10,"tag":241,"props":2056,"children":2057},{"type":294},[],{"type":16,"value":2059}," have a corresponding\nattribute and binding in the pipeline.",{"type":10,"tag":188,"props":2061,"children":2063},{"id":2062},"interfaces-fragmentoutput",[2064],{"type":16,"value":64},{"type":10,"tag":18,"props":2066,"children":2067},{},[2068,2070,2076,2078,2083,2084,2089],{"type":16,"value":2069},"When the fragment stage is present in a pipeline, the fragment shader\noutputs form an interface with the output attachments defined by a\n",{"type":10,"tag":41,"props":2071,"children":2073},{"href":2072},"/chapters/renderpass#renderpass",[2074],{"type":16,"value":2075},"render pass instance",{"type":16,"value":2077},".\nThe fragment shader output variables are matched by the ",{"type":10,"tag":24,"props":2079,"children":2081},{"className":2080},[],[2082],{"type":16,"value":372},{"type":16,"value":1929},{"type":10,"tag":24,"props":2085,"children":2087},{"className":2086},[],[2088],{"type":16,"value":379},{"type":16,"value":2090}," decorations to specified color attachments.",{"type":10,"tag":18,"props":2092,"children":2093},{},[2094,2096,2101,2102,2107,2108,2113,2114,2117,2118,2123,2125,2128,2130,2135,2137,2143,2145,2150,2151,2156,2158,2163,2165,2170],{"type":16,"value":2095},"The fragment shader output variables listed by ",{"type":10,"tag":24,"props":2097,"children":2099},{"className":2098},[],[2100],{"type":16,"value":216},{"type":16,"value":1964},{"type":10,"tag":24,"props":2103,"children":2105},{"className":2104},[],[2106],{"type":16,"value":232},{"type":16,"value":413},{"type":10,"tag":205,"props":2109,"children":2110},{},[2111],{"type":16,"value":2112},"fragment output interface",{"type":16,"value":1977},{"type":10,"tag":241,"props":2115,"children":2116},{"type":294},[],{"type":16,"value":455},{"type":10,"tag":24,"props":2119,"children":2121},{"className":2120},[],[2122],{"type":16,"value":372},{"type":16,"value":2124}," decoration.\nThey ",{"type":10,"tag":241,"props":2126,"children":2127},{"type":243},[],{"type":16,"value":2129}," also be identified with a ",{"type":10,"tag":24,"props":2131,"children":2133},{"className":2132},[],[2134],{"type":16,"value":379},{"type":16,"value":2136}," decoration and/or an\n",{"type":10,"tag":24,"props":2138,"children":2140},{"className":2139},[],[2141],{"type":16,"value":2142},"Index",{"type":16,"value":2144}," decoration.\nFor the purposes of interface matching: variables declared without a\n",{"type":10,"tag":24,"props":2146,"children":2148},{"className":2147},[],[2149],{"type":16,"value":379},{"type":16,"value":2009},{"type":10,"tag":24,"props":2152,"children":2154},{"className":2153},[],[2155],{"type":16,"value":379},{"type":16,"value":2157}," decoration\nof zero, and variables declared without an ",{"type":10,"tag":24,"props":2159,"children":2161},{"className":2160},[],[2162],{"type":16,"value":2142},{"type":16,"value":2164}," decoration are\nconsidered to have an ",{"type":10,"tag":24,"props":2166,"children":2168},{"className":2167},[],[2169],{"type":16,"value":2142},{"type":16,"value":2171}," decoration of zero.",{"type":10,"tag":18,"props":2173,"children":2174},{},[2175,2177,2182,2184,2189,2191,2197,2199,2205,2207,2211,2213,2219,2220,2225,2226,2230,2232,2238,2240,2245,2247,2252,2253,2258,2260,2265],{"type":16,"value":2176},"A fragment shader output variable identified with a ",{"type":10,"tag":24,"props":2178,"children":2180},{"className":2179},[],[2181],{"type":16,"value":372},{"type":16,"value":2183}," decoration\nof ",{"type":10,"tag":205,"props":2185,"children":2186},{},[2187],{"type":16,"value":2188},"i",{"type":16,"value":2190}," is associated with\nthe color attachment indicated by\n",{"type":10,"tag":41,"props":2192,"children":2194},{"href":2193},"/man/VkRenderingInfo",[2195],{"type":16,"value":2196},"VkRenderingInfo",{"type":16,"value":2198},"::",{"type":10,"tag":24,"props":2200,"children":2202},{"className":2201},[],[2203],{"type":16,"value":2204},"pColorAttachments",{"type":16,"value":2206},"[",{"type":10,"tag":205,"props":2208,"children":2209},{},[2210],{"type":16,"value":2188},{"type":16,"value":2212},"].\nWhen using render pass objects, it is associated with\nthe color attachment indicated by\n",{"type":10,"tag":41,"props":2214,"children":2216},{"href":2215},"/man/VkSubpassDescription",[2217],{"type":16,"value":2218},"VkSubpassDescription",{"type":16,"value":2198},{"type":10,"tag":24,"props":2221,"children":2223},{"className":2222},[],[2224],{"type":16,"value":2204},{"type":16,"value":2206},{"type":10,"tag":205,"props":2227,"children":2228},{},[2229],{"type":16,"value":2188},{"type":16,"value":2231},"].\nValues are written to those attachments after passing through the blending\nunit as described in ",{"type":10,"tag":41,"props":2233,"children":2235},{"href":2234},"/chapters/framebuffer#framebuffer-blending",[2236],{"type":16,"value":2237},"Blending",{"type":16,"value":2239},", if enabled.\nLocations are consumed as described in\n",{"type":10,"tag":41,"props":2241,"children":2243},{"href":2242},"/chapters/interfaces#interfaces-iointerfaces-locations",[2244],{"type":16,"value":864},{"type":16,"value":2246},".\nThe number of available fragment output ",{"type":10,"tag":24,"props":2248,"children":2250},{"className":2249},[],[2251],{"type":16,"value":372},{"type":16,"value":2023},{"type":10,"tag":24,"props":2254,"children":2256},{"className":2255},[],[2257],{"type":16,"value":1657},{"type":16,"value":2259}," member of the\n",{"type":10,"tag":24,"props":2261,"children":2263},{"className":2262},[],[2264],{"type":16,"value":2035},{"type":16,"value":2266}," structure.",{"type":10,"tag":18,"props":2268,"children":2269},{},[2270,2272,2282,2284,2287],{"type":16,"value":2271},"If the\n",{"type":10,"tag":41,"props":2273,"children":2275},{"href":2274},"/man/VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR#features-dynamicRenderingLocalRead",[2276],{"type":10,"tag":24,"props":2277,"children":2279},{"className":2278},[],[2280],{"type":16,"value":2281},"dynamicRenderingLocalRead",{"type":16,"value":2283},"\nfeature is supported, fragment output locations ",{"type":10,"tag":241,"props":2285,"children":2286},{"type":243},[],{"type":16,"value":2288}," be remapped when using\ndynamic rendering.",{"type":10,"tag":2290,"props":2291,"children":2294},"refpage",{"name":2292,"type":2293},"vkCmdSetRenderingAttachmentLocationsKHR","protos",[2295],{"type":10,"tag":18,"props":2296,"children":2297},{},[2298],{"type":16,"value":2299},"Set color attachment location mappings for a command buffer",{"type":10,"tag":2290,"props":2301,"children":2304},{"name":2302,"type":2303},"VkRenderingAttachmentLocationInfoKHR","structs",[2305],{"type":10,"tag":18,"props":2306,"children":2307},{},[2308],{"type":16,"value":2309},"Structure specifying attachment locations",{"type":10,"tag":18,"props":2311,"children":2312},{},[2313],{"type":16,"value":2314},"When an active fragment shader invocation finishes, the values of all\nfragment shader outputs are copied out and used as blend inputs or color\nattachments writes.\nIf the invocation does not set a value for them, the input values to those\nblending or color attachment writes are undefined:.",{"type":10,"tag":18,"props":2316,"children":2317},{},[2318,2320,2324,2326,2331,2333,2338,2340,2343,2345,2350],{"type":16,"value":2319},"Components of the output variables are assigned as described in\n",{"type":10,"tag":41,"props":2321,"children":2322},{"href":920},[2323],{"type":16,"value":1716},{"type":16,"value":2325},".\nOutput ",{"type":10,"tag":24,"props":2327,"children":2329},{"className":2328},[],[2330],{"type":16,"value":379},{"type":16,"value":2332}," words identified as 0, 1, 2, and 3 will be directed to\nthe R, G, B, and A inputs to the blending unit, respectively, or to the\noutput attachment if blending is disabled.\nIf two variables are placed within the same ",{"type":10,"tag":24,"props":2334,"children":2336},{"className":2335},[],[2337],{"type":16,"value":372},{"type":16,"value":2339},", they ",{"type":10,"tag":241,"props":2341,"children":2342},{"type":294},[],{"type":16,"value":2344}," have\nthe same underlying type (floating-point or integer).\n",{"type":10,"tag":24,"props":2346,"children":2348},{"className":2347},[],[2349],{"type":16,"value":379},{"type":16,"value":2351}," words which do not correspond to any fragment shader output\nwill also result in undefined: values for blending or color attachment\nwrites.",{"type":10,"tag":18,"props":2353,"children":2354},{},[2355,2357,2362,2364,2369,2371,2376],{"type":16,"value":2356},"Fragment outputs identified with an ",{"type":10,"tag":24,"props":2358,"children":2360},{"className":2359},[],[2361],{"type":16,"value":2142},{"type":16,"value":2363}," of zero are directed to the\nfirst input of the blending unit associated with the corresponding\n",{"type":10,"tag":24,"props":2365,"children":2367},{"className":2366},[],[2368],{"type":16,"value":372},{"type":16,"value":2370},".\nOutputs identified with an ",{"type":10,"tag":24,"props":2372,"children":2374},{"className":2373},[],[2375],{"type":16,"value":2142},{"type":16,"value":2377}," of one are directed to the second\ninput of the corresponding blending unit.",{"type":10,"tag":18,"props":2379,"children":2380},{},[2381,2382,2385,2387,2392,2393,2398,2399,2404],{"type":16,"value":338},{"type":10,"tag":241,"props":2383,"children":2384},{"type":294},[],{"type":16,"value":2386}," be no output variable which has the same ",{"type":10,"tag":24,"props":2388,"children":2390},{"className":2389},[],[2391],{"type":16,"value":372},{"type":16,"value":122},{"type":10,"tag":24,"props":2394,"children":2396},{"className":2395},[],[2397],{"type":16,"value":379},{"type":16,"value":145},{"type":10,"tag":24,"props":2400,"children":2402},{"className":2401},[],[2403],{"type":16,"value":2142},{"type":16,"value":2405}," as any other, either explicitly declared or\nimplied.",{"type":10,"tag":18,"props":2407,"children":2408},{},[2409,2411,2414,2416,2422,2423,2429,2431,2437,2439,2444,2446,2449,2451,2456,2458,2463,2465,2470,2472,2478],{"type":16,"value":2410},"Output values written by a fragment shader ",{"type":10,"tag":241,"props":2412,"children":2413},{"type":294},[],{"type":16,"value":2415}," be declared with either\n",{"type":10,"tag":24,"props":2417,"children":2419},{"className":2418},[],[2420],{"type":16,"value":2421},"OpTypeFloat",{"type":16,"value":226},{"type":10,"tag":24,"props":2424,"children":2426},{"className":2425},[],[2427],{"type":16,"value":2428},"OpTypeInt",{"type":16,"value":2430},", and a ",{"type":10,"tag":24,"props":2432,"children":2434},{"className":2433},[],[2435],{"type":16,"value":2436},"Width",{"type":16,"value":2438}," of 32.\nIf ",{"type":10,"tag":24,"props":2440,"children":2442},{"className":2441},[],[2443],{"type":16,"value":443},{"type":16,"value":2445}," is supported, output values written by a\nfragment shader ",{"type":10,"tag":241,"props":2447,"children":2448},{"type":243},[],{"type":16,"value":2450}," be also declared with either ",{"type":10,"tag":24,"props":2452,"children":2454},{"className":2453},[],[2455],{"type":16,"value":2421},{"type":16,"value":2457}," or\n",{"type":10,"tag":24,"props":2459,"children":2461},{"className":2460},[],[2462],{"type":16,"value":2428},{"type":16,"value":2464}," and a ",{"type":10,"tag":24,"props":2466,"children":2468},{"className":2467},[],[2469],{"type":16,"value":2436},{"type":16,"value":2471}," of 16.\nComposites of these types are also permitted.\nIf the color attachment has a signed or unsigned normalized fixed-point\nformat, color values are assumed to be floating-point and are converted to\nfixed-point as described in ",{"type":10,"tag":41,"props":2473,"children":2475},{"href":2474},"/chapters/fundamentals#fundamentals-fpfixedconv",[2476],{"type":16,"value":2477},"Conversion From Floating-Point to Normalized Fixed-Point",{"type":16,"value":2479},"; If the color\nattachment has an integer format, color values are assumed to be integers\nand converted to the bit-depth of the target.\nAny value that cannot be represented in the attachment’s format is\nundefined:.\nFor any other attachment format no conversion is performed.\nIf the type of the values written by the fragment shader do not match the\nformat of the corresponding color attachment, the resulting values are\nundefined: for those components.",{"type":10,"tag":188,"props":2481,"children":2483},{"id":2482},"interfaces-legacy-dithering",[2484],{"type":16,"value":2485},"Legacy Dithering",{"type":10,"tag":18,"props":2487,"children":2488},{},[2489,2491,2494,2496,2502,2504,2510,2512,2515,2517,2520,2522,2528],{"type":16,"value":2490},"The application ",{"type":10,"tag":241,"props":2492,"children":2493},{"type":243},[],{"type":16,"value":2495}," enable dithering to be applied to the color output of a\nsubpass, by using the\n",{"type":10,"tag":24,"props":2497,"children":2499},{"className":2498},[],[2500],{"type":16,"value":2501},"VK_SUBPASS_DESCRIPTION_ENABLE_LEGACY_DITHERING_BIT_EXT",{"type":16,"value":2503}," flag.\nFor use in a dynamic render pass, the\n",{"type":10,"tag":24,"props":2505,"children":2507},{"className":2506},[],[2508],{"type":16,"value":2509},"VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT",{"type":16,"value":2511}," flag ",{"type":10,"tag":241,"props":2513,"children":2514},{"type":294},[],{"type":16,"value":2516}," be used.\nIn that case, the pipelines used ",{"type":10,"tag":241,"props":2518,"children":2519},{"type":294},[],{"type":16,"value":2521}," have been created with\n",{"type":10,"tag":24,"props":2523,"children":2525},{"className":2524},[],[2526],{"type":16,"value":2527},"VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT",{"type":16,"value":1025},{"type":10,"tag":18,"props":2530,"children":2531},{},[2532,2534,2538,2540,2543,2545,2551,2553,2557],{"type":16,"value":2533},"When dithering is enabled, the implementation ",{"type":10,"tag":241,"props":2535,"children":2537},{"type":2536},"may",[],{"type":16,"value":2539}," modify the output color\nvalue c by one ULP.\nThis modification ",{"type":10,"tag":241,"props":2541,"children":2542},{"type":294},[],{"type":16,"value":2544}," only depend on the framebuffer coordinates\n(x",{"type":10,"tag":2546,"props":2547,"children":2548},"sub",{},[2549],{"type":16,"value":2550},"f",{"type":16,"value":2552},",y",{"type":10,"tag":2546,"props":2554,"children":2555},{},[2556],{"type":16,"value":2550},{"type":16,"value":2558},") of the sample, as well as on the value of c.",{"type":10,"tag":18,"props":2560,"children":2561},{},[2562],{"type":16,"value":2563},"The exact details of the dithering algorithm are unspecified, including the\nalgorithm itself, the formats dithering is applied to, and the stage in\nwhich it is applied.",{"type":10,"tag":171,"props":2565,"children":2566},{},[2567],{"type":10,"tag":18,"props":2568,"children":2569},{},[2570,2572,2576],{"type":16,"value":2571},"This extension is intended only for use by OpenGL emulation layers, and as\nsuch the dithering algorithm applied to the subpass ",{"type":10,"tag":241,"props":2573,"children":2575},{"type":2574},"should",[],{"type":16,"value":2577}," be equivalent to\nthe vendor’s OpenGL implementation, if any.",{"type":10,"tag":188,"props":2579,"children":2581},{"id":2580},"interfaces-fragmenttileimage",[2582],{"type":16,"value":73},{"type":10,"tag":18,"props":2584,"children":2585},{},[2586,2588,2593,2595,2600,2602,2607,2609,2615],{"type":16,"value":2587},"When a fragment stage is present in a pipeline, the fragment shader tile\nimage variables decorated with ",{"type":10,"tag":24,"props":2589,"children":2591},{"className":2590},[],[2592],{"type":16,"value":372},{"type":16,"value":2594}," form an interface with the\ncolor attachments defined by the render pass instance.\nThe fragment shader tile image variables are matched by ",{"type":10,"tag":24,"props":2596,"children":2598},{"className":2597},[],[2599],{"type":16,"value":372},{"type":16,"value":2601},"\ndecorations to the color attachments specified in the\n",{"type":10,"tag":24,"props":2603,"children":2605},{"className":2604},[],[2606],{"type":16,"value":2204},{"type":16,"value":2608}," array of the ",{"type":10,"tag":41,"props":2610,"children":2612},{"href":2611},"/man/VkRenderingInfoKHR",[2613],{"type":16,"value":2614},"VkRenderingInfoKHR",{"type":16,"value":2616}," structure\ndescribing the render pass instance the fragment shader is executed in.",{"type":10,"tag":18,"props":2618,"children":2619},{},[2620,2622,2627,2628,2634,2636,2641,2643,2648,2649,2652,2654,2660,2662,2668,2670,2676,2677,2682],{"type":16,"value":2621},"The fragment shader variables listed by ",{"type":10,"tag":24,"props":2623,"children":2625},{"className":2624},[],[2626],{"type":16,"value":216},{"type":16,"value":1964},{"type":10,"tag":24,"props":2629,"children":2631},{"className":2630},[],[2632],{"type":16,"value":2633},"TileImageEXT",{"type":16,"value":2635}," storage class and a decoration of ",{"type":10,"tag":24,"props":2637,"children":2639},{"className":2638},[],[2640],{"type":16,"value":372},{"type":16,"value":2642}," form the\n",{"type":10,"tag":205,"props":2644,"children":2645},{},[2646],{"type":16,"value":2647},"fragment tile image interface",{"type":16,"value":1977},{"type":10,"tag":241,"props":2650,"children":2651},{"type":294},[],{"type":16,"value":2653}," be declared with a type of ",{"type":10,"tag":24,"props":2655,"children":2657},{"className":2656},[],[2658],{"type":16,"value":2659},"OpTypeImage",{"type":16,"value":2661},", and a\n",{"type":10,"tag":24,"props":2663,"children":2665},{"className":2664},[],[2666],{"type":16,"value":2667},"Dim",{"type":16,"value":2669}," operand of ",{"type":10,"tag":24,"props":2671,"children":2673},{"className":2672},[],[2674],{"type":16,"value":2675},"TileImageDataEXT",{"type":16,"value":1129},{"type":10,"tag":24,"props":2678,"children":2680},{"className":2679},[],[2681],{"type":16,"value":379},{"type":16,"value":2683}," decoration is not supported for these variables.",{"type":10,"tag":18,"props":2685,"children":2686},{},[2687,2689,2694,2696,2700,2702,2706,2707,2712,2714,2720,2722,2726,2728,2731,2733,2738,2740,2745,2746,2751],{"type":16,"value":2688},"Reading from a tile image variable with a ",{"type":10,"tag":24,"props":2690,"children":2692},{"className":2691},[],[2693],{"type":16,"value":372},{"type":16,"value":2695}," decoration of ",{"type":10,"tag":205,"props":2697,"children":2698},{},[2699],{"type":16,"value":2188},{"type":16,"value":2701},"\nreads from the color attachment identified by the element of\n",{"type":10,"tag":41,"props":2703,"children":2704},{"href":2611},[2705],{"type":16,"value":2614},{"type":16,"value":2198},{"type":10,"tag":24,"props":2708,"children":2710},{"className":2709},[],[2711],{"type":16,"value":2204},{"type":16,"value":2713}," with a ",{"type":10,"tag":24,"props":2715,"children":2717},{"className":2716},[],[2718],{"type":16,"value":2719},"location",{"type":16,"value":2721},"\nequal to ",{"type":10,"tag":205,"props":2723,"children":2724},{},[2725],{"type":16,"value":2188},{"type":16,"value":2727},".\nIf the tile image variable is declared as an array of size N, it consumes N\nconsecutive tile image locations, starting with the index specified.\nThere ",{"type":10,"tag":241,"props":2729,"children":2730},{"type":294},[],{"type":16,"value":2732}," not be more than one tile image variable with the same\n",{"type":10,"tag":24,"props":2734,"children":2736},{"className":2735},[],[2737],{"type":16,"value":372},{"type":16,"value":2739}," whether explicitly declared or implied by an array\ndeclaration.\nThe number of available tile image locations is the same as the number of\navailable fragment output locations as given by the\n",{"type":10,"tag":24,"props":2741,"children":2743},{"className":2742},[],[2744],{"type":16,"value":1657},{"type":16,"value":2259},{"type":10,"tag":24,"props":2747,"children":2749},{"className":2748},[],[2750],{"type":16,"value":2035},{"type":16,"value":2266},{"type":10,"tag":18,"props":2753,"children":2754},{},[2755,2757,2760],{"type":16,"value":2756},"The basic data type (floating-point, integer, unsigned integer) of the tile\nimage variable ",{"type":10,"tag":241,"props":2758,"children":2759},{"type":294},[],{"type":16,"value":2761}," match the basic format of the corresponding color\nattachment, or the values read from the tile image variables are undefined:.",{"type":10,"tag":188,"props":2763,"children":2765},{"id":2764},"interfaces-inputattachment",[2766],{"type":16,"value":82},{"type":10,"tag":18,"props":2768,"children":2769},{},[2770,2772,2778,2780,2786,2787,2791],{"type":16,"value":2771},"When a fragment stage is present in a pipeline, the fragment shader subpass\ninputs form an interface with the input attachments of the current subpass.\nThe fragment shader subpass input variables are matched by\n",{"type":10,"tag":24,"props":2773,"children":2775},{"className":2774},[],[2776],{"type":16,"value":2777},"InputAttachmentIndex",{"type":16,"value":2779}," decorations to the input attachments specified in\nthe ",{"type":10,"tag":24,"props":2781,"children":2783},{"className":2782},[],[2784],{"type":16,"value":2785},"pInputAttachments",{"type":16,"value":2608},{"type":10,"tag":41,"props":2788,"children":2789},{"href":2215},[2790],{"type":16,"value":2218},{"type":16,"value":2792},"\nstructure describing the subpass that the fragment shader is executed in.",{"type":10,"tag":18,"props":2794,"children":2795},{},[2796,2798,2804,2806,2811,2813,2818,2820,2825,2826,2829,2830,2835,2837,2842,2843,2849,2851,2857,2859,2865,2867,2873,2875,2880,2881,2884,2886,2892,2894,2900,2902,2908,2909,2915],{"type":16,"value":2797},"The fragment shader subpass input variables with the ",{"type":10,"tag":24,"props":2799,"children":2801},{"className":2800},[],[2802],{"type":16,"value":2803},"UniformConstant",{"type":16,"value":2805},"\nstorage class and a decoration of ",{"type":10,"tag":24,"props":2807,"children":2809},{"className":2808},[],[2810],{"type":16,"value":2777},{"type":16,"value":2812}," that are\nstatically used by ",{"type":10,"tag":24,"props":2814,"children":2816},{"className":2815},[],[2817],{"type":16,"value":216},{"type":16,"value":2819}," form the ",{"type":10,"tag":205,"props":2821,"children":2822},{},[2823],{"type":16,"value":2824},"fragment input attachment\ninterface",{"type":16,"value":1977},{"type":10,"tag":241,"props":2827,"children":2828},{"type":294},[],{"type":16,"value":2653},{"type":10,"tag":24,"props":2831,"children":2833},{"className":2832},[],[2834],{"type":16,"value":2659},{"type":16,"value":2836},", a\n",{"type":10,"tag":24,"props":2838,"children":2840},{"className":2839},[],[2841],{"type":16,"value":2667},{"type":16,"value":2669},{"type":10,"tag":24,"props":2844,"children":2846},{"className":2845},[],[2847],{"type":16,"value":2848},"SubpassData",{"type":16,"value":2850},", an ",{"type":10,"tag":24,"props":2852,"children":2854},{"className":2853},[],[2855],{"type":16,"value":2856},"Arrayed",{"type":16,"value":2858}," operand of 0, and a\n",{"type":10,"tag":24,"props":2860,"children":2862},{"className":2861},[],[2863],{"type":16,"value":2864},"Sampled",{"type":16,"value":2866}," operand of 2.\nThe ",{"type":10,"tag":24,"props":2868,"children":2870},{"className":2869},[],[2871],{"type":16,"value":2872},"MS",{"type":16,"value":2874}," operand of the ",{"type":10,"tag":24,"props":2876,"children":2878},{"className":2877},[],[2879],{"type":16,"value":2659},{"type":16,"value":599},{"type":10,"tag":241,"props":2882,"children":2883},{"type":294},[],{"type":16,"value":2885}," be 0 if the ",{"type":10,"tag":24,"props":2887,"children":2889},{"className":2888},[],[2890],{"type":16,"value":2891},"samples",{"type":16,"value":2893},"\nfield of the corresponding ",{"type":10,"tag":41,"props":2895,"children":2897},{"href":2896},"/man/VkAttachmentDescription",[2898],{"type":16,"value":2899},"VkAttachmentDescription",{"type":16,"value":2901}," is\n",{"type":10,"tag":24,"props":2903,"children":2905},{"className":2904},[],[2906],{"type":16,"value":2907},"VK_SAMPLE_COUNT_1_BIT",{"type":16,"value":1929},{"type":10,"tag":41,"props":2910,"children":2912},{"href":2911},"/chapters/renderpass#subpass-multisampledrendertosinglesampled",[2913],{"type":16,"value":2914},"multisampled-render-to-single-sampled",{"type":16,"value":2916},"\nis not enabled, and\n1 otherwise.",{"type":10,"tag":18,"props":2918,"children":2919},{},[2920,2922,2927,2929,2933,2935,2940,2941,2945,2947,2952,2954,2957,2959,2964,2966,2969,2971,2977,2978,2983],{"type":16,"value":2921},"A subpass input variable identified with an ",{"type":10,"tag":24,"props":2923,"children":2925},{"className":2924},[],[2926],{"type":16,"value":2777},{"type":16,"value":2928},"\ndecoration of ",{"type":10,"tag":205,"props":2930,"children":2931},{},[2932],{"type":16,"value":2188},{"type":16,"value":2934}," reads from the input attachment indicated by\n",{"type":10,"tag":24,"props":2936,"children":2938},{"className":2937},[],[2939],{"type":16,"value":2785},{"type":16,"value":2206},{"type":10,"tag":205,"props":2942,"children":2943},{},[2944],{"type":16,"value":2188},{"type":16,"value":2946},"] member of ",{"type":10,"tag":24,"props":2948,"children":2950},{"className":2949},[],[2951],{"type":16,"value":2218},{"type":16,"value":2953},".\nIf the subpass input variable is declared as an array of size N, it consumes\nN consecutive input attachments, starting with the index specified.\nThere ",{"type":10,"tag":241,"props":2955,"children":2956},{"type":294},[],{"type":16,"value":2958}," not be more than one input variable with the same\n",{"type":10,"tag":24,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":16,"value":2777},{"type":16,"value":2965}," whether explicitly declared or implied by an array\ndeclaration per image aspect.\nA multi-aspect image (e.g. a depth/stencil format) ",{"type":10,"tag":241,"props":2967,"children":2968},{"type":243},[],{"type":16,"value":2970}," use the same input\nvariable.\nThe number of available input attachment indices is given by the\n",{"type":10,"tag":24,"props":2972,"children":2974},{"className":2973},[],[2975],{"type":16,"value":2976},"maxPerStageDescriptorInputAttachments",{"type":16,"value":2259},{"type":10,"tag":24,"props":2979,"children":2981},{"className":2980},[],[2982],{"type":16,"value":2035},{"type":16,"value":2266},{"type":10,"tag":18,"props":2985,"children":2986},{},[2987,2989,2997,2999,3004,3005,3009],{"type":16,"value":2988},"When using dynamic rendering with the ",{"type":10,"tag":41,"props":2990,"children":2991},{"href":2274},[2992],{"type":10,"tag":24,"props":2993,"children":2995},{"className":2994},[],[2996],{"type":16,"value":2281},{"type":16,"value":2998}," feature enabled, a subpass input variable\nwith a ",{"type":10,"tag":24,"props":3000,"children":3002},{"className":3001},[],[3003],{"type":16,"value":2777},{"type":16,"value":2695},{"type":10,"tag":205,"props":3006,"children":3007},{},[3008],{"type":16,"value":2188},{"type":16,"value":3010}," can be mapped to a color,\ndepth, or stencil attachment.",{"type":10,"tag":2290,"props":3012,"children":3014},{"name":3013,"type":2293},"vkCmdSetRenderingInputAttachmentIndicesKHR",[3015],{"type":10,"tag":18,"props":3016,"children":3017},{},[3018],{"type":16,"value":3019},"Set input attachment index mappings for a command buffer",{"type":10,"tag":2290,"props":3021,"children":3023},{"name":3022,"type":2303},"VkRenderingInputAttachmentIndexInfoKHR",[3024],{"type":10,"tag":18,"props":3025,"children":3026},{},[3027],{"type":16,"value":3028},"Structure specifying input attachment indices",{"type":10,"tag":18,"props":3030,"children":3031},{},[3032,3034,3039,3040,3043,3045,3050,3052,3055],{"type":16,"value":3033},"Variables identified with the ",{"type":10,"tag":24,"props":3035,"children":3037},{"className":3036},[],[3038],{"type":16,"value":2777},{"type":16,"value":599},{"type":10,"tag":241,"props":3041,"children":3042},{"type":294},[],{"type":16,"value":3044}," only be used\nby a fragment stage.\nThe ",{"type":10,"tag":41,"props":3046,"children":3047},{"href":428},[3048],{"type":16,"value":3049},"numeric format",{"type":16,"value":3051}," of the subpass input ",{"type":10,"tag":241,"props":3053,"children":3054},{"type":294},[],{"type":16,"value":3056},"\nmatch the format of the corresponding input attachment, or the values of\nsubpass loads from these variables are undefined:.\nIf the framebuffer attachment contains both depth and stencil aspects, the\nnumeric format of the subpass input determines if depth or stencil aspect is\naccessed by the shader.",{"type":10,"tag":18,"props":3058,"children":3059},{},[3060,3061,3067],{"type":16,"value":2041},{"type":10,"tag":41,"props":3062,"children":3064},{"href":3063},"/chapters/descriptorsets#descriptorsets-inputattachment",[3065],{"type":16,"value":3066},"Input Attachment",{"type":16,"value":3068}," for more details.",{"type":10,"tag":266,"props":3070,"children":3072},{"id":3071},"compatibility-inputattachment",[3073],{"type":16,"value":3074},"Fragment Input Attachment Compatibility",{"type":10,"tag":18,"props":3076,"children":3077},{},[3078,3080,3083,3085,3091,3093,3099,3101,3107,3108,3114,3115,3118],{"type":16,"value":3079},"An input attachment that is statically accessed by a fragment shader ",{"type":10,"tag":241,"props":3081,"children":3082},{"type":294},[],{"type":16,"value":3084},"\nbe backed by a descriptor that is equivalent to the ",{"type":10,"tag":41,"props":3086,"children":3088},{"href":3087},"/man/VkImageView",[3089],{"type":16,"value":3090},"VkImageView",{"type":16,"value":3092}," in the\n",{"type":10,"tag":41,"props":3094,"children":3096},{"href":3095},"/man/VkFramebuffer",[3097],{"type":16,"value":3098},"VkFramebuffer",{"type":16,"value":3100},", except for ",{"type":10,"tag":24,"props":3102,"children":3104},{"className":3103},[],[3105],{"type":16,"value":3106},"subresourceRange.aspectMask",{"type":16,"value":1129},{"type":10,"tag":24,"props":3109,"children":3111},{"className":3110},[],[3112],{"type":16,"value":3113},"aspectMask",{"type":16,"value":599},{"type":10,"tag":241,"props":3116,"children":3117},{"type":294},[],{"type":16,"value":3119}," be equal to the aspect accessed by the shader.",{"type":10,"tag":188,"props":3121,"children":3123},{"id":3122},"interfaces-raypipeline",[3124],{"type":16,"value":91},{"type":10,"tag":18,"props":3126,"children":3127},{},[3128,3130,3133],{"type":16,"value":3129},"Ray tracing pipelines ",{"type":10,"tag":241,"props":3131,"children":3132},{"type":2536},[],{"type":16,"value":3134}," have more stages than other pipelines with\nmultiple instances of each stage and more dynamic interactions between the\nstages, but still have interface structures that obey the same general rules\nas interfaces between shader stages in other pipelines.\nThe three types of inter-stage interface variables for ray tracing pipelines\nare:",{"type":10,"tag":33,"props":3136,"children":3137},{},[3138,3143,3148],{"type":10,"tag":37,"props":3139,"children":3140},{},[3141],{"type":16,"value":3142},"Ray payloads containing data tracked for the entire lifetime of the ray.",{"type":10,"tag":37,"props":3144,"children":3145},{},[3146],{"type":16,"value":3147},"Hit attributes containing data about a specific hit for the duration of\nits processing.",{"type":10,"tag":37,"props":3149,"children":3150},{},[3151],{"type":16,"value":3152},"Callable data for passing data into and out of a callable shader.",{"type":10,"tag":18,"props":3154,"children":3155},{},[3156],{"type":16,"value":3157},"Ray payloads and callable data are used in explicit shader call\ninstructions, so they have an incoming variant to distinguish the parameter\npassed to the invocation from any other payloads or data being used by\nsubsequent shader call instructions.",{"type":10,"tag":18,"props":3159,"children":3160},{},[3161,3163,3166],{"type":16,"value":3162},"An interface structure used between stages ",{"type":10,"tag":241,"props":3164,"children":3165},{"type":294},[],{"type":16,"value":3167}," match between the stages\nusing it.\nSpecifically:",{"type":10,"tag":33,"props":3169,"children":3170},{},[3171,3181,3191],{"type":10,"tag":37,"props":3172,"children":3173},{},[3174,3176,3179],{"type":16,"value":3175},"The hit attribute structure read in an any-hit or closest hit shader\n",{"type":10,"tag":241,"props":3177,"children":3178},{"type":294},[],{"type":16,"value":3180}," be the same structure as the hit attribute structure written in\nthe corresponding intersection shader in the same hit group.",{"type":10,"tag":37,"props":3182,"children":3183},{},[3184,3186,3189],{"type":16,"value":3185},"The incoming callable data for a callable shader ",{"type":10,"tag":241,"props":3187,"children":3188},{"type":294},[],{"type":16,"value":3190}," be the same\nstructure as the callable data referenced by the execute callable\ninstruction in the calling shader.",{"type":10,"tag":37,"props":3192,"children":3193},{},[3194,3196,3199],{"type":16,"value":3195},"The ray payload for a shader invoked by a ray tracing command ",{"type":10,"tag":241,"props":3197,"children":3198},{"type":294},[],{"type":16,"value":3200}," be\nthe same structure for all shader stages using the payload for that ray.",{"type":10,"tag":18,"props":3202,"children":3203},{},[3204,3206,3209],{"type":16,"value":3205},"Any shader with an incoming ray payload, incoming callable data, or hit\nattribute ",{"type":10,"tag":241,"props":3207,"children":3208},{"type":294},[],{"type":16,"value":3210}," only declare one variable of that type.",{"type":10,"tag":1332,"props":3212,"children":3214},{"className":3213,"style":1339},[1336,1337,1338],[3215,3221,3244,3286],{"type":10,"tag":1342,"props":3216,"children":3218},{"className":3217},[1345],[3219],{"type":16,"value":3220},"Table 20. Ray Pipeline Shader Interface",{"type":10,"tag":1349,"props":3222,"children":3223},{},[3224,3228,3231,3234,3237,3240],{"type":10,"tag":1353,"props":3225,"children":3227},{"style":3226},"width: 16.6666%;",[],{"type":10,"tag":1353,"props":3229,"children":3230},{"style":3226},[],{"type":10,"tag":1353,"props":3232,"children":3233},{"style":3226},[],{"type":10,"tag":1353,"props":3235,"children":3236},{"style":3226},[],{"type":10,"tag":1353,"props":3238,"children":3239},{"style":3226},[],{"type":10,"tag":1353,"props":3241,"children":3243},{"style":3242},"width: 16.667%;",[],{"type":10,"tag":1362,"props":3245,"children":3246},{},[3247],{"type":10,"tag":1366,"props":3248,"children":3249},{},[3250,3256,3262,3268,3274,3280],{"type":10,"tag":1370,"props":3251,"children":3253},{"className":3252},[1336,1373,1374],[3254],{"type":16,"value":3255},"Shader Stage",{"type":10,"tag":1370,"props":3257,"children":3259},{"className":3258},[1336,1373,1374],[3260],{"type":16,"value":3261},"Ray Payload",{"type":10,"tag":1370,"props":3263,"children":3265},{"className":3264},[1336,1373,1374],[3266],{"type":16,"value":3267},"Incoming Ray Payload",{"type":10,"tag":1370,"props":3269,"children":3271},{"className":3270},[1336,1373,1374],[3272],{"type":16,"value":3273},"Hit Attribute",{"type":10,"tag":1370,"props":3275,"children":3277},{"className":3276},[1336,1373,1374],[3278],{"type":16,"value":3279},"Callable Data",{"type":10,"tag":1370,"props":3281,"children":3283},{"className":3282},[1336,1373,1374],[3284],{"type":16,"value":3285},"Incoming Callable Data",{"type":10,"tag":1384,"props":3287,"children":3288},{},[3289,3333,3371,3415,3468,3516],{"type":10,"tag":1366,"props":3290,"children":3291},{},[3292,3302,3312,3316,3320,3329],{"type":10,"tag":1391,"props":3293,"children":3295},{"className":3294},[1336,1373,1374],[3296],{"type":10,"tag":18,"props":3297,"children":3299},{"className":3298},[1336],[3300],{"type":16,"value":3301},"Ray Generation",{"type":10,"tag":1391,"props":3303,"children":3305},{"className":3304},[1336,1373,1374],[3306],{"type":10,"tag":18,"props":3307,"children":3309},{"className":3308},[1336],[3310],{"type":16,"value":3311},"r/w",{"type":10,"tag":1391,"props":3313,"children":3315},{"className":3314},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3317,"children":3319},{"className":3318},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3321,"children":3323},{"className":3322},[1336,1373,1374],[3324],{"type":10,"tag":18,"props":3325,"children":3327},{"className":3326},[1336],[3328],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3330,"children":3332},{"className":3331},[1336,1373,1374],[],{"type":10,"tag":1366,"props":3334,"children":3335},{},[3336,3346,3350,3354,3363,3367],{"type":10,"tag":1391,"props":3337,"children":3339},{"className":3338},[1336,1373,1374],[3340],{"type":10,"tag":18,"props":3341,"children":3343},{"className":3342},[1336],[3344],{"type":16,"value":3345},"Intersection",{"type":10,"tag":1391,"props":3347,"children":3349},{"className":3348},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3351,"children":3353},{"className":3352},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3355,"children":3357},{"className":3356},[1336,1373,1374],[3358],{"type":10,"tag":18,"props":3359,"children":3361},{"className":3360},[1336],[3362],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3364,"children":3366},{"className":3365},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3368,"children":3370},{"className":3369},[1336,1373,1374],[],{"type":10,"tag":1366,"props":3372,"children":3373},{},[3374,3384,3388,3397,3407,3411],{"type":10,"tag":1391,"props":3375,"children":3377},{"className":3376},[1336,1373,1374],[3378],{"type":10,"tag":18,"props":3379,"children":3381},{"className":3380},[1336],[3382],{"type":16,"value":3383},"Any-Hit",{"type":10,"tag":1391,"props":3385,"children":3387},{"className":3386},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3389,"children":3391},{"className":3390},[1336,1373,1374],[3392],{"type":10,"tag":18,"props":3393,"children":3395},{"className":3394},[1336],[3396],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3398,"children":3400},{"className":3399},[1336,1373,1374],[3401],{"type":10,"tag":18,"props":3402,"children":3404},{"className":3403},[1336],[3405],{"type":16,"value":3406},"r",{"type":10,"tag":1391,"props":3408,"children":3410},{"className":3409},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3412,"children":3414},{"className":3413},[1336,1373,1374],[],{"type":10,"tag":1366,"props":3416,"children":3417},{},[3418,3428,3437,3446,3455,3464],{"type":10,"tag":1391,"props":3419,"children":3421},{"className":3420},[1336,1373,1374],[3422],{"type":10,"tag":18,"props":3423,"children":3425},{"className":3424},[1336],[3426],{"type":16,"value":3427},"Closest Hit",{"type":10,"tag":1391,"props":3429,"children":3431},{"className":3430},[1336,1373,1374],[3432],{"type":10,"tag":18,"props":3433,"children":3435},{"className":3434},[1336],[3436],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3438,"children":3440},{"className":3439},[1336,1373,1374],[3441],{"type":10,"tag":18,"props":3442,"children":3444},{"className":3443},[1336],[3445],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3447,"children":3449},{"className":3448},[1336,1373,1374],[3450],{"type":10,"tag":18,"props":3451,"children":3453},{"className":3452},[1336],[3454],{"type":16,"value":3406},{"type":10,"tag":1391,"props":3456,"children":3458},{"className":3457},[1336,1373,1374],[3459],{"type":10,"tag":18,"props":3460,"children":3462},{"className":3461},[1336],[3463],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3465,"children":3467},{"className":3466},[1336,1373,1374],[],{"type":10,"tag":1366,"props":3469,"children":3470},{},[3471,3481,3490,3499,3503,3512],{"type":10,"tag":1391,"props":3472,"children":3474},{"className":3473},[1336,1373,1374],[3475],{"type":10,"tag":18,"props":3476,"children":3478},{"className":3477},[1336],[3479],{"type":16,"value":3480},"Miss",{"type":10,"tag":1391,"props":3482,"children":3484},{"className":3483},[1336,1373,1374],[3485],{"type":10,"tag":18,"props":3486,"children":3488},{"className":3487},[1336],[3489],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3491,"children":3493},{"className":3492},[1336,1373,1374],[3494],{"type":10,"tag":18,"props":3495,"children":3497},{"className":3496},[1336],[3498],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3500,"children":3502},{"className":3501},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3504,"children":3506},{"className":3505},[1336,1373,1374],[3507],{"type":10,"tag":18,"props":3508,"children":3510},{"className":3509},[1336],[3511],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3513,"children":3515},{"className":3514},[1336,1373,1374],[],{"type":10,"tag":1366,"props":3517,"children":3518},{},[3519,3529,3533,3537,3541,3550],{"type":10,"tag":1391,"props":3520,"children":3522},{"className":3521},[1336,1373,1374],[3523],{"type":10,"tag":18,"props":3524,"children":3526},{"className":3525},[1336],[3527],{"type":16,"value":3528},"Callable",{"type":10,"tag":1391,"props":3530,"children":3532},{"className":3531},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3534,"children":3536},{"className":3535},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3538,"children":3540},{"className":3539},[1336,1373,1374],[],{"type":10,"tag":1391,"props":3542,"children":3544},{"className":3543},[1336,1373,1374],[3545],{"type":10,"tag":18,"props":3546,"children":3548},{"className":3547},[1336],[3549],{"type":16,"value":3311},{"type":10,"tag":1391,"props":3551,"children":3553},{"className":3552},[1336,1373,1374],[3554],{"type":10,"tag":18,"props":3555,"children":3557},{"className":3556},[1336],[3558],{"type":16,"value":3311},{"type":10,"tag":188,"props":3560,"children":3562},{"id":3561},"interfaces-resources",[3563],{"type":16,"value":100},{"type":10,"tag":18,"props":3565,"children":3566},{},[3567,3569,3575,3577,3580,3582,3588],{"type":16,"value":3568},"When a shader stage accesses buffer or image resources, as described in the\n",{"type":10,"tag":41,"props":3570,"children":3572},{"href":3571},"/chapters/descriptorsets#descriptorsets",[3573],{"type":16,"value":3574},"Resource Descriptors",{"type":16,"value":3576}," section, the shader resource\nvariables ",{"type":10,"tag":241,"props":3578,"children":3579},{"type":294},[],{"type":16,"value":3581}," be matched with the ",{"type":10,"tag":41,"props":3583,"children":3585},{"href":3584},"/chapters/descriptorsets#descriptorsets-pipelinelayout",[3586],{"type":16,"value":3587},"pipeline\nlayout",{"type":16,"value":3589}," that is provided at pipeline creation time.",{"type":10,"tag":18,"props":3591,"children":3592},{},[3593,3595,3600,3602,3607,3609,3615,3616,3621,3622,3628,3630,3636,3638,3643],{"type":16,"value":3594},"The set of shader variables that form the ",{"type":10,"tag":205,"props":3596,"children":3597},{},[3598],{"type":16,"value":3599},"shader resource interface",{"type":16,"value":3601}," for a\nstage are the variables statically used by that stage’s ",{"type":10,"tag":24,"props":3603,"children":3605},{"className":3604},[],[3606],{"type":16,"value":216},{"type":16,"value":3608},"\nwith a storage class of ",{"type":10,"tag":24,"props":3610,"children":3612},{"className":3611},[],[3613],{"type":16,"value":3614},"Uniform",{"type":16,"value":130},{"type":10,"tag":24,"props":3617,"children":3619},{"className":3618},[],[3620],{"type":16,"value":2803},{"type":16,"value":122},{"type":10,"tag":24,"props":3623,"children":3625},{"className":3624},[],[3626],{"type":16,"value":3627},"StorageBuffer",{"type":16,"value":3629},",\nor ",{"type":10,"tag":24,"props":3631,"children":3633},{"className":3632},[],[3634],{"type":16,"value":3635},"PushConstant",{"type":16,"value":3637},".\nFor the fragment shader, this includes the ",{"type":10,"tag":41,"props":3639,"children":3640},{"href":79},[3641],{"type":16,"value":3642},"fragment input attachment interface",{"type":16,"value":1025},{"type":10,"tag":18,"props":3645,"children":3646},{},[3647],{"type":16,"value":3648},"The shader resource interface consists of two sub-interfaces: the push\nconstant interface and the descriptor set interface.",{"type":10,"tag":266,"props":3650,"children":3652},{"id":3651},"interfaces-resources-pushconst",[3653],{"type":16,"value":3654},"Push Constant Interface",{"type":10,"tag":18,"props":3656,"children":3657},{},[3658,3660,3665,3667,3672,3673,3676],{"type":16,"value":3659},"The shader variables defined with a storage class of ",{"type":10,"tag":24,"props":3661,"children":3663},{"className":3662},[],[3664],{"type":16,"value":3635},{"type":16,"value":3666}," that\nare statically used by the shader entry points for the pipeline define the\n",{"type":10,"tag":205,"props":3668,"children":3669},{},[3670],{"type":16,"value":3671},"push constant interface",{"type":16,"value":291},{"type":10,"tag":241,"props":3674,"children":3675},{"type":294},[],{"type":16,"value":3677}," be:",{"type":10,"tag":33,"props":3679,"children":3680},{},[3681,3693,3705],{"type":10,"tag":37,"props":3682,"children":3683},{},[3684,3686,3691],{"type":16,"value":3685},"typed as ",{"type":10,"tag":24,"props":3687,"children":3689},{"className":3688},[],[3690],{"type":16,"value":777},{"type":16,"value":3692},",",{"type":10,"tag":37,"props":3694,"children":3695},{},[3696,3698,3703],{"type":16,"value":3697},"identified with a ",{"type":10,"tag":24,"props":3699,"children":3701},{"className":3700},[],[3702],{"type":16,"value":120},{"type":16,"value":3704}," decoration, and",{"type":10,"tag":37,"props":3706,"children":3707},{},[3708,3710,3715,3716,3721,3723,3728,3730,3736],{"type":16,"value":3709},"laid out explicitly using the ",{"type":10,"tag":24,"props":3711,"children":3713},{"className":3712},[],[3714],{"type":16,"value":136},{"type":16,"value":130},{"type":10,"tag":24,"props":3717,"children":3719},{"className":3718},[],[3720],{"type":16,"value":143},{"type":16,"value":3722},", and\n",{"type":10,"tag":24,"props":3724,"children":3726},{"className":3725},[],[3727],{"type":16,"value":151},{"type":16,"value":3729}," decorations as specified in\n",{"type":10,"tag":41,"props":3731,"children":3733},{"href":3732},"/chapters/interfaces#interfaces-resources-layout",[3734],{"type":16,"value":3735},"Offset and Stride Assignment",{"type":16,"value":1025},{"type":10,"tag":18,"props":3738,"children":3739},{},[3740,3741,3744],{"type":16,"value":338},{"type":10,"tag":241,"props":3742,"children":3743},{"type":294},[],{"type":16,"value":3745}," be no more than one push constant block statically used per\nshader entry point.",{"type":10,"tag":18,"props":3747,"children":3748},{},[3749,3751,3754,3756,3761,3763,3769,3771,3776,3778,3784,3786,3789,3791,3797,3799,3804,3806,3809,3811,3817],{"type":16,"value":3750},"Each statically used member of a push constant block ",{"type":10,"tag":241,"props":3752,"children":3753},{"type":294},[],{"type":16,"value":3755}," be placed at an\n",{"type":10,"tag":24,"props":3757,"children":3759},{"className":3758},[],[3760],{"type":16,"value":136},{"type":16,"value":3762}," such that the entire member is entirely contained within the\n",{"type":10,"tag":41,"props":3764,"children":3766},{"href":3765},"/man/VkPushConstantRange",[3767],{"type":16,"value":3768},"VkPushConstantRange",{"type":16,"value":3770}," for each ",{"type":10,"tag":24,"props":3772,"children":3774},{"className":3773},[],[3775],{"type":16,"value":216},{"type":16,"value":3777}," that uses it, and the\n",{"type":10,"tag":24,"props":3779,"children":3781},{"className":3780},[],[3782],{"type":16,"value":3783},"stageFlags",{"type":16,"value":3785}," for that range ",{"type":10,"tag":241,"props":3787,"children":3788},{"type":294},[],{"type":16,"value":3790}," specify the appropriate\n",{"type":10,"tag":41,"props":3792,"children":3794},{"href":3793},"/man/VkShaderStageFlagBits",[3795],{"type":16,"value":3796},"VkShaderStageFlagBits",{"type":16,"value":3798}," for that stage.\nThe ",{"type":10,"tag":24,"props":3800,"children":3802},{"className":3801},[],[3803],{"type":16,"value":136},{"type":16,"value":3805}," decoration for any member of a push constant block ",{"type":10,"tag":241,"props":3807,"children":3808},{"type":294},[],{"type":16,"value":3810}," not\ncause the space required for that member to extend outside the range\n[0, ",{"type":10,"tag":24,"props":3812,"children":3814},{"className":3813},[],[3815],{"type":16,"value":3816},"maxPushConstantsSize",{"type":16,"value":786},{"type":10,"tag":18,"props":3819,"children":3820},{},[3821,3823,3826,3828,3833],{"type":16,"value":3822},"Any member of a push constant block that is declared as an array ",{"type":10,"tag":241,"props":3824,"children":3825},{"type":294},[],{"type":16,"value":3827}," only\nbe accessed with ",{"type":10,"tag":205,"props":3829,"children":3830},{},[3831],{"type":16,"value":3832},"dynamically uniform",{"type":16,"value":3834}," indices.",{"type":10,"tag":266,"props":3836,"children":3838},{"id":3837},"interfaces-resources-descset",[3839],{"type":16,"value":3840},"Descriptor Set Interface",{"type":10,"tag":18,"props":3842,"children":3843},{},[3844,3845,3850,3852,3857,3858,3863,3864,3869,3871,3875],{"type":16,"value":903},{"type":10,"tag":205,"props":3846,"children":3847},{},[3848],{"type":16,"value":3849},"descriptor set interface",{"type":16,"value":3851}," is comprised of the shader variables with the\nstorage class of\n",{"type":10,"tag":24,"props":3853,"children":3855},{"className":3854},[],[3856],{"type":16,"value":3627},{"type":16,"value":122},{"type":10,"tag":24,"props":3859,"children":3861},{"className":3860},[],[3862],{"type":16,"value":3614},{"type":16,"value":226},{"type":10,"tag":24,"props":3865,"children":3867},{"className":3866},[],[3868],{"type":16,"value":2803},{"type":16,"value":3870}," (including the variables in the\n",{"type":10,"tag":41,"props":3872,"children":3873},{"href":79},[3874],{"type":16,"value":3642},{"type":16,"value":3876},") that are\nstatically used by the shader entry points for the pipeline.",{"type":10,"tag":18,"props":3878,"children":3879},{},[3880,3882,3885,3886,3892,3893,3899,3901,3907,3909,3915],{"type":16,"value":3881},"These variables ",{"type":10,"tag":241,"props":3883,"children":3884},{"type":294},[],{"type":16,"value":425},{"type":10,"tag":24,"props":3887,"children":3889},{"className":3888},[],[3890],{"type":16,"value":3891},"DescriptorSet",{"type":16,"value":1830},{"type":10,"tag":24,"props":3894,"children":3896},{"className":3895},[],[3897],{"type":16,"value":3898},"Binding",{"type":16,"value":3900}," decorations\nspecified, which are assigned and matched with the\n",{"type":10,"tag":24,"props":3902,"children":3904},{"className":3903},[],[3905],{"type":16,"value":3906},"VkDescriptorSetLayout",{"type":16,"value":3908}," objects in the pipeline layout as described in\n",{"type":10,"tag":41,"props":3910,"children":3912},{"href":3911},"/chapters/interfaces#interfaces-resources-setandbinding",[3913],{"type":16,"value":3914},"DescriptorSet and Binding Assignment",{"type":16,"value":1025},{"type":10,"tag":18,"props":3917,"children":3918},{},[3919,3920,3926,3927,3933,3935,3940,3942,3945,3947,3952,3954,3960,3961,3967,3969,3975],{"type":16,"value":903},{"type":10,"tag":24,"props":3921,"children":3923},{"className":3922},[],[3924],{"type":16,"value":3925},"Image",{"type":16,"value":599},{"type":10,"tag":24,"props":3928,"children":3930},{"className":3929},[],[3931],{"type":16,"value":3932},"Format",{"type":16,"value":3934}," of an ",{"type":10,"tag":24,"props":3936,"children":3938},{"className":3937},[],[3939],{"type":16,"value":2659},{"type":16,"value":3941}," declaration ",{"type":10,"tag":241,"props":3943,"children":3944},{"type":294},[],{"type":16,"value":3946}," not be\n",{"type":10,"tag":205,"props":3948,"children":3949},{},[3950],{"type":16,"value":3951},"Unknown",{"type":16,"value":3953},", for variables which are used for ",{"type":10,"tag":24,"props":3955,"children":3957},{"className":3956},[],[3958],{"type":16,"value":3959},"OpImageRead",{"type":16,"value":122},{"type":10,"tag":24,"props":3962,"children":3964},{"className":3963},[],[3965],{"type":16,"value":3966},"OpImageSparseRead",{"type":16,"value":3968},", or ",{"type":10,"tag":24,"props":3970,"children":3972},{"className":3971},[],[3973],{"type":16,"value":3974},"OpImageWrite",{"type":16,"value":3976}," operations, except under the\nfollowing conditions:",{"type":10,"tag":33,"props":3978,"children":3979},{},[3980,4016,4041,4081,4112],{"type":10,"tag":37,"props":3981,"children":3982},{},[3983,3985,3990,3992,3998,4000,4006,4008,4014],{"type":16,"value":3984},"For ",{"type":10,"tag":24,"props":3986,"children":3988},{"className":3987},[],[3989],{"type":16,"value":3974},{"type":16,"value":3991},", if the image format is listed in the\n",{"type":10,"tag":41,"props":3993,"children":3995},{"href":3994},"/chapters/formats#formats-without-shader-storage-format",[3996],{"type":16,"value":3997},"storage without format",{"type":16,"value":3999}," list\nand if the ",{"type":10,"tag":24,"props":4001,"children":4003},{"className":4002},[],[4004],{"type":16,"value":4005},"shaderStorageImageWriteWithoutFormat",{"type":16,"value":4007}," feature is enabled\nand the shader module declares the ",{"type":10,"tag":24,"props":4009,"children":4011},{"className":4010},[],[4012],{"type":16,"value":4013},"StorageImageWriteWithoutFormat",{"type":16,"value":4015},"\ncapability.",{"type":10,"tag":37,"props":4017,"children":4018},{},[4019,4020,4025,4027,4033,4035,4040],{"type":16,"value":3984},{"type":10,"tag":24,"props":4021,"children":4023},{"className":4022},[],[4024],{"type":16,"value":3974},{"type":16,"value":4026},", if the image format supports\n",{"type":10,"tag":24,"props":4028,"children":4030},{"className":4029},[],[4031],{"type":16,"value":4032},"VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT",{"type":16,"value":4034}," and the\nshader module declares the ",{"type":10,"tag":24,"props":4036,"children":4038},{"className":4037},[],[4039],{"type":16,"value":4013},{"type":16,"value":4015},{"type":10,"tag":37,"props":4042,"children":4043},{},[4044,4045,4050,4051,4056,4058,4063,4065,4071,4073,4079],{"type":16,"value":3984},{"type":10,"tag":24,"props":4046,"children":4048},{"className":4047},[],[4049],{"type":16,"value":3959},{"type":16,"value":226},{"type":10,"tag":24,"props":4052,"children":4054},{"className":4053},[],[4055],{"type":16,"value":3966},{"type":16,"value":4057},", if the image format is\nlisted in the ",{"type":10,"tag":41,"props":4059,"children":4060},{"href":3994},[4061],{"type":16,"value":4062},"storage without\nformat",{"type":16,"value":4064}," list and if the ",{"type":10,"tag":24,"props":4066,"children":4068},{"className":4067},[],[4069],{"type":16,"value":4070},"shaderStorageImageReadWithoutFormat",{"type":16,"value":4072},"\nfeature is enabled and the shader module declares the\n",{"type":10,"tag":24,"props":4074,"children":4076},{"className":4075},[],[4077],{"type":16,"value":4078},"StorageImageReadWithoutFormat",{"type":16,"value":4080}," capability.",{"type":10,"tag":37,"props":4082,"children":4083},{},[4084,4085,4090,4091,4096,4098,4104,4106,4111],{"type":16,"value":3984},{"type":10,"tag":24,"props":4086,"children":4088},{"className":4087},[],[4089],{"type":16,"value":3959},{"type":16,"value":226},{"type":10,"tag":24,"props":4092,"children":4094},{"className":4093},[],[4095],{"type":16,"value":3966},{"type":16,"value":4097},", if the image format\nsupports ",{"type":10,"tag":24,"props":4099,"children":4101},{"className":4100},[],[4102],{"type":16,"value":4103},"VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT",{"type":16,"value":4105}," and\nthe shader module declares the ",{"type":10,"tag":24,"props":4107,"children":4109},{"className":4108},[],[4110],{"type":16,"value":4078},{"type":16,"value":4015},{"type":10,"tag":37,"props":4113,"children":4114},{},[4115,4116,4121,4123,4128,4130,4135],{"type":16,"value":3984},{"type":10,"tag":24,"props":4117,"children":4119},{"className":4118},[],[4120],{"type":16,"value":3959},{"type":16,"value":4122},", if ",{"type":10,"tag":24,"props":4124,"children":4126},{"className":4125},[],[4127],{"type":16,"value":2667},{"type":16,"value":4129}," is ",{"type":10,"tag":24,"props":4131,"children":4133},{"className":4132},[],[4134],{"type":16,"value":2848},{"type":16,"value":4136}," (indicating a read\nfrom an input attachment).",{"type":10,"tag":18,"props":4138,"children":4139},{},[4140,4141,4146,4147,4152,4153,4158,4159,4162,4163,4167,4168,4174],{"type":16,"value":903},{"type":10,"tag":24,"props":4142,"children":4144},{"className":4143},[],[4145],{"type":16,"value":3925},{"type":16,"value":599},{"type":10,"tag":24,"props":4148,"children":4150},{"className":4149},[],[4151],{"type":16,"value":3932},{"type":16,"value":3934},{"type":10,"tag":24,"props":4154,"children":4156},{"className":4155},[],[4157],{"type":16,"value":2659},{"type":16,"value":3941},{"type":10,"tag":241,"props":4160,"children":4161},{"type":294},[],{"type":16,"value":3946},{"type":10,"tag":205,"props":4164,"children":4165},{},[4166],{"type":16,"value":3951},{"type":16,"value":3953},{"type":10,"tag":24,"props":4169,"children":4171},{"className":4170},[],[4172],{"type":16,"value":4173},"OpAtomic*",{"type":16,"value":4175}," operations.",{"type":10,"tag":18,"props":4177,"children":4178},{},[4179,4180,4185,4187,4190],{"type":16,"value":3033},{"type":10,"tag":24,"props":4181,"children":4183},{"className":4182},[],[4184],{"type":16,"value":3614},{"type":16,"value":4186}," storage class are used to access\ntransparent buffer backed resources.\nSuch variables ",{"type":10,"tag":241,"props":4188,"children":4189},{"type":294},[],{"type":16,"value":3677},{"type":10,"tag":33,"props":4192,"children":4193},{},[4194,4205,4221],{"type":10,"tag":37,"props":4195,"children":4196},{},[4197,4198,4203],{"type":16,"value":3685},{"type":10,"tag":24,"props":4199,"children":4201},{"className":4200},[],[4202],{"type":16,"value":777},{"type":16,"value":4204},", or an array of this type,",{"type":10,"tag":37,"props":4206,"children":4207},{},[4208,4209,4214,4215,4220],{"type":16,"value":3697},{"type":10,"tag":24,"props":4210,"children":4212},{"className":4211},[],[4213],{"type":16,"value":120},{"type":16,"value":226},{"type":10,"tag":24,"props":4216,"children":4218},{"className":4217},[],[4219],{"type":16,"value":128},{"type":16,"value":3704},{"type":10,"tag":37,"props":4222,"children":4223},{},[4224,4225,4230,4231,4236,4237,4242,4243,4247],{"type":16,"value":3709},{"type":10,"tag":24,"props":4226,"children":4228},{"className":4227},[],[4229],{"type":16,"value":136},{"type":16,"value":130},{"type":10,"tag":24,"props":4232,"children":4234},{"className":4233},[],[4235],{"type":16,"value":143},{"type":16,"value":3722},{"type":10,"tag":24,"props":4238,"children":4240},{"className":4239},[],[4241],{"type":16,"value":151},{"type":16,"value":3729},{"type":10,"tag":41,"props":4244,"children":4245},{"href":3732},[4246],{"type":16,"value":3735},{"type":16,"value":1025},{"type":10,"tag":18,"props":4249,"children":4250},{},[4251,4252,4257,4259,4262],{"type":16,"value":3033},{"type":10,"tag":24,"props":4253,"children":4255},{"className":4254},[],[4256],{"type":16,"value":3627},{"type":16,"value":4258}," storage class are used to\naccess transparent buffer backed resources.\nSuch variables ",{"type":10,"tag":241,"props":4260,"children":4261},{"type":294},[],{"type":16,"value":3677},{"type":10,"tag":33,"props":4264,"children":4265},{},[4266,4276,4286],{"type":10,"tag":37,"props":4267,"children":4268},{},[4269,4270,4275],{"type":16,"value":3685},{"type":10,"tag":24,"props":4271,"children":4273},{"className":4272},[],[4274],{"type":16,"value":777},{"type":16,"value":4204},{"type":10,"tag":37,"props":4277,"children":4278},{},[4279,4280,4285],{"type":16,"value":3697},{"type":10,"tag":24,"props":4281,"children":4283},{"className":4282},[],[4284],{"type":16,"value":120},{"type":16,"value":3704},{"type":10,"tag":37,"props":4287,"children":4288},{},[4289,4290,4295,4296,4301,4302,4307,4308,4312],{"type":16,"value":3709},{"type":10,"tag":24,"props":4291,"children":4293},{"className":4292},[],[4294],{"type":16,"value":136},{"type":16,"value":130},{"type":10,"tag":24,"props":4297,"children":4299},{"className":4298},[],[4300],{"type":16,"value":143},{"type":16,"value":3722},{"type":10,"tag":24,"props":4303,"children":4305},{"className":4304},[],[4306],{"type":16,"value":151},{"type":16,"value":3729},{"type":10,"tag":41,"props":4309,"children":4310},{"href":3732},[4311],{"type":16,"value":3735},{"type":16,"value":1025},{"type":10,"tag":18,"props":4314,"children":4315},{},[4316,4317,4322,4324,4329,4331,4336,4338,4341,4343,4349,4351,4356,4357,4362,4363,4368,4369,4372,4374,4380],{"type":16,"value":903},{"type":10,"tag":24,"props":4318,"children":4320},{"className":4319},[],[4321],{"type":16,"value":136},{"type":16,"value":4323}," decoration for any member of a ",{"type":10,"tag":24,"props":4325,"children":4327},{"className":4326},[],[4328],{"type":16,"value":120},{"type":16,"value":4330},"-decorated variable\nin the ",{"type":10,"tag":24,"props":4332,"children":4334},{"className":4333},[],[4335],{"type":16,"value":3614},{"type":16,"value":4337}," storage class ",{"type":10,"tag":241,"props":4339,"children":4340},{"type":294},[],{"type":16,"value":4342}," not cause the space required for\nthat variable to extend outside the range [0,\n",{"type":10,"tag":24,"props":4344,"children":4346},{"className":4345},[],[4347],{"type":16,"value":4348},"maxUniformBufferRange",{"type":16,"value":4350},").\nThe ",{"type":10,"tag":24,"props":4352,"children":4354},{"className":4353},[],[4355],{"type":16,"value":136},{"type":16,"value":4323},{"type":10,"tag":24,"props":4358,"children":4360},{"className":4359},[],[4361],{"type":16,"value":120},{"type":16,"value":4330},{"type":10,"tag":24,"props":4364,"children":4366},{"className":4365},[],[4367],{"type":16,"value":3627},{"type":16,"value":4337},{"type":10,"tag":241,"props":4370,"children":4371},{"type":294},[],{"type":16,"value":4373}," not cause the space required\nfor that variable to extend outside the range [0,\n",{"type":10,"tag":24,"props":4375,"children":4377},{"className":4376},[],[4378],{"type":16,"value":4379},"maxStorageBufferRange",{"type":16,"value":786},{"type":10,"tag":18,"props":4382,"children":4383},{},[4384,4385,4390,4391,4394,4396,4402,4404,4410,4412,4415,4417,4422,4423,4427,4429,4434,4436,4439,4441,4447],{"type":16,"value":3033},{"type":10,"tag":24,"props":4386,"children":4388},{"className":4387},[],[4389],{"type":16,"value":3614},{"type":16,"value":4337},{"type":10,"tag":241,"props":4392,"children":4393},{"type":243},[],{"type":16,"value":4395}," also be used\nto access transparent descriptor set backed resources when the variable is\nassigned to a descriptor set layout binding with a ",{"type":10,"tag":24,"props":4397,"children":4399},{"className":4398},[],[4400],{"type":16,"value":4401},"descriptorType",{"type":16,"value":4403}," of\n",{"type":10,"tag":24,"props":4405,"children":4407},{"className":4406},[],[4408],{"type":16,"value":4409},"VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK",{"type":16,"value":4411},".\nIn this case the variable ",{"type":10,"tag":241,"props":4413,"children":4414},{"type":294},[],{"type":16,"value":4416}," be typed as ",{"type":10,"tag":24,"props":4418,"children":4420},{"className":4419},[],[4421],{"type":16,"value":777},{"type":16,"value":1830},{"type":10,"tag":241,"props":4424,"children":4426},{"type":4425},"cannot",[],{"type":16,"value":4428}," be\naggregated into arrays of that type.\nFurther, the ",{"type":10,"tag":24,"props":4430,"children":4432},{"className":4431},[],[4433],{"type":16,"value":136},{"type":16,"value":4435}," decoration for any member of such a variable ",{"type":10,"tag":241,"props":4437,"children":4438},{"type":294},[],{"type":16,"value":4440},"\nnot cause the space required for that variable to extend outside the range\n[0,",{"type":10,"tag":24,"props":4442,"children":4444},{"className":4443},[],[4445],{"type":16,"value":4446},"maxInlineUniformBlockSize",{"type":16,"value":786},{"type":10,"tag":18,"props":4449,"children":4450},{},[4451,4453,4458,4460,4465,4466,4469,4471,4475],{"type":16,"value":4452},"Variables identified with a storage class of ",{"type":10,"tag":24,"props":4454,"children":4456},{"className":4455},[],[4457],{"type":16,"value":2803},{"type":16,"value":4459}," and a\ndecoration of ",{"type":10,"tag":24,"props":4461,"children":4463},{"className":4462},[],[4464],{"type":16,"value":2777},{"type":16,"value":599},{"type":10,"tag":241,"props":4467,"children":4468},{"type":294},[],{"type":16,"value":4470}," be declared as described in\n",{"type":10,"tag":41,"props":4472,"children":4473},{"href":79},[4474],{"type":16,"value":82},{"type":16,"value":1025},{"type":10,"tag":18,"props":4477,"children":4478},{},[4479,4481,4487,4490,4492,4497,4498,4504,4506,4511,4513,4519],{"type":16,"value":4480},"SPIR-V variables decorated with a descriptor set and binding that identify a\n",{"type":10,"tag":41,"props":4482,"children":4484},{"href":4483},"/chapters/descriptorsets#descriptorsets-combinedimagesampler",[4485],{"type":16,"value":4486},"combined image sampler descriptor",{"type":10,"tag":241,"props":4488,"children":4489},{"type":243},[],{"type":16,"value":4491}," have a type of ",{"type":10,"tag":24,"props":4493,"children":4495},{"className":4494},[],[4496],{"type":16,"value":2659},{"type":16,"value":130},{"type":10,"tag":24,"props":4499,"children":4501},{"className":4500},[],[4502],{"type":16,"value":4503},"OpTypeSampler",{"type":16,"value":4505}," (",{"type":10,"tag":24,"props":4507,"children":4509},{"className":4508},[],[4510],{"type":16,"value":2864},{"type":16,"value":4512},"=1),\nor ",{"type":10,"tag":24,"props":4514,"children":4516},{"className":4515},[],[4517],{"type":16,"value":4518},"OpTypeSampledImage",{"type":16,"value":1025},{"type":10,"tag":18,"props":4521,"children":4522},{},[4523,4525,4528],{"type":16,"value":4524},"When accessing a resource through such a variable, the resource ",{"type":10,"tag":241,"props":4526,"children":4527},{"type":294},[],{"type":16,"value":4529}," be\nselected via compile time constant expressions unless features are enabled\nto allow dynamically uniform or non-uniform expressions, as described below:",{"type":10,"tag":33,"props":4531,"children":4532},{},[4533,4577,4619,4661,4703,4745,4787,4829,4847,4869],{"type":10,"tag":37,"props":4534,"children":4535},{},[4536,4538],{"type":16,"value":4537},"Storage images (except storage texel buffers and input attachments):",{"type":10,"tag":33,"props":4539,"children":4540},{},[4541,4559],{"type":10,"tag":37,"props":4542,"children":4543},{},[4544,4546,4552,4553],{"type":16,"value":4545},"Dynamically uniform: ",{"type":10,"tag":24,"props":4547,"children":4549},{"className":4548},[],[4550],{"type":16,"value":4551},"shaderStorageImageArrayDynamicIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4554,"children":4556},{"className":4555},[],[4557],{"type":16,"value":4558},"StorageImageArrayDynamicIndexing",{"type":10,"tag":37,"props":4560,"children":4561},{},[4562,4564,4570,4571],{"type":16,"value":4563},"Non-uniform: ",{"type":10,"tag":24,"props":4565,"children":4567},{"className":4566},[],[4568],{"type":16,"value":4569},"shaderStorageImageArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4572,"children":4574},{"className":4573},[],[4575],{"type":16,"value":4576},"StorageImageArrayNonUniformIndexing",{"type":10,"tag":37,"props":4578,"children":4579},{},[4580,4582],{"type":16,"value":4581},"Storage texel buffers:",{"type":10,"tag":33,"props":4583,"children":4584},{},[4585,4602],{"type":10,"tag":37,"props":4586,"children":4587},{},[4588,4589,4595,4596],{"type":16,"value":4545},{"type":10,"tag":24,"props":4590,"children":4592},{"className":4591},[],[4593],{"type":16,"value":4594},"shaderStorageTexelBufferArrayDynamicIndexing",{"type":16,"value":161},{"type":10,"tag":24,"props":4597,"children":4599},{"className":4598},[],[4600],{"type":16,"value":4601},"StorageTexelBufferArrayDynamicIndexing",{"type":10,"tag":37,"props":4603,"children":4604},{},[4605,4606,4612,4613],{"type":16,"value":4563},{"type":10,"tag":24,"props":4607,"children":4609},{"className":4608},[],[4610],{"type":16,"value":4611},"shaderStorageTexelBufferArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4614,"children":4616},{"className":4615},[],[4617],{"type":16,"value":4618},"StorageTexelBufferArrayNonUniformIndexing",{"type":10,"tag":37,"props":4620,"children":4621},{},[4622,4624],{"type":16,"value":4623},"Input attachments:",{"type":10,"tag":33,"props":4625,"children":4626},{},[4627,4644],{"type":10,"tag":37,"props":4628,"children":4629},{},[4630,4631,4637,4638],{"type":16,"value":4545},{"type":10,"tag":24,"props":4632,"children":4634},{"className":4633},[],[4635],{"type":16,"value":4636},"shaderInputAttachmentArrayDynamicIndexing",{"type":16,"value":161},{"type":10,"tag":24,"props":4639,"children":4641},{"className":4640},[],[4642],{"type":16,"value":4643},"InputAttachmentArrayDynamicIndexing",{"type":10,"tag":37,"props":4645,"children":4646},{},[4647,4648,4654,4655],{"type":16,"value":4563},{"type":10,"tag":24,"props":4649,"children":4651},{"className":4650},[],[4652],{"type":16,"value":4653},"shaderInputAttachmentArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4656,"children":4658},{"className":4657},[],[4659],{"type":16,"value":4660},"InputAttachmentArrayNonUniformIndexing",{"type":10,"tag":37,"props":4662,"children":4663},{},[4664,4666],{"type":16,"value":4665},"Sampled images (except uniform texel buffers), samplers and combined\nimage samplers:",{"type":10,"tag":33,"props":4667,"children":4668},{},[4669,4686],{"type":10,"tag":37,"props":4670,"children":4671},{},[4672,4673,4679,4680],{"type":16,"value":4545},{"type":10,"tag":24,"props":4674,"children":4676},{"className":4675},[],[4677],{"type":16,"value":4678},"shaderSampledImageArrayDynamicIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4681,"children":4683},{"className":4682},[],[4684],{"type":16,"value":4685},"SampledImageArrayDynamicIndexing",{"type":10,"tag":37,"props":4687,"children":4688},{},[4689,4690,4696,4697],{"type":16,"value":4563},{"type":10,"tag":24,"props":4691,"children":4693},{"className":4692},[],[4694],{"type":16,"value":4695},"shaderSampledImageArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4698,"children":4700},{"className":4699},[],[4701],{"type":16,"value":4702},"SampledImageArrayNonUniformIndexing",{"type":10,"tag":37,"props":4704,"children":4705},{},[4706,4708],{"type":16,"value":4707},"Uniform texel buffers:",{"type":10,"tag":33,"props":4709,"children":4710},{},[4711,4728],{"type":10,"tag":37,"props":4712,"children":4713},{},[4714,4715,4721,4722],{"type":16,"value":4545},{"type":10,"tag":24,"props":4716,"children":4718},{"className":4717},[],[4719],{"type":16,"value":4720},"shaderUniformTexelBufferArrayDynamicIndexing",{"type":16,"value":161},{"type":10,"tag":24,"props":4723,"children":4725},{"className":4724},[],[4726],{"type":16,"value":4727},"UniformTexelBufferArrayDynamicIndexing",{"type":10,"tag":37,"props":4729,"children":4730},{},[4731,4732,4738,4739],{"type":16,"value":4563},{"type":10,"tag":24,"props":4733,"children":4735},{"className":4734},[],[4736],{"type":16,"value":4737},"shaderUniformTexelBufferArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4740,"children":4742},{"className":4741},[],[4743],{"type":16,"value":4744},"UniformTexelBufferArrayNonUniformIndexing",{"type":10,"tag":37,"props":4746,"children":4747},{},[4748,4750],{"type":16,"value":4749},"Uniform buffers:",{"type":10,"tag":33,"props":4751,"children":4752},{},[4753,4770],{"type":10,"tag":37,"props":4754,"children":4755},{},[4756,4757,4763,4764],{"type":16,"value":4545},{"type":10,"tag":24,"props":4758,"children":4760},{"className":4759},[],[4761],{"type":16,"value":4762},"shaderUniformBufferArrayDynamicIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4765,"children":4767},{"className":4766},[],[4768],{"type":16,"value":4769},"UniformBufferArrayDynamicIndexing",{"type":10,"tag":37,"props":4771,"children":4772},{},[4773,4774,4780,4781],{"type":16,"value":4563},{"type":10,"tag":24,"props":4775,"children":4777},{"className":4776},[],[4778],{"type":16,"value":4779},"shaderUniformBufferArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4782,"children":4784},{"className":4783},[],[4785],{"type":16,"value":4786},"UniformBufferArrayNonUniformIndexing",{"type":10,"tag":37,"props":4788,"children":4789},{},[4790,4792],{"type":16,"value":4791},"Storage buffers:",{"type":10,"tag":33,"props":4793,"children":4794},{},[4795,4812],{"type":10,"tag":37,"props":4796,"children":4797},{},[4798,4799,4805,4806],{"type":16,"value":4545},{"type":10,"tag":24,"props":4800,"children":4802},{"className":4801},[],[4803],{"type":16,"value":4804},"shaderStorageBufferArrayDynamicIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4807,"children":4809},{"className":4808},[],[4810],{"type":16,"value":4811},"StorageBufferArrayDynamicIndexing",{"type":10,"tag":37,"props":4813,"children":4814},{},[4815,4816,4822,4823],{"type":16,"value":4563},{"type":10,"tag":24,"props":4817,"children":4819},{"className":4818},[],[4820],{"type":16,"value":4821},"shaderStorageBufferArrayNonUniformIndexing",{"type":16,"value":1929},{"type":10,"tag":24,"props":4824,"children":4826},{"className":4825},[],[4827],{"type":16,"value":4828},"StorageBufferArrayNonUniformIndexing",{"type":10,"tag":37,"props":4830,"children":4831},{},[4832,4834],{"type":16,"value":4833},"Acceleration structures:",{"type":10,"tag":33,"props":4835,"children":4836},{},[4837,4842],{"type":10,"tag":37,"props":4838,"children":4839},{},[4840],{"type":16,"value":4841},"Dynamically uniform: Always supported.",{"type":10,"tag":37,"props":4843,"children":4844},{},[4845],{"type":16,"value":4846},"Non-uniform: Always supported.",{"type":10,"tag":37,"props":4848,"children":4849},{},[4850,4856,4857],{"type":10,"tag":41,"props":4851,"children":4853},{"href":4852},"/chapters/descriptorsets#descriptorsets-weightimage",[4854],{"type":16,"value":4855},"weight image",{"type":16,"value":944},{"type":10,"tag":33,"props":4858,"children":4859},{},[4860,4864],{"type":10,"tag":37,"props":4861,"children":4862},{},[4863],{"type":16,"value":4841},{"type":10,"tag":37,"props":4865,"children":4866},{},[4867],{"type":16,"value":4868},"Non-uniform: Never supported.",{"type":10,"tag":37,"props":4870,"children":4871},{},[4872,4878,4879],{"type":10,"tag":41,"props":4873,"children":4875},{"href":4874},"/chapters/descriptorsets#descriptorsets-blockmatch",[4876],{"type":16,"value":4877},"Block matching image",{"type":16,"value":944},{"type":10,"tag":33,"props":4880,"children":4881},{},[4882,4886],{"type":10,"tag":37,"props":4883,"children":4884},{},[4885],{"type":16,"value":4841},{"type":10,"tag":37,"props":4887,"children":4888},{},[4889],{"type":16,"value":4868},{"type":10,"tag":18,"props":4891,"children":4892},{},[4893,4895,4900,4902,4907,4909,4915,4918],{"type":16,"value":4894},"A combined image sampler in an array that\nenables sampler Y′C",{"type":10,"tag":2546,"props":4896,"children":4897},{},[4898],{"type":16,"value":4899},"B",{"type":16,"value":4901},"C",{"type":10,"tag":2546,"props":4903,"children":4904},{},[4905],{"type":16,"value":4906},"R",{"type":16,"value":4908}," conversion\nor\nsamples a ",{"type":10,"tag":41,"props":4910,"children":4912},{"href":4911},"/man/VkSamplerCreateFlagBits#samplers-subsamplesampler",[4913],{"type":16,"value":4914},"subsampled image",{"type":10,"tag":241,"props":4916,"children":4917},{"type":294},[],{"type":16,"value":4919}," only be indexed by constant integral expressions.",{"type":10,"tag":1332,"props":4921,"children":4924},{"id":4922,"className":4923,"style":1339},"interfaces-resources-correspondence",[1336,1337,1338],[4925,4931,4942,4960],{"type":10,"tag":1342,"props":4926,"children":4928},{"className":4927},[1345],[4929],{"type":16,"value":4930},"Table 21. Shader Resource and Descriptor Type Correspondence",{"type":10,"tag":1349,"props":4932,"children":4933},{},[4934,4938],{"type":10,"tag":1353,"props":4935,"children":4937},{"style":4936},"width: 33.3333%;",[],{"type":10,"tag":1353,"props":4939,"children":4941},{"style":4940},"width: 66.6667%;",[],{"type":10,"tag":1362,"props":4943,"children":4944},{},[4945],{"type":10,"tag":1366,"props":4946,"children":4947},{},[4948,4954],{"type":10,"tag":1370,"props":4949,"children":4951},{"className":4950},[1336,1373,1374],[4952],{"type":16,"value":4953},"Resource type",{"type":10,"tag":1370,"props":4955,"children":4957},{"className":4956},[1336,1373,1374],[4958],{"type":16,"value":4959},"Descriptor Type",{"type":10,"tag":1384,"props":4961,"children":4962},{},[4963,4996,5027,5053,5078,5104,5130,5162,5194,5220,5245,5278,5303],{"type":10,"tag":1366,"props":4964,"children":4965},{},[4966,4976],{"type":10,"tag":1391,"props":4967,"children":4969},{"className":4968},[1336,1373,1374],[4970],{"type":10,"tag":18,"props":4971,"children":4973},{"className":4972},[1336],[4974],{"type":16,"value":4975},"sampler",{"type":10,"tag":1391,"props":4977,"children":4979},{"className":4978},[1336,1373,1374],[4980],{"type":10,"tag":18,"props":4981,"children":4983},{"className":4982},[1336],[4984,4989,4991],{"type":10,"tag":1410,"props":4985,"children":4986},{},[4987],{"type":16,"value":4988},"VK_DESCRIPTOR_TYPE_SAMPLER",{"type":16,"value":4990}," or\n ",{"type":10,"tag":1410,"props":4992,"children":4993},{},[4994],{"type":16,"value":4995},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":10,"tag":1366,"props":4997,"children":4998},{},[4999,5009],{"type":10,"tag":1391,"props":5000,"children":5002},{"className":5001},[1336,1373,1374],[5003],{"type":10,"tag":18,"props":5004,"children":5006},{"className":5005},[1336],[5007],{"type":16,"value":5008},"sampled image",{"type":10,"tag":1391,"props":5010,"children":5012},{"className":5011},[1336,1373,1374],[5013],{"type":10,"tag":18,"props":5014,"children":5016},{"className":5015},[1336],[5017,5022,5023],{"type":10,"tag":1410,"props":5018,"children":5019},{},[5020],{"type":16,"value":5021},"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",{"type":16,"value":4990},{"type":10,"tag":1410,"props":5024,"children":5025},{},[5026],{"type":16,"value":4995},{"type":10,"tag":1366,"props":5028,"children":5029},{},[5030,5040],{"type":10,"tag":1391,"props":5031,"children":5033},{"className":5032},[1336,1373,1374],[5034],{"type":10,"tag":18,"props":5035,"children":5037},{"className":5036},[1336],[5038],{"type":16,"value":5039},"storage image",{"type":10,"tag":1391,"props":5041,"children":5043},{"className":5042},[1336,1373,1374],[5044],{"type":10,"tag":18,"props":5045,"children":5047},{"className":5046},[1336],[5048],{"type":10,"tag":1410,"props":5049,"children":5050},{},[5051],{"type":16,"value":5052},"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",{"type":10,"tag":1366,"props":5054,"children":5055},{},[5056,5066],{"type":10,"tag":1391,"props":5057,"children":5059},{"className":5058},[1336,1373,1374],[5060],{"type":10,"tag":18,"props":5061,"children":5063},{"className":5062},[1336],[5064],{"type":16,"value":5065},"combined image sampler",{"type":10,"tag":1391,"props":5067,"children":5069},{"className":5068},[1336,1373,1374],[5070],{"type":10,"tag":18,"props":5071,"children":5073},{"className":5072},[1336],[5074],{"type":10,"tag":1410,"props":5075,"children":5076},{},[5077],{"type":16,"value":4995},{"type":10,"tag":1366,"props":5079,"children":5080},{},[5081,5091],{"type":10,"tag":1391,"props":5082,"children":5084},{"className":5083},[1336,1373,1374],[5085],{"type":10,"tag":18,"props":5086,"children":5088},{"className":5087},[1336],[5089],{"type":16,"value":5090},"uniform texel buffer",{"type":10,"tag":1391,"props":5092,"children":5094},{"className":5093},[1336,1373,1374],[5095],{"type":10,"tag":18,"props":5096,"children":5098},{"className":5097},[1336],[5099],{"type":10,"tag":1410,"props":5100,"children":5101},{},[5102],{"type":16,"value":5103},"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",{"type":10,"tag":1366,"props":5105,"children":5106},{},[5107,5117],{"type":10,"tag":1391,"props":5108,"children":5110},{"className":5109},[1336,1373,1374],[5111],{"type":10,"tag":18,"props":5112,"children":5114},{"className":5113},[1336],[5115],{"type":16,"value":5116},"storage texel buffer",{"type":10,"tag":1391,"props":5118,"children":5120},{"className":5119},[1336,1373,1374],[5121],{"type":10,"tag":18,"props":5122,"children":5124},{"className":5123},[1336],[5125],{"type":10,"tag":1410,"props":5126,"children":5127},{},[5128],{"type":16,"value":5129},"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",{"type":10,"tag":1366,"props":5131,"children":5132},{},[5133,5143],{"type":10,"tag":1391,"props":5134,"children":5136},{"className":5135},[1336,1373,1374],[5137],{"type":10,"tag":18,"props":5138,"children":5140},{"className":5139},[1336],[5141],{"type":16,"value":5142},"uniform buffer",{"type":10,"tag":1391,"props":5144,"children":5146},{"className":5145},[1336,1373,1374],[5147],{"type":10,"tag":18,"props":5148,"children":5150},{"className":5149},[1336],[5151,5156,5157],{"type":10,"tag":1410,"props":5152,"children":5153},{},[5154],{"type":16,"value":5155},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",{"type":16,"value":4990},{"type":10,"tag":1410,"props":5158,"children":5159},{},[5160],{"type":16,"value":5161},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":10,"tag":1366,"props":5163,"children":5164},{},[5165,5175],{"type":10,"tag":1391,"props":5166,"children":5168},{"className":5167},[1336,1373,1374],[5169],{"type":10,"tag":18,"props":5170,"children":5172},{"className":5171},[1336],[5173],{"type":16,"value":5174},"storage buffer",{"type":10,"tag":1391,"props":5176,"children":5178},{"className":5177},[1336,1373,1374],[5179],{"type":10,"tag":18,"props":5180,"children":5182},{"className":5181},[1336],[5183,5188,5189],{"type":10,"tag":1410,"props":5184,"children":5185},{},[5186],{"type":16,"value":5187},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",{"type":16,"value":4990},{"type":10,"tag":1410,"props":5190,"children":5191},{},[5192],{"type":16,"value":5193},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":10,"tag":1366,"props":5195,"children":5196},{},[5197,5207],{"type":10,"tag":1391,"props":5198,"children":5200},{"className":5199},[1336,1373,1374],[5201],{"type":10,"tag":18,"props":5202,"children":5204},{"className":5203},[1336],[5205],{"type":16,"value":5206},"input attachment",{"type":10,"tag":1391,"props":5208,"children":5210},{"className":5209},[1336,1373,1374],[5211],{"type":10,"tag":18,"props":5212,"children":5214},{"className":5213},[1336],[5215],{"type":10,"tag":1410,"props":5216,"children":5217},{},[5218],{"type":16,"value":5219},"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",{"type":10,"tag":1366,"props":5221,"children":5222},{},[5223,5233],{"type":10,"tag":1391,"props":5224,"children":5226},{"className":5225},[1336,1373,1374],[5227],{"type":10,"tag":18,"props":5228,"children":5230},{"className":5229},[1336],[5231],{"type":16,"value":5232},"inline uniform block",{"type":10,"tag":1391,"props":5234,"children":5236},{"className":5235},[1336,1373,1374],[5237],{"type":10,"tag":18,"props":5238,"children":5240},{"className":5239},[1336],[5241],{"type":10,"tag":1410,"props":5242,"children":5243},{},[5244],{"type":16,"value":4409},{"type":10,"tag":1366,"props":5246,"children":5247},{},[5248,5258],{"type":10,"tag":1391,"props":5249,"children":5251},{"className":5250},[1336,1373,1374],[5252],{"type":10,"tag":18,"props":5253,"children":5255},{"className":5254},[1336],[5256],{"type":16,"value":5257},"acceleration structure",{"type":10,"tag":1391,"props":5259,"children":5261},{"className":5260},[1336,1373,1374],[5262],{"type":10,"tag":18,"props":5263,"children":5265},{"className":5264},[1336],[5266,5271,5273],{"type":10,"tag":1410,"props":5267,"children":5268},{},[5269],{"type":16,"value":5270},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR",{"type":16,"value":5272},"\nor\n",{"type":10,"tag":1410,"props":5274,"children":5275},{},[5276],{"type":16,"value":5277},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV",{"type":10,"tag":1366,"props":5279,"children":5280},{},[5281,5290],{"type":10,"tag":1391,"props":5282,"children":5284},{"className":5283},[1336,1373,1374],[5285],{"type":10,"tag":18,"props":5286,"children":5288},{"className":5287},[1336],[5289],{"type":16,"value":4855},{"type":10,"tag":1391,"props":5291,"children":5293},{"className":5292},[1336,1373,1374],[5294],{"type":10,"tag":18,"props":5295,"children":5297},{"className":5296},[1336],[5298],{"type":10,"tag":1410,"props":5299,"children":5300},{},[5301],{"type":16,"value":5302},"VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM",{"type":10,"tag":1366,"props":5304,"children":5305},{},[5306,5316],{"type":10,"tag":1391,"props":5307,"children":5309},{"className":5308},[1336,1373,1374],[5310],{"type":10,"tag":18,"props":5311,"children":5313},{"className":5312},[1336],[5314],{"type":16,"value":5315},"block matching image",{"type":10,"tag":1391,"props":5317,"children":5319},{"className":5318},[1336,1373,1374],[5320],{"type":10,"tag":18,"props":5321,"children":5323},{"className":5322},[1336],[5324],{"type":10,"tag":1410,"props":5325,"children":5326},{},[5327],{"type":16,"value":5328},"VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM",{"type":10,"tag":1332,"props":5330,"children":5334},{"id":5331,"className":5332},"interfaces-resources-storage-class-correspondence",[1336,1337,1338,5333],"stretch",[5335,5341,5360,5399],{"type":10,"tag":1342,"props":5336,"children":5338},{"className":5337},[1345],[5339],{"type":16,"value":5340},"Table 22. Shader Resource and Storage Class Correspondence",{"type":10,"tag":1349,"props":5342,"children":5343},{},[5344,5348,5352,5356],{"type":10,"tag":1353,"props":5345,"children":5347},{"style":5346},"width: 21%;",[],{"type":10,"tag":1353,"props":5349,"children":5351},{"style":5350},"width: 22%;",[],{"type":10,"tag":1353,"props":5353,"children":5355},{"style":5354},"width: 27%;",[],{"type":10,"tag":1353,"props":5357,"children":5359},{"style":5358},"width: 30%;",[],{"type":10,"tag":1362,"props":5361,"children":5362},{},[5363],{"type":10,"tag":1366,"props":5364,"children":5365},{},[5366,5371,5377,5388],{"type":10,"tag":1370,"props":5367,"children":5369},{"className":5368},[1336,1373,1374],[5370],{"type":16,"value":4953},{"type":10,"tag":1370,"props":5372,"children":5374},{"className":5373},[1336,1373,1374],[5375],{"type":16,"value":5376},"Storage Class",{"type":10,"tag":1370,"props":5378,"children":5380},{"className":5379},[1336,1373,1374],[5381,5382],{"type":16,"value":605},{"type":10,"tag":5383,"props":5384,"children":5385},"superscript",{},[5386],{"type":16,"value":5387},"1",{"type":10,"tag":1370,"props":5389,"children":5391},{"className":5390},[1336,1373,1374],[5392,5394],{"type":16,"value":5393},"Decoration(s)",{"type":10,"tag":5383,"props":5395,"children":5396},{},[5397],{"type":16,"value":5398},"2",{"type":10,"tag":1384,"props":5400,"children":5401},{},[5402,5442,5489,5536,5593,5651,5707,5774,5840,5883,5947,6011,6052,6138],{"type":10,"tag":1366,"props":5403,"children":5404},{},[5405,5414,5426,5438],{"type":10,"tag":1391,"props":5406,"children":5408},{"className":5407},[1336,1373,1374],[5409],{"type":10,"tag":18,"props":5410,"children":5412},{"className":5411},[1336],[5413],{"type":16,"value":4975},{"type":10,"tag":1391,"props":5415,"children":5417},{"className":5416},[1336,1373,1374],[5418],{"type":10,"tag":18,"props":5419,"children":5421},{"className":5420},[1336],[5422],{"type":10,"tag":1410,"props":5423,"children":5424},{},[5425],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5427,"children":5429},{"className":5428},[1336,1373,1374],[5430],{"type":10,"tag":18,"props":5431,"children":5433},{"className":5432},[1336],[5434],{"type":10,"tag":1410,"props":5435,"children":5436},{},[5437],{"type":16,"value":4503},{"type":10,"tag":1391,"props":5439,"children":5441},{"className":5440},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5443,"children":5444},{},[5445,5454,5466,5485],{"type":10,"tag":1391,"props":5446,"children":5448},{"className":5447},[1336,1373,1374],[5449],{"type":10,"tag":18,"props":5450,"children":5452},{"className":5451},[1336],[5453],{"type":16,"value":5008},{"type":10,"tag":1391,"props":5455,"children":5457},{"className":5456},[1336,1373,1374],[5458],{"type":10,"tag":18,"props":5459,"children":5461},{"className":5460},[1336],[5462],{"type":10,"tag":1410,"props":5463,"children":5464},{},[5465],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5467,"children":5469},{"className":5468},[1336,1373,1374],[5470],{"type":10,"tag":18,"props":5471,"children":5473},{"className":5472},[1336],[5474,5478,5479,5483],{"type":10,"tag":1410,"props":5475,"children":5476},{},[5477],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5480,"children":5481},{},[5482],{"type":16,"value":2864},{"type":16,"value":5484},"=1)",{"type":10,"tag":1391,"props":5486,"children":5488},{"className":5487},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5490,"children":5491},{},[5492,5501,5513,5532],{"type":10,"tag":1391,"props":5493,"children":5495},{"className":5494},[1336,1373,1374],[5496],{"type":10,"tag":18,"props":5497,"children":5499},{"className":5498},[1336],[5500],{"type":16,"value":5039},{"type":10,"tag":1391,"props":5502,"children":5504},{"className":5503},[1336,1373,1374],[5505],{"type":10,"tag":18,"props":5506,"children":5508},{"className":5507},[1336],[5509],{"type":10,"tag":1410,"props":5510,"children":5511},{},[5512],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5514,"children":5516},{"className":5515},[1336,1373,1374],[5517],{"type":10,"tag":18,"props":5518,"children":5520},{"className":5519},[1336],[5521,5525,5526,5530],{"type":10,"tag":1410,"props":5522,"children":5523},{},[5524],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5527,"children":5528},{},[5529],{"type":16,"value":2864},{"type":16,"value":5531},"=2)",{"type":10,"tag":1391,"props":5533,"children":5535},{"className":5534},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5537,"children":5538},{},[5539,5548,5560,5589],{"type":10,"tag":1391,"props":5540,"children":5542},{"className":5541},[1336,1373,1374],[5543],{"type":10,"tag":18,"props":5544,"children":5546},{"className":5545},[1336],[5547],{"type":16,"value":5065},{"type":10,"tag":1391,"props":5549,"children":5551},{"className":5550},[1336,1373,1374],[5552],{"type":10,"tag":18,"props":5553,"children":5555},{"className":5554},[1336],[5556],{"type":10,"tag":1410,"props":5557,"children":5558},{},[5559],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5561,"children":5563},{"className":5562},[1336,1373,1374],[5564],{"type":10,"tag":18,"props":5565,"children":5567},{"className":5566},[1336],[5568,5572,5574,5578,5579,5583,5584,5585],{"type":10,"tag":1410,"props":5569,"children":5570},{},[5571],{"type":16,"value":4518},{"type":16,"value":5573},"\n ",{"type":10,"tag":1410,"props":5575,"children":5576},{},[5577],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5580,"children":5581},{},[5582],{"type":16,"value":2864},{"type":16,"value":5484},{"type":16,"value":5573},{"type":10,"tag":1410,"props":5586,"children":5587},{},[5588],{"type":16,"value":4503},{"type":10,"tag":1391,"props":5590,"children":5592},{"className":5591},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5594,"children":5595},{},[5596,5605,5617,5647],{"type":10,"tag":1391,"props":5597,"children":5599},{"className":5598},[1336,1373,1374],[5600],{"type":10,"tag":18,"props":5601,"children":5603},{"className":5602},[1336],[5604],{"type":16,"value":5090},{"type":10,"tag":1391,"props":5606,"children":5608},{"className":5607},[1336,1373,1374],[5609],{"type":10,"tag":18,"props":5610,"children":5612},{"className":5611},[1336],[5613],{"type":10,"tag":1410,"props":5614,"children":5615},{},[5616],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5618,"children":5620},{"className":5619},[1336,1373,1374],[5621],{"type":10,"tag":18,"props":5622,"children":5624},{"className":5623},[1336],[5625,5629,5630,5634,5636,5641,5642,5646],{"type":10,"tag":1410,"props":5626,"children":5627},{},[5628],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5631,"children":5632},{},[5633],{"type":16,"value":2667},{"type":16,"value":5635},"=",{"type":10,"tag":1410,"props":5637,"children":5638},{},[5639],{"type":16,"value":5640},"Buffer",{"type":16,"value":130},{"type":10,"tag":1410,"props":5643,"children":5644},{},[5645],{"type":16,"value":2864},{"type":16,"value":5484},{"type":10,"tag":1391,"props":5648,"children":5650},{"className":5649},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5652,"children":5653},{},[5654,5663,5675,5703],{"type":10,"tag":1391,"props":5655,"children":5657},{"className":5656},[1336,1373,1374],[5658],{"type":10,"tag":18,"props":5659,"children":5661},{"className":5660},[1336],[5662],{"type":16,"value":5116},{"type":10,"tag":1391,"props":5664,"children":5666},{"className":5665},[1336,1373,1374],[5667],{"type":10,"tag":18,"props":5668,"children":5670},{"className":5669},[1336],[5671],{"type":10,"tag":1410,"props":5672,"children":5673},{},[5674],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5676,"children":5678},{"className":5677},[1336,1373,1374],[5679],{"type":10,"tag":18,"props":5680,"children":5682},{"className":5681},[1336],[5683,5687,5688,5692,5693,5697,5698,5702],{"type":10,"tag":1410,"props":5684,"children":5685},{},[5686],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5689,"children":5690},{},[5691],{"type":16,"value":2667},{"type":16,"value":5635},{"type":10,"tag":1410,"props":5694,"children":5695},{},[5696],{"type":16,"value":5640},{"type":16,"value":130},{"type":10,"tag":1410,"props":5699,"children":5700},{},[5701],{"type":16,"value":2864},{"type":16,"value":5531},{"type":10,"tag":1391,"props":5704,"children":5706},{"className":5705},[1336,1373,1374],[],{"type":10,"tag":1366,"props":5708,"children":5709},{},[5710,5719,5731,5743],{"type":10,"tag":1391,"props":5711,"children":5713},{"className":5712},[1336,1373,1374],[5714],{"type":10,"tag":18,"props":5715,"children":5717},{"className":5716},[1336],[5718],{"type":16,"value":5142},{"type":10,"tag":1391,"props":5720,"children":5722},{"className":5721},[1336,1373,1374],[5723],{"type":10,"tag":18,"props":5724,"children":5726},{"className":5725},[1336],[5727],{"type":10,"tag":1410,"props":5728,"children":5729},{},[5730],{"type":16,"value":3614},{"type":10,"tag":1391,"props":5732,"children":5734},{"className":5733},[1336,1373,1374],[5735],{"type":10,"tag":18,"props":5736,"children":5738},{"className":5737},[1336],[5739],{"type":10,"tag":1410,"props":5740,"children":5741},{},[5742],{"type":16,"value":777},{"type":10,"tag":1391,"props":5744,"children":5746},{"className":5745},[1336,1373,1374],[5747],{"type":10,"tag":18,"props":5748,"children":5750},{"className":5749},[1336],[5751,5755,5756,5760,5762,5766,5768,5772],{"type":10,"tag":1410,"props":5752,"children":5753},{},[5754],{"type":16,"value":120},{"type":16,"value":130},{"type":10,"tag":1410,"props":5757,"children":5758},{},[5759],{"type":16,"value":136},{"type":16,"value":5761},", (",{"type":10,"tag":1410,"props":5763,"children":5764},{},[5765],{"type":16,"value":143},{"type":16,"value":5767},"), (",{"type":10,"tag":1410,"props":5769,"children":5770},{},[5771],{"type":16,"value":151},{"type":16,"value":5773},")",{"type":10,"tag":1366,"props":5775,"children":5776},{},[5777,5788,5800,5812],{"type":10,"tag":1391,"props":5778,"children":5782},{"className":5779,"rowSpan":5781},[1336,1373,5780],"valign-middle",2,[5783],{"type":10,"tag":18,"props":5784,"children":5786},{"className":5785},[1336],[5787],{"type":16,"value":5174},{"type":10,"tag":1391,"props":5789,"children":5791},{"className":5790},[1336,1373,1374],[5792],{"type":10,"tag":18,"props":5793,"children":5795},{"className":5794},[1336],[5796],{"type":10,"tag":1410,"props":5797,"children":5798},{},[5799],{"type":16,"value":3614},{"type":10,"tag":1391,"props":5801,"children":5803},{"className":5802,"rowSpan":5781},[1336,1373,5780],[5804],{"type":10,"tag":18,"props":5805,"children":5807},{"className":5806},[1336],[5808],{"type":10,"tag":1410,"props":5809,"children":5810},{},[5811],{"type":16,"value":777},{"type":10,"tag":1391,"props":5813,"children":5815},{"className":5814},[1336,1373,1374],[5816],{"type":10,"tag":18,"props":5817,"children":5819},{"className":5818},[1336],[5820,5824,5825,5829,5830,5834,5835,5839],{"type":10,"tag":1410,"props":5821,"children":5822},{},[5823],{"type":16,"value":128},{"type":16,"value":130},{"type":10,"tag":1410,"props":5826,"children":5827},{},[5828],{"type":16,"value":136},{"type":16,"value":5761},{"type":10,"tag":1410,"props":5831,"children":5832},{},[5833],{"type":16,"value":143},{"type":16,"value":5767},{"type":10,"tag":1410,"props":5836,"children":5837},{},[5838],{"type":16,"value":151},{"type":16,"value":5773},{"type":10,"tag":1366,"props":5841,"children":5842},{},[5843,5855],{"type":10,"tag":1391,"props":5844,"children":5846},{"className":5845},[1336,1373,1374],[5847],{"type":10,"tag":18,"props":5848,"children":5850},{"className":5849},[1336],[5851],{"type":10,"tag":1410,"props":5852,"children":5853},{},[5854],{"type":16,"value":3627},{"type":10,"tag":1391,"props":5856,"children":5858},{"className":5857},[1336,1373,1374],[5859],{"type":10,"tag":18,"props":5860,"children":5862},{"className":5861},[1336],[5863,5867,5868,5872,5873,5877,5878,5882],{"type":10,"tag":1410,"props":5864,"children":5865},{},[5866],{"type":16,"value":120},{"type":16,"value":130},{"type":10,"tag":1410,"props":5869,"children":5870},{},[5871],{"type":16,"value":136},{"type":16,"value":5761},{"type":10,"tag":1410,"props":5874,"children":5875},{},[5876],{"type":16,"value":143},{"type":16,"value":5767},{"type":10,"tag":1410,"props":5879,"children":5880},{},[5881],{"type":16,"value":151},{"type":16,"value":5773},{"type":10,"tag":1366,"props":5884,"children":5885},{},[5886,5895,5907,5935],{"type":10,"tag":1391,"props":5887,"children":5889},{"className":5888},[1336,1373,1374],[5890],{"type":10,"tag":18,"props":5891,"children":5893},{"className":5892},[1336],[5894],{"type":16,"value":5206},{"type":10,"tag":1391,"props":5896,"children":5898},{"className":5897},[1336,1373,1374],[5899],{"type":10,"tag":18,"props":5900,"children":5902},{"className":5901},[1336],[5903],{"type":10,"tag":1410,"props":5904,"children":5905},{},[5906],{"type":16,"value":2803},{"type":10,"tag":1391,"props":5908,"children":5910},{"className":5909},[1336,1373,1374],[5911],{"type":10,"tag":18,"props":5912,"children":5914},{"className":5913},[1336],[5915,5919,5920,5924,5925,5929,5930,5934],{"type":10,"tag":1410,"props":5916,"children":5917},{},[5918],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":5921,"children":5922},{},[5923],{"type":16,"value":2667},{"type":16,"value":5635},{"type":10,"tag":1410,"props":5926,"children":5927},{},[5928],{"type":16,"value":2848},{"type":16,"value":130},{"type":10,"tag":1410,"props":5931,"children":5932},{},[5933],{"type":16,"value":2864},{"type":16,"value":5531},{"type":10,"tag":1391,"props":5936,"children":5938},{"className":5937},[1336,1373,1374],[5939],{"type":10,"tag":18,"props":5940,"children":5942},{"className":5941},[1336],[5943],{"type":10,"tag":1410,"props":5944,"children":5945},{},[5946],{"type":16,"value":2777},{"type":10,"tag":1366,"props":5948,"children":5949},{},[5950,5959,5971,5983],{"type":10,"tag":1391,"props":5951,"children":5953},{"className":5952},[1336,1373,1374],[5954],{"type":10,"tag":18,"props":5955,"children":5957},{"className":5956},[1336],[5958],{"type":16,"value":5232},{"type":10,"tag":1391,"props":5960,"children":5962},{"className":5961},[1336,1373,1374],[5963],{"type":10,"tag":18,"props":5964,"children":5966},{"className":5965},[1336],[5967],{"type":10,"tag":1410,"props":5968,"children":5969},{},[5970],{"type":16,"value":3614},{"type":10,"tag":1391,"props":5972,"children":5974},{"className":5973},[1336,1373,1374],[5975],{"type":10,"tag":18,"props":5976,"children":5978},{"className":5977},[1336],[5979],{"type":10,"tag":1410,"props":5980,"children":5981},{},[5982],{"type":16,"value":777},{"type":10,"tag":1391,"props":5984,"children":5986},{"className":5985},[1336,1373,1374],[5987],{"type":10,"tag":18,"props":5988,"children":5990},{"className":5989},[1336],[5991,5995,5996,6000,6001,6005,6006,6010],{"type":10,"tag":1410,"props":5992,"children":5993},{},[5994],{"type":16,"value":120},{"type":16,"value":130},{"type":10,"tag":1410,"props":5997,"children":5998},{},[5999],{"type":16,"value":136},{"type":16,"value":5761},{"type":10,"tag":1410,"props":6002,"children":6003},{},[6004],{"type":16,"value":143},{"type":16,"value":5767},{"type":10,"tag":1410,"props":6007,"children":6008},{},[6009],{"type":16,"value":151},{"type":16,"value":5773},{"type":10,"tag":1366,"props":6012,"children":6013},{},[6014,6023,6035,6048],{"type":10,"tag":1391,"props":6015,"children":6017},{"className":6016},[1336,1373,1374],[6018],{"type":10,"tag":18,"props":6019,"children":6021},{"className":6020},[1336],[6022],{"type":16,"value":5257},{"type":10,"tag":1391,"props":6024,"children":6026},{"className":6025},[1336,1373,1374],[6027],{"type":10,"tag":18,"props":6028,"children":6030},{"className":6029},[1336],[6031],{"type":10,"tag":1410,"props":6032,"children":6033},{},[6034],{"type":16,"value":2803},{"type":10,"tag":1391,"props":6036,"children":6038},{"className":6037},[1336,1373,1374],[6039],{"type":10,"tag":18,"props":6040,"children":6042},{"className":6041},[1336],[6043],{"type":10,"tag":1410,"props":6044,"children":6045},{},[6046],{"type":16,"value":6047},"OpTypeAccelerationStructureKHR",{"type":10,"tag":1391,"props":6049,"children":6051},{"className":6050},[1336,1373,1374],[],{"type":10,"tag":1366,"props":6053,"children":6054},{},[6055,6065,6077,6125],{"type":10,"tag":1391,"props":6056,"children":6058},{"className":6057},[1336,1373,1374],[6059],{"type":10,"tag":18,"props":6060,"children":6062},{"className":6061},[1336],[6063],{"type":16,"value":6064},"sample weight image",{"type":10,"tag":1391,"props":6066,"children":6068},{"className":6067},[1336,1373,1374],[6069],{"type":10,"tag":18,"props":6070,"children":6072},{"className":6071},[1336],[6073],{"type":10,"tag":1410,"props":6074,"children":6075},{},[6076],{"type":16,"value":2803},{"type":10,"tag":1391,"props":6078,"children":6080},{"className":6079},[1336,1373,1374],[6081],{"type":10,"tag":18,"props":6082,"children":6084},{"className":6083},[1336],[6085,6089,6090,6095,6097,6101,6102,6107,6108,6109,6113,6115,6119,6120,6124],{"type":10,"tag":1410,"props":6086,"children":6087},{},[6088],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":6091,"children":6092},{},[6093],{"type":16,"value":6094},"Depth",{"type":16,"value":6096},"=0, ",{"type":10,"tag":1410,"props":6098,"children":6099},{},[6100],{"type":16,"value":2667},{"type":16,"value":5635},{"type":10,"tag":1410,"props":6103,"children":6104},{},[6105],{"type":16,"value":6106},"2D",{"type":16,"value":3692},{"type":16,"value":5573},{"type":10,"tag":1410,"props":6110,"children":6111},{},[6112],{"type":16,"value":2856},{"type":16,"value":6114},"=1, ",{"type":10,"tag":1410,"props":6116,"children":6117},{},[6118],{"type":16,"value":2872},{"type":16,"value":6096},{"type":10,"tag":1410,"props":6121,"children":6122},{},[6123],{"type":16,"value":2864},{"type":16,"value":5484},{"type":10,"tag":1391,"props":6126,"children":6128},{"className":6127},[1336,1373,1374],[6129],{"type":10,"tag":18,"props":6130,"children":6132},{"className":6131},[1336],[6133],{"type":10,"tag":1410,"props":6134,"children":6135},{},[6136],{"type":16,"value":6137},"WeightTextureQCOM",{"type":10,"tag":1366,"props":6139,"children":6140},{},[6141,6150,6162,6206],{"type":10,"tag":1391,"props":6142,"children":6144},{"className":6143},[1336,1373,1374],[6145],{"type":10,"tag":18,"props":6146,"children":6148},{"className":6147},[1336],[6149],{"type":16,"value":5315},{"type":10,"tag":1391,"props":6151,"children":6153},{"className":6152},[1336,1373,1374],[6154],{"type":10,"tag":18,"props":6155,"children":6157},{"className":6156},[1336],[6158],{"type":10,"tag":1410,"props":6159,"children":6160},{},[6161],{"type":16,"value":2803},{"type":10,"tag":1391,"props":6163,"children":6165},{"className":6164},[1336,1373,1374],[6166],{"type":10,"tag":18,"props":6167,"children":6169},{"className":6168},[1336],[6170,6174,6175,6179,6180,6184,6185,6189,6190,6191,6195,6196,6200,6201,6205],{"type":10,"tag":1410,"props":6171,"children":6172},{},[6173],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":1410,"props":6176,"children":6177},{},[6178],{"type":16,"value":6094},{"type":16,"value":6096},{"type":10,"tag":1410,"props":6181,"children":6182},{},[6183],{"type":16,"value":2667},{"type":16,"value":5635},{"type":10,"tag":1410,"props":6186,"children":6187},{},[6188],{"type":16,"value":6106},{"type":16,"value":3692},{"type":16,"value":5573},{"type":10,"tag":1410,"props":6192,"children":6193},{},[6194],{"type":16,"value":2856},{"type":16,"value":6096},{"type":10,"tag":1410,"props":6197,"children":6198},{},[6199],{"type":16,"value":2872},{"type":16,"value":6096},{"type":10,"tag":1410,"props":6202,"children":6203},{},[6204],{"type":16,"value":2864},{"type":16,"value":5484},{"type":10,"tag":1391,"props":6207,"children":6209},{"className":6208},[1336,1373,1374],[6210],{"type":10,"tag":18,"props":6211,"children":6213},{"className":6212},[1336],[6214],{"type":10,"tag":1410,"props":6215,"children":6216},{},[6217],{"type":16,"value":6218},"BlockMatchTextureQCOM",{"type":10,"tag":266,"props":6220,"children":6222},{"id":6221},"interfaces-resources-setandbinding",[6223],{"type":16,"value":3914},{"type":10,"tag":18,"props":6225,"children":6226},{},[6227,6229,6234,6236,6241,6243,6249,6251,6257,6259,6265,6266,6271,6273,6279],{"type":16,"value":6228},"A variable decorated with a ",{"type":10,"tag":24,"props":6230,"children":6232},{"className":6231},[],[6233],{"type":16,"value":3891},{"type":16,"value":6235}," decoration of s and a\n",{"type":10,"tag":24,"props":6237,"children":6239},{"className":6238},[],[6240],{"type":16,"value":3898},{"type":16,"value":6242}," decoration of b indicates that this variable is\nassociated with the ",{"type":10,"tag":41,"props":6244,"children":6246},{"href":6245},"/man/VkDescriptorSetLayoutBinding",[6247],{"type":16,"value":6248},"VkDescriptorSetLayoutBinding",{"type":16,"value":6250}," that has a\n",{"type":10,"tag":24,"props":6252,"children":6254},{"className":6253},[],[6255],{"type":16,"value":6256},"binding",{"type":16,"value":6258}," equal to b in ",{"type":10,"tag":24,"props":6260,"children":6262},{"className":6261},[],[6263],{"type":16,"value":6264},"pSetLayouts",{"type":16,"value":2206},{"type":10,"tag":205,"props":6267,"children":6268},{},[6269],{"type":16,"value":6270},"s",{"type":16,"value":6272},"] that was specified\nin ",{"type":10,"tag":41,"props":6274,"children":6276},{"href":6275},"/man/VkPipelineLayoutCreateInfo",[6277],{"type":16,"value":6278},"VkPipelineLayoutCreateInfo",{"type":16,"value":1025},{"type":10,"tag":18,"props":6281,"children":6282},{},[6283,6288,6290,6293,6295,6301,6303,6308,6309,6312,6314,6320],{"type":10,"tag":24,"props":6284,"children":6286},{"className":6285},[],[6287],{"type":16,"value":3891},{"type":16,"value":6289}," decoration values ",{"type":10,"tag":241,"props":6291,"children":6292},{"type":294},[],{"type":16,"value":6294}," be between zero and\n",{"type":10,"tag":24,"props":6296,"children":6298},{"className":6297},[],[6299],{"type":16,"value":6300},"maxBoundDescriptorSets",{"type":16,"value":6302}," minus one, inclusive.\n",{"type":10,"tag":24,"props":6304,"children":6306},{"className":6305},[],[6307],{"type":16,"value":3898},{"type":16,"value":6289},{"type":10,"tag":241,"props":6310,"children":6311},{"type":243},[],{"type":16,"value":6313}," be any 32-bit unsigned integer value, as\ndescribed in ",{"type":10,"tag":41,"props":6315,"children":6317},{"href":6316},"/chapters/descriptorsets#descriptorsets-setlayout",[6318],{"type":16,"value":6319},"Descriptor Set Layout",{"type":16,"value":6321},".\nEach descriptor set has its own binding name space.",{"type":10,"tag":18,"props":6323,"children":6324},{},[6325,6327,6332,6334,6337,6339,6342,6344,6347,6349,6355,6357,6360,6362,6368,6370,6373,6375,6380,6382,6388],{"type":16,"value":6326},"If the ",{"type":10,"tag":24,"props":6328,"children":6330},{"className":6329},[],[6331],{"type":16,"value":3898},{"type":16,"value":6333}," decoration is used with an array, the entire array is\nassigned that binding value.\nThe array ",{"type":10,"tag":241,"props":6335,"children":6336},{"type":294},[],{"type":16,"value":6338}," be a single-dimensional array and size of the array ",{"type":10,"tag":241,"props":6340,"children":6341},{"type":294},[],{"type":16,"value":6343}," be\nno larger than the number of descriptors in the binding.\nIf the array is runtime-sized, then array elements greater than or equal to\nthe size of that binding in the bound descriptor set ",{"type":10,"tag":241,"props":6345,"children":6346},{"type":294},[],{"type":16,"value":6348}," not be used.\nIf the array is runtime-sized, the ",{"type":10,"tag":24,"props":6350,"children":6352},{"className":6351},[],[6353],{"type":16,"value":6354},"runtimeDescriptorArray",{"type":16,"value":6356}," feature\n",{"type":10,"tag":241,"props":6358,"children":6359},{"type":294},[],{"type":16,"value":6361}," be enabled and the ",{"type":10,"tag":24,"props":6363,"children":6365},{"className":6364},[],[6366],{"type":16,"value":6367},"RuntimeDescriptorArray",{"type":16,"value":6369}," capability ",{"type":10,"tag":241,"props":6371,"children":6372},{"type":294},[],{"type":16,"value":6374}," be\ndeclared.\nThe index of each element of the array is referred to as the ",{"type":10,"tag":205,"props":6376,"children":6377},{},[6378],{"type":16,"value":6379},"arrayElement",{"type":16,"value":6381},".\nFor the purposes of interface matching and descriptor set\n",{"type":10,"tag":41,"props":6383,"children":6385},{"href":6384},"/chapters/descriptorsets#descriptorsets-updates",[6386],{"type":16,"value":6387},"operations",{"type":16,"value":6389},", if a resource variable is not an\narray, it is treated as if it has an arrayElement of zero.",{"type":10,"tag":18,"props":6391,"children":6392},{},[6393,6395,6398,6400,6406,6407,6413,6415,6418,6420,6426,6428,6434,6436,6442,6444,6448],{"type":16,"value":6394},"There is a limit on the number of resources of each type that ",{"type":10,"tag":241,"props":6396,"children":6397},{"type":243},[],{"type":16,"value":6399}," be\naccessed by a pipeline stage as shown in\n",{"type":10,"tag":41,"props":6401,"children":6403},{"href":6402},"/chapters/interfaces#interfaces-resources-limits",[6404],{"type":16,"value":6405},"Shader Resource Limits",{"type":16,"value":1129},{"type":10,"tag":24,"props":6408,"children":6410},{"className":6409},[],[6411],{"type":16,"value":6412},"Resources Per Stage",{"type":16,"value":6414}," column gives the limit on the number each type\nof resource that ",{"type":10,"tag":241,"props":6416,"children":6417},{"type":243},[],{"type":16,"value":6419}," be statically used for an entry point in any given\nstage in a pipeline.\nThe ",{"type":10,"tag":24,"props":6421,"children":6423},{"className":6422},[],[6424],{"type":16,"value":6425},"Resource Types",{"type":16,"value":6427}," column lists which resource types are counted against\nthe limit.\nSome resource types count against multiple limits.\nThe ",{"type":10,"tag":24,"props":6429,"children":6431},{"className":6430},[],[6432],{"type":16,"value":6433},"VK_DESCRIPTOR_TYPE_MUTABLE_EXT",{"type":16,"value":6435}," descriptor type counts as one\nindividual resource and one for every unique resource limit per descriptor\nset type that is present in the associated binding’s\n",{"type":10,"tag":41,"props":6437,"children":6439},{"href":6438},"/man/VkMutableDescriptorTypeListEXT",[6440],{"type":16,"value":6441},"VkMutableDescriptorTypeListEXT",{"type":16,"value":6443},".\nIf multiple descriptor types in ",{"type":10,"tag":41,"props":6445,"children":6446},{"href":6438},[6447],{"type":16,"value":6441},{"type":16,"value":6449}," map to\nthe same resource limit, only one descriptor is consumed for purposes of\ncomputing resource limits.",{"type":10,"tag":18,"props":6451,"children":6452},{},[6453,6455,6458,6460,6465],{"type":16,"value":6454},"The pipeline layout ",{"type":10,"tag":241,"props":6456,"children":6457},{"type":2536},[],{"type":16,"value":6459}," include descriptor sets and bindings which are not\nreferenced by any variables statically used by the entry points for the\nshader stages in the binding’s ",{"type":10,"tag":24,"props":6461,"children":6463},{"className":6462},[],[6464],{"type":16,"value":3783},{"type":16,"value":1025},{"type":10,"tag":18,"props":6467,"children":6468},{},[6469,6471,6476,6477,6482,6484,6487,6489,6494,6495,6498,6500,6504,6506,6509,6511,6517,6519,6522,6524,6530],{"type":16,"value":6470},"However, if a variable assigned to a given ",{"type":10,"tag":24,"props":6472,"children":6474},{"className":6473},[],[6475],{"type":16,"value":3891},{"type":16,"value":1929},{"type":10,"tag":24,"props":6478,"children":6480},{"className":6479},[],[6481],{"type":16,"value":3898},{"type":16,"value":6483}," is statically used by the entry point for a shader stage, the\npipeline layout ",{"type":10,"tag":241,"props":6485,"children":6486},{"type":294},[],{"type":16,"value":6488}," contain a descriptor set layout binding in that\ndescriptor set layout and for that binding number, and that binding’s\n",{"type":10,"tag":24,"props":6490,"children":6492},{"className":6491},[],[6493],{"type":16,"value":3783},{"type":16,"value":599},{"type":10,"tag":241,"props":6496,"children":6497},{"type":294},[],{"type":16,"value":6499}," include the appropriate ",{"type":10,"tag":41,"props":6501,"children":6502},{"href":3793},[6503],{"type":16,"value":3796},{"type":16,"value":6505},"\nfor that stage.\nThe variable ",{"type":10,"tag":241,"props":6507,"children":6508},{"type":294},[],{"type":16,"value":6510}," be of a valid resource type determined by its SPIR-V type\nand storage class, as defined in\n",{"type":10,"tag":41,"props":6512,"children":6514},{"href":6513},"/chapters/interfaces#interfaces-resources-storage-class-correspondence",[6515],{"type":16,"value":6516},"Shader Resource and\nStorage Class Correspondence",{"type":16,"value":6518},".\nThe descriptor set layout binding ",{"type":10,"tag":241,"props":6520,"children":6521},{"type":294},[],{"type":16,"value":6523}," be of a corresponding descriptor\ntype, as defined in ",{"type":10,"tag":41,"props":6525,"children":6527},{"href":6526},"/chapters/interfaces#interfaces-resources-correspondence",[6528],{"type":16,"value":6529},"Shader Resource\nand Descriptor Type Correspondence",{"type":16,"value":1025},{"type":10,"tag":171,"props":6532,"children":6533},{},[6534,6563,6585,6590],{"type":10,"tag":18,"props":6535,"children":6536},{},[6537,6539,6545,6547,6551,6553,6556,6561],{"type":16,"value":6538},"There are no limits on the number of shader variables that can have\noverlapping set and binding values in a shader; but which resources are\n",{"type":10,"tag":41,"props":6540,"children":6542},{"href":6541},"/chapters/shaders#shaders-staticuse",[6543],{"type":16,"value":6544},"statically used",{"type":16,"value":6546}," has an impact.\nIf any shader variable identifying a resource is\n",{"type":10,"tag":41,"props":6548,"children":6549},{"href":6541},[6550],{"type":16,"value":6544},{"type":16,"value":6552}," in a shader, then the underlying\ndescriptor bound at the declared set and binding ",{"type":10,"tag":241,"props":6554,"children":6555},{"type":294},[],{"type":10,"tag":41,"props":6557,"children":6558},{"href":6526},[6559],{"type":16,"value":6560},"support the declared type in the\nshader",{"type":16,"value":6562}," when the shader executes.",{"type":10,"tag":18,"props":6564,"children":6565},{},[6566,6568,6574,6576,6584],{"type":16,"value":6567},"If multiple shader variables are declared with the same set and binding\nvalues, and with the same underlying descriptor type, they can all be\nstatically used within the same shader.\nHowever, accesses are not automatically synchronized, and ",{"type":10,"tag":24,"props":6569,"children":6571},{"className":6570},[],[6572],{"type":16,"value":6573},"Aliased",{"type":16,"value":6575},"\ndecorations should be used to avoid data hazards (see\n",{"type":10,"tag":41,"props":6577,"children":6581},{"href":6578,"rel":6579},"https://registry.khronos.org/spir-v/specs/unified1/SPIRV.html#_a_id_aliasingsection_a_aliasing",[6580],"nofollow",[6582],{"type":16,"value":6583},"section\n2.18.2 Aliasing in the SPIR-V specification",{"type":16,"value":786},{"type":10,"tag":18,"props":6586,"children":6587},{},[6588],{"type":16,"value":6589},"If multiple shader variables with the same set and binding values are\ndeclared in a single shader, but with different declared types, where any of\nthose are not supported by the relevant bound descriptor, that shader can\nonly be executed if the variables with the unsupported type are not\nstatically used.",{"type":10,"tag":18,"props":6591,"children":6592},{},[6593,6595,6600,6602,6607,6609,6614,6615,6620,6622,6627,6629,6634],{"type":16,"value":6594},"A noteworthy example of using multiple statically-used shader variables\nsharing the same descriptor set and binding values is a descriptor of type\n",{"type":10,"tag":24,"props":6596,"children":6598},{"className":6597},[],[6599],{"type":16,"value":4995},{"type":16,"value":6601}," that has multiple\ncorresponding shader variables in the ",{"type":10,"tag":24,"props":6603,"children":6605},{"className":6604},[],[6606],{"type":16,"value":2803},{"type":16,"value":6608}," storage class,\nwhere some could be ",{"type":10,"tag":24,"props":6610,"children":6612},{"className":6611},[],[6613],{"type":16,"value":2659},{"type":16,"value":4505},{"type":10,"tag":24,"props":6616,"children":6618},{"className":6617},[],[6619],{"type":16,"value":2864},{"type":16,"value":6621},"=1), some could be\n",{"type":10,"tag":24,"props":6623,"children":6625},{"className":6624},[],[6626],{"type":16,"value":4503},{"type":16,"value":6628},", and some could be ",{"type":10,"tag":24,"props":6630,"children":6632},{"className":6631},[],[6633],{"type":16,"value":4518},{"type":16,"value":1025},{"type":10,"tag":1332,"props":6636,"children":6640},{"id":6637,"className":6638,"style":6639},"interfaces-resources-limits",[1336,1337,1338],"width: 80%;",[6641,6647,6658,6675],{"type":10,"tag":1342,"props":6642,"children":6644},{"className":6643},[1345],[6645],{"type":16,"value":6646},"Table 23. Shader Resource Limits",{"type":10,"tag":1349,"props":6648,"children":6649},{},[6650,6654],{"type":10,"tag":1353,"props":6651,"children":6653},{"style":6652},"width: 60.3448%;",[],{"type":10,"tag":1353,"props":6655,"children":6657},{"style":6656},"width: 39.6552%;",[],{"type":10,"tag":1362,"props":6659,"children":6660},{},[6661],{"type":10,"tag":1366,"props":6662,"children":6663},{},[6664,6670],{"type":10,"tag":1370,"props":6665,"children":6667},{"className":6666},[1336,1373,1374],[6668],{"type":16,"value":6669},"Resources per Stage",{"type":10,"tag":1370,"props":6671,"children":6673},{"className":6672},[1336,1373,1374],[6674],{"type":16,"value":6425},{"type":10,"tag":1384,"props":6676,"children":6677},{},[6678,6709,6721,6753,6765,6777,6789,6801,6832,6844,6875,6888,6919,6932,6966,6997],{"type":10,"tag":1366,"props":6679,"children":6680},{},[6681,6700],{"type":10,"tag":1391,"props":6682,"children":6684},{"className":6683,"rowSpan":5781},[1336,1373,5780],[6685],{"type":10,"tag":18,"props":6686,"children":6688},{"className":6687},[1336],[6689,6694,6695],{"type":10,"tag":1410,"props":6690,"children":6691},{},[6692],{"type":16,"value":6693},"maxPerStageDescriptorSamplers",{"type":16,"value":406},{"type":10,"tag":1410,"props":6696,"children":6697},{},[6698],{"type":16,"value":6699},"maxPerStageDescriptorUpdateAfterBindSamplers",{"type":10,"tag":1391,"props":6701,"children":6703},{"className":6702},[1336,1373,1374],[6704],{"type":10,"tag":18,"props":6705,"children":6707},{"className":6706},[1336],[6708],{"type":16,"value":4975},{"type":10,"tag":1366,"props":6710,"children":6711},{},[6712],{"type":10,"tag":1391,"props":6713,"children":6715},{"className":6714},[1336,1373,1374],[6716],{"type":10,"tag":18,"props":6717,"children":6719},{"className":6718},[1336],[6720],{"type":16,"value":5065},{"type":10,"tag":1366,"props":6722,"children":6723},{},[6724,6744],{"type":10,"tag":1391,"props":6725,"children":6728},{"className":6726,"rowSpan":6727},[1336,1373,5780],5,[6729],{"type":10,"tag":18,"props":6730,"children":6732},{"className":6731},[1336],[6733,6738,6739],{"type":10,"tag":1410,"props":6734,"children":6735},{},[6736],{"type":16,"value":6737},"maxPerStageDescriptorSampledImages",{"type":16,"value":406},{"type":10,"tag":1410,"props":6740,"children":6741},{},[6742],{"type":16,"value":6743},"maxPerStageDescriptorUpdateAfterBindSampledImages",{"type":10,"tag":1391,"props":6745,"children":6747},{"className":6746},[1336,1373,1374],[6748],{"type":10,"tag":18,"props":6749,"children":6751},{"className":6750},[1336],[6752],{"type":16,"value":5008},{"type":10,"tag":1366,"props":6754,"children":6755},{},[6756],{"type":10,"tag":1391,"props":6757,"children":6759},{"className":6758},[1336,1373,1374],[6760],{"type":10,"tag":18,"props":6761,"children":6763},{"className":6762},[1336],[6764],{"type":16,"value":5065},{"type":10,"tag":1366,"props":6766,"children":6767},{},[6768],{"type":10,"tag":1391,"props":6769,"children":6771},{"className":6770},[1336,1373,1374],[6772],{"type":10,"tag":18,"props":6773,"children":6775},{"className":6774},[1336],[6776],{"type":16,"value":5090},{"type":10,"tag":1366,"props":6778,"children":6779},{},[6780],{"type":10,"tag":1391,"props":6781,"children":6783},{"className":6782},[1336,1373,1374],[6784],{"type":10,"tag":18,"props":6785,"children":6787},{"className":6786},[1336],[6788],{"type":16,"value":6064},{"type":10,"tag":1366,"props":6790,"children":6791},{},[6792],{"type":10,"tag":1391,"props":6793,"children":6795},{"className":6794},[1336,1373,1374],[6796],{"type":10,"tag":18,"props":6797,"children":6799},{"className":6798},[1336],[6800],{"type":16,"value":5315},{"type":10,"tag":1366,"props":6802,"children":6803},{},[6804,6823],{"type":10,"tag":1391,"props":6805,"children":6807},{"className":6806,"rowSpan":5781},[1336,1373,5780],[6808],{"type":10,"tag":18,"props":6809,"children":6811},{"className":6810},[1336],[6812,6817,6818],{"type":10,"tag":1410,"props":6813,"children":6814},{},[6815],{"type":16,"value":6816},"maxPerStageDescriptorStorageImages",{"type":16,"value":406},{"type":10,"tag":1410,"props":6819,"children":6820},{},[6821],{"type":16,"value":6822},"maxPerStageDescriptorUpdateAfterBindStorageImages",{"type":10,"tag":1391,"props":6824,"children":6826},{"className":6825},[1336,1373,1374],[6827],{"type":10,"tag":18,"props":6828,"children":6830},{"className":6829},[1336],[6831],{"type":16,"value":5039},{"type":10,"tag":1366,"props":6833,"children":6834},{},[6835],{"type":10,"tag":1391,"props":6836,"children":6838},{"className":6837},[1336,1373,1374],[6839],{"type":10,"tag":18,"props":6840,"children":6842},{"className":6841},[1336],[6843],{"type":16,"value":5116},{"type":10,"tag":1366,"props":6845,"children":6846},{},[6847,6866],{"type":10,"tag":1391,"props":6848,"children":6850},{"className":6849,"rowSpan":5781},[1336,1373,5780],[6851],{"type":10,"tag":18,"props":6852,"children":6854},{"className":6853},[1336],[6855,6860,6861],{"type":10,"tag":1410,"props":6856,"children":6857},{},[6858],{"type":16,"value":6859},"maxPerStageDescriptorUniformBuffers",{"type":16,"value":406},{"type":10,"tag":1410,"props":6862,"children":6863},{},[6864],{"type":16,"value":6865},"maxPerStageDescriptorUpdateAfterBindUniformBuffers",{"type":10,"tag":1391,"props":6867,"children":6869},{"className":6868},[1336,1373,1374],[6870],{"type":10,"tag":18,"props":6871,"children":6873},{"className":6872},[1336],[6874],{"type":16,"value":5142},{"type":10,"tag":1366,"props":6876,"children":6877},{},[6878],{"type":10,"tag":1391,"props":6879,"children":6881},{"className":6880},[1336,1373,1374],[6882],{"type":10,"tag":18,"props":6883,"children":6885},{"className":6884},[1336],[6886],{"type":16,"value":6887},"uniform buffer dynamic",{"type":10,"tag":1366,"props":6889,"children":6890},{},[6891,6910],{"type":10,"tag":1391,"props":6892,"children":6894},{"className":6893,"rowSpan":5781},[1336,1373,5780],[6895],{"type":10,"tag":18,"props":6896,"children":6898},{"className":6897},[1336],[6899,6904,6905],{"type":10,"tag":1410,"props":6900,"children":6901},{},[6902],{"type":16,"value":6903},"maxPerStageDescriptorStorageBuffers",{"type":16,"value":406},{"type":10,"tag":1410,"props":6906,"children":6907},{},[6908],{"type":16,"value":6909},"maxPerStageDescriptorUpdateAfterBindStorageBuffers",{"type":10,"tag":1391,"props":6911,"children":6913},{"className":6912},[1336,1373,1374],[6914],{"type":10,"tag":18,"props":6915,"children":6917},{"className":6916},[1336],[6918],{"type":16,"value":5174},{"type":10,"tag":1366,"props":6920,"children":6921},{},[6922],{"type":10,"tag":1391,"props":6923,"children":6925},{"className":6924},[1336,1373,1374],[6926],{"type":10,"tag":18,"props":6927,"children":6929},{"className":6928},[1336],[6930],{"type":16,"value":6931},"storage buffer dynamic",{"type":10,"tag":1366,"props":6933,"children":6934},{},[6935,6953],{"type":10,"tag":1391,"props":6936,"children":6938},{"className":6937},[1336,1373,1374],[6939],{"type":10,"tag":18,"props":6940,"children":6942},{"className":6941},[1336],[6943,6947,6948],{"type":10,"tag":1410,"props":6944,"children":6945},{},[6946],{"type":16,"value":2976},{"type":16,"value":406},{"type":10,"tag":1410,"props":6949,"children":6950},{},[6951],{"type":16,"value":6952},"maxPerStageDescriptorUpdateAfterBindInputAttachments",{"type":10,"tag":1391,"props":6954,"children":6956},{"className":6955},[1336,1373,1374],[6957],{"type":10,"tag":18,"props":6958,"children":6960},{"className":6959},[1336],[6961,6962],{"type":16,"value":5206},{"type":10,"tag":5383,"props":6963,"children":6964},{},[6965],{"type":16,"value":5387},{"type":10,"tag":1366,"props":6967,"children":6968},{},[6969,6988],{"type":10,"tag":1391,"props":6970,"children":6972},{"className":6971},[1336,1373,1374],[6973],{"type":10,"tag":18,"props":6974,"children":6976},{"className":6975},[1336],[6977,6982,6983],{"type":10,"tag":1410,"props":6978,"children":6979},{},[6980],{"type":16,"value":6981},"maxPerStageDescriptorInlineUniformBlocks",{"type":16,"value":406},{"type":10,"tag":1410,"props":6984,"children":6985},{},[6986],{"type":16,"value":6987},"maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks",{"type":10,"tag":1391,"props":6989,"children":6991},{"className":6990},[1336,1373,1374],[6992],{"type":10,"tag":18,"props":6993,"children":6995},{"className":6994},[1336],[6996],{"type":16,"value":5232},{"type":10,"tag":1366,"props":6998,"children":6999},{},[7000,7031],{"type":10,"tag":1391,"props":7001,"children":7003},{"className":7002},[1336,1373,1374],[7004],{"type":10,"tag":18,"props":7005,"children":7007},{"className":7006},[1336],[7008,7013,7014,7019,7020,7025,7026],{"type":10,"tag":1410,"props":7009,"children":7010},{},[7011],{"type":16,"value":7012},"VkPhysicalDeviceRayTracingPropertiesNV",{"type":16,"value":2198},{"type":10,"tag":1410,"props":7015,"children":7016},{},[7017],{"type":16,"value":7018},"maxDescriptorSetAccelerationStructures",{"type":16,"value":5272},{"type":10,"tag":1410,"props":7021,"children":7022},{},[7023],{"type":16,"value":7024},"maxPerStageDescriptorAccelerationStructures",{"type":16,"value":2457},{"type":10,"tag":1410,"props":7027,"children":7028},{},[7029],{"type":16,"value":7030},"maxPerStageDescriptorUpdateAfterBindAccelerationStructures",{"type":10,"tag":1391,"props":7032,"children":7034},{"className":7033},[1336,1373,1374],[7035],{"type":10,"tag":18,"props":7036,"children":7038},{"className":7037},[1336],[7039],{"type":16,"value":5257},{"type":10,"tag":266,"props":7041,"children":7043},{"id":7042},"interfaces-resources-layout",[7044],{"type":16,"value":3735},{"type":10,"tag":18,"props":7046,"children":7047},{},[7048,7050,7053,7055,7060,7061,7066,7067,7072,7074,7081,7083,7086],{"type":16,"value":7049},"Certain objects ",{"type":10,"tag":241,"props":7051,"children":7052},{"type":294},[],{"type":16,"value":7054}," be explicitly laid out using the ",{"type":10,"tag":24,"props":7056,"children":7058},{"className":7057},[],[7059],{"type":16,"value":136},{"type":16,"value":122},{"type":10,"tag":24,"props":7062,"children":7064},{"className":7063},[],[7065],{"type":16,"value":143},{"type":16,"value":145},{"type":10,"tag":24,"props":7068,"children":7070},{"className":7069},[],[7071],{"type":16,"value":151},{"type":16,"value":7073},", as described in\n",{"type":10,"tag":41,"props":7075,"children":7078},{"href":7076,"rel":7077},"https://registry.khronos.org/spir-v/specs/unified1/SPIRV.html#ShaderValidation",[6580],[7079],{"type":16,"value":7080},"SPIR-V\nexplicit layout validation rules",{"type":16,"value":7082},".\nAll such layouts also ",{"type":10,"tag":241,"props":7084,"children":7085},{"type":294},[],{"type":16,"value":7087}," conform to the following requirements.",{"type":10,"tag":171,"props":7089,"children":7090},{},[7091],{"type":10,"tag":18,"props":7092,"children":7093},{},[7094,7096,7101],{"type":16,"value":7095},"The numeric order of ",{"type":10,"tag":24,"props":7097,"children":7099},{"className":7098},[],[7100],{"type":16,"value":136},{"type":16,"value":7102}," decorations does not need to follow member\ndeclaration order.",{"type":10,"tag":7104,"props":7105,"children":7107},"anchor",{"id":7106},"interfaces-alignment-requirements",[],{"type":10,"tag":18,"props":7109,"children":7110},{},[7111],{"type":10,"tag":205,"props":7112,"children":7113},{},[7114],{"type":16,"value":7115},"Alignment Requirements",{"type":10,"tag":18,"props":7117,"children":7118},{},[7119],{"type":16,"value":7120},"There are different alignment requirements depending on the specific\nresources and on the features enabled on the device.",{"type":10,"tag":18,"props":7122,"children":7123},{},[7124],{"type":16,"value":7125},"Matrix types are defined in terms of arrays as follows:",{"type":10,"tag":33,"props":7127,"children":7128},{},[7129,7134],{"type":10,"tag":37,"props":7130,"children":7131},{},[7132],{"type":16,"value":7133},"A column-major matrix with C columns and R rows is\nequivalent to a C element array of vectors with R\ncomponents.",{"type":10,"tag":37,"props":7135,"children":7136},{},[7137],{"type":16,"value":7138},"A row-major matrix with C columns and R rows is equivalent\nto an R element array of vectors with C components.",{"type":10,"tag":18,"props":7140,"children":7141},{},[7142,7143,7148,7150,7155],{"type":16,"value":903},{"type":10,"tag":205,"props":7144,"children":7145},{},[7146],{"type":16,"value":7147},"scalar alignment",{"type":16,"value":7149}," of the type of an ",{"type":10,"tag":24,"props":7151,"children":7153},{"className":7152},[],[7154],{"type":16,"value":777},{"type":16,"value":7156}," member is defined\nrecursively as follows:",{"type":10,"tag":33,"props":7158,"children":7159},{},[7160,7165,7170,7175,7180],{"type":10,"tag":37,"props":7161,"children":7162},{},[7163],{"type":16,"value":7164},"A scalar of size N has a scalar alignment of N.",{"type":10,"tag":37,"props":7166,"children":7167},{},[7168],{"type":16,"value":7169},"A vector type has a scalar alignment equal to that of its component\ntype.",{"type":10,"tag":37,"props":7171,"children":7172},{},[7173],{"type":16,"value":7174},"An array type has a scalar alignment equal to that of its element type.",{"type":10,"tag":37,"props":7176,"children":7177},{},[7178],{"type":16,"value":7179},"A structure has a scalar alignment equal to the largest scalar alignment\nof any of its members.",{"type":10,"tag":37,"props":7181,"children":7182},{},[7183,7185,7189],{"type":16,"value":7184},"A matrix type inherits ",{"type":10,"tag":205,"props":7186,"children":7187},{},[7188],{"type":16,"value":7147},{"type":16,"value":7190}," from the equivalent array\ndeclaration.",{"type":10,"tag":18,"props":7192,"children":7193},{},[7194,7195,7200,7201,7206],{"type":16,"value":903},{"type":10,"tag":205,"props":7196,"children":7197},{},[7198],{"type":16,"value":7199},"base alignment",{"type":16,"value":7149},{"type":10,"tag":24,"props":7202,"children":7204},{"className":7203},[],[7205],{"type":16,"value":777},{"type":16,"value":7156},{"type":10,"tag":33,"props":7208,"children":7209},{},[7210,7215,7220,7225,7230,7261],{"type":10,"tag":37,"props":7211,"children":7212},{},[7213],{"type":16,"value":7214},"A scalar has a base alignment equal to its scalar alignment.",{"type":10,"tag":37,"props":7216,"children":7217},{},[7218],{"type":16,"value":7219},"A two-component vector has a base alignment equal to twice its scalar\nalignment.",{"type":10,"tag":37,"props":7221,"children":7222},{},[7223],{"type":16,"value":7224},"A three- or four-component vector has a base alignment equal to four\ntimes its scalar alignment.",{"type":10,"tag":37,"props":7226,"children":7227},{},[7228],{"type":16,"value":7229},"An array has a base alignment equal to the base alignment of its element\ntype.",{"type":10,"tag":37,"props":7231,"children":7232},{},[7233,7235,7240,7242,7248,7249,7255,7256,7259],{"type":16,"value":7234},"A structure has a base alignment equal to the largest base alignment of\nany of its members.\nAn empty structure has a base alignment equal to the size of the\nsmallest scalar type permitted by the capabilities declared in the\nSPIR-V module.\n(e.g., for a 1 byte aligned empty struct in the ",{"type":10,"tag":24,"props":7236,"children":7238},{"className":7237},[],[7239],{"type":16,"value":3627},{"type":16,"value":7241},"\nstorage class, ",{"type":10,"tag":24,"props":7243,"children":7245},{"className":7244},[],[7246],{"type":16,"value":7247},"StorageBuffer8BitAccess",{"type":16,"value":2457},{"type":10,"tag":24,"props":7250,"children":7252},{"className":7251},[],[7253],{"type":16,"value":7254},"UniformAndStorageBuffer8BitAccess",{"type":16,"value":599},{"type":10,"tag":241,"props":7257,"children":7258},{"type":294},[],{"type":16,"value":7260}," be declared in the SPIR-V\nmodule.)",{"type":10,"tag":37,"props":7262,"children":7263},{},[7264,7265,7269],{"type":16,"value":7184},{"type":10,"tag":205,"props":7266,"children":7267},{},[7268],{"type":16,"value":7199},{"type":16,"value":7190},{"type":10,"tag":18,"props":7271,"children":7272},{},[7273,7274,7279,7280,7285],{"type":16,"value":903},{"type":10,"tag":205,"props":7275,"children":7276},{},[7277],{"type":16,"value":7278},"extended alignment",{"type":16,"value":7149},{"type":10,"tag":24,"props":7281,"children":7283},{"className":7282},[],[7284],{"type":16,"value":777},{"type":16,"value":7286}," member is\nsimilarly defined as follows:",{"type":10,"tag":33,"props":7288,"children":7289},{},[7290,7295,7300],{"type":10,"tag":37,"props":7291,"children":7292},{},[7293],{"type":16,"value":7294},"A scalar or vector type has an extended alignment equal to its base\nalignment.",{"type":10,"tag":37,"props":7296,"children":7297},{},[7298],{"type":16,"value":7299},"An array or structure type has an extended alignment equal to the\nlargest extended alignment of any of its members, rounded up to a\nmultiple of 16.",{"type":10,"tag":37,"props":7301,"children":7302},{},[7303],{"type":16,"value":7304},"A matrix type inherits extended alignment from the equivalent array\ndeclaration.",{"type":10,"tag":18,"props":7306,"children":7307},{},[7308,7310,7315],{"type":16,"value":7309},"A member is defined to ",{"type":10,"tag":205,"props":7311,"children":7312},{},[7313],{"type":16,"value":7314},"improperly straddle",{"type":16,"value":7316}," if either of the following are\ntrue:",{"type":10,"tag":33,"props":7318,"children":7319},{},[7320,7332],{"type":10,"tag":37,"props":7321,"children":7322},{},[7323,7325,7330],{"type":16,"value":7324},"It is a vector with total size less than or equal to 16 bytes, and has\n",{"type":10,"tag":24,"props":7326,"children":7328},{"className":7327},[],[7329],{"type":16,"value":136},{"type":16,"value":7331}," decorations placing its first byte at F and its last\nbyte at L, where floor(F / 16) != floor(L / 16).",{"type":10,"tag":37,"props":7333,"children":7334},{},[7335,7337,7342],{"type":16,"value":7336},"It is a vector with total size greater than 16 bytes and has its\n",{"type":10,"tag":24,"props":7338,"children":7340},{"className":7339},[],[7341],{"type":16,"value":136},{"type":16,"value":7343}," decorations placing its first byte at a non-integer multiple\nof 16.",{"type":10,"tag":7104,"props":7345,"children":7347},{"id":7346},"interfaces-resources-standard-layout",[],{"type":10,"tag":18,"props":7349,"children":7350},{},[7351],{"type":10,"tag":205,"props":7352,"children":7353},{},[7354],{"type":16,"value":7355},"Standard Buffer Layout",{"type":10,"tag":18,"props":7357,"children":7358},{},[7359,7361,7366,7368,7371,7373,7376],{"type":16,"value":7360},"Every member of an ",{"type":10,"tag":24,"props":7362,"children":7364},{"className":7363},[],[7365],{"type":16,"value":777},{"type":16,"value":7367}," that is required to be explicitly laid\nout ",{"type":10,"tag":241,"props":7369,"children":7370},{"type":294},[],{"type":16,"value":7372}," be aligned according to the first matching rule as follows.\nIf the struct is contained in pointer types of multiple storage classes, it\n",{"type":10,"tag":241,"props":7374,"children":7375},{"type":294},[],{"type":16,"value":7377}," satisfy the requirements for every storage class used to reference it.",{"type":10,"tag":7379,"props":7380,"children":7381},"ol",{},[7382,7432,7457,7467,7504],{"type":10,"tag":37,"props":7383,"children":7384},{},[7385,7386,7392,7394,7399,7400,7405,7406,7412,7413,7419,7420,7425,7427,7430],{"type":16,"value":6326},{"type":10,"tag":24,"props":7387,"children":7389},{"className":7388},[],[7390],{"type":16,"value":7391},"scalarBlockLayout",{"type":16,"value":7393}," feature is enabled on the device and the\nstorage class is ",{"type":10,"tag":24,"props":7395,"children":7397},{"className":7396},[],[7398],{"type":16,"value":3614},{"type":16,"value":130},{"type":10,"tag":24,"props":7401,"children":7403},{"className":7402},[],[7404],{"type":16,"value":3627},{"type":16,"value":122},{"type":10,"tag":24,"props":7407,"children":7409},{"className":7408},[],[7410],{"type":16,"value":7411},"PhysicalStorageBuffer",{"type":16,"value":122},{"type":10,"tag":24,"props":7414,"children":7416},{"className":7415},[],[7417],{"type":16,"value":7418},"ShaderRecordBufferKHR",{"type":16,"value":3629},{"type":10,"tag":24,"props":7421,"children":7423},{"className":7422},[],[7424],{"type":16,"value":3635},{"type":16,"value":7426}," then every member ",{"type":10,"tag":241,"props":7428,"children":7429},{"type":294},[],{"type":16,"value":7431}," be aligned according to its\nscalar alignment.",{"type":10,"tag":37,"props":7433,"children":7434},{},[7435,7436,7442,7444,7450,7452,7455],{"type":16,"value":6326},{"type":10,"tag":24,"props":7437,"children":7439},{"className":7438},[],[7440],{"type":16,"value":7441},"workgroupMemoryExplicitLayoutScalarBlockLayout",{"type":16,"value":7443}," feature is\nenabled on the device and the storage class is ",{"type":10,"tag":24,"props":7445,"children":7447},{"className":7446},[],[7448],{"type":16,"value":7449},"Workgroup",{"type":16,"value":7451}," then every\nmember ",{"type":10,"tag":241,"props":7453,"children":7454},{"type":294},[],{"type":16,"value":7456}," be aligned according to its scalar alignment.",{"type":10,"tag":37,"props":7458,"children":7459},{},[7460,7462,7465],{"type":16,"value":7461},"All vectors ",{"type":10,"tag":241,"props":7463,"children":7464},{"type":294},[],{"type":16,"value":7466}," be aligned according to their scalar alignment.",{"type":10,"tag":37,"props":7468,"children":7469},{},[7470,7471,7477,7479,7484,7486,7491,7493,7498,7499,7502],{"type":16,"value":6326},{"type":10,"tag":24,"props":7472,"children":7474},{"className":7473},[],[7475],{"type":16,"value":7476},"uniformBufferStandardLayout",{"type":16,"value":7478}," feature is not enabled on the\ndevice, then any\nmember of an ",{"type":10,"tag":24,"props":7480,"children":7482},{"className":7481},[],[7483],{"type":16,"value":777},{"type":16,"value":7485}," with a storage class of ",{"type":10,"tag":24,"props":7487,"children":7489},{"className":7488},[],[7490],{"type":16,"value":3614},{"type":16,"value":7492}," and\na decoration of ",{"type":10,"tag":24,"props":7494,"children":7496},{"className":7495},[],[7497],{"type":16,"value":120},{"type":16,"value":599},{"type":10,"tag":241,"props":7500,"children":7501},{"type":294},[],{"type":16,"value":7503}," be aligned according to its extended\nalignment.",{"type":10,"tag":37,"props":7505,"children":7506},{},[7507,7509,7512],{"type":16,"value":7508},"Every other member ",{"type":10,"tag":241,"props":7510,"children":7511},{"type":294},[],{"type":16,"value":7513}," be aligned according to its base alignment.",{"type":10,"tag":171,"props":7515,"children":7516},{},[7517],{"type":10,"tag":18,"props":7518,"children":7519},{},[7520,7522,7526],{"type":16,"value":7521},"Even if scalar alignment is supported, it is generally more performant to\nuse the ",{"type":10,"tag":205,"props":7523,"children":7524},{},[7525],{"type":16,"value":7199},{"type":16,"value":1025},{"type":10,"tag":18,"props":7528,"children":7529},{},[7530,7532,7535],{"type":16,"value":7531},"The memory layout ",{"type":10,"tag":241,"props":7533,"children":7534},{"type":294},[],{"type":16,"value":7536}," obey the following rules:",{"type":10,"tag":33,"props":7538,"children":7539},{},[7540,7556],{"type":10,"tag":37,"props":7541,"children":7542},{},[7543,7544,7549,7551,7554],{"type":16,"value":903},{"type":10,"tag":24,"props":7545,"children":7547},{"className":7546},[],[7548],{"type":16,"value":136},{"type":16,"value":7550}," decoration of any member ",{"type":10,"tag":241,"props":7552,"children":7553},{"type":294},[],{"type":16,"value":7555}," be a multiple of its\nalignment.",{"type":10,"tag":37,"props":7557,"children":7558},{},[7559,7561,7566,7567,7572,7573,7576],{"type":16,"value":7560},"Any ",{"type":10,"tag":24,"props":7562,"children":7564},{"className":7563},[],[7565],{"type":16,"value":143},{"type":16,"value":226},{"type":10,"tag":24,"props":7568,"children":7570},{"className":7569},[],[7571],{"type":16,"value":151},{"type":16,"value":1875},{"type":10,"tag":241,"props":7574,"children":7575},{"type":294},[],{"type":16,"value":7577}," be a multiple\nof the alignment of the array or matrix as defined above.",{"type":10,"tag":18,"props":7579,"children":7580},{},[7581],{"type":16,"value":7582},"If one of the conditions below applies",{"type":10,"tag":33,"props":7584,"children":7585},{},[7586,7629,7653],{"type":10,"tag":37,"props":7587,"children":7588},{},[7589,7591,7596,7597,7602,7603,7608,7609,7614,7615,7620,7622,7627],{"type":16,"value":7590},"The storage class is ",{"type":10,"tag":24,"props":7592,"children":7594},{"className":7593},[],[7595],{"type":16,"value":3614},{"type":16,"value":130},{"type":10,"tag":24,"props":7598,"children":7600},{"className":7599},[],[7601],{"type":16,"value":3627},{"type":16,"value":122},{"type":10,"tag":24,"props":7604,"children":7606},{"className":7605},[],[7607],{"type":16,"value":7411},{"type":16,"value":122},{"type":10,"tag":24,"props":7610,"children":7612},{"className":7611},[],[7613],{"type":16,"value":7418},{"type":16,"value":3629},{"type":10,"tag":24,"props":7616,"children":7618},{"className":7617},[],[7619],{"type":16,"value":3635},{"type":16,"value":7621},", and the ",{"type":10,"tag":24,"props":7623,"children":7625},{"className":7624},[],[7626],{"type":16,"value":7391},{"type":16,"value":7628}," feature is not\nenabled on the device.",{"type":10,"tag":37,"props":7630,"children":7631},{},[7632,7633,7638,7640,7645,7647,7652],{"type":16,"value":7590},{"type":10,"tag":24,"props":7634,"children":7636},{"className":7635},[],[7637],{"type":16,"value":7449},{"type":16,"value":7639},", and either the struct member is not\npart of a ",{"type":10,"tag":24,"props":7641,"children":7643},{"className":7642},[],[7644],{"type":16,"value":120},{"type":16,"value":7646}," or the\n",{"type":10,"tag":24,"props":7648,"children":7650},{"className":7649},[],[7651],{"type":16,"value":7441},{"type":16,"value":7628},{"type":10,"tag":37,"props":7654,"children":7655},{},[7656],{"type":16,"value":7657},"The storage class is any other storage class.",{"type":10,"tag":18,"props":7659,"children":7660},{},[7661,7663,7666],{"type":16,"value":7662},"the memory layout ",{"type":10,"tag":241,"props":7664,"children":7665},{"type":294},[],{"type":16,"value":7667}," also obey the following rules:",{"type":10,"tag":33,"props":7669,"children":7670},{},[7671,7681],{"type":10,"tag":37,"props":7672,"children":7673},{},[7674,7676,7679],{"type":16,"value":7675},"Vectors ",{"type":10,"tag":241,"props":7677,"children":7678},{"type":294},[],{"type":16,"value":7680}," not improperly straddle, as defined above.",{"type":10,"tag":37,"props":7682,"children":7683},{},[7684,7685,7690,7692,7695],{"type":16,"value":903},{"type":10,"tag":24,"props":7686,"children":7688},{"className":7687},[],[7689],{"type":16,"value":136},{"type":16,"value":7691}," decoration of a member ",{"type":10,"tag":241,"props":7693,"children":7694},{"type":294},[],{"type":16,"value":7696}," not place it between the\nend of a structure, an array or a matrix and the next multiple of the\nalignment of that structure, array or matrix.",{"type":10,"tag":171,"props":7698,"children":7699},{},[7700],{"type":10,"tag":18,"props":7701,"children":7702},{},[7703,7704,7709,7711,7716],{"type":16,"value":903},{"type":10,"tag":205,"props":7705,"children":7706},{},[7707],{"type":16,"value":7708},"std430 layout",{"type":16,"value":7710}," in GLSL satisfies these rules for types using the base\nalignment.\nThe ",{"type":10,"tag":205,"props":7712,"children":7713},{},[7714],{"type":16,"value":7715},"std140 layout",{"type":16,"value":7717}," satisfies the rules for types using the extended\nalignment.",{"type":10,"tag":188,"props":7719,"children":7721},{"id":7720},"interfaces-builtin-variables",[7722],{"type":16,"value":7723},"Built-In Variables",{"type":10,"tag":18,"props":7725,"children":7726},{},[7727,7729,7734,7736,7741,7743,7746],{"type":16,"value":7728},"Built-in variables are accessed in shaders by declaring a variable decorated\nwith a ",{"type":10,"tag":24,"props":7730,"children":7732},{"className":7731},[],[7733],{"type":16,"value":314},{"type":16,"value":7735}," SPIR-V decoration.\nThe meaning of each ",{"type":10,"tag":24,"props":7737,"children":7739},{"className":7738},[],[7740],{"type":16,"value":314},{"type":16,"value":7742}," decoration is as follows.\nIn the remainder of this section, the name of a built-in is used\ninterchangeably with a term equivalent to a variable decorated with that\nparticular built-in.\nBuilt-ins that represent integer values ",{"type":10,"tag":241,"props":7744,"children":7745},{"type":243},[],{"type":16,"value":7747}," be declared as either signed or\nunsigned 32-bit integers.",{"type":10,"tag":18,"props":7749,"children":7750},{},[7751,7755,7757,7760],{"type":10,"tag":41,"props":7752,"children":7753},{"href":886},[7754],{"type":16,"value":889},{"type":16,"value":7756},", some inputs and\noutputs have an additional level of arrayness relative to other shader\ninputs and outputs.\nThis level of arrayness is not included in the type descriptions below, but\n",{"type":10,"tag":241,"props":7758,"children":7759},{"type":294},[],{"type":16,"value":7761}," be included when declaring the built-in.",{"type":10,"tag":18,"props":7763,"children":7764},{},[7765,7767,7772,7773,7778,7780,7785,7786,7789,7791,7796,7798,7803,7804,7809,7810,7815,7816,7819,7820,7825],{"type":16,"value":7766},"Any two ",{"type":10,"tag":24,"props":7768,"children":7770},{"className":7769},[],[7771],{"type":16,"value":224},{"type":16,"value":4337},{"type":10,"tag":24,"props":7774,"children":7776},{"className":7775},[],[7777],{"type":16,"value":1085},{"type":16,"value":7779}," declarations listed as\noperands on the same ",{"type":10,"tag":24,"props":7781,"children":7783},{"className":7782},[],[7784],{"type":16,"value":216},{"type":16,"value":599},{"type":10,"tag":241,"props":7787,"children":7788},{"type":294},[],{"type":16,"value":7790}," not have the same ",{"type":10,"tag":24,"props":7792,"children":7794},{"className":7793},[],[7795],{"type":16,"value":314},{"type":16,"value":7797},"\ndecoration.\nAny two ",{"type":10,"tag":24,"props":7799,"children":7801},{"className":7800},[],[7802],{"type":16,"value":232},{"type":16,"value":4337},{"type":10,"tag":24,"props":7805,"children":7807},{"className":7806},[],[7808],{"type":16,"value":1085},{"type":16,"value":7779},{"type":10,"tag":24,"props":7811,"children":7813},{"className":7812},[],[7814],{"type":16,"value":216},{"type":16,"value":599},{"type":10,"tag":241,"props":7817,"children":7818},{"type":294},[],{"type":16,"value":7790},{"type":10,"tag":24,"props":7821,"children":7823},{"className":7822},[],[7824],{"type":16,"value":314},{"type":16,"value":7826},"\ndecoration.",{"type":10,"tag":7104,"props":7828,"children":7830},{"id":7829},"interfaces-builtin-variables-barycoordkhr",[],{"type":10,"tag":2290,"props":7832,"children":7835},{"name":7833,"type":7834},"BaryCoordKHR","builtins",[7836],{"type":10,"tag":18,"props":7837,"children":7838},{},[7839],{"type":16,"value":7840},"Barycentric coordinates of a fragment",{"type":10,"tag":2290,"props":7842,"children":7844},{"name":7843,"type":7834},"BaryCoordNoPerspAMD",[7845],{"type":10,"tag":18,"props":7846,"children":7847},{},[7848],{"type":16,"value":7849},"Barycentric coordinates of a fragment center in screen-space",{"type":10,"tag":7104,"props":7851,"children":7853},{"id":7852},"interfaces-builtin-variables-barycoordnoperspkhr",[],{"type":10,"tag":2290,"props":7855,"children":7857},{"name":7856,"type":7834},"BaryCoordNoPerspKHR",[7858],{"type":10,"tag":18,"props":7859,"children":7860},{},[7861],{"type":16,"value":7862},"Barycentric coordinates of a fragment in screen-space",{"type":10,"tag":2290,"props":7864,"children":7866},{"name":7865,"type":7834},"BaryCoordNoPerspCentroidAMD",[7867],{"type":10,"tag":18,"props":7868,"children":7869},{},[7870],{"type":16,"value":7871},"Barycentric coordinates of a fragment centroid in screen-space",{"type":10,"tag":2290,"props":7873,"children":7875},{"name":7874,"type":7834},"BaryCoordNoPerspSampleAMD",[7876],{"type":10,"tag":18,"props":7877,"children":7878},{},[7879],{"type":16,"value":7880},"Barycentric coordinates of a sample center in screen-space",{"type":10,"tag":2290,"props":7882,"children":7884},{"name":7883,"type":7834},"BaryCoordPullModelAMD",[7885],{"type":10,"tag":18,"props":7886,"children":7887},{},[7888],{"type":16,"value":7889},"Inverse barycentric coordinates of a fragment center",{"type":10,"tag":2290,"props":7891,"children":7893},{"name":7892,"type":7834},"BaryCoordSmoothAMD",[7894],{"type":10,"tag":18,"props":7895,"children":7896},{},[7897],{"type":16,"value":7898},"Barycentric coordinates of a fragment center",{"type":10,"tag":2290,"props":7900,"children":7902},{"name":7901,"type":7834},"BaryCoordSmoothCentroidAMD",[7903],{"type":10,"tag":18,"props":7904,"children":7905},{},[7906],{"type":16,"value":7907},"Barycentric coordinates of a fragment centroid",{"type":10,"tag":2290,"props":7909,"children":7911},{"name":7910,"type":7834},"BaryCoordSmoothSampleAMD",[7912],{"type":10,"tag":18,"props":7913,"children":7914},{},[7915],{"type":16,"value":7916},"Barycentric coordinates of a sample center",{"type":10,"tag":7104,"props":7918,"children":7920},{"id":7919},"interfaces-builtin-variables-baseinstance",[],{"type":10,"tag":2290,"props":7922,"children":7924},{"name":7923,"type":7834},"BaseInstance",[7925],{"type":10,"tag":18,"props":7926,"children":7927},{},[7928],{"type":16,"value":7929},"First instance being rendered",{"type":10,"tag":7104,"props":7931,"children":7933},{"id":7932},"interfaces-builtin-variables-basevertex",[],{"type":10,"tag":2290,"props":7935,"children":7937},{"name":7936,"type":7834},"BaseVertex",[7938],{"type":10,"tag":18,"props":7939,"children":7940},{},[7941],{"type":16,"value":7942},"First vertex being rendered",{"type":10,"tag":7104,"props":7944,"children":7946},{"id":7945},"interfaces-builtin-variables-clipdistance",[],{"type":10,"tag":2290,"props":7948,"children":7950},{"name":7949,"type":7834},"ClipDistance",[7951],{"type":10,"tag":18,"props":7952,"children":7953},{},[7954],{"type":16,"value":7955},"Application-specified clip distances",{"type":10,"tag":7104,"props":7957,"children":7959},{"id":7958},"interfaces-builtin-variables-clipdistancepv",[],{"type":10,"tag":2290,"props":7961,"children":7963},{"name":7962,"type":7834},"ClipDistancePerViewNV",[7964],{"type":10,"tag":18,"props":7965,"children":7966},{},[7967],{"type":16,"value":7968},"Application-specified clip distances per view",{"type":10,"tag":7104,"props":7970,"children":7972},{"id":7971},"interfaces-builtin-variables-clusteridhuawei",[],{"type":10,"tag":2290,"props":7974,"children":7976},{"name":7975,"type":7834},"ClusterIDHUAWEI",[7977],{"type":10,"tag":18,"props":7978,"children":7979},{},[7980],{"type":16,"value":7981},"cluster culling shader output variable",{"type":10,"tag":7104,"props":7983,"children":7985},{"id":7984},"interfaces-builtin-variables-clustershadingratehuawei",[],{"type":10,"tag":2290,"props":7987,"children":7989},{"name":7988,"type":7834},"ClusterShadingRateHUAWEI",[7990],{"type":10,"tag":18,"props":7991,"children":7992},{},[7993],{"type":16,"value":7981},{"type":10,"tag":7104,"props":7995,"children":7997},{"id":7996},"interfaces-builtin-variables-culldistance",[],{"type":10,"tag":2290,"props":7999,"children":8001},{"name":8000,"type":7834},"CullDistance",[8002],{"type":10,"tag":18,"props":8003,"children":8004},{},[8005],{"type":16,"value":8006},"Application-specified cull distances",{"type":10,"tag":7104,"props":8008,"children":8010},{"id":8009},"interfaces-builtin-variables-culldistancepv",[],{"type":10,"tag":2290,"props":8012,"children":8014},{"name":8013,"type":7834},"CullDistancePerViewNV",[8015],{"type":10,"tag":18,"props":8016,"children":8017},{},[8018],{"type":16,"value":8019},"Application-specified cull distances per view",{"type":10,"tag":7104,"props":8021,"children":8023},{"id":8022},"interfaces-builtin-variables-cullprimitive",[],{"type":10,"tag":2290,"props":8025,"children":8027},{"name":8026,"type":7834},"CullPrimitiveEXT",[8028],{"type":10,"tag":18,"props":8029,"children":8030},{},[8031],{"type":16,"value":8032},"Application-specified culling state per primitive",{"type":10,"tag":7104,"props":8034,"children":8036},{"id":8035},"interfaces-builtin-variables-cullmask",[],{"type":10,"tag":2290,"props":8038,"children":8040},{"name":8039,"type":7834},"CullMaskKHR",[8041],{"type":10,"tag":18,"props":8042,"children":8043},{},[8044],{"type":16,"value":8045},"OpTrace specified ray cull mask",{"type":10,"tag":7104,"props":8047,"children":8049},{"id":8048},"interfaces-builtin-variables-currentraytime",[],{"type":10,"tag":2290,"props":8051,"children":8053},{"name":8052,"type":7834},"CurrentRayTimeNV",[8054],{"type":10,"tag":18,"props":8055,"children":8056},{},[8057],{"type":16,"value":8058},"Time value of a ray intersection",{"type":10,"tag":7104,"props":8060,"children":8062},{"id":8061},"interfaces-builtin-variables-deviceindex",[],{"type":10,"tag":2290,"props":8064,"children":8066},{"name":8065,"type":7834},"DeviceIndex",[8067],{"type":10,"tag":18,"props":8068,"children":8069},{},[8070],{"type":16,"value":8071},"Index of the device executing the shader",{"type":10,"tag":7104,"props":8073,"children":8075},{"id":8074},"interfaces-builtin-variables-drawindex",[],{"type":10,"tag":2290,"props":8077,"children":8079},{"name":8078,"type":7834},"DrawIndex",[8080],{"type":10,"tag":18,"props":8081,"children":8082},{},[8083],{"type":16,"value":8084},"Index of the current draw",{"type":10,"tag":7104,"props":8086,"children":8088},{"id":8087},"interfaces-builtin-variables-firstindexhuawei",[],{"type":10,"tag":2290,"props":8090,"children":8092},{"name":8091,"type":7834},"FirstIndexHUAWEI",[8093],{"type":10,"tag":18,"props":8094,"children":8095},{},[8096],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8098,"children":8100},{"id":8099},"interfaces-builtin-variables-fragcoord",[],{"type":10,"tag":2290,"props":8102,"children":8104},{"name":8103,"type":7834},"FragCoord",[8105],{"type":10,"tag":18,"props":8106,"children":8107},{},[8108],{"type":16,"value":8109},"Screen-space coordinate of the fragment center",{"type":10,"tag":7104,"props":8111,"children":8113},{"id":8112},"interfaces-builtin-variables-fragdepth",[],{"type":10,"tag":2290,"props":8115,"children":8117},{"name":8116,"type":7834},"FragDepth",[8118],{"type":10,"tag":18,"props":8119,"children":8120},{},[8121],{"type":16,"value":8122},"Application-specified depth for depth testing",{"type":10,"tag":7104,"props":8124,"children":8126},{"id":8125},"interfaces-builtin-variables-firstinstancehuawei",[],{"type":10,"tag":2290,"props":8128,"children":8130},{"name":8129,"type":7834},"FirstInstanceHUAWEI",[8131],{"type":10,"tag":18,"props":8132,"children":8133},{},[8134],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8136,"children":8138},{"id":8137},"interfaces-builtin-variables-firstvertexhuawei",[],{"type":10,"tag":2290,"props":8140,"children":8142},{"name":8141,"type":7834},"FirstVertexHUAWEI",[8143],{"type":10,"tag":18,"props":8144,"children":8145},{},[8146],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8148,"children":8150},{"id":8149},"interfaces-builtin-variables-fraginvocationcount",[],{"type":10,"tag":2290,"props":8152,"children":8154},{"name":8153,"type":7834},"FragInvocationCountEXT",[8155],{"type":10,"tag":18,"props":8156,"children":8157},{},[8158],{"type":16,"value":8159},"Number of fragment shader invocations for a fragment",{"type":10,"tag":7104,"props":8161,"children":8163},{"id":8162},"interfaces-builtin-variables-fragsize",[],{"type":10,"tag":2290,"props":8165,"children":8167},{"name":8166,"type":7834},"FragSizeEXT",[8168],{"type":10,"tag":18,"props":8169,"children":8170},{},[8171],{"type":16,"value":8172},"Size of the screen-space area covered by the fragment",{"type":10,"tag":7104,"props":8174,"children":8176},{"id":8175},"interfaces-builtin-variables-fragstencilref",[],{"type":10,"tag":2290,"props":8178,"children":8180},{"name":8179,"type":7834},"FragStencilRefEXT",[8181],{"type":10,"tag":18,"props":8182,"children":8183},{},[8184],{"type":16,"value":8185},"Application-specified stencil reference value used in stencil tests",{"type":10,"tag":2290,"props":8187,"children":8189},{"name":8188,"type":7834},"FragmentSizeNV",[8190],{"type":10,"tag":18,"props":8191,"children":8192},{},[8193],{"type":16,"value":8172},{"type":10,"tag":7104,"props":8195,"children":8197},{"id":8196},"interfaces-builtin-variables-frontfacing",[],{"type":10,"tag":2290,"props":8199,"children":8201},{"name":8200,"type":7834},"FrontFacing",[8202],{"type":10,"tag":18,"props":8203,"children":8204},{},[8205],{"type":16,"value":8206},"Front face determination of a fragment",{"type":10,"tag":7104,"props":8208,"children":8210},{"id":8209},"interfaces-builtin-variables-fullycoveredext",[],{"type":10,"tag":2290,"props":8212,"children":8214},{"name":8213,"type":7834},"FullyCoveredEXT",[8215],{"type":10,"tag":18,"props":8216,"children":8217},{},[8218],{"type":16,"value":8219},"Indication of whether a fragment is fully covered",{"type":10,"tag":7104,"props":8221,"children":8223},{"id":8222},"interfaces-builtin-variables-globalinvocationid",[],{"type":10,"tag":2290,"props":8225,"children":8227},{"name":8226,"type":7834},"GlobalInvocationId",[8228],{"type":10,"tag":18,"props":8229,"children":8230},{},[8231],{"type":16,"value":8232},"Global invocation ID",{"type":10,"tag":7104,"props":8234,"children":8236},{"id":8235},"interfaces-builtin-variables-helperinvocation",[],{"type":10,"tag":2290,"props":8238,"children":8240},{"name":8239,"type":7834},"HelperInvocation",[8241],{"type":10,"tag":18,"props":8242,"children":8243},{},[8244],{"type":16,"value":8245},"Indication of whether a fragment shader is a helper invocation",{"type":10,"tag":7104,"props":8247,"children":8249},{"id":8248},"interfaces-builtin-variables-hitkind",[],{"type":10,"tag":2290,"props":8251,"children":8253},{"name":8252,"type":7834},"HitKindKHR",[8254],{"type":10,"tag":18,"props":8255,"children":8256},{},[8257],{"type":16,"value":8258},"Kind of hit that triggered an any-hit or closest hit ray shader",{"type":10,"tag":7104,"props":8260,"children":8262},{"id":8261},"interfaces-builtin-variables-hitt",[],{"type":10,"tag":2290,"props":8264,"children":8266},{"name":8265,"type":7834},"HitTNV",[8267],{"type":10,"tag":18,"props":8268,"children":8269},{},[8270],{"type":16,"value":8271},"T value of a ray intersection",{"type":10,"tag":7104,"props":8273,"children":8275},{"id":8274},"interfaces-builtin-variables-hittrianglevertexpositions",[],{"type":10,"tag":2290,"props":8277,"children":8279},{"name":8278,"type":7834},"HitTriangleVertexPositionsKHR",[8280],{"type":10,"tag":18,"props":8281,"children":8282},{},[8283],{"type":16,"value":8284},"Vertices of an intersected triangle",{"type":10,"tag":7104,"props":8286,"children":8288},{"id":8287},"interfaces-builtin-variables-incomingrayflags",[],{"type":10,"tag":2290,"props":8290,"children":8292},{"name":8291,"type":7834},"IncomingRayFlagsKHR",[8293],{"type":10,"tag":18,"props":8294,"children":8295},{},[8296],{"type":16,"value":8297},"Flags used to trace a ray",{"type":10,"tag":7104,"props":8299,"children":8301},{"id":8300},"interfaces-builtin-variables-indexcounthuawei",[],{"type":10,"tag":2290,"props":8303,"children":8305},{"name":8304,"type":7834},"IndexCountHUAWEI",[8306],{"type":10,"tag":18,"props":8307,"children":8308},{},[8309],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8311,"children":8313},{"id":8312},"interfaces-builtin-variables-instancecounthuawei",[],{"type":10,"tag":2290,"props":8315,"children":8317},{"name":8316,"type":7834},"InstanceCountHUAWEI",[8318],{"type":10,"tag":18,"props":8319,"children":8320},{},[8321],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8323,"children":8325},{"id":8324},"interfaces-builtin-variables-instancecustomindex",[],{"type":10,"tag":2290,"props":8327,"children":8329},{"name":8328,"type":7834},"InstanceCustomIndexKHR",[8330],{"type":10,"tag":18,"props":8331,"children":8332},{},[8333],{"type":16,"value":8334},"Custom index associated with an intersected instance",{"type":10,"tag":7104,"props":8336,"children":8338},{"id":8337},"interfaces-builtin-variables-instanceid",[],{"type":10,"tag":2290,"props":8340,"children":8342},{"name":8341,"type":7834},"InstanceId",[8343],{"type":10,"tag":18,"props":8344,"children":8345},{},[8346],{"type":16,"value":8347},"Id associated with an intersected instance",{"type":10,"tag":7104,"props":8349,"children":8351},{"id":8350},"interfaces-builtin-variables-invocationid",[],{"type":10,"tag":2290,"props":8353,"children":8355},{"name":8354,"type":7834},"InvocationId",[8356],{"type":10,"tag":18,"props":8357,"children":8358},{},[8359],{"type":16,"value":8360},"Invocation ID in a geometry or tessellation control shader",{"type":10,"tag":2290,"props":8362,"children":8364},{"name":8363,"type":7834},"InvocationsPerPixelNV",[8365],{"type":10,"tag":18,"props":8366,"children":8367},{},[8368],{"type":16,"value":8369},"Number of fragment shader invocations for the current pixel",{"type":10,"tag":7104,"props":8371,"children":8373},{"id":8372},"interfaces-builtin-variables-instanceindex",[],{"type":10,"tag":2290,"props":8375,"children":8377},{"name":8376,"type":7834},"InstanceIndex",[8378],{"type":10,"tag":18,"props":8379,"children":8380},{},[8381],{"type":16,"value":8382},"Index of an instance",{"type":10,"tag":7104,"props":8384,"children":8386},{"id":8385},"interfaces-builtin-variables-launchid",[],{"type":10,"tag":2290,"props":8388,"children":8390},{"name":8389,"type":7834},"LaunchIdKHR",[8391],{"type":10,"tag":18,"props":8392,"children":8393},{},[8394],{"type":16,"value":8395},"Launch Id for ray shaders",{"type":10,"tag":7104,"props":8397,"children":8399},{"id":8398},"interfaces-builtin-variables-launchsize",[],{"type":10,"tag":2290,"props":8401,"children":8403},{"name":8402,"type":7834},"LaunchSizeKHR",[8404],{"type":10,"tag":18,"props":8405,"children":8406},{},[8407],{"type":16,"value":8408},"Launch dimensions for ray shaders",{"type":10,"tag":7104,"props":8410,"children":8412},{"id":8411},"interfaces-builtin-variables-layer",[],{"type":10,"tag":2290,"props":8414,"children":8416},{"name":8415,"type":7834},"Layer",[8417],{"type":10,"tag":18,"props":8418,"children":8419},{},[8420],{"type":16,"value":8421},"Layer index for layered rendering",{"type":10,"tag":7104,"props":8423,"children":8425},{"id":8424},"interfaces-builtin-variables-layerpv",[],{"type":10,"tag":2290,"props":8427,"children":8429},{"name":8428,"type":7834},"LayerPerViewNV",[8430],{"type":10,"tag":18,"props":8431,"children":8432},{},[8433],{"type":16,"value":8434},"Layer index per view for layered rendering",{"type":10,"tag":7104,"props":8436,"children":8438},{"id":8437},"interfaces-builtin-variables-localinvocationid",[],{"type":10,"tag":2290,"props":8440,"children":8442},{"name":8441,"type":7834},"LocalInvocationId",[8443],{"type":10,"tag":18,"props":8444,"children":8445},{},[8446],{"type":16,"value":8447},"Local invocation ID",{"type":10,"tag":7104,"props":8449,"children":8451},{"id":8450},"interfaces-builtin-variables-localinvocationindex",[],{"type":10,"tag":2290,"props":8453,"children":8455},{"name":8454,"type":7834},"LocalInvocationIndex",[8456],{"type":10,"tag":18,"props":8457,"children":8458},{},[8459],{"type":16,"value":8460},"Linear local invocation index",{"type":10,"tag":7104,"props":8462,"children":8464},{"id":8463},"interfaces-builtin-variables-meshviewcount",[],{"type":10,"tag":2290,"props":8466,"children":8468},{"name":8467,"type":7834},"MeshViewCountNV",[8469],{"type":10,"tag":18,"props":8470,"children":8471},{},[8472],{"type":16,"value":8473},"Number of views processed by a mesh or task shader",{"type":10,"tag":7104,"props":8475,"children":8477},{"id":8476},"interfaces-builtin-variables-meshviewindices",[],{"type":10,"tag":2290,"props":8479,"children":8481},{"name":8480,"type":7834},"MeshViewIndicesNV",[8482],{"type":10,"tag":18,"props":8483,"children":8484},{},[8485],{"type":16,"value":8486},"Indices of views processed by a mesh or task shader",{"type":10,"tag":7104,"props":8488,"children":8490},{"id":8489},"interfaces-builtin-variables-numworkgroups",[],{"type":10,"tag":2290,"props":8492,"children":8494},{"name":8493,"type":7834},"NumWorkgroups",[8495],{"type":10,"tag":18,"props":8496,"children":8497},{},[8498],{"type":16,"value":8499},"Number of workgroups in a dispatch",{"type":10,"tag":7104,"props":8501,"children":8503},{"id":8502},"interfaces-builtin-variables-objectraydirection",[],{"type":10,"tag":2290,"props":8505,"children":8507},{"name":8506,"type":7834},"ObjectRayDirectionKHR",[8508],{"type":10,"tag":18,"props":8509,"children":8510},{},[8511],{"type":16,"value":8512},"Ray direction in object space",{"type":10,"tag":7104,"props":8514,"children":8516},{"id":8515},"interfaces-builtin-variables-objectrayorigin",[],{"type":10,"tag":2290,"props":8518,"children":8520},{"name":8519,"type":7834},"ObjectRayOriginKHR",[8521],{"type":10,"tag":18,"props":8522,"children":8523},{},[8524],{"type":16,"value":8525},"Ray origin in object space",{"type":10,"tag":7104,"props":8527,"children":8529},{"id":8528},"interfaces-builtin-variables-objecttoworld",[],{"type":10,"tag":2290,"props":8531,"children":8533},{"name":8532,"type":7834},"ObjectToWorldKHR",[8534],{"type":10,"tag":18,"props":8535,"children":8536},{},[8537],{"type":16,"value":8538},"Transformation matrix from object to world space",{"type":10,"tag":7104,"props":8540,"children":8542},{"id":8541},"interfaces-builtin-variables-patchvertices",[],{"type":10,"tag":2290,"props":8544,"children":8546},{"name":8545,"type":7834},"PatchVertices",[8547],{"type":10,"tag":18,"props":8548,"children":8549},{},[8550],{"type":16,"value":8551},"Number of vertices in an input patch",{"type":10,"tag":7104,"props":8553,"children":8555},{"id":8554},"interfaces-builtin-variables-pointcoord",[],{"type":10,"tag":2290,"props":8557,"children":8559},{"name":8558,"type":7834},"PointCoord",[8560],{"type":10,"tag":18,"props":8561,"children":8562},{},[8563],{"type":16,"value":8564},"Fragment coordinates in screen-space within a point primitive",{"type":10,"tag":7104,"props":8566,"children":8568},{"id":8567},"interfaces-builtin-variables-pointsize",[],{"type":10,"tag":2290,"props":8570,"children":8572},{"name":8571,"type":7834},"PointSize",[8573],{"type":10,"tag":18,"props":8574,"children":8575},{},[8576],{"type":16,"value":8577},"Size of a point primitive",{"type":10,"tag":7104,"props":8579,"children":8581},{"id":8580},"interfaces-builtin-variables-position",[],{"type":10,"tag":2290,"props":8583,"children":8585},{"name":8584,"type":7834},"Position",[8586],{"type":10,"tag":18,"props":8587,"children":8588},{},[8589],{"type":16,"value":8590},"Vertex position",{"type":10,"tag":7104,"props":8592,"children":8594},{"id":8593},"interfaces-builtin-variables-positionperview",[],{"type":10,"tag":2290,"props":8596,"children":8598},{"name":8597,"type":7834},"PositionPerViewNV",[8599],{"type":10,"tag":18,"props":8600,"children":8601},{},[8602],{"type":16,"value":8603},"Vertex position per view",{"type":10,"tag":7104,"props":8605,"children":8607},{"id":8606},"interfaces-builtin-variables-primitivecount",[],{"type":10,"tag":2290,"props":8609,"children":8611},{"name":8610,"type":7834},"PrimitiveCountNV",[8612],{"type":10,"tag":18,"props":8613,"children":8614},{},[8615],{"type":16,"value":8616},"Number of primitives output by a mesh shader",{"type":10,"tag":7104,"props":8618,"children":8620},{"id":8619},"interfaces-builtin-variables-primitiveid",[],{"type":10,"tag":2290,"props":8622,"children":8624},{"name":8623,"type":7834},"PrimitiveId",[8625],{"type":10,"tag":18,"props":8626,"children":8627},{},[8628],{"type":16,"value":8629},"Primitive ID",{"type":10,"tag":7104,"props":8631,"children":8633},{"id":8632},"interfaces-builtin-variables-primitiveindices",[],{"type":10,"tag":2290,"props":8635,"children":8637},{"name":8636,"type":7834},"PrimitiveIndicesNV",[8638],{"type":10,"tag":18,"props":8639,"children":8640},{},[8641],{"type":16,"value":8642},"Indices of primitives in a mesh shader",{"type":10,"tag":7104,"props":8644,"children":8646},{"id":8645},"interfaces-builtin-variables-primitivepointindices",[],{"type":10,"tag":2290,"props":8648,"children":8650},{"name":8649,"type":7834},"PrimitivePointIndicesEXT",[8651],{"type":10,"tag":18,"props":8652,"children":8653},{},[8654],{"type":16,"value":8655},"Indices of point primitives in a mesh shader",{"type":10,"tag":7104,"props":8657,"children":8659},{"id":8658},"interfaces-builtin-variables-primitivelineindices",[],{"type":10,"tag":2290,"props":8661,"children":8663},{"name":8662,"type":7834},"PrimitiveLineIndicesEXT",[8664],{"type":10,"tag":18,"props":8665,"children":8666},{},[8667],{"type":16,"value":8668},"Indices of line primitives in a mesh shader",{"type":10,"tag":7104,"props":8670,"children":8672},{"id":8671},"interfaces-builtin-variables-primitivetriangleindices",[],{"type":10,"tag":2290,"props":8674,"children":8676},{"name":8675,"type":7834},"PrimitiveTriangleIndicesEXT",[8677],{"type":10,"tag":18,"props":8678,"children":8679},{},[8680],{"type":16,"value":8681},"Indices of triangle primitives in a mesh shader",{"type":10,"tag":7104,"props":8683,"children":8685},{"id":8684},"interfaces-builtin-variables-primitiveshadingrate",[],{"type":10,"tag":2290,"props":8687,"children":8689},{"name":8688,"type":7834},"PrimitiveShadingRateKHR",[8690],{"type":10,"tag":18,"props":8691,"children":8692},{},[8693],{"type":16,"value":8694},"Primitive contribution to fragment shading rate",{"type":10,"tag":7104,"props":8696,"children":8698},{"id":8697},"interfaces-builtin-variables-raygeometryindex",[],{"type":10,"tag":2290,"props":8700,"children":8702},{"name":8701,"type":7834},"RayGeometryIndexKHR",[8703],{"type":10,"tag":18,"props":8704,"children":8705},{},[8706],{"type":16,"value":8707},"Geometry index in a ray shader",{"type":10,"tag":7104,"props":8709,"children":8711},{"id":8710},"interfaces-builtin-variables-raytmax",[],{"type":10,"tag":2290,"props":8713,"children":8715},{"name":8714,"type":7834},"RayTmaxKHR",[8716],{"type":10,"tag":18,"props":8717,"children":8718},{},[8719],{"type":16,"value":8720},"Maximum T value of a ray",{"type":10,"tag":7104,"props":8722,"children":8724},{"id":8723},"interfaces-builtin-variables-raytmin",[],{"type":10,"tag":2290,"props":8726,"children":8728},{"name":8727,"type":7834},"RayTminKHR",[8729],{"type":10,"tag":18,"props":8730,"children":8731},{},[8732],{"type":16,"value":8733},"Minimum T value of a ray",{"type":10,"tag":7104,"props":8735,"children":8737},{"id":8736},"interfaces-builtin-variables-sampleid",[],{"type":10,"tag":2290,"props":8739,"children":8741},{"name":8740,"type":7834},"SampleId",[8742],{"type":10,"tag":18,"props":8743,"children":8744},{},[8745],{"type":16,"value":8746},"Sample ID within a fragment",{"type":10,"tag":7104,"props":8748,"children":8750},{"id":8749},"interfaces-builtin-variables-samplemask",[],{"type":10,"tag":2290,"props":8752,"children":8754},{"name":8753,"type":7834},"SampleMask",[8755],{"type":10,"tag":18,"props":8756,"children":8757},{},[8758],{"type":16,"value":8759},"Coverage mask for a fragment shader invocation",{"type":10,"tag":7104,"props":8761,"children":8763},{"id":8762},"interfaces-builtin-variables-sampleposition",[],{"type":10,"tag":2290,"props":8765,"children":8767},{"name":8766,"type":7834},"SamplePosition",[8768],{"type":10,"tag":18,"props":8769,"children":8770},{},[8771],{"type":16,"value":8772},"Position of a shaded sample",{"type":10,"tag":7104,"props":8774,"children":8776},{"id":8775},"interfaces-builtin-variables-shadingratekhr",[],{"type":10,"tag":2290,"props":8778,"children":8780},{"name":8779,"type":7834},"ShadingRateKHR",[8781],{"type":10,"tag":18,"props":8782,"children":8783},{},[8784],{"type":16,"value":8785},"Shading rate of a fragment",{"type":10,"tag":7104,"props":8787,"children":8789},{"id":8788},"interfaces-builtin-variables-smcountnv",[],{"type":10,"tag":2290,"props":8791,"children":8793},{"name":8792,"type":7834},"SMCountNV",[8794],{"type":10,"tag":18,"props":8795,"children":8796},{},[8797],{"type":16,"value":8798},"Number of SMs on the device",{"type":10,"tag":7104,"props":8800,"children":8802},{"id":8801},"interfaces-builtin-variables-smidnv",[],{"type":10,"tag":2290,"props":8804,"children":8806},{"name":8805,"type":7834},"SMIDNV",[8807],{"type":10,"tag":18,"props":8808,"children":8809},{},[8810],{"type":16,"value":8811},"SM ID on which a shader invocation is running",{"type":10,"tag":7104,"props":8813,"children":8815},{"id":8814},"interfaces-builtin-variables-sgeq",[],{"type":10,"tag":2290,"props":8817,"children":8819},{"name":8818,"type":7834},"SubgroupEqMask",[8820],{"type":10,"tag":18,"props":8821,"children":8822},{},[8823],{"type":16,"value":8824},"Mask of shader invocations in a subgroup with the same subgroup local invocation ID",{"type":10,"tag":7104,"props":8826,"children":8828},{"id":8827},"interfaces-builtin-variables-sgge",[],{"type":10,"tag":2290,"props":8830,"children":8832},{"name":8831,"type":7834},"SubgroupGeMask",[8833],{"type":10,"tag":18,"props":8834,"children":8835},{},[8836],{"type":16,"value":8837},"Mask of shader invocations in a subgroup with the same or higher subgroup local invocation ID",{"type":10,"tag":7104,"props":8839,"children":8841},{"id":8840},"interfaces-builtin-variables-sggt",[],{"type":10,"tag":2290,"props":8843,"children":8845},{"name":8844,"type":7834},"SubgroupGtMask",[8846],{"type":10,"tag":18,"props":8847,"children":8848},{},[8849],{"type":16,"value":8850},"Mask of shader invocations in a subgroup with a higher subgroup local invocation ID",{"type":10,"tag":7104,"props":8852,"children":8854},{"id":8853},"interfaces-builtin-variables-sgle",[],{"type":10,"tag":2290,"props":8856,"children":8858},{"name":8857,"type":7834},"SubgroupLeMask",[8859],{"type":10,"tag":18,"props":8860,"children":8861},{},[8862],{"type":16,"value":8863},"Mask of shader invocations in a subgroup with the same or lower subgroup local invocation ID",{"type":10,"tag":7104,"props":8865,"children":8867},{"id":8866},"interfaces-builtin-variables-sglt",[],{"type":10,"tag":2290,"props":8869,"children":8871},{"name":8870,"type":7834},"SubgroupLtMask",[8872],{"type":10,"tag":18,"props":8873,"children":8874},{},[8875],{"type":16,"value":8876},"Mask of shader invocations in a subgroup with a lower subgroup local invocation ID",{"type":10,"tag":7104,"props":8878,"children":8880},{"id":8879},"interfaces-builtin-variables-sgli",[],{"type":10,"tag":2290,"props":8882,"children":8884},{"name":8883,"type":7834},"SubgroupLocalInvocationId",[8885],{"type":10,"tag":18,"props":8886,"children":8887},{},[8888],{"type":16,"value":8889},"ID of the invocation within a subgroup",{"type":10,"tag":7104,"props":8891,"children":8893},{"id":8892},"interfaces-builtin-variables-sgs",[],{"type":10,"tag":2290,"props":8895,"children":8897},{"name":8896,"type":7834},"SubgroupSize",[8898],{"type":10,"tag":18,"props":8899,"children":8900},{},[8901],{"type":16,"value":8902},"Size of a subgroup",{"type":10,"tag":7104,"props":8904,"children":8906},{"id":8905},"interfaces-builtin-variables-taskcount",[],{"type":10,"tag":2290,"props":8908,"children":8910},{"name":8909,"type":7834},"TaskCountNV",[8911],{"type":10,"tag":18,"props":8912,"children":8913},{},[8914],{"type":16,"value":8915},"Number of mesh shader workgroups that will be generated",{"type":10,"tag":7104,"props":8917,"children":8919},{"id":8918},"interfaces-builtin-variables-tesscoord",[],{"type":10,"tag":2290,"props":8921,"children":8923},{"name":8922,"type":7834},"TessCoord",[8924],{"type":10,"tag":18,"props":8925,"children":8926},{},[8927],{"type":16,"value":8928},"Barycentric coordinate of a tessellated vertex within a patch",{"type":10,"tag":7104,"props":8930,"children":8932},{"id":8931},"interfaces-builtin-variables-tesslevelouter",[],{"type":10,"tag":2290,"props":8934,"children":8936},{"name":8935,"type":7834},"TessLevelOuter",[8937],{"type":10,"tag":18,"props":8938,"children":8939},{},[8940],{"type":16,"value":8941},"Outer tessellation levels",{"type":10,"tag":7104,"props":8943,"children":8945},{"id":8944},"interfaces-builtin-variables-tesslevelinner",[],{"type":10,"tag":2290,"props":8947,"children":8949},{"name":8948,"type":7834},"TessLevelInner",[8950],{"type":10,"tag":18,"props":8951,"children":8952},{},[8953],{"type":16,"value":8954},"Inner tessellation levels",{"type":10,"tag":7104,"props":8956,"children":8958},{"id":8957},"interfaces-builtin-variables-vertexcounthuawei",[],{"type":10,"tag":2290,"props":8960,"children":8962},{"name":8961,"type":7834},"VertexCountHUAWEI",[8963],{"type":10,"tag":18,"props":8964,"children":8965},{},[8966],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8968,"children":8970},{"id":8969},"interfaces-builtin-variables-vertexindex",[],{"type":10,"tag":2290,"props":8972,"children":8974},{"name":8973,"type":7834},"VertexIndex",[8975],{"type":10,"tag":18,"props":8976,"children":8977},{},[8978],{"type":16,"value":8979},"Vertex index of a shader invocation",{"type":10,"tag":7104,"props":8981,"children":8983},{"id":8982},"interfaces-builtin-variables-vertexoffsethuawei",[],{"type":10,"tag":2290,"props":8985,"children":8987},{"name":8986,"type":7834},"VertexOffsetHUAWEI",[8988],{"type":10,"tag":18,"props":8989,"children":8990},{},[8991],{"type":16,"value":7981},{"type":10,"tag":7104,"props":8993,"children":8995},{"id":8994},"interfaces-builtin-variables-viewindex",[],{"type":10,"tag":2290,"props":8997,"children":8999},{"name":8998,"type":7834},"ViewIndex",[9000],{"type":10,"tag":18,"props":9001,"children":9002},{},[9003],{"type":16,"value":9004},"View index of a shader invocation",{"type":10,"tag":7104,"props":9006,"children":9008},{"id":9007},"interfaces-builtin-variables-viewportindex",[],{"type":10,"tag":2290,"props":9010,"children":9012},{"name":9011,"type":7834},"ViewportIndex",[9013],{"type":10,"tag":18,"props":9014,"children":9015},{},[9016],{"type":16,"value":9017},"Viewport index used",{"type":10,"tag":7104,"props":9019,"children":9021},{"id":9020},"interfaces-builtin-variables-viewportmask",[],{"type":10,"tag":2290,"props":9023,"children":9025},{"name":9024,"type":7834},"ViewportMaskNV",[9026],{"type":10,"tag":18,"props":9027,"children":9028},{},[9029],{"type":16,"value":9030},"Mask of the viewports used",{"type":10,"tag":7104,"props":9032,"children":9034},{"id":9033},"interfaces-builtin-variables-viewportmaskperview",[],{"type":10,"tag":2290,"props":9036,"children":9038},{"name":9037,"type":7834},"ViewportMaskPerViewNV",[9039],{"type":10,"tag":18,"props":9040,"children":9041},{},[9042],{"type":16,"value":9043},"Mask of viewports broadcast to per view",{"type":10,"tag":7104,"props":9045,"children":9047},{"id":9046},"interfaces-builtin-variables-warpspersmnv",[],{"type":10,"tag":2290,"props":9049,"children":9051},{"name":9050,"type":7834},"WarpsPerSMNV",[9052],{"type":10,"tag":18,"props":9053,"children":9054},{},[9055],{"type":16,"value":9056},"Number of warps per SM",{"type":10,"tag":7104,"props":9058,"children":9060},{"id":9059},"interfaces-builtin-variables-warpidnv",[],{"type":10,"tag":2290,"props":9062,"children":9064},{"name":9063,"type":7834},"WarpIDNV",[9065],{"type":10,"tag":18,"props":9066,"children":9067},{},[9068],{"type":16,"value":9069},"Warp ID within an SM of a shader invocation",{"type":10,"tag":7104,"props":9071,"children":9073},{"id":9072},"interfaces-builtin-variables-workgroupid",[],{"type":10,"tag":2290,"props":9075,"children":9077},{"name":9076,"type":7834},"WorkgroupId",[9078],{"type":10,"tag":18,"props":9079,"children":9080},{},[9081],{"type":16,"value":9082},"Workgroup ID of a shader",{"type":10,"tag":7104,"props":9084,"children":9086},{"id":9085},"interfaces-builtin-variables-workgroupsize",[],{"type":10,"tag":2290,"props":9088,"children":9090},{"name":9089,"type":7834},"WorkgroupSize",[9091],{"type":10,"tag":18,"props":9092,"children":9093},{},[9094],{"type":16,"value":9095},"Size of a workgroup",{"type":10,"tag":7104,"props":9097,"children":9099},{"id":9098},"interfaces-builtin-variables-worldraydirection",[],{"type":10,"tag":2290,"props":9101,"children":9103},{"name":9102,"type":7834},"WorldRayDirectionKHR",[9104],{"type":10,"tag":18,"props":9105,"children":9106},{},[9107],{"type":16,"value":9108},"Ray direction in world space",{"type":10,"tag":7104,"props":9110,"children":9112},{"id":9111},"interfaces-builtin-variables-worldrayorigin",[],{"type":10,"tag":2290,"props":9114,"children":9116},{"name":9115,"type":7834},"WorldRayOriginKHR",[9117],{"type":10,"tag":18,"props":9118,"children":9119},{},[9120],{"type":16,"value":9121},"Ray origin in world space",{"type":10,"tag":7104,"props":9123,"children":9125},{"id":9124},"interfaces-builtin-variables-worldtoobject",[],{"type":10,"tag":2290,"props":9127,"children":9129},{"name":9128,"type":7834},"WorldToObjectKHR",[9130],{"type":10,"tag":18,"props":9131,"children":9132},{},[9133],{"type":16,"value":9134},"Transformation matrix from world to object space",{"type":10,"tag":7104,"props":9136,"children":9138},{"id":9137},"interfaces-builtin-variables-corecountarm",[],{"type":10,"tag":2290,"props":9140,"children":9142},{"name":9141,"type":7834},"CoreCountARM",[9143],{"type":10,"tag":18,"props":9144,"children":9145},{},[9146],{"type":16,"value":9147},"Number of cores on the device",{"type":10,"tag":7104,"props":9149,"children":9151},{"id":9150},"interfaces-builtin-variables-coremaxidarm",[],{"type":10,"tag":2290,"props":9153,"children":9155},{"name":9154,"type":7834},"CoreMaxIDARM",[9156],{"type":10,"tag":18,"props":9157,"children":9158},{},[9159],{"type":16,"value":9160},"Max core ID that can be observed on the device running the invovation reading CoreMaxIDARM",{"type":10,"tag":7104,"props":9162,"children":9164},{"id":9163},"interfaces-builtin-variables-coreidarm",[],{"type":10,"tag":2290,"props":9166,"children":9168},{"name":9167,"type":7834},"CoreIDARM",[9169],{"type":10,"tag":18,"props":9170,"children":9171},{},[9172],{"type":16,"value":9173},"Core ID on which a shader invocation is running",{"type":10,"tag":7104,"props":9175,"children":9177},{"id":9176},"interfaces-builtin-variables-warpmaxidarm",[],{"type":10,"tag":2290,"props":9179,"children":9181},{"name":9180,"type":7834},"WarpMaxIDARM",[9182],{"type":10,"tag":18,"props":9183,"children":9184},{},[9185],{"type":16,"value":9186},"Max ID for a warp on the core running a shader invovation",{"type":10,"tag":7104,"props":9188,"children":9190},{"id":9189},"interfaces-builtin-variables-warpidarm",[],{"type":10,"tag":2290,"props":9192,"children":9194},{"name":9193,"type":7834},"WarpIDARM",[9195],{"type":10,"tag":18,"props":9196,"children":9197},{},[9198],{"type":16,"value":9199},"Warp ID within a core of a shader invocation",{"type":10,"tag":7104,"props":9201,"children":9203},{"id":9202},"interfaces-builtin-variables-coalescedinputcountamd",[],{"type":10,"tag":2290,"props":9205,"children":9207},{"name":9206,"type":7834},"CoalescedInputCountAMDX",[9208],{"type":10,"tag":18,"props":9209,"children":9210},{},[9211],{"type":16,"value":9212},"Number of inputs coalesced for a coalescing node in a work graph",{"type":10,"tag":2290,"props":9214,"children":9216},{"name":9215,"type":7834},"ShaderIndexAMDX",[9217],{"type":10,"tag":18,"props":9218,"children":9219},{},[9220],{"type":16,"value":9221},"Index assigned to the shader within the workgraph",{"title":9223,"searchDepth":5781,"depth":5781,"links":9224},"",[9225,9233,9234,9235,9236,9237,9240,9241,9247],{"id":190,"depth":5781,"text":193,"children":9226},[9227,9229,9230,9231,9232],{"id":268,"depth":9228,"text":271},3,{"id":384,"depth":9228,"text":387},{"id":477,"depth":9228,"text":480},{"id":861,"depth":9228,"text":864},{"id":1713,"depth":9228,"text":1716},{"id":1915,"depth":5781,"text":55},{"id":2062,"depth":5781,"text":64},{"id":2482,"depth":5781,"text":2485},{"id":2580,"depth":5781,"text":73},{"id":2764,"depth":5781,"text":82,"children":9238},[9239],{"id":3071,"depth":9228,"text":3074},{"id":3122,"depth":5781,"text":91},{"id":3561,"depth":5781,"text":100,"children":9242},[9243,9244,9245,9246],{"id":3651,"depth":9228,"text":3654},{"id":3837,"depth":9228,"text":3840},{"id":6221,"depth":9228,"text":3914},{"id":7042,"depth":9228,"text":3735},{"id":7720,"depth":5781,"text":7723},"markdown","chapters-interfaces",[9251,9256,9260,9263,9266,9270,9273,9277,9281,9285,9289,9293,9297,9301,9304,9306,9310,9314,9318,9322,9326,9330,9334,9338,9342,9346,9350,9354,9358,9362,9366,9370,9374,9378,9382,9386,9390,9394,9398,9402,9406,9410,9414,9418,9422,9426,9430,9434,9438,9442,9446,9450,9453,9456,9459,9462,9465,9468,9471],{"index":9252,"title":9253,"id":9254,"appendix":9255},0,"Preamble","preamble",false,{"index":9257,"title":9258,"id":9259,"appendix":9255},1,"Introduction","introduction",{"index":5781,"title":9261,"id":9262,"appendix":9255},"Fundamentals","fundamentals",{"index":9228,"title":9264,"id":9265,"appendix":9255},"Initialization","initialization",{"index":9267,"title":9268,"id":9269,"appendix":9255},4,"Devices and Queues","devsandqueues",{"index":6727,"title":9271,"id":9272,"appendix":9255},"Command Buffers","commandbuffers",{"index":9274,"title":9275,"id":9276,"appendix":9255},6,"Synchronization and Cache Control","synchronization",{"index":9278,"title":9279,"id":9280,"appendix":9255},7,"Render Pass","renderpass",{"index":9282,"title":9283,"id":9284,"appendix":9255},8,"Shaders","shaders",{"index":9286,"title":9287,"id":9288,"appendix":9255},9,"Pipelines","pipelines",{"index":9290,"title":9291,"id":9292,"appendix":9255},10,"Memory Allocation","memory",{"index":9294,"title":9295,"id":9296,"appendix":9255},11,"Resource Creation","resources",{"index":9298,"title":9299,"id":9300,"appendix":9255},12,"Samplers","samplers",{"index":9302,"title":3574,"id":9303,"appendix":9255},13,"descriptorsets",{"index":9305,"title":4,"id":13,"appendix":9255},14,{"index":9307,"title":9308,"id":9309,"appendix":9255},15,"Image Operations","textures",{"index":9311,"title":9312,"id":9313,"appendix":9255},16,"Fragment Density Map Operations","fragmentdensitymapops",{"index":9315,"title":9316,"id":9317,"appendix":9255},17,"Queries","queries",{"index":9319,"title":9320,"id":9321,"appendix":9255},18,"Clear Commands","clears",{"index":9323,"title":9324,"id":9325,"appendix":9255},19,"Copy Commands","copies",{"index":9327,"title":9328,"id":9329,"appendix":9255},20,"Drawing Commands","drawing",{"index":9331,"title":9332,"id":9333,"appendix":9255},21,"Fixed-Function Vertex Processing","fxvertex",{"index":9335,"title":9336,"id":9337,"appendix":9255},22,"Tessellation","tessellation",{"index":9339,"title":9340,"id":9341,"appendix":9255},23,"Geometry Shading","geometry",{"index":9343,"title":9344,"id":9345,"appendix":9255},24,"Mesh Shading","mesh",{"index":9347,"title":9348,"id":9349,"appendix":9255},25,"Cluster Culling Shading","cluster-culling",{"index":9351,"title":9352,"id":9353,"appendix":9255},26,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":9355,"title":9356,"id":9357,"appendix":9255},27,"Rasterization","primsrast",{"index":9359,"title":9360,"id":9361,"appendix":9255},28,"Fragment Operations","fragops",{"index":9363,"title":9364,"id":9365,"appendix":9255},29,"The Framebuffer","framebuffer",{"index":9367,"title":9368,"id":9369,"appendix":9255},30,"Dispatching Commands","dispatch",{"index":9371,"title":9372,"id":9373,"appendix":9255},31,"Device-Generated Commands","device-generated-commands",{"index":9375,"title":9376,"id":9377,"appendix":9255},32,"Sparse Resources","sparsememory",{"index":9379,"title":9380,"id":9381,"appendix":9255},33,"Window System Integration (WSI)","wsi",{"index":9383,"title":9384,"id":9385,"appendix":9255},34,"Deferred Host Operations","deferred-host-operations",{"index":9387,"title":9388,"id":9389,"appendix":9255},35,"Private Data","private-data",{"index":9391,"title":9392,"id":9393,"appendix":9255},36,"Acceleration Structures","acceleration-structure",{"index":9395,"title":9396,"id":9397,"appendix":9255},37,"Micromap","micromap",{"index":9399,"title":9400,"id":9401,"appendix":9255},38,"Ray Traversal","ray-traversal",{"index":9403,"title":9404,"id":9405,"appendix":9255},39,"Ray Tracing","ray-tracing",{"index":9407,"title":9408,"id":9409,"appendix":9255},40,"Memory Decompression","memory-decompression",{"index":9411,"title":9412,"id":9413,"appendix":9255},41,"Video Coding","video-coding",{"index":9415,"title":9416,"id":9417,"appendix":9255},42,"Optical Flow","opticalflow",{"index":9419,"title":9420,"id":9421,"appendix":9255},43,"Execution Graphs","executiongraphs",{"index":9423,"title":9424,"id":9425,"appendix":9255},44,"Extending Vulkan","extendingvulkan",{"index":9427,"title":9428,"id":9429,"appendix":9255},45,"Features","features",{"index":9431,"title":9432,"id":9433,"appendix":9255},46,"Limits","limits",{"index":9435,"title":9436,"id":9437,"appendix":9255},47,"Formats","formats",{"index":9439,"title":9440,"id":9441,"appendix":9255},48,"Additional Capabilities","capabilities",{"index":9443,"title":9444,"id":9445,"appendix":9255},49,"Debugging","debugging",{"index":9252,"title":9447,"id":9448,"appendix":9449},"Vulkan Environment for SPIR-V","spirvenv",true,{"index":9257,"title":9451,"id":9452,"appendix":9449},"Memory Model","memory-model",{"index":5781,"title":9454,"id":9455,"appendix":9449},"Compressed Image Formats","compressed_image_formats",{"index":9228,"title":9457,"id":9458,"appendix":9449},"Core Revisions (Informative)","versions",{"index":9267,"title":9460,"id":9461,"appendix":9449},"Layers & Extensions (Informative)","extensions",{"index":6727,"title":9463,"id":9464,"appendix":9449},"API Boilerplate","boilerplate",{"index":9274,"title":9466,"id":9467,"appendix":9449},"Invariance","invariance",{"index":9278,"title":9469,"id":9470,"appendix":9449},"Lexicon","lexicon",{"index":9282,"title":9472,"id":9473,"appendix":9449},"Credits (Informative)","credits",[9475,9483,9487,9492,9496,9501,9504,9507,9510,9514,9518,9521,9524,9527,9529,9531,9534,9537,9541,9543,9547,9549,9552,9554,9557,9565,9569,9575,9579,9584,9586,9590,9596,9602,9608,9610,9613,9619,9622,9626,9632,9636,9640,9645,9649,9652,9655,9661,9664,9667,9671,9675,9679,9682,9684,9688,9693,9699,9702,9706,9709,9715,9718,9722,9725,9729,9732,9736,9739,9744,9748,9751,9756,9759,9762,9765,9769,9774,9779,9783,9787,9791,9795,9799,9803,9807,9810,9813,9817,9820,9823,9826,9830,9835,9839,9842,9846,9851,9855,9860,9863,9866,9871,9876,9880,9883,9887,9892,9895,9900,9905,9908,9911,9915,9919,9923,9928,9932,9935,9940,9944,9947,9951,9955,9959,9962,9964,9968,9971,9974,9977,9980,9983,9986,9989,9992,9995,9999,10003,10006,10009,10012,10015,10018,10021,10025,10029,10033,10036,10040,10043,10046,10049,10051,10055,10060,10064,10068,10070,10074,10077,10084,10088,10092,10096,10102,10105,10109,10113,10116,10119,10123,10128,10134,10138,10140,10145,10148,10153,10157,10162,10166,10170,10172,10175,10178,10180,10185,10188,10191,10196,10200,10204,10209,10213,10217,10219,10221,10224,10226,10229,10232,10236,10240,10242,10246,10249,10253,10256,10258,10261,10265,10267,10271,10274,10277,10280,10284,10287,10290,10292,10295,10297,10300,10304,10307,10309,10311,10313,10315,10319,10321,10324,10329,10333,10336,10338,10341,10343,10347,10350,10353,10356,10360,10363,10368,10372,10375,10379,10382,10385,10389,10393,10395,10400,10403,10407,10410,10413,10416,10418,10421,10425,10428,10432,10435,10439,10443,10446,10449,10452,10455,10459,10461,10464,10466,10471,10472,10476,10479,10482,10485,10488,10490,10494,10497,10500,10503,10507,10509,10511,10515,10517,10520,10524,10528,10530,10534,10537,10540,10543,10546,10550,10555,10560,10564,10570,10574,10577,10581,10585,10588,10592,10596,10599,10603,10606,10611,10615,10617,10623,10626,10629,10632,10636,10639,10643,10647,10651,10653,10656,10658,10661,10663,10665,10668,10671,10674,10677,10680,10683,10685,10689,10693,10697,10701,10704,10707,10711,10714,10718,10720,10724,10728,10731,10734,10737,10740,10743,10746,10749,10752,10755,10758,10761,10764,10767,10770,10774,10777,10781,10785,10788,10791,10794,10797,10800,10803,10807,10810,10813,10819,10823,10827,10831],{"number":9476,"type":9477,"author":9478,"provisional":9449,"depends":9479,"platform":9480,"contact":9481,"extension":9482,"proposal":9449},135,"device","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":9484,"type":9477,"author":9478,"provisional":9255,"contact":9485,"extension":9486,"proposal":9449},477,"Stu Smith","VK_AMD_anti_lag",{"number":9488,"type":9477,"author":9478,"provisional":9255,"specialuse":9489,"contact":9490,"extension":9491,"proposal":9255},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":9493,"type":9477,"author":9478,"provisional":9255,"depends":9494,"contact":9481,"extension":9495,"proposal":9255},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":9497,"type":9477,"author":9478,"provisional":9255,"depends":9498,"contact":9499,"extension":9500,"proposal":9255},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":9383,"type":9477,"author":9478,"promotedto":9502,"provisional":9255,"contact":9490,"extension":9503,"proposal":9255},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":9351,"type":9477,"author":9478,"provisional":9255,"contact":9505,"extension":9506,"proposal":9255},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":9395,"type":9477,"author":9478,"deprecatedby":9508,"provisional":9255,"contact":9505,"extension":9509,"proposal":9255},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":9511,"type":9477,"author":9478,"deprecatedby":9508,"provisional":9255,"contact":9512,"extension":9513,"proposal":9255},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":9515,"type":9477,"author":9478,"provisional":9255,"contact":9516,"extension":9517,"proposal":9255},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":9519,"type":9477,"author":9478,"provisional":9255,"contact":9499,"extension":9520,"proposal":9255},137,"VK_AMD_mixed_attachment_samples",{"number":9391,"type":9477,"author":9478,"obsoletedby":9522,"provisional":9255,"contact":9499,"extension":9523,"proposal":9255},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":9525,"type":9477,"author":9478,"provisional":9255,"contact":9499,"extension":9526,"proposal":9255},184,"VK_AMD_pipeline_compiler_control",{"number":9323,"type":9477,"author":9478,"provisional":9255,"contact":9490,"extension":9528,"proposal":9255},"VK_AMD_rasterization_order",{"number":9399,"type":9477,"author":9478,"provisional":9255,"contact":9505,"extension":9530,"proposal":9255},"VK_AMD_shader_ballot",{"number":9532,"type":9477,"author":9478,"provisional":9255,"depends":9494,"contact":9516,"extension":9533,"proposal":9255},186,"VK_AMD_shader_core_properties",{"number":9535,"type":9477,"author":9478,"provisional":9255,"depends":9533,"contact":9499,"extension":9536,"proposal":9255},228,"VK_AMD_shader_core_properties2",{"number":9538,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9481,"extension":9540,"proposal":9449},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":9335,"type":9477,"author":9478,"provisional":9255,"contact":9512,"extension":9542,"proposal":9255},"VK_AMD_shader_explicit_vertex_parameter",{"number":9544,"type":9477,"author":9478,"provisional":9255,"contact":9545,"extension":9546,"proposal":9255},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":9435,"type":9477,"author":9478,"provisional":9255,"contact":9505,"extension":9548,"proposal":9255},"VK_AMD_shader_image_load_store_lod",{"number":9419,"type":9477,"author":9478,"provisional":9255,"specialuse":9489,"contact":9550,"extension":9551,"proposal":9255},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":9331,"type":9477,"author":9478,"provisional":9255,"contact":9512,"extension":9553,"proposal":9255},"VK_AMD_shader_trinary_minmax",{"number":9415,"type":9477,"author":9478,"provisional":9255,"depends":9494,"contact":9555,"extension":9556,"proposal":9255},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":9558,"type":9477,"author":9559,"provisional":9255,"depends":9560,"platform":9561,"specialuse":9562,"contact":9563,"extension":9564,"proposal":9449},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":9566,"type":9477,"author":9559,"provisional":9255,"depends":9567,"platform":9561,"contact":9568,"extension":9560,"proposal":9255},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":9570,"type":9477,"author":9571,"promotedto":9572,"provisional":9255,"depends":9494,"contact":9573,"extension":9574,"proposal":9255},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":9576,"type":9477,"author":9571,"provisional":9255,"depends":9577,"contact":9573,"extension":9578,"proposal":9449},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":9580,"type":9477,"author":9571,"provisional":9255,"depends":9581,"contact":9582,"extension":9583,"proposal":9255},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":9585,"type":9477,"author":9571,"provisional":9255,"depends":9494,"contact":9582,"extension":9581,"proposal":9255},498,{"number":9587,"type":9477,"author":9571,"provisional":9255,"depends":9588,"contact":9573,"extension":9589,"proposal":9255},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":9591,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9594,"extension":9595,"proposal":9255},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":9597,"type":9598,"author":9539,"provisional":9255,"depends":9599,"contact":9600,"extension":9601,"proposal":9255},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":9603,"type":9598,"author":9604,"provisional":9255,"depends":9599,"platform":9605,"contact":9606,"extension":9607,"proposal":9255},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":9609,"proposal":9255},"VK_EXT_application_parameters",{"number":9611,"type":9477,"author":9571,"provisional":9255,"depends":9494,"contact":9573,"extension":9612,"proposal":9255},68,"VK_EXT_astc_decode_mode",{"number":9614,"type":9477,"author":9539,"provisional":9255,"depends":9615,"ratified":9616,"contact":9617,"extension":9618,"proposal":9449},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":9620,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9594,"extension":9621,"proposal":9449},340,"VK_EXT_attachment_feedback_loop_layout",{"number":9623,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":9625,"proposal":9255},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":9627,"type":9477,"author":9539,"provisional":9255,"depends":9628,"specialuse":9629,"contact":9630,"extension":9631,"proposal":9255},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":9633,"type":9477,"author":9604,"deprecatedby":9634,"provisional":9255,"depends":9494,"contact":9624,"extension":9635,"proposal":9255},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":9637,"type":9477,"author":9539,"promotedto":9638,"provisional":9255,"depends":9494,"contact":9490,"extension":9639,"proposal":9449},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":9641,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9642,"contact":9643,"extension":9644,"proposal":9255},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":9646,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":9647,"extension":9648,"proposal":9255},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":9650,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9616,"contact":9630,"extension":9651,"proposal":9255},102,"VK_EXT_conservative_rasterization",{"number":9653,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9642,"specialuse":9629,"contact":9654,"extension":9628,"proposal":9255},288,"Liam Middlebrook @liam-middlebrook",{"number":9339,"type":9477,"author":9656,"promotedto":9657,"provisional":9255,"depends":9658,"specialuse":9445,"contact":9659,"extension":9660,"proposal":9255},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":9298,"type":9598,"author":9662,"deprecatedby":9657,"provisional":9255,"specialuse":9445,"contact":9663,"extension":9658,"proposal":9255},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":9665,"type":9598,"author":9539,"provisional":9255,"specialuse":9445,"contact":9666,"extension":9657,"proposal":9255},129,"Mark Young @marky-lunarg",{"number":9668,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9669,"contact":9594,"extension":9670,"proposal":9449},284,"d3demulation","VK_EXT_depth_bias_control",{"number":9672,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9673,"extension":9674,"proposal":9255},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":9676,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9562,"contact":9677,"extension":9678,"proposal":9255},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":9680,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9642,"specialuse":9669,"contact":9630,"extension":9681,"proposal":9255},103,"VK_EXT_depth_clip_enable",{"number":9305,"type":9477,"author":9604,"provisional":9255,"ratified":9642,"contact":9630,"extension":9683,"proposal":9255},"VK_EXT_depth_range_unrestricted",{"number":9685,"type":9477,"author":9539,"provisional":9255,"depends":9686,"contact":9481,"extension":9687,"proposal":9449},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":9689,"type":9477,"author":9604,"promotedto":9690,"provisional":9255,"depends":9691,"contact":9624,"extension":9692,"proposal":9255},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":9694,"type":9477,"author":9539,"provisional":9255,"depends":9695,"specialuse":9696,"contact":9697,"extension":9698,"proposal":9255},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":9700,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9697,"extension":9701,"proposal":9449},342,"VK_EXT_device_fault",{"number":9703,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9489,"contact":9704,"extension":9705,"proposal":9255},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":9707,"type":9598,"author":9604,"provisional":9255,"depends":9708,"contact":9606,"extension":9599,"proposal":9255},89,"VK_KHR_display",{"number":9710,"type":9598,"author":9539,"provisional":9255,"depends":9711,"platform":9712,"contact":9713,"extension":9714,"proposal":9255},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":9716,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9642,"contact":9630,"extension":9717,"proposal":9255},100,"VK_EXT_discard_rectangles",{"number":9719,"type":9477,"author":9604,"provisional":9255,"depends":9720,"ratified":9616,"contact":9606,"extension":9721,"proposal":9255},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":9723,"type":9598,"author":9604,"provisional":9255,"depends":9708,"ratified":9616,"contact":9606,"extension":9724,"proposal":9255},91,"VK_EXT_display_surface_counter",{"number":9726,"type":9477,"author":9539,"provisional":9255,"depends":9727,"ratified":9616,"contact":9630,"extension":9728,"proposal":9449},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":9730,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9630,"extension":9731,"proposal":9255},268,"VK_EXT_extended_dynamic_state",{"number":9733,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9734,"extension":9735,"proposal":9255},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":9737,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9616,"contact":9630,"extension":9738,"proposal":9449},456,"VK_EXT_extended_dynamic_state3",{"number":9740,"type":9477,"author":9539,"provisional":9255,"depends":9741,"ratified":9616,"contact":9742,"extension":9743,"proposal":9449},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":9745,"type":9477,"author":9539,"provisional":9255,"depends":9746,"ratified":9642,"contact":9742,"extension":9747,"proposal":9255},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":9749,"type":9477,"author":9539,"provisional":9255,"depends":9741,"ratified":9642,"contact":9490,"extension":9750,"proposal":9255},179,"VK_EXT_external_memory_host",{"number":9752,"type":9477,"author":9753,"provisional":9255,"ratified":9616,"contact":9754,"extension":9755,"proposal":9255},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":9757,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9754,"extension":9758,"proposal":9255},219,"VK_EXT_fragment_density_map",{"number":9760,"type":9477,"author":9539,"provisional":9255,"depends":9758,"contact":9754,"extension":9761,"proposal":9255},333,"VK_EXT_fragment_density_map2",{"number":9763,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9630,"extension":9764,"proposal":9255},252,"VK_EXT_fragment_shader_interlock",{"number":9766,"type":9477,"author":9539,"provisional":9255,"ratified":9616,"contact":9767,"extension":9768,"proposal":9449},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":9770,"type":9477,"author":9539,"provisional":9255,"depends":9771,"platform":9772,"ratified":9616,"contact":9606,"extension":9773,"proposal":9255},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":9775,"type":9477,"author":9539,"promotedto":9776,"provisional":9255,"contact":9777,"extension":9778,"proposal":9255},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":9780,"type":9477,"author":9539,"promotedto":9776,"provisional":9255,"depends":9781,"contact":9704,"extension":9782,"proposal":9255},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":9784,"type":9477,"author":9478,"provisional":9255,"depends":9785,"contact":9481,"extension":9786,"proposal":9449},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":9788,"type":9477,"author":9662,"provisional":9255,"depends":9789,"ratified":9642,"contact":9663,"extension":9790,"proposal":9255},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":9792,"type":9598,"author":9539,"provisional":9255,"depends":9711,"contact":9793,"extension":9794,"proposal":9255},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":9796,"type":9477,"author":9539,"provisional":9255,"depends":9797,"ratified":9616,"contact":9677,"extension":9798,"proposal":9449},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":9800,"type":9477,"author":9539,"promotedto":9690,"provisional":9255,"depends":9494,"contact":9801,"extension":9802,"proposal":9255},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":9804,"type":9477,"author":9539,"provisional":9255,"depends":9805,"specialuse":9562,"contact":9617,"extension":9806,"proposal":9255},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":9808,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9573,"extension":9809,"proposal":9449},339,"VK_EXT_image_compression_control",{"number":9811,"type":9477,"author":9539,"provisional":9255,"depends":9809,"contact":9573,"extension":9812,"proposal":9255},438,"VK_EXT_image_compression_control_swapchain",{"number":9814,"type":9477,"author":9539,"provisional":9255,"depends":9815,"ratified":9616,"contact":9742,"extension":9816,"proposal":9255},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":9818,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9673,"extension":9819,"proposal":9255},336,"VK_EXT_image_robustness",{"number":9821,"type":9477,"author":9539,"provisional":9255,"depends":9805,"specialuse":9669,"contact":9617,"extension":9822,"proposal":9449},419,"VK_EXT_image_sliced_view_of_3d",{"number":9824,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9594,"extension":9825,"proposal":9255},392,"VK_EXT_image_view_min_lod",{"number":9827,"type":9477,"author":9539,"promotedto":9828,"provisional":9255,"depends":9494,"contact":9630,"extension":9829,"proposal":9255},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":9831,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9832,"contact":9833,"extension":9834,"proposal":9255},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":9836,"type":9598,"author":9539,"provisional":9255,"ratified":9616,"contact":9837,"extension":9838,"proposal":9449},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":9840,"type":9477,"author":9539,"provisional":9255,"depends":9494,"specialuse":9562,"contact":9677,"extension":9841,"proposal":9449},466,"VK_EXT_legacy_dithering",{"number":9843,"type":9477,"author":9539,"provisional":9255,"depends":9844,"ratified":9616,"specialuse":9562,"contact":9617,"extension":9845,"proposal":9449},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":9847,"type":9477,"author":9539,"promotedto":9848,"provisional":9255,"depends":9494,"specialuse":9849,"contact":9624,"extension":9850,"proposal":9255},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":9852,"type":9477,"author":9539,"promotedto":9853,"provisional":9255,"ratified":9616,"contact":9677,"extension":9854,"proposal":9255},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":9856,"type":9477,"author":9539,"provisional":9255,"depends":9857,"ratified":9616,"contact":9858,"extension":9859,"proposal":9449},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":9861,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":9862,"proposal":9255},238,"VK_EXT_memory_budget",{"number":9864,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":9865,"proposal":9255},239,"VK_EXT_memory_priority",{"number":9867,"type":9477,"author":9539,"provisional":9255,"depends":9868,"contact":9869,"extension":9870,"proposal":9449},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":9872,"type":9477,"author":9539,"provisional":9255,"platform":9873,"contact":9874,"extension":9875,"proposal":9449},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":9877,"type":9598,"author":9539,"provisional":9255,"depends":9711,"platform":9873,"contact":9878,"extension":9879,"proposal":9255},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":9881,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9617,"extension":9882,"proposal":9255},393,"VK_EXT_multi_draw",{"number":9884,"type":9477,"author":9539,"provisional":9255,"depends":9885,"contact":9677,"extension":9886,"proposal":9449},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":9888,"type":9477,"author":9539,"provisional":9255,"depends":9889,"specialuse":9669,"contact":9890,"extension":9891,"proposal":9449},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":9893,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9630,"extension":9894,"proposal":9255},452,"VK_EXT_nested_command_buffer",{"number":9896,"type":9477,"author":9539,"provisional":9255,"depends":9494,"specialuse":9897,"contact":9898,"extension":9899,"proposal":9449},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":9901,"type":9477,"author":9539,"provisional":9255,"depends":9902,"ratified":9616,"contact":9903,"extension":9904,"proposal":9449},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":9906,"type":9477,"author":9539,"provisional":9255,"depends":9865,"contact":9630,"extension":9907,"proposal":9255},413,"VK_EXT_pageable_device_local_memory",{"number":9909,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9642,"contact":9499,"extension":9910,"proposal":9255},213,"VK_EXT_pci_bus_info",{"number":9912,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9913,"extension":9914,"proposal":9255},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":9916,"type":9477,"author":9478,"promotedto":9592,"provisional":9255,"depends":9494,"contact":9917,"extension":9918,"proposal":9255},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":9920,"type":9477,"author":9662,"promotedto":9592,"provisional":9255,"specialuse":9489,"contact":9921,"extension":9922,"proposal":9255},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":9924,"type":9477,"author":9539,"provisional":9255,"depends":9925,"contact":9926,"extension":9927,"proposal":9449},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":9929,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9930,"extension":9931,"proposal":9255},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":9933,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":9677,"extension":9934,"proposal":9449},467,"VK_EXT_pipeline_protected_access",{"number":9936,"type":9477,"author":9937,"provisional":9255,"depends":9494,"contact":9938,"extension":9939,"proposal":9255},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":9941,"type":9477,"author":9604,"provisional":9255,"ratified":9616,"contact":9942,"extension":9943,"proposal":9255},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":9945,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9562,"contact":9677,"extension":9946,"proposal":9255},357,"VK_EXT_primitive_topology_list_restart",{"number":9948,"type":9477,"author":9539,"provisional":9255,"depends":9949,"specialuse":9562,"contact":9677,"extension":9950,"proposal":9449},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":9952,"type":9477,"author":9604,"promotedto":9592,"provisional":9255,"depends":9494,"contact":9953,"extension":9954,"proposal":9255},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":9956,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9562,"contact":9957,"extension":9958,"proposal":9255},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":9960,"type":9477,"author":9539,"provisional":9255,"depends":9741,"ratified":9642,"contact":9742,"extension":9961,"proposal":9255},127,"VK_EXT_queue_family_foreign",{"number":9963,"type":9477,"author":9571,"provisional":9255,"depends":9494,"contact":9573,"extension":9572,"proposal":9449},464,{"number":9965,"type":9477,"author":9539,"provisional":9255,"depends":9966,"contact":9573,"extension":9967,"proposal":9255},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":9969,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9642,"contact":9654,"extension":9970,"proposal":9255},287,"VK_EXT_robustness2",{"number":9972,"type":9477,"author":9478,"provisional":9255,"depends":9494,"ratified":9642,"contact":9490,"extension":9973,"proposal":9255},144,"VK_EXT_sample_locations",{"number":9975,"type":9477,"author":9604,"promotedto":9690,"provisional":9255,"depends":9494,"contact":9624,"extension":9976,"proposal":9255},131,"VK_EXT_sampler_filter_minmax",{"number":9978,"type":9477,"author":9539,"promotedto":9690,"provisional":9255,"depends":9494,"contact":9481,"extension":9979,"proposal":9255},222,"VK_EXT_scalar_block_layout",{"number":9981,"type":9477,"author":9539,"promotedto":9690,"provisional":9255,"contact":9490,"extension":9982,"proposal":9255},247,"VK_EXT_separate_stencil_usage",{"number":9984,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9642,"contact":9734,"extension":9985,"proposal":9255},261,"VK_EXT_shader_atomic_float",{"number":9987,"type":9477,"author":9539,"provisional":9255,"depends":9985,"ratified":9616,"contact":9858,"extension":9988,"proposal":9255},274,"VK_EXT_shader_atomic_float2",{"number":9990,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9624,"extension":9991,"proposal":9255},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":9993,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9481,"extension":9994,"proposal":9255},235,"VK_EXT_shader_image_atomic_int64",{"number":9996,"type":9477,"author":9539,"provisional":9255,"depends":9997,"contact":9926,"extension":9998,"proposal":9449},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":10000,"type":9477,"author":9539,"provisional":9255,"depends":9727,"ratified":9616,"contact":10001,"extension":10002,"proposal":9449},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":10004,"type":9477,"author":9539,"provisional":9255,"ratified":9616,"contact":9582,"extension":10005,"proposal":9449},565,"VK_EXT_shader_replicated_composites",{"number":10007,"type":9477,"author":9539,"provisional":9255,"ratified":9642,"contact":9505,"extension":10008,"proposal":9255},141,"VK_EXT_shader_stencil_export",{"number":10010,"type":9477,"author":9604,"deprecatedby":9690,"provisional":9255,"contact":9942,"extension":10011,"proposal":9255},65,"VK_EXT_shader_subgroup_ballot",{"number":10013,"type":9477,"author":9604,"deprecatedby":9588,"provisional":9255,"contact":9942,"extension":10014,"proposal":9255},66,"VK_EXT_shader_subgroup_vote",{"number":10016,"type":9477,"author":9539,"provisional":9255,"depends":9592,"ratified":9616,"contact":9573,"extension":10017,"proposal":9449},396,"VK_EXT_shader_tile_image",{"number":10019,"type":9477,"author":9604,"promotedto":9690,"provisional":9255,"contact":9942,"extension":10020,"proposal":9255},163,"VK_EXT_shader_viewport_index_layer",{"number":10022,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9588,"ratified":9593,"contact":10023,"extension":10024,"proposal":9255},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":10026,"type":9477,"author":9539,"provisional":9255,"depends":9494,"contact":10027,"extension":10028,"proposal":9449},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":10030,"type":9598,"author":9539,"provisional":9255,"depends":10031,"contact":9677,"extension":10032,"proposal":9449},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":10034,"type":9598,"author":9662,"provisional":9255,"depends":9711,"contact":9663,"extension":10035,"proposal":9255},105,"VK_EXT_swapchain_colorspace",{"number":10037,"type":9477,"author":9539,"provisional":9255,"depends":10038,"contact":9677,"extension":10039,"proposal":9449},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":10041,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9624,"extension":10042,"proposal":9255},282,"VK_EXT_texel_buffer_alignment",{"number":10044,"type":9477,"author":9571,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9593,"contact":9573,"extension":10045,"proposal":9255},67,"VK_EXT_texture_compression_astc_hdr",{"number":10047,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"contact":9481,"extension":10048,"proposal":9255},246,"VK_EXT_tooling_info",{"number":9363,"type":9477,"author":9604,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":10050,"contact":9630,"extension":9949,"proposal":9255},"glemulation,d3demulation,devtools",{"number":10052,"type":9477,"author":9662,"provisional":9255,"contact":10053,"extension":10054,"proposal":9255},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":10056,"type":9598,"author":10057,"deprecatedby":9838,"provisional":9255,"specialuse":9445,"contact":10058,"extension":10059,"proposal":9255},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":10061,"type":9598,"author":9662,"deprecatedby":9838,"provisional":9255,"specialuse":9445,"contact":10062,"extension":10063,"proposal":9255},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":10065,"type":9477,"author":9604,"promotedto":10066,"provisional":9255,"depends":9494,"contact":9647,"extension":10067,"proposal":9255},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":10069,"type":9477,"author":9539,"provisional":9255,"depends":9494,"ratified":9616,"contact":9630,"extension":9844,"proposal":9255},353,{"number":10071,"type":9477,"author":9539,"promotedto":9592,"provisional":9255,"depends":9966,"ratified":9593,"contact":10072,"extension":10073,"proposal":9255},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":10075,"type":9477,"author":9539,"provisional":9255,"depends":9966,"ratified":9642,"contact":9630,"extension":10076,"proposal":9255},253,"VK_EXT_ycbcr_image_arrays",{"number":10078,"type":9477,"author":10079,"provisional":9255,"depends":10080,"platform":10081,"contact":10082,"extension":10083,"proposal":9255},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":10085,"type":9477,"author":10079,"provisional":9255,"depends":10086,"platform":10081,"contact":10082,"extension":10087,"proposal":9255},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":10089,"type":9477,"author":10079,"provisional":9255,"depends":10090,"platform":10081,"contact":10082,"extension":10091,"proposal":9255},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":10093,"type":9598,"author":10079,"provisional":9255,"depends":9711,"platform":10081,"contact":10094,"extension":10095,"proposal":9255},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":10097,"type":9477,"author":10098,"provisional":9255,"depends":10099,"platform":10100,"contact":9921,"extension":10101,"proposal":9255},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":10103,"type":9598,"author":10098,"provisional":9255,"depends":9711,"platform":10100,"contact":9921,"extension":10104,"proposal":9255},50,"VK_GGP_stream_descriptor_surface",{"number":10106,"type":9477,"author":9662,"provisional":9255,"contact":10107,"extension":10108,"proposal":9255},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":10110,"type":9477,"author":9662,"provisional":9255,"depends":9789,"contact":10111,"extension":10112,"proposal":9255},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":10114,"type":9477,"author":9662,"provisional":9255,"contact":10107,"extension":10115,"proposal":9255},224,"VK_GOOGLE_hlsl_functionality1",{"number":10117,"type":9598,"author":9662,"provisional":9255,"depends":9711,"specialuse":9562,"contact":9677,"extension":10118,"proposal":9449},434,"VK_GOOGLE_surfaceless_query",{"number":10120,"type":9477,"author":9662,"provisional":9255,"contact":10121,"extension":10122,"proposal":9255},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":10124,"type":9477,"author":10125,"provisional":9255,"depends":9494,"contact":10126,"extension":10127,"proposal":9449},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":10129,"type":9477,"author":10130,"provisional":9255,"depends":10131,"contact":10132,"extension":10133,"proposal":9449},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":10135,"type":9477,"author":10125,"provisional":9255,"depends":10136,"contact":10132,"extension":10137,"proposal":9255},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":9311,"type":9477,"author":9937,"provisional":9255,"contact":9481,"extension":10139,"proposal":9255},"VK_IMG_filter_cubic",{"number":10141,"type":9477,"author":9937,"deprecatedby":10142,"provisional":9255,"contact":10143,"extension":10144,"proposal":9255},55,null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":10146,"type":9477,"author":9937,"provisional":9255,"depends":9494,"specialuse":9562,"contact":9767,"extension":10147,"proposal":9255},111,"VK_IMG_relaxed_line_rasterization",{"number":10149,"type":9477,"author":10150,"provisional":9255,"specialuse":9489,"contact":10151,"extension":10152,"proposal":9255},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":10154,"type":9477,"author":10150,"provisional":9255,"depends":9494,"contact":10155,"extension":10156,"proposal":9255},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":10158,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10160,"ratified":9616,"contact":9573,"extension":10161,"proposal":9255},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":10163,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10160,"ratified":9616,"contact":10164,"extension":10165,"proposal":9255},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":10167,"type":9477,"author":10159,"provisional":9255,"depends":10168,"ratified":9616,"contact":9942,"extension":10169,"proposal":9255},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":9286,"type":9598,"author":10159,"provisional":9255,"depends":9711,"platform":9561,"ratified":9616,"contact":9568,"extension":10171,"proposal":9255},"VK_KHR_android_surface",{"number":10173,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9481,"extension":10174,"proposal":9255},158,"VK_KHR_bind_memory2",{"number":10176,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10177,"ratified":9616,"contact":9624,"extension":9634,"proposal":9255},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":10179,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":9833,"extension":9638,"proposal":9255},544,{"number":10181,"type":9477,"author":10159,"provisional":9255,"depends":10182,"ratified":9616,"contact":10183,"extension":10184,"proposal":9449},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":10186,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"contact":9582,"extension":10187,"proposal":9449},507,"VK_KHR_cooperative_matrix",{"number":10189,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9642,"contact":9754,"extension":10190,"proposal":9255},338,"VK_KHR_copy_commands2",{"number":10192,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10193,"ratified":9616,"contact":10194,"extension":10195,"proposal":9255},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":10197,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10198,"ratified":9616,"contact":9606,"extension":10199,"proposal":9255},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":10201,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":10202,"extension":10203,"proposal":9255},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":10205,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10206,"ratified":9616,"contact":10207,"extension":10208,"proposal":9255},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":10210,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":10211,"extension":10212,"proposal":9255},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":10214,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10215,"ratified":9616,"contact":9624,"extension":10216,"proposal":9255},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":10218,"type":9598,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9624,"extension":10215,"proposal":9255},71,{"number":9228,"type":9598,"author":10159,"provisional":9255,"depends":9711,"ratified":9642,"contact":10220,"extension":9708,"proposal":9255},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":9267,"type":9477,"author":10159,"provisional":9255,"depends":10222,"ratified":9642,"contact":9606,"extension":10223,"proposal":9255},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":10225,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"ratified":9616,"contact":9630,"extension":9502,"proposal":9255},170,{"number":10227,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":9490,"extension":10228,"proposal":9255},197,"VK_KHR_driver_properties",{"number":9427,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":10230,"ratified":9616,"contact":9481,"extension":10231,"proposal":9449},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":10233,"type":9477,"author":9478,"provisional":9255,"depends":10234,"ratified":9616,"contact":9481,"extension":10235,"proposal":9449},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":10237,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10238,"ratified":9616,"contact":9568,"extension":10239,"proposal":9255},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":10241,"type":9598,"author":10159,"promotedto":9588,"provisional":9255,"depends":9494,"ratified":9616,"contact":9568,"extension":10238,"proposal":9255},113,{"number":10243,"type":9477,"author":10159,"provisional":9255,"depends":10244,"ratified":9642,"contact":9568,"extension":10245,"proposal":9255},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":10247,"type":9477,"author":10159,"provisional":9255,"depends":10239,"platform":9772,"ratified":9616,"contact":9568,"extension":10248,"proposal":9255},115,"VK_KHR_external_fence_win32",{"number":10250,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10251,"ratified":9616,"contact":9606,"extension":10252,"proposal":9255},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":10254,"type":9598,"author":10159,"promotedto":9588,"provisional":9255,"depends":9494,"ratified":9616,"contact":9606,"extension":10255,"proposal":9255},72,"VK_KHR_external_memory_capabilities",{"number":10257,"type":9477,"author":10159,"provisional":9255,"depends":9741,"ratified":9642,"contact":9606,"extension":9746,"proposal":9255},75,{"number":10259,"type":9477,"author":10159,"provisional":9255,"depends":9741,"platform":9772,"ratified":9616,"contact":9606,"extension":10260,"proposal":9255},74,"VK_KHR_external_memory_win32",{"number":10262,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10263,"ratified":9616,"contact":9606,"extension":10264,"proposal":9255},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":10266,"type":9598,"author":10159,"promotedto":9588,"provisional":9255,"depends":9494,"ratified":9616,"contact":9606,"extension":10263,"proposal":9255},77,{"number":10268,"type":9477,"author":10159,"provisional":9255,"depends":10269,"ratified":9642,"contact":9606,"extension":10270,"proposal":9255},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":10272,"type":9477,"author":10159,"provisional":9255,"depends":10264,"platform":9772,"ratified":9616,"contact":9606,"extension":10273,"proposal":9255},79,"VK_KHR_external_semaphore_win32",{"number":10275,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9616,"contact":10151,"extension":10276,"proposal":9255},361,"VK_KHR_format_feature_flags2",{"number":10278,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"contact":9485,"extension":10279,"proposal":9449},323,"VK_KHR_fragment_shader_barycentric",{"number":10281,"type":9477,"author":10159,"provisional":9255,"depends":10282,"ratified":9642,"contact":9481,"extension":10283,"proposal":9449},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":10285,"type":9598,"author":10159,"provisional":9255,"depends":9708,"ratified":9642,"contact":9606,"extension":10286,"proposal":9255},122,"VK_KHR_get_display_properties2",{"number":10288,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9858,"extension":10289,"proposal":9255},147,"VK_KHR_get_memory_requirements2",{"number":10291,"type":9598,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9624,"extension":10182,"proposal":9255},60,{"number":10293,"type":9598,"author":10159,"provisional":9255,"depends":9711,"ratified":9642,"contact":9606,"extension":10294,"proposal":9255},120,"VK_KHR_get_surface_capabilities2",{"number":10296,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":9481,"extension":9776,"proposal":9255},189,{"number":10298,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"ratified":9616,"contact":9858,"extension":10299,"proposal":9255},148,"VK_KHR_image_format_list",{"number":10301,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10302,"ratified":9616,"contact":10194,"extension":10303,"proposal":9255},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":10305,"type":9477,"author":10159,"provisional":9255,"depends":9789,"ratified":9642,"contact":10111,"extension":10306,"proposal":9255},85,"VK_KHR_incremental_present",{"number":10308,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":9630,"extension":9828,"proposal":9255},534,{"number":10310,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":9630,"extension":9848,"proposal":9255},535,{"number":10312,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":9677,"extension":9853,"proposal":9449},527,{"number":10314,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9630,"extension":9522,"proposal":9255},70,{"number":10316,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":10317,"extension":10318,"proposal":9255},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":10320,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":9889,"proposal":9255},169,{"number":10322,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9588,"ratified":9616,"contact":9630,"extension":10323,"proposal":9255},414,"VK_KHR_maintenance4",{"number":10325,"type":9477,"author":10159,"provisional":9255,"depends":10326,"ratified":9616,"contact":10327,"extension":10328,"proposal":9449},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":10330,"type":9477,"author":10159,"provisional":9255,"depends":9588,"ratified":9616,"contact":10331,"extension":10332,"proposal":9449},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":10334,"type":9477,"author":10159,"provisional":9255,"depends":9588,"ratified":9616,"contact":9617,"extension":10335,"proposal":9449},563,"VK_KHR_maintenance7",{"number":10337,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":9858,"extension":9857,"proposal":9449},272,{"number":10339,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":10340,"proposal":9255},54,"VK_KHR_multiview",{"extension":10342,"proposal":9255},"VK_KHR_object_refresh",{"number":10344,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"specialuse":9489,"contact":10345,"extension":10346,"proposal":9255},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":10348,"type":9477,"author":10159,"provisional":9255,"depends":10328,"ratified":9616,"contact":10327,"extension":10349,"proposal":9449},484,"VK_KHR_pipeline_binary",{"number":10351,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"specialuse":9489,"contact":9858,"extension":10352,"proposal":9255},270,"VK_KHR_pipeline_executable_properties",{"number":10354,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":9869,"extension":10355,"proposal":9255},291,"VK_KHR_pipeline_library",{"number":10357,"type":9598,"author":10159,"provisional":9255,"ratified":9616,"contact":10358,"extension":10359,"proposal":9255},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":10361,"type":9477,"author":10159,"provisional":9449,"depends":9494,"platform":9480,"ratified":9616,"contact":9874,"extension":10362,"proposal":9255},164,"VK_KHR_portability_subset",{"number":10364,"type":9477,"author":10159,"provisional":9255,"depends":10365,"ratified":9616,"contact":10366,"extension":10367,"proposal":9255},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":10369,"type":9477,"author":10159,"provisional":9255,"depends":10370,"ratified":9616,"contact":10366,"extension":10371,"proposal":9255},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":10373,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":10374,"proposal":9255},81,"VK_KHR_push_descriptor",{"number":10376,"type":9477,"author":10159,"provisional":9255,"depends":10377,"ratified":9616,"contact":9942,"extension":10378,"proposal":9255},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":10380,"type":9477,"author":10159,"provisional":9255,"depends":10169,"ratified":9616,"contact":9942,"extension":10381,"proposal":9255},387,"VK_KHR_ray_tracing_maintenance1",{"number":10383,"type":9477,"author":10159,"provisional":9255,"depends":10377,"ratified":9616,"contact":9942,"extension":10384,"proposal":9255},348,"VK_KHR_ray_tracing_pipeline",{"number":10386,"type":9477,"author":10159,"provisional":9255,"depends":10169,"ratified":9616,"contact":10387,"extension":10388,"proposal":9449},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":10390,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":10391,"extension":10392,"proposal":9255},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":9307,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"ratified":9616,"contact":9481,"extension":10394,"proposal":9255},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":10396,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10397,"ratified":9616,"contact":10398,"extension":10399,"proposal":9255},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":10401,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10282,"ratified":9616,"contact":9630,"extension":10402,"proposal":9255},242,"VK_KHR_separate_depth_stencil_layouts",{"number":10404,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":10405,"extension":10406,"proposal":9255},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":10408,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":10405,"extension":10409,"proposal":9255},182,"VK_KHR_shader_clock",{"number":10411,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":9942,"extension":10412,"proposal":9255},64,"VK_KHR_shader_draw_parameters",{"number":10414,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"contact":9582,"extension":10415,"proposal":9449},545,"VK_KHR_shader_expect_assume",{"number":10417,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":10164,"extension":9508,"proposal":9255},83,{"number":10419,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":10164,"extension":10420,"proposal":9255},198,"VK_KHR_shader_float_controls",{"number":10422,"type":9477,"author":10159,"provisional":9255,"depends":10423,"ratified":9616,"contact":9673,"extension":10424,"proposal":9449},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":10426,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9616,"contact":9582,"extension":10427,"proposal":9449},281,"VK_KHR_shader_integer_dot_product",{"number":10429,"type":9477,"author":10159,"provisional":9255,"depends":9588,"ratified":9616,"contact":10430,"extension":10431,"proposal":9449},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":10433,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"ratified":9616,"contact":9659,"extension":10434,"proposal":9255},294,"VK_KHR_shader_non_semantic_info",{"number":10436,"type":9477,"author":10159,"provisional":9255,"depends":10437,"ratified":9616,"contact":9481,"extension":10438,"proposal":9449},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":10440,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":10441,"extension":10442,"proposal":9449},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":10444,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9588,"ratified":9616,"contact":10023,"extension":10445,"proposal":9255},176,"VK_KHR_shader_subgroup_extended_types",{"number":10447,"type":9477,"author":10159,"provisional":9255,"ratified":9616,"contact":9582,"extension":10448,"proposal":9449},417,"VK_KHR_shader_subgroup_rotate",{"number":10450,"type":9477,"author":10159,"provisional":9255,"depends":9588,"ratified":9616,"contact":10430,"extension":10451,"proposal":9255},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":10453,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9642,"contact":9568,"extension":10454,"proposal":9255},216,"VK_KHR_shader_terminate_invocation",{"number":10456,"type":9477,"author":10159,"provisional":9255,"depends":10457,"ratified":9642,"contact":10345,"extension":10458,"proposal":9255},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":10460,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":10423,"ratified":9616,"contact":9568,"extension":9868,"proposal":9255},237,{"number":10462,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"ratified":9616,"contact":10164,"extension":10463,"proposal":9255},132,"VK_KHR_storage_buffer_storage_class",{"number":9257,"type":9598,"author":10159,"provisional":9255,"ratified":9642,"contact":10465,"extension":9711,"proposal":9255},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":10467,"type":9598,"author":10159,"provisional":9255,"depends":10468,"ratified":9616,"contact":10469,"extension":10470,"proposal":9255},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":5781,"type":9477,"author":10159,"provisional":9255,"depends":9711,"ratified":9642,"contact":10465,"extension":9789,"proposal":9255},{"number":10473,"type":9477,"author":10159,"provisional":9255,"depends":10474,"ratified":9642,"contact":9490,"extension":10475,"proposal":9255},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":10477,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9642,"contact":9481,"extension":10478,"proposal":9255},315,"VK_KHR_synchronization2",{"number":10480,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":9858,"extension":10481,"proposal":9255},208,"VK_KHR_timeline_semaphore",{"number":10483,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":9673,"extension":10484,"proposal":9255},254,"VK_KHR_uniform_buffer_standard_layout",{"number":10486,"type":9477,"author":10159,"promotedto":9588,"provisional":9255,"depends":10160,"ratified":9616,"contact":9568,"extension":10487,"proposal":9255},121,"VK_KHR_variable_pointers",{"number":10489,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9642,"contact":9677,"extension":10066,"proposal":9449},526,{"number":10491,"type":9477,"author":10159,"provisional":9255,"depends":10492,"ratified":9616,"contact":9833,"extension":10493,"proposal":9449},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":9411,"type":9477,"author":10159,"provisional":9255,"depends":10492,"ratified":9616,"contact":10495,"extension":10496,"proposal":9449},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":10498,"type":9477,"author":10159,"provisional":9255,"depends":10492,"ratified":9616,"contact":10495,"extension":10499,"proposal":9449},188,"VK_KHR_video_decode_h265",{"number":9347,"type":9477,"author":10159,"provisional":9255,"depends":10501,"ratified":9616,"contact":10502,"extension":10492,"proposal":9449},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":9403,"type":9477,"author":10159,"provisional":9255,"depends":10504,"ratified":9616,"contact":10505,"extension":10506,"proposal":9449},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":9407,"type":9477,"author":10159,"provisional":9255,"depends":10504,"ratified":9616,"contact":10505,"extension":10508,"proposal":9449},"VK_KHR_video_encode_h265",{"number":10510,"type":9477,"author":10159,"provisional":9255,"depends":10501,"ratified":9616,"contact":10505,"extension":10504,"proposal":9449},300,{"number":10512,"type":9477,"author":10159,"provisional":9255,"depends":10513,"ratified":9616,"contact":9833,"extension":10514,"proposal":9449},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":9343,"type":9477,"author":10159,"provisional":9255,"depends":10516,"ratified":9616,"contact":10072,"extension":10513,"proposal":9449},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":10518,"type":9477,"author":10159,"promotedto":9690,"provisional":9255,"depends":9494,"ratified":9616,"contact":9624,"extension":10519,"proposal":9255},212,"VK_KHR_vulkan_memory_model",{"number":9278,"type":9598,"author":10159,"provisional":9255,"depends":9711,"platform":10521,"ratified":9616,"contact":10522,"extension":10523,"proposal":9255},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":10525,"type":9477,"author":10159,"provisional":9255,"depends":10260,"platform":9772,"ratified":9616,"contact":10526,"extension":10527,"proposal":9255},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":9290,"type":9598,"author":10159,"provisional":9255,"depends":9711,"platform":9772,"ratified":9616,"contact":10522,"extension":10529,"proposal":9255},"VK_KHR_win32_surface",{"number":10531,"type":9477,"author":10159,"provisional":9255,"depends":9494,"ratified":9616,"contact":10532,"extension":10533,"proposal":9255},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":9274,"type":9598,"author":10159,"provisional":9255,"depends":9711,"platform":10535,"ratified":9616,"contact":10522,"extension":10536,"proposal":9255},"xcb","VK_KHR_xcb_surface",{"number":6727,"type":9598,"author":10159,"provisional":9255,"depends":9711,"platform":10538,"ratified":9616,"contact":10522,"extension":10539,"proposal":9255},"xlib","VK_KHR_xlib_surface",{"number":10541,"type":9477,"author":10159,"promotedto":9592,"provisional":9255,"depends":9494,"ratified":9616,"contact":10430,"extension":10542,"proposal":9255},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":10544,"type":9598,"author":10057,"provisional":9255,"contact":10358,"extension":10545,"proposal":9449},460,"VK_LUNARG_direct_driver_loading",{"number":10547,"type":9477,"author":10548,"provisional":9255,"depends":9494,"specialuse":9669,"contact":9926,"extension":10549,"proposal":9255},576,"MESA","VK_MESA_image_alignment_control",{"number":10551,"type":9477,"author":10552,"provisional":9255,"depends":9494,"contact":10553,"extension":10554,"proposal":9449},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":10556,"type":9598,"author":10557,"deprecatedby":9879,"provisional":9255,"depends":9711,"platform":10558,"contact":9874,"extension":10559,"proposal":9255},123,"MVK","ios","VK_MVK_ios_surface",{"number":10561,"type":9598,"author":10557,"deprecatedby":9879,"provisional":9255,"depends":9711,"platform":10562,"contact":9874,"extension":10563,"proposal":9255},124,"macos","VK_MVK_macos_surface",{"number":10565,"type":9598,"author":10566,"provisional":9255,"depends":9711,"platform":10567,"contact":10568,"extension":10569,"proposal":9255},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":9367,"type":9477,"author":10571,"provisional":9255,"contact":10572,"extension":10573,"proposal":9255},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":9371,"type":9477,"author":10571,"provisional":9255,"contact":10575,"extension":10576,"proposal":9255},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":10578,"type":9477,"author":10571,"provisional":9255,"depends":10579,"contact":9624,"extension":10580,"proposal":9255},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":10582,"type":9477,"author":9604,"provisional":9255,"depends":9599,"platform":9772,"contact":10583,"extension":10584,"proposal":9255},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":10586,"type":9477,"author":9604,"provisional":9255,"contact":10575,"extension":10587,"proposal":9255},88,"VK_NV_clip_space_w_scaling",{"number":10589,"type":9477,"author":9604,"provisional":9255,"contact":10590,"extension":10591,"proposal":9255},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":10593,"type":9477,"author":9604,"promotedto":10184,"provisional":9255,"depends":9494,"contact":10594,"extension":10595,"proposal":9255},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":10597,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":9624,"extension":10598,"proposal":9255},250,"VK_NV_cooperative_matrix",{"number":10600,"type":9477,"author":9604,"provisional":9255,"depends":10601,"contact":9734,"extension":10602,"proposal":9255},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":10604,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":9942,"extension":10605,"proposal":9255},51,"VK_NV_corner_sampled_image",{"number":10607,"type":9477,"author":9604,"provisional":9255,"depends":10608,"contact":10609,"extension":10610,"proposal":9255},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":10612,"type":9477,"author":9604,"provisional":9449,"contact":10613,"extension":10614,"proposal":9255},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":9355,"type":9477,"author":9604,"deprecatedby":10199,"provisional":9255,"contact":9624,"extension":10616,"proposal":9255},"VK_NV_dedicated_allocation",{"number":10618,"type":9477,"author":10619,"provisional":9255,"depends":10620,"contact":10621,"extension":10622,"proposal":9255},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":10624,"type":9477,"author":9604,"provisional":9255,"depends":9588,"contact":9630,"extension":10625,"proposal":9255},547,"VK_NV_descriptor_pool_overallocation",{"number":10627,"type":9477,"author":10619,"provisional":9255,"depends":9494,"contact":10621,"extension":10628,"proposal":9255},207,"VK_NV_device_diagnostic_checkpoints",{"number":10630,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10609,"extension":10631,"proposal":9255},301,"VK_NV_device_diagnostics_config",{"number":10633,"type":9477,"author":9604,"provisional":9255,"depends":10634,"contact":9869,"extension":10635,"proposal":9255},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":10637,"type":9477,"author":9604,"provisional":9255,"depends":10635,"contact":9734,"extension":10638,"proposal":9255},429,"VK_NV_device_generated_commands_compute",{"number":10640,"type":9477,"author":9604,"provisional":9449,"depends":9904,"platform":9480,"contact":10641,"extension":10642,"proposal":9255},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":10644,"type":9477,"author":9604,"provisional":9255,"contact":10645,"extension":10646,"proposal":9255},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":10648,"type":9477,"author":9604,"deprecatedby":10252,"provisional":9255,"depends":10649,"contact":9606,"extension":10650,"proposal":9255},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":10652,"type":9598,"author":9604,"deprecatedby":10255,"provisional":9255,"contact":9606,"extension":10649,"proposal":9255},56,{"number":10654,"type":9477,"author":9604,"provisional":9255,"depends":9741,"contact":10526,"extension":10655,"proposal":9255},372,"VK_NV_external_memory_rdma",{"extension":10657,"proposal":9255},"VK_NV_external_memory_sci_buf",{"number":10659,"type":9477,"author":9604,"deprecatedby":10260,"provisional":9255,"depends":10650,"platform":9772,"contact":9606,"extension":10660,"proposal":9255},58,"VK_NV_external_memory_win32",{"extension":10662,"proposal":9255},"VK_NV_external_sci_sync",{"extension":10664,"proposal":9255},"VK_NV_external_sci_sync2",{"number":10666,"type":9477,"author":9604,"provisional":9255,"contact":9624,"extension":10667,"proposal":9255},154,"VK_NV_fill_rectangle",{"number":10669,"type":9477,"author":9604,"provisional":9255,"contact":9624,"extension":10670,"proposal":9255},150,"VK_NV_fragment_coverage_to_color",{"number":10672,"type":9477,"author":9604,"promotedto":10279,"provisional":9255,"depends":9494,"contact":10594,"extension":10673,"proposal":9255},204,"VK_NV_fragment_shader_barycentric",{"number":10675,"type":9477,"author":9604,"provisional":9255,"depends":10283,"contact":10594,"extension":10676,"proposal":9255},327,"VK_NV_fragment_shading_rate_enums",{"number":10678,"type":9477,"author":9604,"provisional":9255,"contact":9624,"extension":10679,"proposal":9255},153,"VK_NV_framebuffer_mixed_samples",{"number":10681,"type":9477,"author":9604,"provisional":9255,"contact":9942,"extension":10682,"proposal":9255},96,"VK_NV_geometry_shader_passthrough",{"number":9302,"type":9477,"author":9604,"deprecatedby":10142,"provisional":9255,"contact":9630,"extension":10684,"proposal":9255},"VK_NV_glsl_shader",{"number":10686,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10687,"extension":10688,"proposal":9255},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":10690,"type":9477,"author":10619,"provisional":9255,"depends":9494,"contact":10691,"extension":10692,"proposal":9255},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":10694,"type":9477,"author":9604,"provisional":9255,"contact":10695,"extension":10696,"proposal":9255},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":10698,"type":9477,"author":9604,"provisional":9255,"depends":10699,"contact":10695,"extension":10700,"proposal":9255},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":10702,"type":9477,"author":9604,"provisional":9255,"depends":10601,"contact":9734,"extension":10703,"proposal":9255},428,"VK_NV_memory_decompression",{"number":10705,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":9869,"extension":10706,"proposal":9255},203,"VK_NV_mesh_shader",{"number":10708,"type":9477,"author":9604,"provisional":9255,"depends":10709,"contact":10526,"extension":10710,"proposal":9255},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":10712,"type":9477,"author":9604,"provisional":9255,"depends":10332,"contact":9630,"extension":10713,"proposal":9255},517,"VK_NV_per_stage_descriptor_set",{"number":10715,"type":9477,"author":9604,"provisional":9255,"depends":9771,"contact":10716,"extension":10717,"proposal":9255},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":10719,"proposal":9255},"VK_NV_private_vendor_info",{"number":10721,"type":9477,"author":9604,"provisional":9255,"contact":10722,"extension":10723,"proposal":9255},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":10725,"type":9477,"author":9604,"deprecatedby":10384,"provisional":9255,"depends":10726,"contact":10575,"extension":10727,"proposal":9255},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":10729,"type":9477,"author":9604,"provisional":9255,"depends":10384,"contact":10575,"extension":10730,"proposal":9255},491,"VK_NV_ray_tracing_invocation_reorder",{"number":10732,"type":9477,"author":9604,"provisional":9255,"depends":10384,"contact":10387,"extension":10733,"proposal":9255},328,"VK_NV_ray_tracing_motion_blur",{"number":10735,"type":9477,"author":9604,"provisional":9255,"contact":9734,"extension":10736,"proposal":9449},569,"VK_NV_ray_tracing_validation",{"number":10738,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10609,"extension":10739,"proposal":9255},167,"VK_NV_representative_fragment_test",{"number":10741,"type":9477,"author":9604,"provisional":9255,"contact":9630,"extension":10742,"proposal":9255},95,"VK_NV_sample_mask_override_coverage",{"number":10744,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10594,"extension":10745,"proposal":9255},206,"VK_NV_scissor_exclusive",{"number":10747,"type":9477,"author":9604,"provisional":9255,"contact":9624,"extension":10748,"proposal":9255},564,"VK_NV_shader_atomic_float16_vector",{"number":10750,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10594,"extension":10751,"proposal":9255},205,"VK_NV_shader_image_footprint",{"number":10753,"type":9477,"author":9604,"provisional":9255,"depends":9588,"contact":9942,"extension":10754,"proposal":9255},155,"VK_NV_shader_sm_builtins",{"number":10756,"type":9477,"author":9604,"provisional":9255,"depends":9588,"contact":9624,"extension":10757,"proposal":9255},199,"VK_NV_shader_subgroup_partitioned",{"number":10759,"type":9477,"author":9604,"provisional":9255,"depends":9494,"contact":10594,"extension":10760,"proposal":9255},165,"VK_NV_shading_rate_image",{"number":10762,"type":9477,"author":9604,"provisional":9255,"contact":9942,"extension":10763,"proposal":9255},97,"VK_NV_viewport_array2",{"number":10765,"type":9477,"author":9604,"provisional":9255,"contact":9630,"extension":10766,"proposal":9255},99,"VK_NV_viewport_swizzle",{"number":10768,"type":9477,"author":9604,"promotedto":10527,"provisional":9255,"depends":10660,"platform":9772,"contact":10526,"extension":10769,"proposal":9255},59,"VK_NV_win32_keyed_mutex",{"number":10771,"type":9477,"author":9753,"provisional":9255,"depends":10772,"contact":9754,"extension":10773,"proposal":9255},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":10775,"type":9477,"author":9753,"provisional":9255,"depends":9755,"contact":9754,"extension":10776,"proposal":9255},520,"VK_QCOM_filter_cubic_weights",{"number":10778,"type":9477,"author":9753,"provisional":9255,"depends":10779,"contact":9754,"extension":10780,"proposal":9255},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":10782,"type":9477,"author":9753,"provisional":9255,"depends":10783,"contact":9754,"extension":10784,"proposal":9449},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":10786,"type":9477,"author":9753,"provisional":9255,"depends":10784,"contact":9754,"extension":10787,"proposal":9255},519,"VK_QCOM_image_processing2",{"number":10789,"type":9477,"author":9753,"provisional":9255,"contact":9754,"extension":10790,"proposal":9255},511,"VK_QCOM_multiview_per_view_render_areas",{"number":10792,"type":9477,"author":9753,"provisional":9255,"depends":9494,"contact":9754,"extension":10793,"proposal":9255},489,"VK_QCOM_multiview_per_view_viewports",{"number":10795,"type":9477,"author":9753,"provisional":9255,"contact":9754,"extension":10796,"proposal":9255},172,"VK_QCOM_render_pass_shader_resolve",{"number":10798,"type":9477,"author":9753,"provisional":9255,"contact":9754,"extension":10799,"proposal":9255},302,"VK_QCOM_render_pass_store_ops",{"number":10801,"type":9477,"author":9753,"provisional":9255,"contact":9754,"extension":10802,"proposal":9255},283,"VK_QCOM_render_pass_transform",{"number":10804,"type":9477,"author":9753,"provisional":9255,"depends":10805,"contact":9754,"extension":10806,"proposal":9255},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":10808,"type":9477,"author":9753,"provisional":9255,"depends":9494,"contact":9754,"extension":10809,"proposal":9449},485,"VK_QCOM_tile_properties",{"number":10811,"type":9477,"author":9753,"provisional":9255,"contact":9754,"extension":10812,"proposal":9255},521,"VK_QCOM_ycbcr_degamma",{"number":10814,"type":9477,"author":10815,"provisional":9255,"depends":9567,"platform":10816,"contact":10817,"extension":10818,"proposal":9255},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":10820,"type":9598,"author":10815,"provisional":9255,"depends":9711,"platform":10816,"contact":10821,"extension":10822,"proposal":9255},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":10824,"type":9477,"author":10825,"provisional":9255,"depends":9494,"contact":9697,"extension":10826,"proposal":9255},486,"SEC","VK_SEC_amigo_profiling",{"number":10828,"type":9477,"author":10829,"provisional":9255,"depends":9494,"specialuse":9669,"contact":9926,"extension":10830,"proposal":9255},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":10832,"type":9477,"author":10829,"promotedto":9891,"provisional":9255,"depends":9889,"specialuse":9669,"contact":9890,"extension":10833,"proposal":9255},352,"VK_VALVE_mutable_descriptor_type",1725732626140]