[{"data":1,"prerenderedAt":7454},["ShallowReactive",2],{"8trtjNKNzg":3,"VyF3Mmj32r":5940,"N9m89Rcq0G":6115},{"title":4,"description":5,"body":6,"_type":5938,"_id":5939},"Resource Descriptors","A descriptor is an opaque data structure representing a shader resource\nsuch as a buffer, buffer view, image view, sampler, or combined image\nsampler.\nDescriptors are organized into descriptor sets, which are bound during\ncommand recording for use in subsequent drawing commands.\nThe arrangement of content in each descriptor set is determined by a\ndescriptor set layout, which determines what descriptors can be stored\nwithin it.\nThe sequence of descriptor set layouts that be used by a pipeline is\nspecified in a pipeline layout.\nEach pipeline object use up to maxBoundDescriptorSets (see\nLimits) descriptor sets.",{"type":7,"children":8,"toc":5895},"root",[9,17,82,107,120,138,145,174,181,221,246,265,285,314,341,347,388,394,429,434,454,464,557,563,605,651,661,744,759,765,809,814,832,838,875,895,911,926,942,966,972,999,1019,1025,1052,1058,1107,1113,1151,1157,1182,1193,1199,1253,1268,1278,1296,1308,1330,1336,1374,1388,1397,1409,1430,1436,1478,1507,1516,1592,1598,1625,1631,1722,1734,1783,1796,1802,1812,1818,1829,1839,1848,1856,1864,1874,1884,1893,1902,1911,1920,1928,1937,1945,1950,1956,2281,2287,2592,2598,3575,3584,3590,3599,3608,3617,3626,3635,3644,3678,3683,3719,3741,3784,4240,4249,4256,4291,4303,4308,4318,4333,4338,4346,4369,4374,4815,4821,4830,4839,4848,4857,4866,4875,4884,4893,4902,4911,4920,4929,4938,4947,4956,4962,4971,4980,4989,4997,5006,5015,5024,5032,5041,5047,5056,5062,5071,5080,5088,5097,5106,5115,5124,5129,5138,5146,5155,5161,5170,5178,5187,5193,5202,5210,5219,5225,5238,5246,5255,5263,5272,5277,5286,5295,5304,5313,5319,5333,5339,5349,5358,5367,5376,5385,5394,5403,5425,5441,5449,5455,5531,5539,5548,5557,5565,5573,5582,5590,5598,5607,5613,5628,5646,5652,5673,5730,5736,5790,5799,5808,5817,5826,5835,5844,5853,5862,5871,5880,5889],{"type":10,"tag":11,"props":12,"children":14},"element","h1",{"id":13},"descriptorsets",[15],{"type":16,"value":4},"text",{"type":10,"tag":18,"props":19,"children":20},"p",{},[21,23,29,31,36,38,43,45,50,52,57,59,62,64,71,73,80],{"type":16,"value":22},"A ",{"type":10,"tag":24,"props":25,"children":26},"em",{},[27],{"type":16,"value":28},"descriptor",{"type":16,"value":30}," is an opaque data structure representing a shader resource\nsuch as a buffer, buffer view, image view, sampler, or combined image\nsampler.\nDescriptors are organized into ",{"type":10,"tag":24,"props":32,"children":33},{},[34],{"type":16,"value":35},"descriptor sets",{"type":16,"value":37},", which are bound during\ncommand recording for use in subsequent drawing commands.\nThe arrangement of content in each descriptor set is determined by a\n",{"type":10,"tag":24,"props":39,"children":40},{},[41],{"type":16,"value":42},"descriptor set layout",{"type":16,"value":44},", which determines what descriptors can be stored\nwithin it.\nThe sequence of descriptor set layouts that ",{"type":10,"tag":46,"props":47,"children":49},"normative",{"type":48},"can",[],{"type":16,"value":51}," be used by a pipeline is\nspecified in a ",{"type":10,"tag":24,"props":53,"children":54},{},[55],{"type":16,"value":56},"pipeline layout",{"type":16,"value":58},".\nEach pipeline object ",{"type":10,"tag":46,"props":60,"children":61},{"type":48},[],{"type":16,"value":63}," use up to ",{"type":10,"tag":65,"props":66,"children":68},"code",{"className":67},[],[69],{"type":16,"value":70},"maxBoundDescriptorSets",{"type":16,"value":72}," (see\n",{"type":10,"tag":74,"props":75,"children":77},"a",{"href":76},"/chapters/limits#limits",[78],{"type":16,"value":79},"Limits",{"type":16,"value":81},") descriptor sets.",{"type":10,"tag":18,"props":83,"children":84},{},[85,87,97,99,105],{"type":16,"value":86},"If the ",{"type":10,"tag":74,"props":88,"children":90},{"href":89},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBuffer",[91],{"type":10,"tag":65,"props":92,"children":94},{"className":93},[],[95],{"type":16,"value":96},"descriptorBuffer",{"type":16,"value":98}," feature is\nenabled, the implementation supports placing descriptors into\n",{"type":10,"tag":74,"props":100,"children":102},{"href":101},"/chapters/descriptorsets#descriptorbuffers",[103],{"type":16,"value":104},"descriptor buffers",{"type":16,"value":106}," which are bound during command\nrecording in a similar way to descriptor sets.",{"type":10,"tag":18,"props":108,"children":109},{},[110,112,118],{"type":16,"value":111},"Shaders access resources via variables decorated with a descriptor set and\nbinding number that link them to a descriptor in a descriptor set.\nThe shader interface mapping to bound descriptor sets is described in the\n",{"type":10,"tag":74,"props":113,"children":115},{"href":114},"/chapters/interfaces#interfaces-resources",[116],{"type":16,"value":117},"Shader Resource Interface",{"type":16,"value":119}," section.",{"type":10,"tag":18,"props":121,"children":122},{},[123,125,128,130,136],{"type":16,"value":124},"Shaders ",{"type":10,"tag":46,"props":126,"children":127},{"type":48},[],{"type":16,"value":129}," also access buffers without going through descriptors by using\n",{"type":10,"tag":74,"props":131,"children":133},{"href":132},"/chapters/descriptorsets#descriptorsets-physical-storage-buffer",[134],{"type":16,"value":135},"Physical Storage Buffer Access",{"type":16,"value":137}," to\naccess them through 64-bit addresses.",{"type":10,"tag":139,"props":140,"children":142},"h2",{"id":141},"descriptorsets-types",[143],{"type":16,"value":144},"Descriptor Types",{"type":10,"tag":18,"props":146,"children":147},{},[148,150,156,158,164,166,172],{"type":16,"value":149},"There are a number of different types of descriptor supported by Vulkan,\ncorresponding to different resources or usage.\nThe following sections describe the API definitions of each descriptor type.\nThe mapping of each type to SPIR-V is listed in the\n",{"type":10,"tag":74,"props":151,"children":153},{"href":152},"/chapters/interfaces#interfaces-resources-correspondence",[154],{"type":16,"value":155},"Shader Resource and Descriptor Type\nCorrespondence",{"type":16,"value":157}," and ",{"type":10,"tag":74,"props":159,"children":161},{"href":160},"/chapters/interfaces#interfaces-resources-storage-class-correspondence",[162],{"type":16,"value":163},"Shader Resource and Storage Class Correspondence",{"type":16,"value":165}," tables in the\n",{"type":10,"tag":74,"props":167,"children":169},{"href":168},"/chapters/interfaces#interfaces",[170],{"type":16,"value":171},"Shader Interfaces",{"type":16,"value":173}," chapter.",{"type":10,"tag":175,"props":176,"children":178},"h3",{"id":177},"descriptorsets-storageimage",[179],{"type":16,"value":180},"Storage Image",{"type":10,"tag":18,"props":182,"children":183},{},[184,185,190,192,198,200,206,208,214,216,219],{"type":16,"value":22},{"type":10,"tag":24,"props":186,"children":187},{},[188],{"type":16,"value":189},"storage image",{"type":16,"value":191}," (",{"type":10,"tag":65,"props":193,"children":195},{"className":194},[],[196],{"type":16,"value":197},"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",{"type":16,"value":199},") is a descriptor\ntype associated with an ",{"type":10,"tag":74,"props":201,"children":203},{"href":202},"/chapters/resources#resources-images",[204],{"type":16,"value":205},"image resource",{"type":16,"value":207}," via an\n",{"type":10,"tag":74,"props":209,"children":211},{"href":210},"/chapters/resources#resources-image-views",[212],{"type":16,"value":213},"image view",{"type":16,"value":215}," that load, store, and atomic\noperations ",{"type":10,"tag":46,"props":217,"children":218},{"type":48},[],{"type":16,"value":220}," be performed on.",{"type":10,"tag":18,"props":222,"children":223},{},[224,226,232,234,244],{"type":16,"value":225},"Storage image loads are supported in all shader stages for image views whose\n",{"type":10,"tag":74,"props":227,"children":229},{"href":228},"/chapters/resources#resources-image-view-format-features",[230],{"type":16,"value":231},"format features",{"type":16,"value":233}," contain\n",{"type":10,"tag":74,"props":235,"children":237},{"href":236},"/chapters/formats#formats-properties",[238],{"type":10,"tag":65,"props":239,"children":241},{"className":240},[],[242],{"type":16,"value":243},"VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",{"type":16,"value":245},".",{"type":10,"tag":18,"props":247,"children":248},{},[249,251,255,256,264],{"type":16,"value":250},"Stores to storage images are supported in\ntask, mesh and\ncompute shaders for image views whose\n",{"type":10,"tag":74,"props":252,"children":253},{"href":228},[254],{"type":16,"value":231},{"type":16,"value":233},{"type":10,"tag":74,"props":257,"children":258},{"href":236},[259],{"type":10,"tag":65,"props":260,"children":262},{"className":261},[],[263],{"type":16,"value":243},{"type":16,"value":245},{"type":10,"tag":18,"props":266,"children":267},{},[268,270,274,275,284],{"type":16,"value":269},"Atomic operations on storage images are supported in\ntask, mesh and\ncompute shaders for image views whose\n",{"type":10,"tag":74,"props":271,"children":272},{"href":228},[273],{"type":16,"value":231},{"type":16,"value":233},{"type":10,"tag":74,"props":276,"children":277},{"href":236},[278],{"type":10,"tag":65,"props":279,"children":281},{"className":280},[],[282],{"type":16,"value":283},"VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",{"type":16,"value":245},{"type":10,"tag":18,"props":286,"children":287},{},[288,290,300,302,312],{"type":16,"value":289},"When the ",{"type":10,"tag":74,"props":291,"children":293},{"href":292},"/man/VkPhysicalDeviceFeatures#features-fragmentStoresAndAtomics",[294],{"type":10,"tag":65,"props":295,"children":297},{"className":296},[],[298],{"type":16,"value":299},"fragmentStoresAndAtomics",{"type":16,"value":301}," feature is enabled, stores and atomic\noperations are also supported for storage images in fragment shaders with\nthe same set of image formats as supported in compute shaders.\nWhen the ",{"type":10,"tag":74,"props":303,"children":305},{"href":304},"/man/VkPhysicalDeviceFeatures#features-vertexPipelineStoresAndAtomics",[306],{"type":10,"tag":65,"props":307,"children":309},{"className":308},[],[310],{"type":16,"value":311},"vertexPipelineStoresAndAtomics",{"type":16,"value":313}," feature is enabled, stores and atomic\noperations are also supported in vertex, tessellation, and geometry shaders\nwith the same set of image formats as supported in compute shaders.",{"type":10,"tag":18,"props":315,"children":316},{},[317,319,323,325,331,333,339],{"type":16,"value":318},"The image subresources for a storage image ",{"type":10,"tag":46,"props":320,"children":322},{"type":321},"must",[],{"type":16,"value":324}," be in the\n",{"type":10,"tag":65,"props":326,"children":328},{"className":327},[],[329],{"type":16,"value":330},"VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR",{"type":16,"value":332}," or\n",{"type":10,"tag":65,"props":334,"children":336},{"className":335},[],[337],{"type":16,"value":338},"VK_IMAGE_LAYOUT_GENERAL",{"type":16,"value":340}," layout in order to access its data in a\nshader.",{"type":10,"tag":175,"props":342,"children":344},{"id":343},"descriptorsets-sampler",[345],{"type":16,"value":346},"Sampler",{"type":10,"tag":18,"props":348,"children":349},{},[350,351,356,357,363,365,371,373,379,381,387],{"type":16,"value":22},{"type":10,"tag":24,"props":352,"children":353},{},[354],{"type":16,"value":355},"sampler descriptor",{"type":16,"value":191},{"type":10,"tag":65,"props":358,"children":360},{"className":359},[],[361],{"type":16,"value":362},"VK_DESCRIPTOR_TYPE_SAMPLER",{"type":16,"value":364},") is a descriptor\ntype associated with a ",{"type":10,"tag":74,"props":366,"children":368},{"href":367},"/chapters/samplers#samplers",[369],{"type":16,"value":370},"sampler",{"type":16,"value":372}," object, used to control the\nbehavior of ",{"type":10,"tag":74,"props":374,"children":376},{"href":375},"/chapters/textures#textures",[377],{"type":16,"value":378},"sampling operations",{"type":16,"value":380}," performed on a\n",{"type":10,"tag":74,"props":382,"children":384},{"href":383},"/chapters/descriptorsets#descriptorsets-sampledimage",[385],{"type":16,"value":386},"sampled image",{"type":16,"value":245},{"type":10,"tag":175,"props":389,"children":391},{"id":390},"descriptorsets-sampledimage",[392],{"type":16,"value":393},"Sampled Image",{"type":10,"tag":18,"props":395,"children":396},{},[397,398,402,403,409,410,414,415,419,421,425,428],{"type":16,"value":22},{"type":10,"tag":24,"props":399,"children":400},{},[401],{"type":16,"value":386},{"type":16,"value":191},{"type":10,"tag":65,"props":404,"children":406},{"className":405},[],[407],{"type":16,"value":408},"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",{"type":16,"value":199},{"type":10,"tag":74,"props":411,"children":412},{"href":202},[413],{"type":16,"value":205},{"type":16,"value":207},{"type":10,"tag":74,"props":416,"children":417},{"href":210},[418],{"type":16,"value":213},{"type":16,"value":420}," that ",{"type":10,"tag":74,"props":422,"children":423},{"href":375},[424],{"type":16,"value":378},{"type":10,"tag":46,"props":426,"children":427},{"type":48},[],{"type":16,"value":220},{"type":10,"tag":18,"props":430,"children":431},{},[432],{"type":16,"value":433},"Shaders combine a sampled image variable and a sampler variable to perform\nsampling operations.",{"type":10,"tag":18,"props":435,"children":436},{},[437,439,443,444,453],{"type":16,"value":438},"Sampled images are supported in all shader stages for image views whose\n",{"type":10,"tag":74,"props":440,"children":441},{"href":228},[442],{"type":16,"value":231},{"type":16,"value":233},{"type":10,"tag":74,"props":445,"children":446},{"href":236},[447],{"type":10,"tag":65,"props":448,"children":450},{"className":449},[],[451],{"type":16,"value":452},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",{"type":16,"value":245},{"type":10,"tag":18,"props":455,"children":456},{},[457,459,462],{"type":16,"value":458},"An image subresources for a sampled image ",{"type":10,"tag":46,"props":460,"children":461},{"type":321},[],{"type":16,"value":463}," be in one of the following\nlayouts:",{"type":10,"tag":465,"props":466,"children":467},"ul",{},[468,478,487,495,503,512,521,530,539,548],{"type":10,"tag":469,"props":470,"children":471},"li",{},[472],{"type":10,"tag":65,"props":473,"children":475},{"className":474},[],[476],{"type":16,"value":477},"VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",{"type":10,"tag":469,"props":479,"children":480},{},[481],{"type":10,"tag":65,"props":482,"children":484},{"className":483},[],[485],{"type":16,"value":486},"VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",{"type":10,"tag":469,"props":488,"children":489},{},[490],{"type":10,"tag":65,"props":491,"children":493},{"className":492},[],[494],{"type":16,"value":338},{"type":10,"tag":469,"props":496,"children":497},{},[498],{"type":10,"tag":65,"props":499,"children":501},{"className":500},[],[502],{"type":16,"value":330},{"type":10,"tag":469,"props":504,"children":505},{},[506],{"type":10,"tag":65,"props":507,"children":509},{"className":508},[],[510],{"type":16,"value":511},"VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL",{"type":10,"tag":469,"props":513,"children":514},{},[515],{"type":10,"tag":65,"props":516,"children":518},{"className":517},[],[519],{"type":16,"value":520},"VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL",{"type":10,"tag":469,"props":522,"children":523},{},[524],{"type":10,"tag":65,"props":525,"children":527},{"className":526},[],[528],{"type":16,"value":529},"VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL",{"type":10,"tag":469,"props":531,"children":532},{},[533],{"type":10,"tag":65,"props":534,"children":536},{"className":535},[],[537],{"type":16,"value":538},"VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL",{"type":10,"tag":469,"props":540,"children":541},{},[542],{"type":10,"tag":65,"props":543,"children":545},{"className":544},[],[546],{"type":16,"value":547},"VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR",{"type":10,"tag":469,"props":549,"children":550},{},[551],{"type":10,"tag":65,"props":552,"children":554},{"className":553},[],[555],{"type":16,"value":556},"VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT",{"type":10,"tag":175,"props":558,"children":560},{"id":559},"descriptorsets-combinedimagesampler",[561],{"type":16,"value":562},"Combined Image Sampler",{"type":10,"tag":18,"props":564,"children":565},{},[566,567,572,573,579,581,585,587,591,593,598,599,603],{"type":16,"value":22},{"type":10,"tag":24,"props":568,"children":569},{},[570],{"type":16,"value":571},"combined image sampler",{"type":16,"value":191},{"type":10,"tag":65,"props":574,"children":576},{"className":575},[],[577],{"type":16,"value":578},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":16,"value":580},")\nis a single descriptor type associated with both a ",{"type":10,"tag":74,"props":582,"children":583},{"href":367},[584],{"type":16,"value":370},{"type":16,"value":586}," and\nan ",{"type":10,"tag":74,"props":588,"children":589},{"href":202},[590],{"type":16,"value":205},{"type":16,"value":592},", combining both a\n",{"type":10,"tag":74,"props":594,"children":596},{"href":595},"/chapters/descriptorsets#descriptorsets-sampler",[597],{"type":16,"value":370},{"type":16,"value":157},{"type":10,"tag":74,"props":600,"children":601},{"href":383},[602],{"type":16,"value":386},{"type":16,"value":604}," descriptor into a single descriptor.",{"type":10,"tag":18,"props":606,"children":607},{},[608,610,631,633,639,641,644,646,649],{"type":16,"value":609},"If the descriptor refers to a sampler that performs\n",{"type":10,"tag":74,"props":611,"children":613},{"href":612},"/chapters/samplers#samplers-YCbCr-conversion",[614,616,622,624,629],{"type":16,"value":615},"Y′C",{"type":10,"tag":617,"props":618,"children":619},"sub",{},[620],{"type":16,"value":621},"B",{"type":16,"value":623},"C",{"type":10,"tag":617,"props":625,"children":626},{},[627],{"type":16,"value":628},"R",{"type":16,"value":630}," conversion",{"type":16,"value":632}," or samples a\n",{"type":10,"tag":74,"props":634,"children":636},{"href":635},"/man/VkSamplerCreateFlagBits#samplers-subsamplesampler",[637],{"type":16,"value":638},"subsampled image",{"type":16,"value":640},",\nthe sampler ",{"type":10,"tag":46,"props":642,"children":643},{"type":321},[],{"type":16,"value":645}," only be used to sample the image in the same descriptor.\nOtherwise, the\nsampler and image in this type of descriptor ",{"type":10,"tag":46,"props":647,"children":648},{"type":48},[],{"type":16,"value":650}," be used freely with any\nother samplers and images.",{"type":10,"tag":18,"props":652,"children":653},{},[654,656,659],{"type":16,"value":655},"An image subresources for a combined image sampler ",{"type":10,"tag":46,"props":657,"children":658},{"type":321},[],{"type":16,"value":660}," be in one of the\nfollowing layouts:",{"type":10,"tag":465,"props":662,"children":663},{},[664,672,680,688,696,704,712,720,728,736],{"type":10,"tag":469,"props":665,"children":666},{},[667],{"type":10,"tag":65,"props":668,"children":670},{"className":669},[],[671],{"type":16,"value":477},{"type":10,"tag":469,"props":673,"children":674},{},[675],{"type":10,"tag":65,"props":676,"children":678},{"className":677},[],[679],{"type":16,"value":486},{"type":10,"tag":469,"props":681,"children":682},{},[683],{"type":10,"tag":65,"props":684,"children":686},{"className":685},[],[687],{"type":16,"value":338},{"type":10,"tag":469,"props":689,"children":690},{},[691],{"type":10,"tag":65,"props":692,"children":694},{"className":693},[],[695],{"type":16,"value":330},{"type":10,"tag":469,"props":697,"children":698},{},[699],{"type":10,"tag":65,"props":700,"children":702},{"className":701},[],[703],{"type":16,"value":511},{"type":10,"tag":469,"props":705,"children":706},{},[707],{"type":10,"tag":65,"props":708,"children":710},{"className":709},[],[711],{"type":16,"value":520},{"type":10,"tag":469,"props":713,"children":714},{},[715],{"type":10,"tag":65,"props":716,"children":718},{"className":717},[],[719],{"type":16,"value":529},{"type":10,"tag":469,"props":721,"children":722},{},[723],{"type":10,"tag":65,"props":724,"children":726},{"className":725},[],[727],{"type":16,"value":538},{"type":10,"tag":469,"props":729,"children":730},{},[731],{"type":10,"tag":65,"props":732,"children":734},{"className":733},[],[735],{"type":16,"value":547},{"type":10,"tag":469,"props":737,"children":738},{},[739],{"type":10,"tag":65,"props":740,"children":742},{"className":741},[],[743],{"type":16,"value":556},{"type":10,"tag":745,"props":746,"children":747},"note",{},[748],{"type":10,"tag":18,"props":749,"children":750},{},[751,753,757],{"type":16,"value":752},"On some implementations, it ",{"type":10,"tag":46,"props":754,"children":756},{"type":755},"may",[],{"type":16,"value":758}," be more efficient to sample from an image\nusing a combination of sampler and sampled image that are stored together in\nthe descriptor set in a combined descriptor.",{"type":10,"tag":175,"props":760,"children":762},{"id":761},"descriptorsets-uniformtexelbuffer",[763],{"type":16,"value":764},"Uniform Texel Buffer",{"type":10,"tag":18,"props":766,"children":767},{},[768,769,774,775,781,783,789,791,797,798,803,805,808],{"type":16,"value":22},{"type":10,"tag":24,"props":770,"children":771},{},[772],{"type":16,"value":773},"uniform texel buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":776,"children":778},{"className":777},[],[779],{"type":16,"value":780},"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",{"type":16,"value":782},") is\na descriptor type associated with a ",{"type":10,"tag":74,"props":784,"children":786},{"href":785},"/chapters/resources#resources-buffers",[787],{"type":16,"value":788},"buffer resource",{"type":16,"value":790},"\nvia a ",{"type":10,"tag":74,"props":792,"children":794},{"href":793},"/chapters/resources#resources-buffer-views",[795],{"type":16,"value":796},"buffer view",{"type":16,"value":420},{"type":10,"tag":74,"props":799,"children":800},{"href":375},[801],{"type":16,"value":802},"image sampling\noperations",{"type":16,"value":804}," ",{"type":10,"tag":46,"props":806,"children":807},{"type":48},[],{"type":16,"value":220},{"type":10,"tag":18,"props":810,"children":811},{},[812],{"type":16,"value":813},"Uniform texel buffers define a tightly-packed 1-dimensional linear array of\ntexels, with texels going through format conversion when read in a shader in\nthe same way as they are for an image.",{"type":10,"tag":18,"props":815,"children":816},{},[817,819,824,826],{"type":16,"value":818},"Load operations from uniform texel buffers are supported in all shader\nstages for buffer view formats which report\n",{"type":10,"tag":74,"props":820,"children":822},{"href":821},"/chapters/resources#resources-buffer-view-format-features",[823],{"type":16,"value":231},{"type":16,"value":825}," support for\n",{"type":10,"tag":65,"props":827,"children":829},{"className":828},[],[830],{"type":16,"value":831},"VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",{"type":10,"tag":175,"props":833,"children":835},{"id":834},"descriptorsets-storagetexelbuffer",[836],{"type":16,"value":837},"Storage Texel Buffer",{"type":10,"tag":18,"props":839,"children":840},{},[841,842,847,848,854,855,859,860,864,865,870,871,874],{"type":16,"value":22},{"type":10,"tag":24,"props":843,"children":844},{},[845],{"type":16,"value":846},"storage texel buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":849,"children":851},{"className":850},[],[852],{"type":16,"value":853},"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",{"type":16,"value":782},{"type":10,"tag":74,"props":856,"children":857},{"href":785},[858],{"type":16,"value":788},{"type":16,"value":790},{"type":10,"tag":74,"props":861,"children":862},{"href":793},[863],{"type":16,"value":796},{"type":16,"value":420},{"type":10,"tag":74,"props":866,"children":867},{"href":375},[868],{"type":16,"value":869},"image load,\nstore, and atomic operations",{"type":16,"value":804},{"type":10,"tag":46,"props":872,"children":873},{"type":48},[],{"type":16,"value":220},{"type":10,"tag":18,"props":876,"children":877},{},[878,880,886,888,894],{"type":16,"value":879},"Storage texel buffers define a tightly-packed 1-dimensional linear array of\ntexels, with texels going through format conversion when read in a shader in\nthe same way as they are for an image.\nUnlike ",{"type":10,"tag":74,"props":881,"children":883},{"href":882},"/chapters/descriptorsets#descriptorsets-uniformtexelbuffer",[884],{"type":16,"value":885},"uniform texel buffers",{"type":16,"value":887},", these\nbuffers can also be written to in the same way as for\n",{"type":10,"tag":74,"props":889,"children":891},{"href":890},"/chapters/descriptorsets#descriptorsets-storageimage",[892],{"type":16,"value":893},"storage images",{"type":16,"value":245},{"type":10,"tag":18,"props":896,"children":897},{},[898,900,904,905],{"type":16,"value":899},"Storage texel buffer loads are supported in all shader stages for texel\nbuffer view formats which report\n",{"type":10,"tag":74,"props":901,"children":902},{"href":821},[903],{"type":16,"value":231},{"type":16,"value":825},{"type":10,"tag":65,"props":906,"children":908},{"className":907},[],[909],{"type":16,"value":910},"VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",{"type":10,"tag":18,"props":912,"children":913},{},[914,916,920,921],{"type":16,"value":915},"Stores to storage texel buffers are supported in\ntask, mesh and\ncompute shaders for texel buffer formats which report\n",{"type":10,"tag":74,"props":917,"children":918},{"href":821},[919],{"type":16,"value":231},{"type":16,"value":825},{"type":10,"tag":65,"props":922,"children":924},{"className":923},[],[925],{"type":16,"value":910},{"type":10,"tag":18,"props":927,"children":928},{},[929,931,935,936],{"type":16,"value":930},"Atomic operations on storage texel buffers are supported in\ntask, mesh and\ncompute shaders for texel buffer formats which report\n",{"type":10,"tag":74,"props":932,"children":933},{"href":821},[934],{"type":16,"value":231},{"type":16,"value":825},{"type":10,"tag":65,"props":937,"children":939},{"className":938},[],[940],{"type":16,"value":941},"VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",{"type":10,"tag":18,"props":943,"children":944},{},[945,946,954,956,964],{"type":16,"value":289},{"type":10,"tag":74,"props":947,"children":948},{"href":292},[949],{"type":10,"tag":65,"props":950,"children":952},{"className":951},[],[953],{"type":16,"value":299},{"type":16,"value":955}," feature is enabled, stores and atomic\noperations are also supported for storage texel buffers in fragment shaders\nwith the same set of texel buffer formats as supported in compute shaders.\nWhen the ",{"type":10,"tag":74,"props":957,"children":958},{"href":304},[959],{"type":10,"tag":65,"props":960,"children":962},{"className":961},[],[963],{"type":16,"value":311},{"type":16,"value":965}," feature is enabled, stores and atomic\noperations are also supported in vertex, tessellation, and geometry shaders\nwith the same set of texel buffer formats as supported in compute shaders.",{"type":10,"tag":175,"props":967,"children":969},{"id":968},"descriptorsets-storagebuffer",[970],{"type":16,"value":971},"Storage Buffer",{"type":10,"tag":18,"props":973,"children":974},{},[975,976,981,982,988,989,993,995,998],{"type":16,"value":22},{"type":10,"tag":24,"props":977,"children":978},{},[979],{"type":16,"value":980},"storage buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":983,"children":985},{"className":984},[],[986],{"type":16,"value":987},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",{"type":16,"value":364},{"type":10,"tag":74,"props":990,"children":991},{"href":785},[992],{"type":16,"value":788},{"type":16,"value":994}," directly,\ndescribed in a shader as a structure with various members that load, store,\nand atomic operations ",{"type":10,"tag":46,"props":996,"children":997},{"type":48},[],{"type":16,"value":220},{"type":10,"tag":745,"props":1000,"children":1001},{},[1002],{"type":10,"tag":18,"props":1003,"children":1004},{},[1005,1007,1010,1012,1018],{"type":16,"value":1006},"Atomic operations ",{"type":10,"tag":46,"props":1008,"children":1009},{"type":48},[],{"type":16,"value":1011}," only be performed on members of certain types as\ndefined in the ",{"type":10,"tag":74,"props":1013,"children":1015},{"href":1014},"/chapters/spirvenv#spirvenv",[1016],{"type":16,"value":1017},"SPIR-V environment appendix",{"type":16,"value":245},{"type":10,"tag":175,"props":1020,"children":1022},{"id":1021},"descriptorsets-uniformbuffer",[1023],{"type":16,"value":1024},"Uniform Buffer",{"type":10,"tag":18,"props":1026,"children":1027},{},[1028,1029,1034,1035,1041,1042,1046,1048,1051],{"type":16,"value":22},{"type":10,"tag":24,"props":1030,"children":1031},{},[1032],{"type":16,"value":1033},"uniform buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":1036,"children":1038},{"className":1037},[],[1039],{"type":16,"value":1040},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",{"type":16,"value":364},{"type":10,"tag":74,"props":1043,"children":1044},{"href":785},[1045],{"type":16,"value":788},{"type":16,"value":1047}," directly,\ndescribed in a shader as a structure with various members that load\noperations ",{"type":10,"tag":46,"props":1049,"children":1050},{"type":48},[],{"type":16,"value":220},{"type":10,"tag":175,"props":1053,"children":1055},{"id":1054},"descriptorsets-uniformbufferdynamic",[1056],{"type":16,"value":1057},"Dynamic Uniform Buffer",{"type":10,"tag":18,"props":1059,"children":1060},{},[1061,1062,1067,1068,1074,1076,1081,1083,1089,1091,1097,1099,1105],{"type":16,"value":22},{"type":10,"tag":24,"props":1063,"children":1064},{},[1065],{"type":16,"value":1066},"dynamic uniform buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":16,"value":1073},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":16,"value":1075},")\nis almost identical to a ",{"type":10,"tag":74,"props":1077,"children":1079},{"href":1078},"/chapters/descriptorsets#descriptorsets-uniformbuffer",[1080],{"type":16,"value":1033},{"type":16,"value":1082},",\nand differs only in how the offset into the buffer is specified.\nThe base offset calculated by the ",{"type":10,"tag":74,"props":1084,"children":1086},{"href":1085},"/man/VkDescriptorBufferInfo",[1087],{"type":16,"value":1088},"VkDescriptorBufferInfo",{"type":16,"value":1090}," when\ninitially ",{"type":10,"tag":74,"props":1092,"children":1094},{"href":1093},"/chapters/descriptorsets#descriptorsets-updates",[1095],{"type":16,"value":1096},"updating the descriptor set",{"type":16,"value":1098}," is added\nto a ",{"type":10,"tag":74,"props":1100,"children":1102},{"href":1101},"/man/vkCmdBindDescriptorSets#descriptorsets-binding-dynamicoffsets",[1103],{"type":16,"value":1104},"dynamic offset",{"type":16,"value":1106}," when binding\nthe descriptor set.",{"type":10,"tag":175,"props":1108,"children":1110},{"id":1109},"descriptorsets-storagebufferdynamic",[1111],{"type":16,"value":1112},"Dynamic Storage Buffer",{"type":10,"tag":18,"props":1114,"children":1115},{},[1116,1117,1122,1123,1129,1130,1135,1136,1140,1141,1145,1146,1150],{"type":16,"value":22},{"type":10,"tag":24,"props":1118,"children":1119},{},[1120],{"type":16,"value":1121},"dynamic storage buffer",{"type":16,"value":191},{"type":10,"tag":65,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":16,"value":1128},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":16,"value":1075},{"type":10,"tag":74,"props":1131,"children":1133},{"href":1132},"/chapters/descriptorsets#descriptorsets-storagebuffer",[1134],{"type":16,"value":980},{"type":16,"value":1082},{"type":10,"tag":74,"props":1137,"children":1138},{"href":1085},[1139],{"type":16,"value":1088},{"type":16,"value":1090},{"type":10,"tag":74,"props":1142,"children":1143},{"href":1093},[1144],{"type":16,"value":1096},{"type":16,"value":1098},{"type":10,"tag":74,"props":1147,"children":1148},{"href":1101},[1149],{"type":16,"value":1104},{"type":16,"value":1106},{"type":10,"tag":175,"props":1152,"children":1154},{"id":1153},"descriptorsets-inlineuniformblock",[1155],{"type":16,"value":1156},"Inline Uniform Block",{"type":10,"tag":18,"props":1158,"children":1159},{},[1160,1162,1167,1168,1174,1176,1180],{"type":16,"value":1161},"An ",{"type":10,"tag":24,"props":1163,"children":1164},{},[1165],{"type":16,"value":1166},"inline uniform block",{"type":16,"value":191},{"type":10,"tag":65,"props":1169,"children":1171},{"className":1170},[],[1172],{"type":16,"value":1173},"VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK",{"type":16,"value":1175},") is\nalmost identical to a ",{"type":10,"tag":74,"props":1177,"children":1178},{"href":1078},[1179],{"type":16,"value":1033},{"type":16,"value":1181},", and\ndiffers only in taking its storage directly from the encompassing descriptor\nset instead of being backed by buffer memory.\nIt is typically used to access a small set of constant data that does not\nrequire the additional flexibility provided by the indirection enabled when\nusing a uniform buffer where the descriptor and the referenced buffer memory\nare decoupled.\nCompared to push constants, they allow reusing the same set of constant data\nacross multiple disjoint sets of drawing and dispatching commands.",{"type":10,"tag":18,"props":1183,"children":1184},{},[1185,1187,1191],{"type":16,"value":1186},"Inline uniform block descriptors ",{"type":10,"tag":46,"props":1188,"children":1190},{"type":1189},"cannot",[],{"type":16,"value":1192}," be aggregated into arrays.\nInstead, the array size specified for an inline uniform block descriptor\nbinding specifies the binding’s capacity in bytes.",{"type":10,"tag":175,"props":1194,"children":1196},{"id":1195},"descriptorsets-weightimage",[1197],{"type":16,"value":1198},"Sample Weight Image",{"type":10,"tag":18,"props":1200,"children":1201},{},[1202,1203,1208,1209,1215,1217,1221,1223,1227,1228,1231,1233,1239,1241,1244,1246,1252],{"type":16,"value":22},{"type":10,"tag":24,"props":1204,"children":1205},{},[1206],{"type":16,"value":1207},"sample weight image",{"type":16,"value":191},{"type":10,"tag":65,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":16,"value":1214},"VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM",{"type":16,"value":1216},")\nis a descriptor type associated with an ",{"type":10,"tag":74,"props":1218,"children":1219},{"href":202},[1220],{"type":16,"value":205},{"type":16,"value":1222},"\nvia an ",{"type":10,"tag":74,"props":1224,"children":1225},{"href":210},[1226],{"type":16,"value":213},{"type":16,"value":420},{"type":10,"tag":46,"props":1229,"children":1230},{"type":48},[],{"type":16,"value":1232}," be used in\n",{"type":10,"tag":74,"props":1234,"children":1236},{"href":1235},"/chapters/textures#textures-weightimage",[1237],{"type":16,"value":1238},"weight image sampling",{"type":16,"value":1240},".\nThe image view ",{"type":10,"tag":46,"props":1242,"children":1243},{"type":321},[],{"type":16,"value":1245}," have been created with\n",{"type":10,"tag":74,"props":1247,"children":1249},{"href":1248},"/man/VkImageViewSampleWeightCreateInfoQCOM",[1250],{"type":16,"value":1251},"VkImageViewSampleWeightCreateInfoQCOM",{"type":16,"value":245},{"type":10,"tag":18,"props":1254,"children":1255},{},[1256,1257,1260,1262,1267],{"type":16,"value":124},{"type":10,"tag":46,"props":1258,"children":1259},{"type":48},[],{"type":16,"value":1261}," combine a weight image variable, a sampled image variable, and\na sampler variable to perform ",{"type":10,"tag":74,"props":1263,"children":1264},{"href":1235},[1265],{"type":16,"value":1266},"weight image\nsampling",{"type":16,"value":245},{"type":10,"tag":18,"props":1269,"children":1270},{},[1271,1273],{"type":16,"value":1272},"Weight image sampling is supported in all shader stages if the weight image\nview specifies a format that supports\n",{"type":10,"tag":74,"props":1274,"children":1275},{"href":228},[1276],{"type":16,"value":1277},"format feature",{"type":10,"tag":18,"props":1279,"children":1280},{},[1281,1290,1292],{"type":10,"tag":74,"props":1282,"children":1283},{"href":236},[1284],{"type":10,"tag":65,"props":1285,"children":1287},{"className":1286},[],[1288],{"type":16,"value":1289},"VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM",{"type":16,"value":1291}," and\nthe sampled image view specifies a format that supports\n",{"type":10,"tag":74,"props":1293,"children":1294},{"href":228},[1295],{"type":16,"value":1277},{"type":10,"tag":18,"props":1297,"children":1298},{},[1299],{"type":10,"tag":74,"props":1300,"children":1301},{"href":236},[1302],{"type":10,"tag":65,"props":1303,"children":1305},{"className":1304},[],[1306],{"type":16,"value":1307},"VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM",{"type":10,"tag":18,"props":1309,"children":1310},{},[1311,1313,1316,1317,1322,1324,1329],{"type":16,"value":1312},"The image subresources for the weight image ",{"type":10,"tag":46,"props":1314,"children":1315},{"type":321},[],{"type":16,"value":324},{"type":10,"tag":65,"props":1318,"children":1320},{"className":1319},[],[1321],{"type":16,"value":486},{"type":16,"value":1323},", or\n",{"type":10,"tag":65,"props":1325,"children":1327},{"className":1326},[],[1328],{"type":16,"value":338},{"type":16,"value":340},{"type":10,"tag":175,"props":1331,"children":1333},{"id":1332},"descriptorsets-blockmatch",[1334],{"type":16,"value":1335},"Block Matching Image",{"type":10,"tag":18,"props":1337,"children":1338},{},[1339,1340,1345,1346,1352,1353,1357,1358,1362,1363,1366,1367,1373],{"type":16,"value":22},{"type":10,"tag":24,"props":1341,"children":1342},{},[1343],{"type":16,"value":1344},"block matching image",{"type":16,"value":191},{"type":10,"tag":65,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":16,"value":1351},"VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM",{"type":16,"value":1216},{"type":10,"tag":74,"props":1354,"children":1355},{"href":202},[1356],{"type":16,"value":205},{"type":16,"value":1222},{"type":10,"tag":74,"props":1359,"children":1360},{"href":210},[1361],{"type":16,"value":213},{"type":16,"value":420},{"type":10,"tag":46,"props":1364,"children":1365},{"type":48},[],{"type":16,"value":1232},{"type":10,"tag":74,"props":1368,"children":1370},{"href":1369},"/chapters/textures#textures-blockmatch",[1371],{"type":16,"value":1372},"block matching",{"type":16,"value":245},{"type":10,"tag":18,"props":1375,"children":1376},{},[1377,1378,1381,1383,1387],{"type":16,"value":124},{"type":10,"tag":46,"props":1379,"children":1380},{"type":48},[],{"type":16,"value":1382}," combine a target image variable, a reference image variable,\nand a sampler variable to perform ",{"type":10,"tag":74,"props":1384,"children":1385},{"href":1369},[1386],{"type":16,"value":1372},{"type":16,"value":245},{"type":10,"tag":18,"props":1389,"children":1390},{},[1391,1393],{"type":16,"value":1392},"Block matching is supported in all shader stages for if both the target view\nand reference view specifies a format that supports\n",{"type":10,"tag":74,"props":1394,"children":1395},{"href":228},[1396],{"type":16,"value":1277},{"type":10,"tag":18,"props":1398,"children":1399},{},[1400],{"type":10,"tag":74,"props":1401,"children":1402},{"href":236},[1403],{"type":10,"tag":65,"props":1404,"children":1406},{"className":1405},[],[1407],{"type":16,"value":1408},"VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM",{"type":10,"tag":18,"props":1410,"children":1411},{},[1412,1414,1417,1418,1423,1424,1429],{"type":16,"value":1413},"The image subresources for block matching ",{"type":10,"tag":46,"props":1415,"children":1416},{"type":321},[],{"type":16,"value":324},{"type":10,"tag":65,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":16,"value":486},{"type":16,"value":1323},{"type":10,"tag":65,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":16,"value":338},{"type":16,"value":340},{"type":10,"tag":175,"props":1431,"children":1433},{"id":1432},"descriptorsets-inputattachment",[1434],{"type":16,"value":1435},"Input Attachment",{"type":10,"tag":18,"props":1437,"children":1438},{},[1439,1440,1445,1446,1452,1454,1458,1460,1464,1465,1468,1470,1476],{"type":16,"value":1161},{"type":10,"tag":24,"props":1441,"children":1442},{},[1443],{"type":16,"value":1444},"input attachment",{"type":16,"value":191},{"type":10,"tag":65,"props":1447,"children":1449},{"className":1448},[],[1450],{"type":16,"value":1451},"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",{"type":16,"value":1453},") is a\ndescriptor type associated with an ",{"type":10,"tag":74,"props":1455,"children":1456},{"href":202},[1457],{"type":16,"value":205},{"type":16,"value":1459}," via\nan ",{"type":10,"tag":74,"props":1461,"children":1462},{"href":210},[1463],{"type":16,"value":213},{"type":16,"value":420},{"type":10,"tag":46,"props":1466,"children":1467},{"type":48},[],{"type":16,"value":1469}," be used for\n",{"type":10,"tag":74,"props":1471,"children":1473},{"href":1472},"/chapters/synchronization#synchronization-framebuffer-regions",[1474],{"type":16,"value":1475},"framebuffer local",{"type":16,"value":1477}," load operations in\nfragment shaders.",{"type":10,"tag":18,"props":1479,"children":1480},{},[1481,1483,1489,1491,1497,1499,1505],{"type":16,"value":1482},"All image formats that are supported for color attachments\n(",{"type":10,"tag":65,"props":1484,"children":1486},{"className":1485},[],[1487],{"type":16,"value":1488},"VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",{"type":16,"value":1490},"\nor ",{"type":10,"tag":65,"props":1492,"children":1494},{"className":1493},[],[1495],{"type":16,"value":1496},"VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV",{"type":16,"value":1498},"\n) or depth/stencil attachments\n(",{"type":10,"tag":65,"props":1500,"children":1502},{"className":1501},[],[1503],{"type":16,"value":1504},"VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",{"type":16,"value":1506},") for a given image\ntiling mode are also supported for input attachments.",{"type":10,"tag":18,"props":1508,"children":1509},{},[1510,1512,1515],{"type":16,"value":1511},"An image view used as an input attachment ",{"type":10,"tag":46,"props":1513,"children":1514},{"type":321},[],{"type":16,"value":463},{"type":10,"tag":465,"props":1517,"children":1518},{},[1519,1527,1535,1543,1551,1559,1567,1575,1583],{"type":10,"tag":469,"props":1520,"children":1521},{},[1522],{"type":10,"tag":65,"props":1523,"children":1525},{"className":1524},[],[1526],{"type":16,"value":477},{"type":10,"tag":469,"props":1528,"children":1529},{},[1530],{"type":10,"tag":65,"props":1531,"children":1533},{"className":1532},[],[1534],{"type":16,"value":486},{"type":10,"tag":469,"props":1536,"children":1537},{},[1538],{"type":10,"tag":65,"props":1539,"children":1541},{"className":1540},[],[1542],{"type":16,"value":338},{"type":10,"tag":469,"props":1544,"children":1545},{},[1546],{"type":10,"tag":65,"props":1547,"children":1549},{"className":1548},[],[1550],{"type":16,"value":330},{"type":10,"tag":469,"props":1552,"children":1553},{},[1554],{"type":10,"tag":65,"props":1555,"children":1557},{"className":1556},[],[1558],{"type":16,"value":511},{"type":10,"tag":469,"props":1560,"children":1561},{},[1562],{"type":10,"tag":65,"props":1563,"children":1565},{"className":1564},[],[1566],{"type":16,"value":520},{"type":10,"tag":469,"props":1568,"children":1569},{},[1570],{"type":10,"tag":65,"props":1571,"children":1573},{"className":1572},[],[1574],{"type":16,"value":547},{"type":10,"tag":469,"props":1576,"children":1577},{},[1578],{"type":10,"tag":65,"props":1579,"children":1581},{"className":1580},[],[1582],{"type":16,"value":556},{"type":10,"tag":469,"props":1584,"children":1585},{},[1586],{"type":10,"tag":65,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":16,"value":1591},"VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR",{"type":10,"tag":175,"props":1593,"children":1595},{"id":1594},"descriptorsets-accelerationstructure",[1596],{"type":16,"value":1597},"Acceleration Structure",{"type":10,"tag":18,"props":1599,"children":1600},{},[1601,1602,1607,1609,1615,1617,1623],{"type":16,"value":1161},{"type":10,"tag":24,"props":1603,"children":1604},{},[1605],{"type":16,"value":1606},"acceleration structure",{"type":16,"value":1608}," (\n",{"type":10,"tag":65,"props":1610,"children":1612},{"className":1611},[],[1613],{"type":16,"value":1614},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR",{"type":16,"value":1616},"\nor\n",{"type":10,"tag":65,"props":1618,"children":1620},{"className":1619},[],[1621],{"type":16,"value":1622},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV",{"type":16,"value":1624},"\n) is a descriptor type that is used to retrieve scene geometry from within\nshaders that are used for ray traversal.\nShaders have read-only access to the memory.",{"type":10,"tag":175,"props":1626,"children":1628},{"id":1627},"descriptorsets-mutable",[1629],{"type":16,"value":1630},"Mutable",{"type":10,"tag":18,"props":1632,"children":1633},{},[1634,1636,1641,1642,1648,1650,1653,1655,1661,1663,1669,1671,1677,1679,1685,1687,1690,1692,1697,1699,1702,1704,1709,1711,1714,1716,1721],{"type":16,"value":1635},"A descriptor of ",{"type":10,"tag":24,"props":1637,"children":1638},{},[1639],{"type":16,"value":1640},"mutable",{"type":16,"value":191},{"type":10,"tag":65,"props":1643,"children":1645},{"className":1644},[],[1646],{"type":16,"value":1647},"VK_DESCRIPTOR_TYPE_MUTABLE_EXT",{"type":16,"value":1649},") type\nindicates that this descriptor ",{"type":10,"tag":46,"props":1651,"children":1652},{"type":48},[],{"type":16,"value":1654}," mutate to any of the descriptor types\ngiven in the ",{"type":10,"tag":74,"props":1656,"children":1658},{"href":1657},"/man/VkMutableDescriptorTypeListEXT",[1659],{"type":16,"value":1660},"VkMutableDescriptorTypeListEXT",{"type":16,"value":1662},"::",{"type":10,"tag":65,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":16,"value":1668},"pDescriptorTypes",{"type":16,"value":1670},"\nlist of descriptor types in the ",{"type":10,"tag":65,"props":1672,"children":1674},{"className":1673},[],[1675],{"type":16,"value":1676},"pNext",{"type":16,"value":1678}," chain of\n",{"type":10,"tag":74,"props":1680,"children":1682},{"href":1681},"/man/VkDescriptorSetLayoutCreateInfo",[1683],{"type":16,"value":1684},"VkDescriptorSetLayoutCreateInfo",{"type":16,"value":1686}," for this binding.\nAt any point, each individual descriptor of mutable type has an active\ndescriptor type.\nThe active descriptor type ",{"type":10,"tag":46,"props":1688,"children":1689},{"type":48},[],{"type":16,"value":1691}," be any one of the declared types in\n",{"type":10,"tag":65,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":16,"value":1668},{"type":16,"value":1698},".\nAdditionally, a mutable descriptor’s active descriptor type ",{"type":10,"tag":46,"props":1700,"children":1701},{"type":48},[],{"type":16,"value":1703}," be of the\n",{"type":10,"tag":65,"props":1705,"children":1707},{"className":1706},[],[1708],{"type":16,"value":1647},{"type":16,"value":1710}," type, which is the initial active\ndescriptor type.\nThe active descriptor type ",{"type":10,"tag":46,"props":1712,"children":1713},{"type":48},[],{"type":16,"value":1715}," change when the descriptor is updated.\nWhen a descriptor is consumed by binding a descriptor set, the active\ndescriptor type is considered, not ",{"type":10,"tag":65,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":16,"value":1647},{"type":16,"value":245},{"type":10,"tag":18,"props":1723,"children":1724},{},[1725,1727,1732],{"type":16,"value":1726},"An active descriptor type of ",{"type":10,"tag":65,"props":1728,"children":1730},{"className":1729},[],[1731],{"type":16,"value":1647},{"type":16,"value":1733}," is\nconsidered an undefined: descriptor.\nIf a descriptor is consumed where the active descriptor type does not match\nwhat the shader expects, the descriptor is considered an undefined:\ndescriptor.",{"type":10,"tag":745,"props":1735,"children":1736},{},[1737],{"type":10,"tag":18,"props":1738,"children":1739},{},[1740,1742,1747,1749,1752,1754,1760,1762,1767,1769,1775,1776,1781],{"type":16,"value":1741},"To find which descriptor types are supported as\n",{"type":10,"tag":65,"props":1743,"children":1745},{"className":1744},[],[1746],{"type":16,"value":1647},{"type":16,"value":1748},", the application ",{"type":10,"tag":46,"props":1750,"children":1751},{"type":48},[],{"type":16,"value":1753}," use\n",{"type":10,"tag":74,"props":1755,"children":1757},{"href":1756},"/man/vkGetDescriptorSetLayoutSupport",[1758],{"type":16,"value":1759},"vkGetDescriptorSetLayoutSupport",{"type":16,"value":1761}," with a\n",{"type":10,"tag":65,"props":1763,"children":1765},{"className":1764},[],[1766],{"type":16,"value":1647},{"type":16,"value":1768}," binding, with the list of descriptor\ntypes to query in the\n",{"type":10,"tag":74,"props":1770,"children":1772},{"href":1771},"/man/VkMutableDescriptorTypeCreateInfoEXT",[1773],{"type":16,"value":1774},"VkMutableDescriptorTypeCreateInfoEXT",{"type":16,"value":1662},{"type":10,"tag":65,"props":1777,"children":1779},{"className":1778},[],[1780],{"type":16,"value":1668},{"type":16,"value":1782}," array for\nthat binding.",{"type":10,"tag":745,"props":1784,"children":1785},{},[1786,1791],{"type":10,"tag":18,"props":1787,"children":1788},{},[1789],{"type":16,"value":1790},"The intention of a mutable descriptor type is that implementations allocate\nN bytes per descriptor, where N is determined by the maximum descriptor size\nfor a given descriptor binding.\nImplementations are not expected to keep track of the active descriptor\ntype, and it should be considered a C-like union type.",{"type":10,"tag":18,"props":1792,"children":1793},{},[1794],{"type":16,"value":1795},"A mutable descriptor type is not considered as efficient in terms of runtime\nperformance as using a non-mutable descriptor type, and applications are not\nencouraged to use them outside API layering efforts.\nMutable descriptor types can be more efficient if the alternative is using\nmany different descriptors to emulate mutable descriptor types.",{"type":10,"tag":139,"props":1797,"children":1799},{"id":1798},"descriptorsets-sets",[1800],{"type":16,"value":1801},"Descriptor Sets",{"type":10,"tag":18,"props":1803,"children":1804},{},[1805,1807,1810],{"type":16,"value":1806},"Descriptors are grouped together into descriptor set objects.\nA descriptor set object is an opaque object containing storage for a set of\ndescriptors, where the types and number of descriptors is defined by a\ndescriptor set layout.\nThe layout object ",{"type":10,"tag":46,"props":1808,"children":1809},{"type":755},[],{"type":16,"value":1811}," be used to define the association of each descriptor\nbinding with memory or other implementation resources.\nThe layout is used both for determining the resources that need to be\nassociated with the descriptor set, and determining the interface between\nshader stages and shader resources.",{"type":10,"tag":175,"props":1813,"children":1815},{"id":1814},"descriptorsets-setlayout",[1816],{"type":16,"value":1817},"Descriptor Set Layout",{"type":10,"tag":1819,"props":1820,"children":1823},"refpage",{"name":1821,"type":1822},"VkDescriptorSetLayout","handles",[1824],{"type":10,"tag":18,"props":1825,"children":1826},{},[1827],{"type":16,"value":1828},"Opaque handle to a descriptor set layout object",{"type":10,"tag":1819,"props":1830,"children":1833},{"name":1831,"type":1832},"vkCreateDescriptorSetLayout","protos",[1834],{"type":10,"tag":18,"props":1835,"children":1836},{},[1837],{"type":16,"value":1838},"Create a new descriptor set layout",{"type":10,"tag":1819,"props":1840,"children":1842},{"name":1684,"type":1841},"structs",[1843],{"type":10,"tag":18,"props":1844,"children":1845},{},[1846],{"type":16,"value":1847},"Structure specifying parameters of a newly created descriptor set layout",{"type":10,"tag":1819,"props":1849,"children":1850},{"name":1774,"type":1841},[1851],{"type":10,"tag":18,"props":1852,"children":1853},{},[1854],{"type":16,"value":1855},"Structure describing the list of possible active descriptor types for mutable type descriptors",{"type":10,"tag":1819,"props":1857,"children":1858},{"name":1660,"type":1841},[1859],{"type":10,"tag":18,"props":1860,"children":1861},{},[1862],{"type":16,"value":1863},"Structure describing descriptor types that a given descriptor may mutate to",{"type":10,"tag":1819,"props":1865,"children":1868},{"name":1866,"type":1867},"VkDescriptorSetLayoutCreateFlagBits","enums",[1869],{"type":10,"tag":18,"props":1870,"children":1871},{},[1872],{"type":16,"value":1873},"Bitmask specifying descriptor set layout properties",{"type":10,"tag":1819,"props":1875,"children":1878},{"name":1876,"type":1877},"VkDescriptorSetLayoutCreateFlags","flags",[1879],{"type":10,"tag":18,"props":1880,"children":1881},{},[1882],{"type":16,"value":1883},"Bitmask of VkDescriptorSetLayoutCreateFlagBits",{"type":10,"tag":1819,"props":1885,"children":1887},{"name":1886,"type":1841},"VkDescriptorSetLayoutBinding",[1888],{"type":10,"tag":18,"props":1889,"children":1890},{},[1891],{"type":16,"value":1892},"Structure specifying a descriptor set layout binding",{"type":10,"tag":1819,"props":1894,"children":1896},{"name":1895,"type":1841},"VkDescriptorSetLayoutBindingFlagsCreateInfo",[1897],{"type":10,"tag":18,"props":1898,"children":1899},{},[1900],{"type":16,"value":1901},"Structure specifying creation flags for descriptor set layout bindings",{"type":10,"tag":1819,"props":1903,"children":1905},{"name":1904,"type":1867},"VkDescriptorBindingFlagBits",[1906],{"type":10,"tag":18,"props":1907,"children":1908},{},[1909],{"type":16,"value":1910},"Bitmask specifying descriptor set layout binding properties",{"type":10,"tag":1819,"props":1912,"children":1914},{"name":1913,"type":1877},"VkDescriptorBindingFlags",[1915],{"type":10,"tag":18,"props":1916,"children":1917},{},[1918],{"type":16,"value":1919},"Bitmask of VkDescriptorBindingFlagBits",{"type":10,"tag":1819,"props":1921,"children":1922},{"name":1759,"type":1832},[1923],{"type":10,"tag":18,"props":1924,"children":1925},{},[1926],{"type":16,"value":1927},"Query whether a descriptor set layout can be created",{"type":10,"tag":1819,"props":1929,"children":1931},{"name":1930,"type":1841},"VkDescriptorSetLayoutSupport",[1932],{"type":10,"tag":18,"props":1933,"children":1934},{},[1935],{"type":16,"value":1936},"Structure returning information about whether a descriptor set layout can be supported",{"type":10,"tag":1819,"props":1938,"children":1940},{"name":1939,"type":1841},"VkDescriptorSetVariableDescriptorCountLayoutSupport",[1941],{"type":10,"tag":18,"props":1942,"children":1943},{},[1944],{"type":16,"value":1936},{"type":10,"tag":18,"props":1946,"children":1947},{},[1948],{"type":16,"value":1949},"The following examples show a shader snippet using two descriptor sets, and\napplication code that creates corresponding descriptor set layouts.",{"type":10,"tag":175,"props":1951,"children":1953},{"id":1952},"glsl-example",[1954],{"type":16,"value":1955},"GLSL example",{"type":10,"tag":1957,"props":1958,"children":1963},"pre",{"className":1959,"code":1960,"language":1961,"meta":1962,"style":1962},"language-glsl shiki shiki-themes github-light-default github-dark-default","//\n// binding to a single sampled image descriptor in set 0\n//\nlayout (set=0, binding=0) uniform texture2D mySampledImage;\n\n//\n// binding to an array of sampled image descriptors in set 0\n//\nlayout (set=0, binding=1) uniform texture2D myArrayOfSampledImages[12];\n\n//\n// binding to a single uniform buffer descriptor in set 1\n//\nlayout (set=1, binding=0) uniform myUniformBuffer\n{\n vec4 myElement[32];\n};\n","glsl","",[1964],{"type":10,"tag":65,"props":1965,"children":1966},{"__ignoreMap":1962},[1967,1979,1988,1996,2057,2067,2075,2084,2092,2158,2166,2174,2183,2191,2236,2245,2272],{"type":10,"tag":1968,"props":1969,"children":1972},"span",{"class":1970,"line":1971},"line",1,[1973],{"type":10,"tag":1968,"props":1974,"children":1976},{"style":1975},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[1977],{"type":16,"value":1978},"//\n",{"type":10,"tag":1968,"props":1980,"children":1982},{"class":1970,"line":1981},2,[1983],{"type":10,"tag":1968,"props":1984,"children":1985},{"style":1975},[1986],{"type":16,"value":1987},"// binding to a single sampled image descriptor in set 0\n",{"type":10,"tag":1968,"props":1989,"children":1991},{"class":1970,"line":1990},3,[1992],{"type":10,"tag":1968,"props":1993,"children":1994},{"style":1975},[1995],{"type":16,"value":1978},{"type":10,"tag":1968,"props":1997,"children":1999},{"class":1970,"line":1998},4,[2000,2006,2012,2018,2024,2029,2033,2037,2042,2047,2052],{"type":10,"tag":1968,"props":2001,"children":2003},{"style":2002},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[2004],{"type":16,"value":2005},"layout",{"type":10,"tag":1968,"props":2007,"children":2009},{"style":2008},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[2010],{"type":16,"value":2011}," (set",{"type":10,"tag":1968,"props":2013,"children":2015},{"style":2014},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[2016],{"type":16,"value":2017},"=",{"type":10,"tag":1968,"props":2019,"children":2021},{"style":2020},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[2022],{"type":16,"value":2023},"0",{"type":10,"tag":1968,"props":2025,"children":2026},{"style":2008},[2027],{"type":16,"value":2028},", binding",{"type":10,"tag":1968,"props":2030,"children":2031},{"style":2014},[2032],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2034,"children":2035},{"style":2020},[2036],{"type":16,"value":2023},{"type":10,"tag":1968,"props":2038,"children":2039},{"style":2008},[2040],{"type":16,"value":2041},") ",{"type":10,"tag":1968,"props":2043,"children":2044},{"style":2014},[2045],{"type":16,"value":2046},"uniform",{"type":10,"tag":1968,"props":2048,"children":2049},{"style":2020},[2050],{"type":16,"value":2051}," texture2D",{"type":10,"tag":1968,"props":2053,"children":2054},{"style":2008},[2055],{"type":16,"value":2056}," mySampledImage;\n",{"type":10,"tag":1968,"props":2058,"children":2060},{"class":1970,"line":2059},5,[2061],{"type":10,"tag":1968,"props":2062,"children":2064},{"emptyLinePlaceholder":2063},true,[2065],{"type":16,"value":2066},"\n",{"type":10,"tag":1968,"props":2068,"children":2070},{"class":1970,"line":2069},6,[2071],{"type":10,"tag":1968,"props":2072,"children":2073},{"style":1975},[2074],{"type":16,"value":1978},{"type":10,"tag":1968,"props":2076,"children":2078},{"class":1970,"line":2077},7,[2079],{"type":10,"tag":1968,"props":2080,"children":2081},{"style":1975},[2082],{"type":16,"value":2083},"// binding to an array of sampled image descriptors in set 0\n",{"type":10,"tag":1968,"props":2085,"children":2087},{"class":1970,"line":2086},8,[2088],{"type":10,"tag":1968,"props":2089,"children":2090},{"style":1975},[2091],{"type":16,"value":1978},{"type":10,"tag":1968,"props":2093,"children":2095},{"class":1970,"line":2094},9,[2096,2100,2104,2108,2112,2116,2120,2125,2129,2133,2137,2143,2148,2153],{"type":10,"tag":1968,"props":2097,"children":2098},{"style":2002},[2099],{"type":16,"value":2005},{"type":10,"tag":1968,"props":2101,"children":2102},{"style":2008},[2103],{"type":16,"value":2011},{"type":10,"tag":1968,"props":2105,"children":2106},{"style":2014},[2107],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2109,"children":2110},{"style":2020},[2111],{"type":16,"value":2023},{"type":10,"tag":1968,"props":2113,"children":2114},{"style":2008},[2115],{"type":16,"value":2028},{"type":10,"tag":1968,"props":2117,"children":2118},{"style":2014},[2119],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2121,"children":2122},{"style":2020},[2123],{"type":16,"value":2124},"1",{"type":10,"tag":1968,"props":2126,"children":2127},{"style":2008},[2128],{"type":16,"value":2041},{"type":10,"tag":1968,"props":2130,"children":2131},{"style":2014},[2132],{"type":16,"value":2046},{"type":10,"tag":1968,"props":2134,"children":2135},{"style":2020},[2136],{"type":16,"value":2051},{"type":10,"tag":1968,"props":2138,"children":2140},{"style":2139},"--shiki-default:#953800;--shiki-dark:#FFA657",[2141],{"type":16,"value":2142}," myArrayOfSampledImages",{"type":10,"tag":1968,"props":2144,"children":2145},{"style":2008},[2146],{"type":16,"value":2147},"[",{"type":10,"tag":1968,"props":2149,"children":2150},{"style":2020},[2151],{"type":16,"value":2152},"12",{"type":10,"tag":1968,"props":2154,"children":2155},{"style":2008},[2156],{"type":16,"value":2157},"];\n",{"type":10,"tag":1968,"props":2159,"children":2161},{"class":1970,"line":2160},10,[2162],{"type":10,"tag":1968,"props":2163,"children":2164},{"emptyLinePlaceholder":2063},[2165],{"type":16,"value":2066},{"type":10,"tag":1968,"props":2167,"children":2169},{"class":1970,"line":2168},11,[2170],{"type":10,"tag":1968,"props":2171,"children":2172},{"style":1975},[2173],{"type":16,"value":1978},{"type":10,"tag":1968,"props":2175,"children":2177},{"class":1970,"line":2176},12,[2178],{"type":10,"tag":1968,"props":2179,"children":2180},{"style":1975},[2181],{"type":16,"value":2182},"// binding to a single uniform buffer descriptor in set 1\n",{"type":10,"tag":1968,"props":2184,"children":2186},{"class":1970,"line":2185},13,[2187],{"type":10,"tag":1968,"props":2188,"children":2189},{"style":1975},[2190],{"type":16,"value":1978},{"type":10,"tag":1968,"props":2192,"children":2194},{"class":1970,"line":2193},14,[2195,2199,2203,2207,2211,2215,2219,2223,2227,2231],{"type":10,"tag":1968,"props":2196,"children":2197},{"style":2002},[2198],{"type":16,"value":2005},{"type":10,"tag":1968,"props":2200,"children":2201},{"style":2008},[2202],{"type":16,"value":2011},{"type":10,"tag":1968,"props":2204,"children":2205},{"style":2014},[2206],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2208,"children":2209},{"style":2020},[2210],{"type":16,"value":2124},{"type":10,"tag":1968,"props":2212,"children":2213},{"style":2008},[2214],{"type":16,"value":2028},{"type":10,"tag":1968,"props":2216,"children":2217},{"style":2014},[2218],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2220,"children":2221},{"style":2020},[2222],{"type":16,"value":2023},{"type":10,"tag":1968,"props":2224,"children":2225},{"style":2008},[2226],{"type":16,"value":2041},{"type":10,"tag":1968,"props":2228,"children":2229},{"style":2014},[2230],{"type":16,"value":2046},{"type":10,"tag":1968,"props":2232,"children":2233},{"style":2008},[2234],{"type":16,"value":2235}," myUniformBuffer\n",{"type":10,"tag":1968,"props":2237,"children":2239},{"class":1970,"line":2238},15,[2240],{"type":10,"tag":1968,"props":2241,"children":2242},{"style":2008},[2243],{"type":16,"value":2244},"{\n",{"type":10,"tag":1968,"props":2246,"children":2248},{"class":1970,"line":2247},16,[2249,2254,2259,2263,2268],{"type":10,"tag":1968,"props":2250,"children":2251},{"style":2008},[2252],{"type":16,"value":2253}," vec4 ",{"type":10,"tag":1968,"props":2255,"children":2256},{"style":2139},[2257],{"type":16,"value":2258},"myElement",{"type":10,"tag":1968,"props":2260,"children":2261},{"style":2008},[2262],{"type":16,"value":2147},{"type":10,"tag":1968,"props":2264,"children":2265},{"style":2020},[2266],{"type":16,"value":2267},"32",{"type":10,"tag":1968,"props":2269,"children":2270},{"style":2008},[2271],{"type":16,"value":2157},{"type":10,"tag":1968,"props":2273,"children":2275},{"class":1970,"line":2274},17,[2276],{"type":10,"tag":1968,"props":2277,"children":2278},{"style":2008},[2279],{"type":16,"value":2280},"};\n",{"type":10,"tag":175,"props":2282,"children":2284},{"id":2283},"spir-v-example",[2285],{"type":16,"value":2286},"SPIR-V example",{"type":10,"tag":1957,"props":2288,"children":2292},{"className":2289,"code":2290,"language":2291,"meta":1962,"style":1962},"language-spirv shiki shiki-themes github-light-default github-dark-default"," ...\n %1 = OpExtInstImport \"GLSL.std.450\"\n ...\n OpName %9 \"mySampledImage\"\n OpName %14 \"myArrayOfSampledImages\"\n OpName %18 \"myUniformBuffer\"\n OpMemberName %18 0 \"myElement\"\n OpName %20 \"\"\n OpDecorate %9 DescriptorSet 0\n OpDecorate %9 Binding 0\n OpDecorate %14 DescriptorSet 0\n OpDecorate %14 Binding 1\n OpDecorate %17 ArrayStride 16\n OpMemberDecorate %18 0 Offset 0\n OpDecorate %18 Block\n OpDecorate %20 DescriptorSet 1\n OpDecorate %20 Binding 0\n %2 = OpTypeVoid\n %3 = OpTypeFunction %2\n %6 = OpTypeFloat 32\n %7 = OpTypeImage %6 2D 0 0 0 1 Unknown\n %8 = OpTypePointer UniformConstant %7\n %9 = OpVariable %8 UniformConstant\n %10 = OpTypeInt 32 0\n %11 = OpConstant %10 12\n %12 = OpTypeArray %7 %11\n %13 = OpTypePointer UniformConstant %12\n %14 = OpVariable %13 UniformConstant\n %15 = OpTypeVector %6 4\n %16 = OpConstant %10 32\n %17 = OpTypeArray %15 %16\n %18 = OpTypeStruct %17\n %19 = OpTypePointer Uniform %18\n %20 = OpVariable %19 Uniform\n ...\n","spirv",[2293],{"type":10,"tag":65,"props":2294,"children":2295},{"__ignoreMap":1962},[2296,2304,2312,2319,2327,2335,2343,2351,2359,2367,2375,2383,2391,2399,2407,2415,2423,2431,2440,2449,2458,2467,2476,2485,2494,2503,2512,2521,2530,2539,2548,2557,2566,2575,2584],{"type":10,"tag":1968,"props":2297,"children":2298},{"class":1970,"line":1971},[2299],{"type":10,"tag":1968,"props":2300,"children":2301},{},[2302],{"type":16,"value":2303}," ...\n",{"type":10,"tag":1968,"props":2305,"children":2306},{"class":1970,"line":1981},[2307],{"type":10,"tag":1968,"props":2308,"children":2309},{},[2310],{"type":16,"value":2311}," %1 = OpExtInstImport \"GLSL.std.450\"\n",{"type":10,"tag":1968,"props":2313,"children":2314},{"class":1970,"line":1990},[2315],{"type":10,"tag":1968,"props":2316,"children":2317},{},[2318],{"type":16,"value":2303},{"type":10,"tag":1968,"props":2320,"children":2321},{"class":1970,"line":1998},[2322],{"type":10,"tag":1968,"props":2323,"children":2324},{},[2325],{"type":16,"value":2326}," OpName %9 \"mySampledImage\"\n",{"type":10,"tag":1968,"props":2328,"children":2329},{"class":1970,"line":2059},[2330],{"type":10,"tag":1968,"props":2331,"children":2332},{},[2333],{"type":16,"value":2334}," OpName %14 \"myArrayOfSampledImages\"\n",{"type":10,"tag":1968,"props":2336,"children":2337},{"class":1970,"line":2069},[2338],{"type":10,"tag":1968,"props":2339,"children":2340},{},[2341],{"type":16,"value":2342}," OpName %18 \"myUniformBuffer\"\n",{"type":10,"tag":1968,"props":2344,"children":2345},{"class":1970,"line":2077},[2346],{"type":10,"tag":1968,"props":2347,"children":2348},{},[2349],{"type":16,"value":2350}," OpMemberName %18 0 \"myElement\"\n",{"type":10,"tag":1968,"props":2352,"children":2353},{"class":1970,"line":2086},[2354],{"type":10,"tag":1968,"props":2355,"children":2356},{},[2357],{"type":16,"value":2358}," OpName %20 \"\"\n",{"type":10,"tag":1968,"props":2360,"children":2361},{"class":1970,"line":2094},[2362],{"type":10,"tag":1968,"props":2363,"children":2364},{},[2365],{"type":16,"value":2366}," OpDecorate %9 DescriptorSet 0\n",{"type":10,"tag":1968,"props":2368,"children":2369},{"class":1970,"line":2160},[2370],{"type":10,"tag":1968,"props":2371,"children":2372},{},[2373],{"type":16,"value":2374}," OpDecorate %9 Binding 0\n",{"type":10,"tag":1968,"props":2376,"children":2377},{"class":1970,"line":2168},[2378],{"type":10,"tag":1968,"props":2379,"children":2380},{},[2381],{"type":16,"value":2382}," OpDecorate %14 DescriptorSet 0\n",{"type":10,"tag":1968,"props":2384,"children":2385},{"class":1970,"line":2176},[2386],{"type":10,"tag":1968,"props":2387,"children":2388},{},[2389],{"type":16,"value":2390}," OpDecorate %14 Binding 1\n",{"type":10,"tag":1968,"props":2392,"children":2393},{"class":1970,"line":2185},[2394],{"type":10,"tag":1968,"props":2395,"children":2396},{},[2397],{"type":16,"value":2398}," OpDecorate %17 ArrayStride 16\n",{"type":10,"tag":1968,"props":2400,"children":2401},{"class":1970,"line":2193},[2402],{"type":10,"tag":1968,"props":2403,"children":2404},{},[2405],{"type":16,"value":2406}," OpMemberDecorate %18 0 Offset 0\n",{"type":10,"tag":1968,"props":2408,"children":2409},{"class":1970,"line":2238},[2410],{"type":10,"tag":1968,"props":2411,"children":2412},{},[2413],{"type":16,"value":2414}," OpDecorate %18 Block\n",{"type":10,"tag":1968,"props":2416,"children":2417},{"class":1970,"line":2247},[2418],{"type":10,"tag":1968,"props":2419,"children":2420},{},[2421],{"type":16,"value":2422}," OpDecorate %20 DescriptorSet 1\n",{"type":10,"tag":1968,"props":2424,"children":2425},{"class":1970,"line":2274},[2426],{"type":10,"tag":1968,"props":2427,"children":2428},{},[2429],{"type":16,"value":2430}," OpDecorate %20 Binding 0\n",{"type":10,"tag":1968,"props":2432,"children":2434},{"class":1970,"line":2433},18,[2435],{"type":10,"tag":1968,"props":2436,"children":2437},{},[2438],{"type":16,"value":2439}," %2 = OpTypeVoid\n",{"type":10,"tag":1968,"props":2441,"children":2443},{"class":1970,"line":2442},19,[2444],{"type":10,"tag":1968,"props":2445,"children":2446},{},[2447],{"type":16,"value":2448}," %3 = OpTypeFunction %2\n",{"type":10,"tag":1968,"props":2450,"children":2452},{"class":1970,"line":2451},20,[2453],{"type":10,"tag":1968,"props":2454,"children":2455},{},[2456],{"type":16,"value":2457}," %6 = OpTypeFloat 32\n",{"type":10,"tag":1968,"props":2459,"children":2461},{"class":1970,"line":2460},21,[2462],{"type":10,"tag":1968,"props":2463,"children":2464},{},[2465],{"type":16,"value":2466}," %7 = OpTypeImage %6 2D 0 0 0 1 Unknown\n",{"type":10,"tag":1968,"props":2468,"children":2470},{"class":1970,"line":2469},22,[2471],{"type":10,"tag":1968,"props":2472,"children":2473},{},[2474],{"type":16,"value":2475}," %8 = OpTypePointer UniformConstant %7\n",{"type":10,"tag":1968,"props":2477,"children":2479},{"class":1970,"line":2478},23,[2480],{"type":10,"tag":1968,"props":2481,"children":2482},{},[2483],{"type":16,"value":2484}," %9 = OpVariable %8 UniformConstant\n",{"type":10,"tag":1968,"props":2486,"children":2488},{"class":1970,"line":2487},24,[2489],{"type":10,"tag":1968,"props":2490,"children":2491},{},[2492],{"type":16,"value":2493}," %10 = OpTypeInt 32 0\n",{"type":10,"tag":1968,"props":2495,"children":2497},{"class":1970,"line":2496},25,[2498],{"type":10,"tag":1968,"props":2499,"children":2500},{},[2501],{"type":16,"value":2502}," %11 = OpConstant %10 12\n",{"type":10,"tag":1968,"props":2504,"children":2506},{"class":1970,"line":2505},26,[2507],{"type":10,"tag":1968,"props":2508,"children":2509},{},[2510],{"type":16,"value":2511}," %12 = OpTypeArray %7 %11\n",{"type":10,"tag":1968,"props":2513,"children":2515},{"class":1970,"line":2514},27,[2516],{"type":10,"tag":1968,"props":2517,"children":2518},{},[2519],{"type":16,"value":2520}," %13 = OpTypePointer UniformConstant %12\n",{"type":10,"tag":1968,"props":2522,"children":2524},{"class":1970,"line":2523},28,[2525],{"type":10,"tag":1968,"props":2526,"children":2527},{},[2528],{"type":16,"value":2529}," %14 = OpVariable %13 UniformConstant\n",{"type":10,"tag":1968,"props":2531,"children":2533},{"class":1970,"line":2532},29,[2534],{"type":10,"tag":1968,"props":2535,"children":2536},{},[2537],{"type":16,"value":2538}," %15 = OpTypeVector %6 4\n",{"type":10,"tag":1968,"props":2540,"children":2542},{"class":1970,"line":2541},30,[2543],{"type":10,"tag":1968,"props":2544,"children":2545},{},[2546],{"type":16,"value":2547}," %16 = OpConstant %10 32\n",{"type":10,"tag":1968,"props":2549,"children":2551},{"class":1970,"line":2550},31,[2552],{"type":10,"tag":1968,"props":2553,"children":2554},{},[2555],{"type":16,"value":2556}," %17 = OpTypeArray %15 %16\n",{"type":10,"tag":1968,"props":2558,"children":2560},{"class":1970,"line":2559},32,[2561],{"type":10,"tag":1968,"props":2562,"children":2563},{},[2564],{"type":16,"value":2565}," %18 = OpTypeStruct %17\n",{"type":10,"tag":1968,"props":2567,"children":2569},{"class":1970,"line":2568},33,[2570],{"type":10,"tag":1968,"props":2571,"children":2572},{},[2573],{"type":16,"value":2574}," %19 = OpTypePointer Uniform %18\n",{"type":10,"tag":1968,"props":2576,"children":2578},{"class":1970,"line":2577},34,[2579],{"type":10,"tag":1968,"props":2580,"children":2581},{},[2582],{"type":16,"value":2583}," %20 = OpVariable %19 Uniform\n",{"type":10,"tag":1968,"props":2585,"children":2587},{"class":1970,"line":2586},35,[2588],{"type":10,"tag":1968,"props":2589,"children":2590},{},[2591],{"type":16,"value":2303},{"type":10,"tag":175,"props":2593,"children":2595},{"id":2594},"api-example",[2596],{"type":16,"value":2597},"API example",{"type":10,"tag":1957,"props":2599,"children":2603},{"className":2600,"code":2601,"language":2602,"meta":1962,"style":1962},"language-c++ shiki shiki-themes github-light-default github-dark-default","VkResult myResult;\n\nconst VkDescriptorSetLayoutBinding myDescriptorSetLayoutBinding[] =\n{\n // binding to a single image descriptor\n {\n .binding = 0,\n .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n .descriptorCount = 1,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n },\n\n // binding to an array of image descriptors\n {\n .binding = 1,\n .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n .descriptorCount = 12,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n },\n\n // binding to a single uniform buffer descriptor\n {\n .binding = 0,\n .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,\n .descriptorCount = 1,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n }\n};\n\nconst VkDescriptorSetLayoutCreateInfo myDescriptorSetLayoutCreateInfo[] =\n{\n // Information for first descriptor set with two descriptor bindings\n {\n .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .bindingCount = 2,\n .pBindings = &myDescriptorSetLayoutBinding[0]\n },\n\n // Information for second descriptor set with one descriptor binding\n {\n .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .bindingCount = 1,\n .pBindings = &myDescriptorSetLayoutBinding[2]\n }\n};\n\nVkDescriptorSetLayout myDescriptorSetLayout[2];\n\n//\n// Create first descriptor set layout\n//\nmyResult = vkCreateDescriptorSetLayout(\n myDevice,\n &myDescriptorSetLayoutCreateInfo[0],\n NULL,\n &myDescriptorSetLayout[0]);\n\n//\n// Create second descriptor set layout\n//\nmyResult = vkCreateDescriptorSetLayout(\n myDevice,\n &myDescriptorSetLayoutCreateInfo[1],\n NULL,\n &myDescriptorSetLayout[1]);\n","c++",[2604],{"type":10,"tag":65,"props":2605,"children":2606},{"__ignoreMap":1962},[2607,2615,2622,2640,2647,2655,2663,2685,2702,2723,2740,2757,2765,2772,2780,2787,2806,2821,2841,2856,2871,2878,2885,2893,2900,2919,2935,2954,2969,2984,2992,2999,3006,3022,3029,3037,3045,3063,3085,3106,3128,3160,3168,3176,3185,3193,3209,3229,3249,3269,3298,3306,3314,3322,3339,3347,3355,3364,3372,3395,3404,3427,3440,3462,3470,3478,3487,3495,3515,3523,3543,3555],{"type":10,"tag":1968,"props":2608,"children":2609},{"class":1970,"line":1971},[2610],{"type":10,"tag":1968,"props":2611,"children":2612},{"style":2008},[2613],{"type":16,"value":2614},"VkResult myResult;\n",{"type":10,"tag":1968,"props":2616,"children":2617},{"class":1970,"line":1981},[2618],{"type":10,"tag":1968,"props":2619,"children":2620},{"emptyLinePlaceholder":2063},[2621],{"type":16,"value":2066},{"type":10,"tag":1968,"props":2623,"children":2624},{"class":1970,"line":1990},[2625,2630,2635],{"type":10,"tag":1968,"props":2626,"children":2627},{"style":2014},[2628],{"type":16,"value":2629},"const",{"type":10,"tag":1968,"props":2631,"children":2632},{"style":2008},[2633],{"type":16,"value":2634}," VkDescriptorSetLayoutBinding myDescriptorSetLayoutBinding[] ",{"type":10,"tag":1968,"props":2636,"children":2637},{"style":2014},[2638],{"type":16,"value":2639},"=\n",{"type":10,"tag":1968,"props":2641,"children":2642},{"class":1970,"line":1998},[2643],{"type":10,"tag":1968,"props":2644,"children":2645},{"style":2008},[2646],{"type":16,"value":2244},{"type":10,"tag":1968,"props":2648,"children":2649},{"class":1970,"line":2059},[2650],{"type":10,"tag":1968,"props":2651,"children":2652},{"style":1975},[2653],{"type":16,"value":2654}," // binding to a single image descriptor\n",{"type":10,"tag":1968,"props":2656,"children":2657},{"class":1970,"line":2069},[2658],{"type":10,"tag":1968,"props":2659,"children":2660},{"style":2008},[2661],{"type":16,"value":2662}," {\n",{"type":10,"tag":1968,"props":2664,"children":2665},{"class":1970,"line":2077},[2666,2671,2675,2680],{"type":10,"tag":1968,"props":2667,"children":2668},{"style":2008},[2669],{"type":16,"value":2670}," .binding ",{"type":10,"tag":1968,"props":2672,"children":2673},{"style":2014},[2674],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2676,"children":2677},{"style":2020},[2678],{"type":16,"value":2679}," 0",{"type":10,"tag":1968,"props":2681,"children":2682},{"style":2008},[2683],{"type":16,"value":2684},",\n",{"type":10,"tag":1968,"props":2686,"children":2687},{"class":1970,"line":2086},[2688,2693,2697],{"type":10,"tag":1968,"props":2689,"children":2690},{"style":2008},[2691],{"type":16,"value":2692}," .descriptorType ",{"type":10,"tag":1968,"props":2694,"children":2695},{"style":2014},[2696],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2698,"children":2699},{"style":2008},[2700],{"type":16,"value":2701}," VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n",{"type":10,"tag":1968,"props":2703,"children":2704},{"class":1970,"line":2094},[2705,2710,2714,2719],{"type":10,"tag":1968,"props":2706,"children":2707},{"style":2008},[2708],{"type":16,"value":2709}," .descriptorCount ",{"type":10,"tag":1968,"props":2711,"children":2712},{"style":2014},[2713],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2715,"children":2716},{"style":2020},[2717],{"type":16,"value":2718}," 1",{"type":10,"tag":1968,"props":2720,"children":2721},{"style":2008},[2722],{"type":16,"value":2684},{"type":10,"tag":1968,"props":2724,"children":2725},{"class":1970,"line":2160},[2726,2731,2735],{"type":10,"tag":1968,"props":2727,"children":2728},{"style":2008},[2729],{"type":16,"value":2730}," .stageFlags ",{"type":10,"tag":1968,"props":2732,"children":2733},{"style":2014},[2734],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2736,"children":2737},{"style":2008},[2738],{"type":16,"value":2739}," VK_SHADER_STAGE_FRAGMENT_BIT,\n",{"type":10,"tag":1968,"props":2741,"children":2742},{"class":1970,"line":2168},[2743,2748,2752],{"type":10,"tag":1968,"props":2744,"children":2745},{"style":2008},[2746],{"type":16,"value":2747}," .pImmutableSamplers ",{"type":10,"tag":1968,"props":2749,"children":2750},{"style":2014},[2751],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2753,"children":2754},{"style":2020},[2755],{"type":16,"value":2756}," NULL\n",{"type":10,"tag":1968,"props":2758,"children":2759},{"class":1970,"line":2176},[2760],{"type":10,"tag":1968,"props":2761,"children":2762},{"style":2008},[2763],{"type":16,"value":2764}," },\n",{"type":10,"tag":1968,"props":2766,"children":2767},{"class":1970,"line":2185},[2768],{"type":10,"tag":1968,"props":2769,"children":2770},{"emptyLinePlaceholder":2063},[2771],{"type":16,"value":2066},{"type":10,"tag":1968,"props":2773,"children":2774},{"class":1970,"line":2193},[2775],{"type":10,"tag":1968,"props":2776,"children":2777},{"style":1975},[2778],{"type":16,"value":2779}," // binding to an array of image descriptors\n",{"type":10,"tag":1968,"props":2781,"children":2782},{"class":1970,"line":2238},[2783],{"type":10,"tag":1968,"props":2784,"children":2785},{"style":2008},[2786],{"type":16,"value":2662},{"type":10,"tag":1968,"props":2788,"children":2789},{"class":1970,"line":2247},[2790,2794,2798,2802],{"type":10,"tag":1968,"props":2791,"children":2792},{"style":2008},[2793],{"type":16,"value":2670},{"type":10,"tag":1968,"props":2795,"children":2796},{"style":2014},[2797],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2799,"children":2800},{"style":2020},[2801],{"type":16,"value":2718},{"type":10,"tag":1968,"props":2803,"children":2804},{"style":2008},[2805],{"type":16,"value":2684},{"type":10,"tag":1968,"props":2807,"children":2808},{"class":1970,"line":2274},[2809,2813,2817],{"type":10,"tag":1968,"props":2810,"children":2811},{"style":2008},[2812],{"type":16,"value":2692},{"type":10,"tag":1968,"props":2814,"children":2815},{"style":2014},[2816],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2818,"children":2819},{"style":2008},[2820],{"type":16,"value":2701},{"type":10,"tag":1968,"props":2822,"children":2823},{"class":1970,"line":2433},[2824,2828,2832,2837],{"type":10,"tag":1968,"props":2825,"children":2826},{"style":2008},[2827],{"type":16,"value":2709},{"type":10,"tag":1968,"props":2829,"children":2830},{"style":2014},[2831],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2833,"children":2834},{"style":2020},[2835],{"type":16,"value":2836}," 12",{"type":10,"tag":1968,"props":2838,"children":2839},{"style":2008},[2840],{"type":16,"value":2684},{"type":10,"tag":1968,"props":2842,"children":2843},{"class":1970,"line":2442},[2844,2848,2852],{"type":10,"tag":1968,"props":2845,"children":2846},{"style":2008},[2847],{"type":16,"value":2730},{"type":10,"tag":1968,"props":2849,"children":2850},{"style":2014},[2851],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2853,"children":2854},{"style":2008},[2855],{"type":16,"value":2739},{"type":10,"tag":1968,"props":2857,"children":2858},{"class":1970,"line":2451},[2859,2863,2867],{"type":10,"tag":1968,"props":2860,"children":2861},{"style":2008},[2862],{"type":16,"value":2747},{"type":10,"tag":1968,"props":2864,"children":2865},{"style":2014},[2866],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2868,"children":2869},{"style":2020},[2870],{"type":16,"value":2756},{"type":10,"tag":1968,"props":2872,"children":2873},{"class":1970,"line":2460},[2874],{"type":10,"tag":1968,"props":2875,"children":2876},{"style":2008},[2877],{"type":16,"value":2764},{"type":10,"tag":1968,"props":2879,"children":2880},{"class":1970,"line":2469},[2881],{"type":10,"tag":1968,"props":2882,"children":2883},{"emptyLinePlaceholder":2063},[2884],{"type":16,"value":2066},{"type":10,"tag":1968,"props":2886,"children":2887},{"class":1970,"line":2478},[2888],{"type":10,"tag":1968,"props":2889,"children":2890},{"style":1975},[2891],{"type":16,"value":2892}," // binding to a single uniform buffer descriptor\n",{"type":10,"tag":1968,"props":2894,"children":2895},{"class":1970,"line":2487},[2896],{"type":10,"tag":1968,"props":2897,"children":2898},{"style":2008},[2899],{"type":16,"value":2662},{"type":10,"tag":1968,"props":2901,"children":2902},{"class":1970,"line":2496},[2903,2907,2911,2915],{"type":10,"tag":1968,"props":2904,"children":2905},{"style":2008},[2906],{"type":16,"value":2670},{"type":10,"tag":1968,"props":2908,"children":2909},{"style":2014},[2910],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2912,"children":2913},{"style":2020},[2914],{"type":16,"value":2679},{"type":10,"tag":1968,"props":2916,"children":2917},{"style":2008},[2918],{"type":16,"value":2684},{"type":10,"tag":1968,"props":2920,"children":2921},{"class":1970,"line":2505},[2922,2926,2930],{"type":10,"tag":1968,"props":2923,"children":2924},{"style":2008},[2925],{"type":16,"value":2692},{"type":10,"tag":1968,"props":2927,"children":2928},{"style":2014},[2929],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2931,"children":2932},{"style":2008},[2933],{"type":16,"value":2934}," VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,\n",{"type":10,"tag":1968,"props":2936,"children":2937},{"class":1970,"line":2514},[2938,2942,2946,2950],{"type":10,"tag":1968,"props":2939,"children":2940},{"style":2008},[2941],{"type":16,"value":2709},{"type":10,"tag":1968,"props":2943,"children":2944},{"style":2014},[2945],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2947,"children":2948},{"style":2020},[2949],{"type":16,"value":2718},{"type":10,"tag":1968,"props":2951,"children":2952},{"style":2008},[2953],{"type":16,"value":2684},{"type":10,"tag":1968,"props":2955,"children":2956},{"class":1970,"line":2523},[2957,2961,2965],{"type":10,"tag":1968,"props":2958,"children":2959},{"style":2008},[2960],{"type":16,"value":2730},{"type":10,"tag":1968,"props":2962,"children":2963},{"style":2014},[2964],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2966,"children":2967},{"style":2008},[2968],{"type":16,"value":2739},{"type":10,"tag":1968,"props":2970,"children":2971},{"class":1970,"line":2532},[2972,2976,2980],{"type":10,"tag":1968,"props":2973,"children":2974},{"style":2008},[2975],{"type":16,"value":2747},{"type":10,"tag":1968,"props":2977,"children":2978},{"style":2014},[2979],{"type":16,"value":2017},{"type":10,"tag":1968,"props":2981,"children":2982},{"style":2020},[2983],{"type":16,"value":2756},{"type":10,"tag":1968,"props":2985,"children":2986},{"class":1970,"line":2541},[2987],{"type":10,"tag":1968,"props":2988,"children":2989},{"style":2008},[2990],{"type":16,"value":2991}," }\n",{"type":10,"tag":1968,"props":2993,"children":2994},{"class":1970,"line":2550},[2995],{"type":10,"tag":1968,"props":2996,"children":2997},{"style":2008},[2998],{"type":16,"value":2280},{"type":10,"tag":1968,"props":3000,"children":3001},{"class":1970,"line":2559},[3002],{"type":10,"tag":1968,"props":3003,"children":3004},{"emptyLinePlaceholder":2063},[3005],{"type":16,"value":2066},{"type":10,"tag":1968,"props":3007,"children":3008},{"class":1970,"line":2568},[3009,3013,3018],{"type":10,"tag":1968,"props":3010,"children":3011},{"style":2014},[3012],{"type":16,"value":2629},{"type":10,"tag":1968,"props":3014,"children":3015},{"style":2008},[3016],{"type":16,"value":3017}," VkDescriptorSetLayoutCreateInfo myDescriptorSetLayoutCreateInfo[] ",{"type":10,"tag":1968,"props":3019,"children":3020},{"style":2014},[3021],{"type":16,"value":2639},{"type":10,"tag":1968,"props":3023,"children":3024},{"class":1970,"line":2577},[3025],{"type":10,"tag":1968,"props":3026,"children":3027},{"style":2008},[3028],{"type":16,"value":2244},{"type":10,"tag":1968,"props":3030,"children":3031},{"class":1970,"line":2586},[3032],{"type":10,"tag":1968,"props":3033,"children":3034},{"style":1975},[3035],{"type":16,"value":3036}," // Information for first descriptor set with two descriptor bindings\n",{"type":10,"tag":1968,"props":3038,"children":3040},{"class":1970,"line":3039},36,[3041],{"type":10,"tag":1968,"props":3042,"children":3043},{"style":2008},[3044],{"type":16,"value":2662},{"type":10,"tag":1968,"props":3046,"children":3048},{"class":1970,"line":3047},37,[3049,3054,3058],{"type":10,"tag":1968,"props":3050,"children":3051},{"style":2008},[3052],{"type":16,"value":3053}," .sType ",{"type":10,"tag":1968,"props":3055,"children":3056},{"style":2014},[3057],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3059,"children":3060},{"style":2008},[3061],{"type":16,"value":3062}," VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n",{"type":10,"tag":1968,"props":3064,"children":3066},{"class":1970,"line":3065},38,[3067,3072,3076,3081],{"type":10,"tag":1968,"props":3068,"children":3069},{"style":2008},[3070],{"type":16,"value":3071}," .pNext ",{"type":10,"tag":1968,"props":3073,"children":3074},{"style":2014},[3075],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3077,"children":3078},{"style":2020},[3079],{"type":16,"value":3080}," NULL",{"type":10,"tag":1968,"props":3082,"children":3083},{"style":2008},[3084],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3086,"children":3088},{"class":1970,"line":3087},39,[3089,3094,3098,3102],{"type":10,"tag":1968,"props":3090,"children":3091},{"style":2008},[3092],{"type":16,"value":3093}," .flags ",{"type":10,"tag":1968,"props":3095,"children":3096},{"style":2014},[3097],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3099,"children":3100},{"style":2020},[3101],{"type":16,"value":2679},{"type":10,"tag":1968,"props":3103,"children":3104},{"style":2008},[3105],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3107,"children":3109},{"class":1970,"line":3108},40,[3110,3115,3119,3124],{"type":10,"tag":1968,"props":3111,"children":3112},{"style":2008},[3113],{"type":16,"value":3114}," .bindingCount ",{"type":10,"tag":1968,"props":3116,"children":3117},{"style":2014},[3118],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3120,"children":3121},{"style":2020},[3122],{"type":16,"value":3123}," 2",{"type":10,"tag":1968,"props":3125,"children":3126},{"style":2008},[3127],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3129,"children":3131},{"class":1970,"line":3130},41,[3132,3137,3141,3146,3151,3155],{"type":10,"tag":1968,"props":3133,"children":3134},{"style":2008},[3135],{"type":16,"value":3136}," .pBindings ",{"type":10,"tag":1968,"props":3138,"children":3139},{"style":2014},[3140],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3142,"children":3143},{"style":2014},[3144],{"type":16,"value":3145}," &",{"type":10,"tag":1968,"props":3147,"children":3148},{"style":2008},[3149],{"type":16,"value":3150},"myDescriptorSetLayoutBinding[",{"type":10,"tag":1968,"props":3152,"children":3153},{"style":2020},[3154],{"type":16,"value":2023},{"type":10,"tag":1968,"props":3156,"children":3157},{"style":2008},[3158],{"type":16,"value":3159},"]\n",{"type":10,"tag":1968,"props":3161,"children":3163},{"class":1970,"line":3162},42,[3164],{"type":10,"tag":1968,"props":3165,"children":3166},{"style":2008},[3167],{"type":16,"value":2764},{"type":10,"tag":1968,"props":3169,"children":3171},{"class":1970,"line":3170},43,[3172],{"type":10,"tag":1968,"props":3173,"children":3174},{"emptyLinePlaceholder":2063},[3175],{"type":16,"value":2066},{"type":10,"tag":1968,"props":3177,"children":3179},{"class":1970,"line":3178},44,[3180],{"type":10,"tag":1968,"props":3181,"children":3182},{"style":1975},[3183],{"type":16,"value":3184}," // Information for second descriptor set with one descriptor binding\n",{"type":10,"tag":1968,"props":3186,"children":3188},{"class":1970,"line":3187},45,[3189],{"type":10,"tag":1968,"props":3190,"children":3191},{"style":2008},[3192],{"type":16,"value":2662},{"type":10,"tag":1968,"props":3194,"children":3196},{"class":1970,"line":3195},46,[3197,3201,3205],{"type":10,"tag":1968,"props":3198,"children":3199},{"style":2008},[3200],{"type":16,"value":3053},{"type":10,"tag":1968,"props":3202,"children":3203},{"style":2014},[3204],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3206,"children":3207},{"style":2008},[3208],{"type":16,"value":3062},{"type":10,"tag":1968,"props":3210,"children":3212},{"class":1970,"line":3211},47,[3213,3217,3221,3225],{"type":10,"tag":1968,"props":3214,"children":3215},{"style":2008},[3216],{"type":16,"value":3071},{"type":10,"tag":1968,"props":3218,"children":3219},{"style":2014},[3220],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3222,"children":3223},{"style":2020},[3224],{"type":16,"value":3080},{"type":10,"tag":1968,"props":3226,"children":3227},{"style":2008},[3228],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3230,"children":3232},{"class":1970,"line":3231},48,[3233,3237,3241,3245],{"type":10,"tag":1968,"props":3234,"children":3235},{"style":2008},[3236],{"type":16,"value":3093},{"type":10,"tag":1968,"props":3238,"children":3239},{"style":2014},[3240],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3242,"children":3243},{"style":2020},[3244],{"type":16,"value":2679},{"type":10,"tag":1968,"props":3246,"children":3247},{"style":2008},[3248],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3250,"children":3252},{"class":1970,"line":3251},49,[3253,3257,3261,3265],{"type":10,"tag":1968,"props":3254,"children":3255},{"style":2008},[3256],{"type":16,"value":3114},{"type":10,"tag":1968,"props":3258,"children":3259},{"style":2014},[3260],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3262,"children":3263},{"style":2020},[3264],{"type":16,"value":2718},{"type":10,"tag":1968,"props":3266,"children":3267},{"style":2008},[3268],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3270,"children":3272},{"class":1970,"line":3271},50,[3273,3277,3281,3285,3289,3294],{"type":10,"tag":1968,"props":3274,"children":3275},{"style":2008},[3276],{"type":16,"value":3136},{"type":10,"tag":1968,"props":3278,"children":3279},{"style":2014},[3280],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3282,"children":3283},{"style":2014},[3284],{"type":16,"value":3145},{"type":10,"tag":1968,"props":3286,"children":3287},{"style":2008},[3288],{"type":16,"value":3150},{"type":10,"tag":1968,"props":3290,"children":3291},{"style":2020},[3292],{"type":16,"value":3293},"2",{"type":10,"tag":1968,"props":3295,"children":3296},{"style":2008},[3297],{"type":16,"value":3159},{"type":10,"tag":1968,"props":3299,"children":3301},{"class":1970,"line":3300},51,[3302],{"type":10,"tag":1968,"props":3303,"children":3304},{"style":2008},[3305],{"type":16,"value":2991},{"type":10,"tag":1968,"props":3307,"children":3309},{"class":1970,"line":3308},52,[3310],{"type":10,"tag":1968,"props":3311,"children":3312},{"style":2008},[3313],{"type":16,"value":2280},{"type":10,"tag":1968,"props":3315,"children":3317},{"class":1970,"line":3316},53,[3318],{"type":10,"tag":1968,"props":3319,"children":3320},{"emptyLinePlaceholder":2063},[3321],{"type":16,"value":2066},{"type":10,"tag":1968,"props":3323,"children":3325},{"class":1970,"line":3324},54,[3326,3331,3335],{"type":10,"tag":1968,"props":3327,"children":3328},{"style":2008},[3329],{"type":16,"value":3330},"VkDescriptorSetLayout myDescriptorSetLayout[",{"type":10,"tag":1968,"props":3332,"children":3333},{"style":2020},[3334],{"type":16,"value":3293},{"type":10,"tag":1968,"props":3336,"children":3337},{"style":2008},[3338],{"type":16,"value":2157},{"type":10,"tag":1968,"props":3340,"children":3342},{"class":1970,"line":3341},55,[3343],{"type":10,"tag":1968,"props":3344,"children":3345},{"emptyLinePlaceholder":2063},[3346],{"type":16,"value":2066},{"type":10,"tag":1968,"props":3348,"children":3350},{"class":1970,"line":3349},56,[3351],{"type":10,"tag":1968,"props":3352,"children":3353},{"style":1975},[3354],{"type":16,"value":1978},{"type":10,"tag":1968,"props":3356,"children":3358},{"class":1970,"line":3357},57,[3359],{"type":10,"tag":1968,"props":3360,"children":3361},{"style":1975},[3362],{"type":16,"value":3363},"// Create first descriptor set layout\n",{"type":10,"tag":1968,"props":3365,"children":3367},{"class":1970,"line":3366},58,[3368],{"type":10,"tag":1968,"props":3369,"children":3370},{"style":1975},[3371],{"type":16,"value":1978},{"type":10,"tag":1968,"props":3373,"children":3375},{"class":1970,"line":3374},59,[3376,3381,3385,3390],{"type":10,"tag":1968,"props":3377,"children":3378},{"style":2008},[3379],{"type":16,"value":3380},"myResult ",{"type":10,"tag":1968,"props":3382,"children":3383},{"style":2014},[3384],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3386,"children":3387},{"style":2002},[3388],{"type":16,"value":3389}," vkCreateDescriptorSetLayout",{"type":10,"tag":1968,"props":3391,"children":3392},{"style":2008},[3393],{"type":16,"value":3394},"(\n",{"type":10,"tag":1968,"props":3396,"children":3398},{"class":1970,"line":3397},60,[3399],{"type":10,"tag":1968,"props":3400,"children":3401},{"style":2008},[3402],{"type":16,"value":3403}," myDevice,\n",{"type":10,"tag":1968,"props":3405,"children":3407},{"class":1970,"line":3406},61,[3408,3413,3418,3422],{"type":10,"tag":1968,"props":3409,"children":3410},{"style":2014},[3411],{"type":16,"value":3412}," &",{"type":10,"tag":1968,"props":3414,"children":3415},{"style":2008},[3416],{"type":16,"value":3417},"myDescriptorSetLayoutCreateInfo[",{"type":10,"tag":1968,"props":3419,"children":3420},{"style":2020},[3421],{"type":16,"value":2023},{"type":10,"tag":1968,"props":3423,"children":3424},{"style":2008},[3425],{"type":16,"value":3426},"],\n",{"type":10,"tag":1968,"props":3428,"children":3430},{"class":1970,"line":3429},62,[3431,3436],{"type":10,"tag":1968,"props":3432,"children":3433},{"style":2020},[3434],{"type":16,"value":3435}," NULL",{"type":10,"tag":1968,"props":3437,"children":3438},{"style":2008},[3439],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3441,"children":3443},{"class":1970,"line":3442},63,[3444,3448,3453,3457],{"type":10,"tag":1968,"props":3445,"children":3446},{"style":2014},[3447],{"type":16,"value":3412},{"type":10,"tag":1968,"props":3449,"children":3450},{"style":2008},[3451],{"type":16,"value":3452},"myDescriptorSetLayout[",{"type":10,"tag":1968,"props":3454,"children":3455},{"style":2020},[3456],{"type":16,"value":2023},{"type":10,"tag":1968,"props":3458,"children":3459},{"style":2008},[3460],{"type":16,"value":3461},"]);\n",{"type":10,"tag":1968,"props":3463,"children":3465},{"class":1970,"line":3464},64,[3466],{"type":10,"tag":1968,"props":3467,"children":3468},{"emptyLinePlaceholder":2063},[3469],{"type":16,"value":2066},{"type":10,"tag":1968,"props":3471,"children":3473},{"class":1970,"line":3472},65,[3474],{"type":10,"tag":1968,"props":3475,"children":3476},{"style":1975},[3477],{"type":16,"value":1978},{"type":10,"tag":1968,"props":3479,"children":3481},{"class":1970,"line":3480},66,[3482],{"type":10,"tag":1968,"props":3483,"children":3484},{"style":1975},[3485],{"type":16,"value":3486},"// Create second descriptor set layout\n",{"type":10,"tag":1968,"props":3488,"children":3490},{"class":1970,"line":3489},67,[3491],{"type":10,"tag":1968,"props":3492,"children":3493},{"style":1975},[3494],{"type":16,"value":1978},{"type":10,"tag":1968,"props":3496,"children":3498},{"class":1970,"line":3497},68,[3499,3503,3507,3511],{"type":10,"tag":1968,"props":3500,"children":3501},{"style":2008},[3502],{"type":16,"value":3380},{"type":10,"tag":1968,"props":3504,"children":3505},{"style":2014},[3506],{"type":16,"value":2017},{"type":10,"tag":1968,"props":3508,"children":3509},{"style":2002},[3510],{"type":16,"value":3389},{"type":10,"tag":1968,"props":3512,"children":3513},{"style":2008},[3514],{"type":16,"value":3394},{"type":10,"tag":1968,"props":3516,"children":3518},{"class":1970,"line":3517},69,[3519],{"type":10,"tag":1968,"props":3520,"children":3521},{"style":2008},[3522],{"type":16,"value":3403},{"type":10,"tag":1968,"props":3524,"children":3526},{"class":1970,"line":3525},70,[3527,3531,3535,3539],{"type":10,"tag":1968,"props":3528,"children":3529},{"style":2014},[3530],{"type":16,"value":3412},{"type":10,"tag":1968,"props":3532,"children":3533},{"style":2008},[3534],{"type":16,"value":3417},{"type":10,"tag":1968,"props":3536,"children":3537},{"style":2020},[3538],{"type":16,"value":2124},{"type":10,"tag":1968,"props":3540,"children":3541},{"style":2008},[3542],{"type":16,"value":3426},{"type":10,"tag":1968,"props":3544,"children":3546},{"class":1970,"line":3545},71,[3547,3551],{"type":10,"tag":1968,"props":3548,"children":3549},{"style":2020},[3550],{"type":16,"value":3435},{"type":10,"tag":1968,"props":3552,"children":3553},{"style":2008},[3554],{"type":16,"value":2684},{"type":10,"tag":1968,"props":3556,"children":3558},{"class":1970,"line":3557},72,[3559,3563,3567,3571],{"type":10,"tag":1968,"props":3560,"children":3561},{"style":2014},[3562],{"type":16,"value":3412},{"type":10,"tag":1968,"props":3564,"children":3565},{"style":2008},[3566],{"type":16,"value":3452},{"type":10,"tag":1968,"props":3568,"children":3569},{"style":2020},[3570],{"type":16,"value":2124},{"type":10,"tag":1968,"props":3572,"children":3573},{"style":2008},[3574],{"type":16,"value":3461},{"type":10,"tag":1819,"props":3576,"children":3578},{"name":3577,"type":1832},"vkDestroyDescriptorSetLayout",[3579],{"type":10,"tag":18,"props":3580,"children":3581},{},[3582],{"type":16,"value":3583},"Destroy a descriptor set layout object",{"type":10,"tag":175,"props":3585,"children":3587},{"id":3586},"descriptorsets-pipelinelayout",[3588],{"type":16,"value":3589},"Pipeline Layouts",{"type":10,"tag":1819,"props":3591,"children":3593},{"name":3592,"type":1822},"VkPipelineLayout",[3594],{"type":10,"tag":18,"props":3595,"children":3596},{},[3597],{"type":16,"value":3598},"Opaque handle to a pipeline layout object",{"type":10,"tag":1819,"props":3600,"children":3602},{"name":3601,"type":1832},"vkCreatePipelineLayout",[3603],{"type":10,"tag":18,"props":3604,"children":3605},{},[3606],{"type":16,"value":3607},"Creates a new pipeline layout object",{"type":10,"tag":1819,"props":3609,"children":3611},{"name":3610,"type":1841},"VkPipelineLayoutCreateInfo",[3612],{"type":10,"tag":18,"props":3613,"children":3614},{},[3615],{"type":16,"value":3616},"Structure specifying the parameters of a newly created pipeline layout object",{"type":10,"tag":1819,"props":3618,"children":3620},{"name":3619,"type":1867},"VkPipelineLayoutCreateFlagBits",[3621],{"type":10,"tag":18,"props":3622,"children":3623},{},[3624],{"type":16,"value":3625},"Pipeline layout creation flag bits",{"type":10,"tag":1819,"props":3627,"children":3629},{"name":3628,"type":1877},"VkPipelineLayoutCreateFlags",[3630],{"type":10,"tag":18,"props":3631,"children":3632},{},[3633],{"type":16,"value":3634},"Bitmask of pipeline layout creation flag bits",{"type":10,"tag":1819,"props":3636,"children":3638},{"name":3637,"type":1841},"VkPushConstantRange",[3639],{"type":10,"tag":18,"props":3640,"children":3641},{},[3642],{"type":16,"value":3643},"Structure specifying a push constant range",{"type":10,"tag":18,"props":3645,"children":3646},{},[3647,3649,3655,3657,3663,3665,3671,3673,3676],{"type":16,"value":3648},"Once created, pipeline layouts are used as part of pipeline creation (see\n",{"type":10,"tag":74,"props":3650,"children":3652},{"href":3651},"/chapters/pipelines#pipelines",[3653],{"type":16,"value":3654},"Pipelines",{"type":16,"value":3656},"), as part of binding descriptor sets (see\n",{"type":10,"tag":74,"props":3658,"children":3660},{"href":3659},"/chapters/descriptorsets#descriptorsets-binding",[3661],{"type":16,"value":3662},"Descriptor Set Binding",{"type":16,"value":3664},"), and as part of setting\npush constants (see ",{"type":10,"tag":74,"props":3666,"children":3668},{"href":3667},"/chapters/descriptorsets#descriptorsets-push-constants",[3669],{"type":16,"value":3670},"Push Constant\nUpdates",{"type":16,"value":3672},").\nPipeline creation accepts a pipeline layout as input, and the layout ",{"type":10,"tag":46,"props":3674,"children":3675},{"type":755},[],{"type":16,"value":3677}," be\nused to map (set, binding, arrayElement) tuples to implementation resources\nor memory locations within a descriptor set.\nThe assignment of implementation resources depends only on the bindings\ndefined in the descriptor sets that comprise the pipeline layout, and not on\nany shader source.",{"type":10,"tag":3679,"props":3680,"children":3682},"anchor",{"id":3681},"descriptorsets-pipelinelayout-consistency",[],{"type":10,"tag":18,"props":3684,"children":3685},{},[3686,3688,3694,3696,3699,3701,3707,3709,3712,3714,3717],{"type":16,"value":3687},"All resource variables ",{"type":10,"tag":74,"props":3689,"children":3691},{"href":3690},"/chapters/shaders#shaders-staticuse",[3692],{"type":16,"value":3693},"statically used",{"type":16,"value":3695}," in all shaders\nin a pipeline ",{"type":10,"tag":46,"props":3697,"children":3698},{"type":321},[],{"type":16,"value":3700}," be declared with a (set, binding, arrayElement) that\nexists in the corresponding descriptor set layout and is of an appropriate\ndescriptor type and includes the set of shader stages it is used by in\n",{"type":10,"tag":65,"props":3702,"children":3704},{"className":3703},[],[3705],{"type":16,"value":3706},"stageFlags",{"type":16,"value":3708},".\nThe pipeline layout ",{"type":10,"tag":46,"props":3710,"children":3711},{"type":48},[],{"type":16,"value":3713}," include entries that are not used by a particular\npipeline.\nThe pipeline layout allows the application to provide a consistent set of\nbindings across multiple pipeline compiles, which enables those pipelines to\nbe compiled in a way that the implementation ",{"type":10,"tag":46,"props":3715,"children":3716},{"type":755},[],{"type":16,"value":3718}," cheaply switch pipelines\nwithout reprogramming the bindings.",{"type":10,"tag":18,"props":3720,"children":3721},{},[3722,3724,3727,3729,3734,3736,3739],{"type":16,"value":3723},"Similarly, the push constant block declared in each shader (if present)\n",{"type":10,"tag":46,"props":3725,"children":3726},{"type":321},[],{"type":16,"value":3728}," only place variables at offsets that are each included in a push\nconstant range with ",{"type":10,"tag":65,"props":3730,"children":3732},{"className":3731},[],[3733],{"type":16,"value":3706},{"type":16,"value":3735}," including the bit corresponding to the\nshader stage that uses it.\nThe pipeline layout ",{"type":10,"tag":46,"props":3737,"children":3738},{"type":48},[],{"type":16,"value":3740}," include ranges or portions of ranges that are not\nused by a particular pipeline.",{"type":10,"tag":18,"props":3742,"children":3743},{},[3744,3746,3749,3751,3757,3759,3765,3767,3770,3772,3775,3777,3783],{"type":16,"value":3745},"There is a limit on the total number of resources of each type that ",{"type":10,"tag":46,"props":3747,"children":3748},{"type":48},[],{"type":16,"value":3750}," be\nincluded in bindings in all descriptor set layouts in a pipeline layout as\nshown in ",{"type":10,"tag":74,"props":3752,"children":3754},{"href":3753},"/chapters/descriptorsets#descriptorsets-pipelinelayout-limits",[3755],{"type":16,"value":3756},"Pipeline Layout Resource\nLimits",{"type":16,"value":3758},".\nThe ",{"type":10,"tag":65,"props":3760,"children":3762},{"className":3761},[],[3763],{"type":16,"value":3764},"Total Resources Available",{"type":16,"value":3766}," column gives the limit on the number of\neach type of resource that ",{"type":10,"tag":46,"props":3768,"children":3769},{"type":48},[],{"type":16,"value":3771}," be included in bindings in all descriptor\nsets in the pipeline layout.\nSome resource types count against multiple limits.\nAdditionally, there are limits on the total number of each type of resource\nthat ",{"type":10,"tag":46,"props":3773,"children":3774},{"type":48},[],{"type":16,"value":3776}," be used in any pipeline stage as described in\n",{"type":10,"tag":74,"props":3778,"children":3780},{"href":3779},"/chapters/interfaces#interfaces-resources-limits",[3781],{"type":16,"value":3782},"Shader Resource Limits",{"type":16,"value":245},{"type":10,"tag":3785,"props":3786,"children":3793},"table",{"id":3787,"className":3788,"style":3792},"descriptorsets-pipelinelayout-limits",[3789,3790,3791],"tableblock","frame-all","grid-all","width: 80%;",[3794,3802,3815,3837],{"type":10,"tag":3795,"props":3796,"children":3799},"caption",{"className":3797},[3798],"title",[3800],{"type":16,"value":3801},"Table 18. Pipeline Layout Resource Limits",{"type":10,"tag":3803,"props":3804,"children":3805},"colgroup",{},[3806,3811],{"type":10,"tag":3807,"props":3808,"children":3810},"col",{"style":3809},"width: 62.7118%;",[],{"type":10,"tag":3807,"props":3812,"children":3814},{"style":3813},"width: 37.2882%;",[],{"type":10,"tag":3816,"props":3817,"children":3818},"thead",{},[3819],{"type":10,"tag":3820,"props":3821,"children":3822},"tr",{},[3823,3831],{"type":10,"tag":3824,"props":3825,"children":3829},"th",{"className":3826},[3789,3827,3828],"halign-left","valign-top",[3830],{"type":16,"value":3764},{"type":10,"tag":3824,"props":3832,"children":3834},{"className":3833},[3789,3827,3828],[3835],{"type":16,"value":3836},"Resource Types",{"type":10,"tag":3838,"props":3839,"children":3840},"tbody",{},[3841,3875,3887,3918,3930,3942,3973,3985,4016,4029,4066,4097,4110,4147,4178,4209],{"type":10,"tag":3820,"props":3842,"children":3843},{},[3844,3866],{"type":10,"tag":3845,"props":3846,"children":3849},"td",{"className":3847,"rowSpan":1981},[3789,3827,3848],"valign-middle",[3850],{"type":10,"tag":18,"props":3851,"children":3853},{"className":3852},[3789],[3854,3860,3861],{"type":10,"tag":3855,"props":3856,"children":3857},"literal",{},[3858],{"type":16,"value":3859},"maxDescriptorSetSamplers",{"type":16,"value":1490},{"type":10,"tag":3855,"props":3862,"children":3863},{},[3864],{"type":16,"value":3865},"maxDescriptorSetUpdateAfterBindSamplers",{"type":10,"tag":3845,"props":3867,"children":3869},{"className":3868},[3789,3827,3828],[3870],{"type":10,"tag":18,"props":3871,"children":3873},{"className":3872},[3789],[3874],{"type":16,"value":370},{"type":10,"tag":3820,"props":3876,"children":3877},{},[3878],{"type":10,"tag":3845,"props":3879,"children":3881},{"className":3880},[3789,3827,3828],[3882],{"type":10,"tag":18,"props":3883,"children":3885},{"className":3884},[3789],[3886],{"type":16,"value":571},{"type":10,"tag":3820,"props":3888,"children":3889},{},[3890,3909],{"type":10,"tag":3845,"props":3891,"children":3893},{"className":3892,"rowSpan":1990},[3789,3827,3848],[3894],{"type":10,"tag":18,"props":3895,"children":3897},{"className":3896},[3789],[3898,3903,3904],{"type":10,"tag":3855,"props":3899,"children":3900},{},[3901],{"type":16,"value":3902},"maxDescriptorSetSampledImages",{"type":16,"value":1490},{"type":10,"tag":3855,"props":3905,"children":3906},{},[3907],{"type":16,"value":3908},"maxDescriptorSetUpdateAfterBindSampledImages",{"type":10,"tag":3845,"props":3910,"children":3912},{"className":3911},[3789,3827,3828],[3913],{"type":10,"tag":18,"props":3914,"children":3916},{"className":3915},[3789],[3917],{"type":16,"value":386},{"type":10,"tag":3820,"props":3919,"children":3920},{},[3921],{"type":10,"tag":3845,"props":3922,"children":3924},{"className":3923},[3789,3827,3828],[3925],{"type":10,"tag":18,"props":3926,"children":3928},{"className":3927},[3789],[3929],{"type":16,"value":571},{"type":10,"tag":3820,"props":3931,"children":3932},{},[3933],{"type":10,"tag":3845,"props":3934,"children":3936},{"className":3935},[3789,3827,3828],[3937],{"type":10,"tag":18,"props":3938,"children":3940},{"className":3939},[3789],[3941],{"type":16,"value":773},{"type":10,"tag":3820,"props":3943,"children":3944},{},[3945,3964],{"type":10,"tag":3845,"props":3946,"children":3948},{"className":3947,"rowSpan":1981},[3789,3827,3848],[3949],{"type":10,"tag":18,"props":3950,"children":3952},{"className":3951},[3789],[3953,3958,3959],{"type":10,"tag":3855,"props":3954,"children":3955},{},[3956],{"type":16,"value":3957},"maxDescriptorSetStorageImages",{"type":16,"value":1490},{"type":10,"tag":3855,"props":3960,"children":3961},{},[3962],{"type":16,"value":3963},"maxDescriptorSetUpdateAfterBindStorageImages",{"type":10,"tag":3845,"props":3965,"children":3967},{"className":3966},[3789,3827,3828],[3968],{"type":10,"tag":18,"props":3969,"children":3971},{"className":3970},[3789],[3972],{"type":16,"value":189},{"type":10,"tag":3820,"props":3974,"children":3975},{},[3976],{"type":10,"tag":3845,"props":3977,"children":3979},{"className":3978},[3789,3827,3828],[3980],{"type":10,"tag":18,"props":3981,"children":3983},{"className":3982},[3789],[3984],{"type":16,"value":846},{"type":10,"tag":3820,"props":3986,"children":3987},{},[3988,4007],{"type":10,"tag":3845,"props":3989,"children":3991},{"className":3990,"rowSpan":1981},[3789,3827,3848],[3992],{"type":10,"tag":18,"props":3993,"children":3995},{"className":3994},[3789],[3996,4001,4002],{"type":10,"tag":3855,"props":3997,"children":3998},{},[3999],{"type":16,"value":4000},"maxDescriptorSetUniformBuffers",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4003,"children":4004},{},[4005],{"type":16,"value":4006},"maxDescriptorSetUpdateAfterBindUniformBuffers",{"type":10,"tag":3845,"props":4008,"children":4010},{"className":4009},[3789,3827,3828],[4011],{"type":10,"tag":18,"props":4012,"children":4014},{"className":4013},[3789],[4015],{"type":16,"value":1033},{"type":10,"tag":3820,"props":4017,"children":4018},{},[4019],{"type":10,"tag":3845,"props":4020,"children":4022},{"className":4021},[3789,3827,3828],[4023],{"type":10,"tag":18,"props":4024,"children":4026},{"className":4025},[3789],[4027],{"type":16,"value":4028},"uniform buffer dynamic",{"type":10,"tag":3820,"props":4030,"children":4031},{},[4032,4057],{"type":10,"tag":3845,"props":4033,"children":4035},{"className":4034},[3789,3827,3828],[4036],{"type":10,"tag":18,"props":4037,"children":4039},{"className":4038},[3789],[4040,4045,4046,4051,4052],{"type":10,"tag":3855,"props":4041,"children":4042},{},[4043],{"type":16,"value":4044},"maxDescriptorSetUniformBuffersDynamic",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4047,"children":4048},{},[4049],{"type":16,"value":4050},"maxDescriptorSetUpdateAfterBindUniformBuffersDynamic",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4053,"children":4054},{},[4055],{"type":16,"value":4056},"maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic",{"type":10,"tag":3845,"props":4058,"children":4060},{"className":4059},[3789,3827,3828],[4061],{"type":10,"tag":18,"props":4062,"children":4064},{"className":4063},[3789],[4065],{"type":16,"value":4028},{"type":10,"tag":3820,"props":4067,"children":4068},{},[4069,4088],{"type":10,"tag":3845,"props":4070,"children":4072},{"className":4071,"rowSpan":1981},[3789,3827,3848],[4073],{"type":10,"tag":18,"props":4074,"children":4076},{"className":4075},[3789],[4077,4082,4083],{"type":10,"tag":3855,"props":4078,"children":4079},{},[4080],{"type":16,"value":4081},"maxDescriptorSetStorageBuffers",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4084,"children":4085},{},[4086],{"type":16,"value":4087},"maxDescriptorSetUpdateAfterBindStorageBuffers",{"type":10,"tag":3845,"props":4089,"children":4091},{"className":4090},[3789,3827,3828],[4092],{"type":10,"tag":18,"props":4093,"children":4095},{"className":4094},[3789],[4096],{"type":16,"value":980},{"type":10,"tag":3820,"props":4098,"children":4099},{},[4100],{"type":10,"tag":3845,"props":4101,"children":4103},{"className":4102},[3789,3827,3828],[4104],{"type":10,"tag":18,"props":4105,"children":4107},{"className":4106},[3789],[4108],{"type":16,"value":4109},"storage buffer dynamic",{"type":10,"tag":3820,"props":4111,"children":4112},{},[4113,4138],{"type":10,"tag":3845,"props":4114,"children":4116},{"className":4115},[3789,3827,3828],[4117],{"type":10,"tag":18,"props":4118,"children":4120},{"className":4119},[3789],[4121,4126,4127,4132,4133],{"type":10,"tag":3855,"props":4122,"children":4123},{},[4124],{"type":16,"value":4125},"maxDescriptorSetStorageBuffersDynamic",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4128,"children":4129},{},[4130],{"type":16,"value":4131},"maxDescriptorSetUpdateAfterBindStorageBuffersDynamic",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4134,"children":4135},{},[4136],{"type":16,"value":4137},"maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic",{"type":10,"tag":3845,"props":4139,"children":4141},{"className":4140},[3789,3827,3828],[4142],{"type":10,"tag":18,"props":4143,"children":4145},{"className":4144},[3789],[4146],{"type":16,"value":4109},{"type":10,"tag":3820,"props":4148,"children":4149},{},[4150,4169],{"type":10,"tag":3845,"props":4151,"children":4153},{"className":4152},[3789,3827,3828],[4154],{"type":10,"tag":18,"props":4155,"children":4157},{"className":4156},[3789],[4158,4163,4164],{"type":10,"tag":3855,"props":4159,"children":4160},{},[4161],{"type":16,"value":4162},"maxDescriptorSetInputAttachments",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4165,"children":4166},{},[4167],{"type":16,"value":4168},"maxDescriptorSetUpdateAfterBindInputAttachments",{"type":10,"tag":3845,"props":4170,"children":4172},{"className":4171},[3789,3827,3828],[4173],{"type":10,"tag":18,"props":4174,"children":4176},{"className":4175},[3789],[4177],{"type":16,"value":1444},{"type":10,"tag":3820,"props":4179,"children":4180},{},[4181,4200],{"type":10,"tag":3845,"props":4182,"children":4184},{"className":4183},[3789,3827,3828],[4185],{"type":10,"tag":18,"props":4186,"children":4188},{"className":4187},[3789],[4189,4194,4195],{"type":10,"tag":3855,"props":4190,"children":4191},{},[4192],{"type":16,"value":4193},"maxDescriptorSetInlineUniformBlocks",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4196,"children":4197},{},[4198],{"type":16,"value":4199},"maxDescriptorSetUpdateAfterBindInlineUniformBlocks",{"type":10,"tag":3845,"props":4201,"children":4203},{"className":4202},[3789,3827,3828],[4204],{"type":10,"tag":18,"props":4205,"children":4207},{"className":4206},[3789],[4208],{"type":16,"value":1166},{"type":10,"tag":3820,"props":4210,"children":4211},{},[4212,4231],{"type":10,"tag":3845,"props":4213,"children":4215},{"className":4214},[3789,3827,3828],[4216],{"type":10,"tag":18,"props":4217,"children":4219},{"className":4218},[3789],[4220,4225,4226],{"type":10,"tag":3855,"props":4221,"children":4222},{},[4223],{"type":16,"value":4224},"maxDescriptorSetAccelerationStructures",{"type":16,"value":1490},{"type":10,"tag":3855,"props":4227,"children":4228},{},[4229],{"type":16,"value":4230},"maxDescriptorSetUpdateAfterBindAccelerationStructures",{"type":10,"tag":3845,"props":4232,"children":4234},{"className":4233},[3789,3827,3828],[4235],{"type":10,"tag":18,"props":4236,"children":4238},{"className":4237},[3789],[4239],{"type":16,"value":1606},{"type":10,"tag":1819,"props":4241,"children":4243},{"name":4242,"type":1832},"vkDestroyPipelineLayout",[4244],{"type":10,"tag":18,"props":4245,"children":4246},{},[4247],{"type":16,"value":4248},"Destroy a pipeline layout object",{"type":10,"tag":4250,"props":4251,"children":4253},"h4",{"id":4252},"descriptorsets-compatibility",[4254],{"type":16,"value":4255},"Pipeline Layout Compatibility",{"type":10,"tag":18,"props":4257,"children":4258},{},[4259,4261,4266,4268,4274,4276,4281,4283,4289],{"type":16,"value":4260},"Two pipeline layouts are defined to be compatible for\n",{"type":10,"tag":74,"props":4262,"children":4263},{"href":3667},[4264],{"type":16,"value":4265},"push constants",{"type":16,"value":4267}," if they were created\nwith identical push constant ranges.\nTwo pipeline layouts are defined to be ",{"type":10,"tag":65,"props":4269,"children":4271},{"className":4270},[],[4272],{"type":16,"value":4273},"compatible for set N",{"type":16,"value":4275}," if they were\ncreated with ",{"type":10,"tag":24,"props":4277,"children":4278},{},[4279],{"type":16,"value":4280},"identically defined",{"type":16,"value":4282}," descriptor set layouts for sets zero\nthrough N,\nif both of them either were or were not created with\n",{"type":10,"tag":65,"props":4284,"children":4286},{"className":4285},[],[4287],{"type":16,"value":4288},"VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT",{"type":16,"value":4290},",\nand if they were created with identical push constant ranges.",{"type":10,"tag":18,"props":4292,"children":4293},{},[4294,4296,4301],{"type":16,"value":4295},"When binding a descriptor set (see ",{"type":10,"tag":74,"props":4297,"children":4298},{"href":3659},[4299],{"type":16,"value":4300},"Descriptor Set\nBinding",{"type":16,"value":4302},") to set number N, a previously bound descriptor set bound with\nlower index M than N is disturbed if the pipeline layouts for set M and N\nare not compatible for set M. Otherwise, the bound descriptor set in M is\nnot disturbed.",{"type":10,"tag":18,"props":4304,"children":4305},{},[4306],{"type":16,"value":4307},"If, additionally, the previously bound descriptor set for set N was bound\nusing a pipeline layout not compatible for set N, then all bindings in sets\nnumbered greater than N are disturbed.",{"type":10,"tag":18,"props":4309,"children":4310},{},[4311,4313,4316],{"type":16,"value":4312},"When binding a pipeline, the pipeline ",{"type":10,"tag":46,"props":4314,"children":4315},{"type":48},[],{"type":16,"value":4317}," correctly access any previously\nbound descriptor set N if it was bound with compatible pipeline layout for\nset N, and it was not disturbed.",{"type":10,"tag":18,"props":4319,"children":4320},{},[4321,4323,4326,4328,4331],{"type":16,"value":4322},"Layout compatibility means that descriptor sets ",{"type":10,"tag":46,"props":4324,"children":4325},{"type":48},[],{"type":16,"value":4327}," be bound to a command\nbuffer for use by any pipeline created with a compatible pipeline layout,\nand without having bound a particular pipeline first.\nIt also means that descriptor sets ",{"type":10,"tag":46,"props":4329,"children":4330},{"type":48},[],{"type":16,"value":4332}," remain valid across a pipeline\nchange, and the same resources will be accessible to the newly bound\npipeline.",{"type":10,"tag":18,"props":4334,"children":4335},{},[4336],{"type":16,"value":4337},"When a descriptor set is disturbed by binding descriptor sets, the disturbed\nset is considered to contain undefined: descriptors bound with the same\npipeline layout as the disturbing descriptor set.",{"type":10,"tag":745,"props":4339,"children":4340},{},[4341],{"type":10,"tag":18,"props":4342,"children":4343},{},[4344],{"type":16,"value":4345},"Place the least frequently changing descriptor sets near the start of the\npipeline layout, and place the descriptor sets representing the most\nfrequently changing resources near the end.\nWhen pipelines are switched, only the descriptor set bindings that have been\ninvalidated will need to be updated and the remainder of the descriptor set\nbindings will remain in place.",{"type":10,"tag":18,"props":4347,"children":4348},{},[4349,4351,4354,4356,4361,4363,4367],{"type":16,"value":4350},"The maximum number of descriptor sets that ",{"type":10,"tag":46,"props":4352,"children":4353},{"type":48},[],{"type":16,"value":4355}," be bound to a pipeline\nlayout is queried from physical device properties (see\n",{"type":10,"tag":65,"props":4357,"children":4359},{"className":4358},[],[4360],{"type":16,"value":70},{"type":16,"value":4362}," in ",{"type":10,"tag":74,"props":4364,"children":4365},{"href":76},[4366],{"type":16,"value":79},{"type":16,"value":4368},").",{"type":10,"tag":4250,"props":4370,"children":4372},{"id":4371},"api-example-1",[4373],{"type":16,"value":2597},{"type":10,"tag":1957,"props":4375,"children":4377},{"className":2600,"code":4376,"language":2602,"meta":1962,"style":1962},"const VkDescriptorSetLayout layouts[] = { layout1, layout2 };\n\nconst VkPushConstantRange ranges[] =\n{\n {\n .stageFlags = VK_SHADER_STAGE_VERTEX_BIT,\n .offset = 0,\n .size = 4\n },\n {\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .offset = 4,\n .size = 4\n },\n};\n\nconst VkPipelineLayoutCreateInfo createInfo =\n{\n .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .setLayoutCount = 2,\n .pSetLayouts = layouts,\n .pushConstantRangeCount = 2,\n .pPushConstantRanges = ranges\n};\n\nVkPipelineLayout myPipelineLayout;\nmyResult = vkCreatePipelineLayout(\n myDevice,\n &createInfo,\n NULL,\n &myPipelineLayout);\n",[4378],{"type":10,"tag":65,"props":4379,"children":4380},{"__ignoreMap":1962},[4381,4402,4409,4425,4432,4439,4455,4475,4492,4499,4506,4521,4541,4556,4563,4570,4577,4593,4600,4617,4637,4657,4677,4694,4714,4731,4738,4745,4753,4773,4780,4792,4803],{"type":10,"tag":1968,"props":4382,"children":4383},{"class":1970,"line":1971},[4384,4388,4393,4397],{"type":10,"tag":1968,"props":4385,"children":4386},{"style":2014},[4387],{"type":16,"value":2629},{"type":10,"tag":1968,"props":4389,"children":4390},{"style":2008},[4391],{"type":16,"value":4392}," VkDescriptorSetLayout layouts[] ",{"type":10,"tag":1968,"props":4394,"children":4395},{"style":2014},[4396],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4398,"children":4399},{"style":2008},[4400],{"type":16,"value":4401}," { layout1, layout2 };\n",{"type":10,"tag":1968,"props":4403,"children":4404},{"class":1970,"line":1981},[4405],{"type":10,"tag":1968,"props":4406,"children":4407},{"emptyLinePlaceholder":2063},[4408],{"type":16,"value":2066},{"type":10,"tag":1968,"props":4410,"children":4411},{"class":1970,"line":1990},[4412,4416,4421],{"type":10,"tag":1968,"props":4413,"children":4414},{"style":2014},[4415],{"type":16,"value":2629},{"type":10,"tag":1968,"props":4417,"children":4418},{"style":2008},[4419],{"type":16,"value":4420}," VkPushConstantRange ranges[] ",{"type":10,"tag":1968,"props":4422,"children":4423},{"style":2014},[4424],{"type":16,"value":2639},{"type":10,"tag":1968,"props":4426,"children":4427},{"class":1970,"line":1998},[4428],{"type":10,"tag":1968,"props":4429,"children":4430},{"style":2008},[4431],{"type":16,"value":2244},{"type":10,"tag":1968,"props":4433,"children":4434},{"class":1970,"line":2059},[4435],{"type":10,"tag":1968,"props":4436,"children":4437},{"style":2008},[4438],{"type":16,"value":2662},{"type":10,"tag":1968,"props":4440,"children":4441},{"class":1970,"line":2069},[4442,4446,4450],{"type":10,"tag":1968,"props":4443,"children":4444},{"style":2008},[4445],{"type":16,"value":2730},{"type":10,"tag":1968,"props":4447,"children":4448},{"style":2014},[4449],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4451,"children":4452},{"style":2008},[4453],{"type":16,"value":4454}," VK_SHADER_STAGE_VERTEX_BIT,\n",{"type":10,"tag":1968,"props":4456,"children":4457},{"class":1970,"line":2077},[4458,4463,4467,4471],{"type":10,"tag":1968,"props":4459,"children":4460},{"style":2008},[4461],{"type":16,"value":4462}," .offset ",{"type":10,"tag":1968,"props":4464,"children":4465},{"style":2014},[4466],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4468,"children":4469},{"style":2020},[4470],{"type":16,"value":2679},{"type":10,"tag":1968,"props":4472,"children":4473},{"style":2008},[4474],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4476,"children":4477},{"class":1970,"line":2086},[4478,4483,4487],{"type":10,"tag":1968,"props":4479,"children":4480},{"style":2008},[4481],{"type":16,"value":4482}," .size ",{"type":10,"tag":1968,"props":4484,"children":4485},{"style":2014},[4486],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4488,"children":4489},{"style":2020},[4490],{"type":16,"value":4491}," 4\n",{"type":10,"tag":1968,"props":4493,"children":4494},{"class":1970,"line":2094},[4495],{"type":10,"tag":1968,"props":4496,"children":4497},{"style":2008},[4498],{"type":16,"value":2764},{"type":10,"tag":1968,"props":4500,"children":4501},{"class":1970,"line":2160},[4502],{"type":10,"tag":1968,"props":4503,"children":4504},{"style":2008},[4505],{"type":16,"value":2662},{"type":10,"tag":1968,"props":4507,"children":4508},{"class":1970,"line":2168},[4509,4513,4517],{"type":10,"tag":1968,"props":4510,"children":4511},{"style":2008},[4512],{"type":16,"value":2730},{"type":10,"tag":1968,"props":4514,"children":4515},{"style":2014},[4516],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4518,"children":4519},{"style":2008},[4520],{"type":16,"value":2739},{"type":10,"tag":1968,"props":4522,"children":4523},{"class":1970,"line":2176},[4524,4528,4532,4537],{"type":10,"tag":1968,"props":4525,"children":4526},{"style":2008},[4527],{"type":16,"value":4462},{"type":10,"tag":1968,"props":4529,"children":4530},{"style":2014},[4531],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4533,"children":4534},{"style":2020},[4535],{"type":16,"value":4536}," 4",{"type":10,"tag":1968,"props":4538,"children":4539},{"style":2008},[4540],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4542,"children":4543},{"class":1970,"line":2185},[4544,4548,4552],{"type":10,"tag":1968,"props":4545,"children":4546},{"style":2008},[4547],{"type":16,"value":4482},{"type":10,"tag":1968,"props":4549,"children":4550},{"style":2014},[4551],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4553,"children":4554},{"style":2020},[4555],{"type":16,"value":4491},{"type":10,"tag":1968,"props":4557,"children":4558},{"class":1970,"line":2193},[4559],{"type":10,"tag":1968,"props":4560,"children":4561},{"style":2008},[4562],{"type":16,"value":2764},{"type":10,"tag":1968,"props":4564,"children":4565},{"class":1970,"line":2238},[4566],{"type":10,"tag":1968,"props":4567,"children":4568},{"style":2008},[4569],{"type":16,"value":2280},{"type":10,"tag":1968,"props":4571,"children":4572},{"class":1970,"line":2247},[4573],{"type":10,"tag":1968,"props":4574,"children":4575},{"emptyLinePlaceholder":2063},[4576],{"type":16,"value":2066},{"type":10,"tag":1968,"props":4578,"children":4579},{"class":1970,"line":2274},[4580,4584,4589],{"type":10,"tag":1968,"props":4581,"children":4582},{"style":2014},[4583],{"type":16,"value":2629},{"type":10,"tag":1968,"props":4585,"children":4586},{"style":2008},[4587],{"type":16,"value":4588}," VkPipelineLayoutCreateInfo createInfo ",{"type":10,"tag":1968,"props":4590,"children":4591},{"style":2014},[4592],{"type":16,"value":2639},{"type":10,"tag":1968,"props":4594,"children":4595},{"class":1970,"line":2433},[4596],{"type":10,"tag":1968,"props":4597,"children":4598},{"style":2008},[4599],{"type":16,"value":2244},{"type":10,"tag":1968,"props":4601,"children":4602},{"class":1970,"line":2442},[4603,4608,4612],{"type":10,"tag":1968,"props":4604,"children":4605},{"style":2008},[4606],{"type":16,"value":4607}," .sType ",{"type":10,"tag":1968,"props":4609,"children":4610},{"style":2014},[4611],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4613,"children":4614},{"style":2008},[4615],{"type":16,"value":4616}," VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,\n",{"type":10,"tag":1968,"props":4618,"children":4619},{"class":1970,"line":2451},[4620,4625,4629,4633],{"type":10,"tag":1968,"props":4621,"children":4622},{"style":2008},[4623],{"type":16,"value":4624}," .pNext ",{"type":10,"tag":1968,"props":4626,"children":4627},{"style":2014},[4628],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4630,"children":4631},{"style":2020},[4632],{"type":16,"value":3080},{"type":10,"tag":1968,"props":4634,"children":4635},{"style":2008},[4636],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4638,"children":4639},{"class":1970,"line":2460},[4640,4645,4649,4653],{"type":10,"tag":1968,"props":4641,"children":4642},{"style":2008},[4643],{"type":16,"value":4644}," .flags ",{"type":10,"tag":1968,"props":4646,"children":4647},{"style":2014},[4648],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4650,"children":4651},{"style":2020},[4652],{"type":16,"value":2679},{"type":10,"tag":1968,"props":4654,"children":4655},{"style":2008},[4656],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4658,"children":4659},{"class":1970,"line":2469},[4660,4665,4669,4673],{"type":10,"tag":1968,"props":4661,"children":4662},{"style":2008},[4663],{"type":16,"value":4664}," .setLayoutCount ",{"type":10,"tag":1968,"props":4666,"children":4667},{"style":2014},[4668],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4670,"children":4671},{"style":2020},[4672],{"type":16,"value":3123},{"type":10,"tag":1968,"props":4674,"children":4675},{"style":2008},[4676],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4678,"children":4679},{"class":1970,"line":2478},[4680,4685,4689],{"type":10,"tag":1968,"props":4681,"children":4682},{"style":2008},[4683],{"type":16,"value":4684}," .pSetLayouts ",{"type":10,"tag":1968,"props":4686,"children":4687},{"style":2014},[4688],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4690,"children":4691},{"style":2008},[4692],{"type":16,"value":4693}," layouts,\n",{"type":10,"tag":1968,"props":4695,"children":4696},{"class":1970,"line":2487},[4697,4702,4706,4710],{"type":10,"tag":1968,"props":4698,"children":4699},{"style":2008},[4700],{"type":16,"value":4701}," .pushConstantRangeCount ",{"type":10,"tag":1968,"props":4703,"children":4704},{"style":2014},[4705],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4707,"children":4708},{"style":2020},[4709],{"type":16,"value":3123},{"type":10,"tag":1968,"props":4711,"children":4712},{"style":2008},[4713],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4715,"children":4716},{"class":1970,"line":2496},[4717,4722,4726],{"type":10,"tag":1968,"props":4718,"children":4719},{"style":2008},[4720],{"type":16,"value":4721}," .pPushConstantRanges ",{"type":10,"tag":1968,"props":4723,"children":4724},{"style":2014},[4725],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4727,"children":4728},{"style":2008},[4729],{"type":16,"value":4730}," ranges\n",{"type":10,"tag":1968,"props":4732,"children":4733},{"class":1970,"line":2505},[4734],{"type":10,"tag":1968,"props":4735,"children":4736},{"style":2008},[4737],{"type":16,"value":2280},{"type":10,"tag":1968,"props":4739,"children":4740},{"class":1970,"line":2514},[4741],{"type":10,"tag":1968,"props":4742,"children":4743},{"emptyLinePlaceholder":2063},[4744],{"type":16,"value":2066},{"type":10,"tag":1968,"props":4746,"children":4747},{"class":1970,"line":2523},[4748],{"type":10,"tag":1968,"props":4749,"children":4750},{"style":2008},[4751],{"type":16,"value":4752},"VkPipelineLayout myPipelineLayout;\n",{"type":10,"tag":1968,"props":4754,"children":4755},{"class":1970,"line":2532},[4756,4760,4764,4769],{"type":10,"tag":1968,"props":4757,"children":4758},{"style":2008},[4759],{"type":16,"value":3380},{"type":10,"tag":1968,"props":4761,"children":4762},{"style":2014},[4763],{"type":16,"value":2017},{"type":10,"tag":1968,"props":4765,"children":4766},{"style":2002},[4767],{"type":16,"value":4768}," vkCreatePipelineLayout",{"type":10,"tag":1968,"props":4770,"children":4771},{"style":2008},[4772],{"type":16,"value":3394},{"type":10,"tag":1968,"props":4774,"children":4775},{"class":1970,"line":2541},[4776],{"type":10,"tag":1968,"props":4777,"children":4778},{"style":2008},[4779],{"type":16,"value":3403},{"type":10,"tag":1968,"props":4781,"children":4782},{"class":1970,"line":2550},[4783,4787],{"type":10,"tag":1968,"props":4784,"children":4785},{"style":2014},[4786],{"type":16,"value":3412},{"type":10,"tag":1968,"props":4788,"children":4789},{"style":2008},[4790],{"type":16,"value":4791},"createInfo,\n",{"type":10,"tag":1968,"props":4793,"children":4794},{"class":1970,"line":2559},[4795,4799],{"type":10,"tag":1968,"props":4796,"children":4797},{"style":2020},[4798],{"type":16,"value":3435},{"type":10,"tag":1968,"props":4800,"children":4801},{"style":2008},[4802],{"type":16,"value":2684},{"type":10,"tag":1968,"props":4804,"children":4805},{"class":1970,"line":2568},[4806,4810],{"type":10,"tag":1968,"props":4807,"children":4808},{"style":2014},[4809],{"type":16,"value":3412},{"type":10,"tag":1968,"props":4811,"children":4812},{"style":2008},[4813],{"type":16,"value":4814},"myPipelineLayout);\n",{"type":10,"tag":175,"props":4816,"children":4818},{"id":4817},"descriptorsets-allocation",[4819],{"type":16,"value":4820},"Allocation of Descriptor Sets",{"type":10,"tag":1819,"props":4822,"children":4824},{"name":4823,"type":1822},"VkDescriptorPool",[4825],{"type":10,"tag":18,"props":4826,"children":4827},{},[4828],{"type":16,"value":4829},"Opaque handle to a descriptor pool object",{"type":10,"tag":1819,"props":4831,"children":4833},{"name":4832,"type":1832},"vkCreateDescriptorPool",[4834],{"type":10,"tag":18,"props":4835,"children":4836},{},[4837],{"type":16,"value":4838},"Creates a descriptor pool object",{"type":10,"tag":1819,"props":4840,"children":4842},{"name":4841,"type":1841},"VkDescriptorPoolCreateInfo",[4843],{"type":10,"tag":18,"props":4844,"children":4845},{},[4846],{"type":16,"value":4847},"Structure specifying parameters of a newly created descriptor pool",{"type":10,"tag":1819,"props":4849,"children":4851},{"name":4850,"type":1841},"VkDescriptorPoolInlineUniformBlockCreateInfo",[4852],{"type":10,"tag":18,"props":4853,"children":4854},{},[4855],{"type":16,"value":4856},"Structure specifying the maximum number of inline uniform block bindings of a newly created descriptor pool",{"type":10,"tag":1819,"props":4858,"children":4860},{"name":4859,"type":1867},"VkDescriptorPoolCreateFlagBits",[4861],{"type":10,"tag":18,"props":4862,"children":4863},{},[4864],{"type":16,"value":4865},"Bitmask specifying certain supported operations on a descriptor pool",{"type":10,"tag":1819,"props":4867,"children":4869},{"name":4868,"type":1877},"VkDescriptorPoolCreateFlags",[4870],{"type":10,"tag":18,"props":4871,"children":4872},{},[4873],{"type":16,"value":4874},"Bitmask of VkDescriptorPoolCreateFlagBits",{"type":10,"tag":1819,"props":4876,"children":4878},{"name":4877,"type":1841},"VkDescriptorPoolSize",[4879],{"type":10,"tag":18,"props":4880,"children":4881},{},[4882],{"type":16,"value":4883},"Structure specifying descriptor pool size",{"type":10,"tag":1819,"props":4885,"children":4887},{"name":4886,"type":1832},"vkDestroyDescriptorPool",[4888],{"type":10,"tag":18,"props":4889,"children":4890},{},[4891],{"type":16,"value":4892},"Destroy a descriptor pool object",{"type":10,"tag":1819,"props":4894,"children":4896},{"name":4895,"type":1822},"VkDescriptorSet",[4897],{"type":10,"tag":18,"props":4898,"children":4899},{},[4900],{"type":16,"value":4901},"Opaque handle to a descriptor set object",{"type":10,"tag":1819,"props":4903,"children":4905},{"name":4904,"type":1832},"vkAllocateDescriptorSets",[4906],{"type":10,"tag":18,"props":4907,"children":4908},{},[4909],{"type":16,"value":4910},"Allocate one or more descriptor sets",{"type":10,"tag":1819,"props":4912,"children":4914},{"name":4913,"type":1841},"VkDescriptorSetAllocateInfo",[4915],{"type":10,"tag":18,"props":4916,"children":4917},{},[4918],{"type":16,"value":4919},"Structure specifying the allocation parameters for descriptor sets",{"type":10,"tag":1819,"props":4921,"children":4923},{"name":4922,"type":1841},"VkDescriptorSetVariableDescriptorCountAllocateInfo",[4924],{"type":10,"tag":18,"props":4925,"children":4926},{},[4927],{"type":16,"value":4928},"Structure specifying additional allocation parameters for descriptor sets",{"type":10,"tag":1819,"props":4930,"children":4932},{"name":4931,"type":1832},"vkFreeDescriptorSets",[4933],{"type":10,"tag":18,"props":4934,"children":4935},{},[4936],{"type":16,"value":4937},"Free one or more descriptor sets",{"type":10,"tag":1819,"props":4939,"children":4941},{"name":4940,"type":1832},"vkResetDescriptorPool",[4942],{"type":10,"tag":18,"props":4943,"children":4944},{},[4945],{"type":16,"value":4946},"Resets a descriptor pool object",{"type":10,"tag":1819,"props":4948,"children":4950},{"name":4949,"type":1877},"VkDescriptorPoolResetFlags",[4951],{"type":10,"tag":18,"props":4952,"children":4953},{},[4954],{"type":16,"value":4955},"Reserved for future use",{"type":10,"tag":175,"props":4957,"children":4959},{"id":4958},"descriptorsets-updates",[4960],{"type":16,"value":4961},"Descriptor Set Updates",{"type":10,"tag":1819,"props":4963,"children":4965},{"name":4964,"type":1832},"vkUpdateDescriptorSets",[4966],{"type":10,"tag":18,"props":4967,"children":4968},{},[4969],{"type":16,"value":4970},"Update the contents of a descriptor set object",{"type":10,"tag":1819,"props":4972,"children":4974},{"name":4973,"type":1841},"VkWriteDescriptorSet",[4975],{"type":10,"tag":18,"props":4976,"children":4977},{},[4978],{"type":16,"value":4979},"Structure specifying the parameters of a descriptor set write operation",{"type":10,"tag":1819,"props":4981,"children":4983},{"name":4982,"type":1867},"VkDescriptorType",[4984],{"type":10,"tag":18,"props":4985,"children":4986},{},[4987],{"type":16,"value":4988},"Specifies the type of a descriptor in a descriptor set",{"type":10,"tag":1819,"props":4990,"children":4991},{"name":1088,"type":1841},[4992],{"type":10,"tag":18,"props":4993,"children":4994},{},[4995],{"type":16,"value":4996},"Structure specifying descriptor buffer information",{"type":10,"tag":1819,"props":4998,"children":5000},{"name":4999,"type":1841},"VkDescriptorImageInfo",[5001],{"type":10,"tag":18,"props":5002,"children":5003},{},[5004],{"type":16,"value":5005},"Structure specifying descriptor image information",{"type":10,"tag":1819,"props":5007,"children":5009},{"name":5008,"type":1841},"VkWriteDescriptorSetInlineUniformBlock",[5010],{"type":10,"tag":18,"props":5011,"children":5012},{},[5013],{"type":16,"value":5014},"Structure specifying inline uniform block data",{"type":10,"tag":1819,"props":5016,"children":5018},{"name":5017,"type":1841},"VkWriteDescriptorSetAccelerationStructureKHR",[5019],{"type":10,"tag":18,"props":5020,"children":5021},{},[5022],{"type":16,"value":5023},"Structure specifying acceleration structure descriptor information",{"type":10,"tag":1819,"props":5025,"children":5027},{"name":5026,"type":1841},"VkWriteDescriptorSetAccelerationStructureNV",[5028],{"type":10,"tag":18,"props":5029,"children":5030},{},[5031],{"type":16,"value":5023},{"type":10,"tag":1819,"props":5033,"children":5035},{"name":5034,"type":1841},"VkCopyDescriptorSet",[5036],{"type":10,"tag":18,"props":5037,"children":5038},{},[5039],{"type":16,"value":5040},"Structure specifying a copy descriptor set operation",{"type":10,"tag":175,"props":5042,"children":5044},{"id":5043},"descriptorsets-updates-with-template",[5045],{"type":16,"value":5046},"Descriptor Update Templates",{"type":10,"tag":1819,"props":5048,"children":5050},{"name":5049,"type":1822},"VkDescriptorUpdateTemplate",[5051],{"type":10,"tag":18,"props":5052,"children":5053},{},[5054],{"type":16,"value":5055},"Opaque handle to a descriptor update template",{"type":10,"tag":175,"props":5057,"children":5059},{"id":5058},"_descriptor_set_updates_with_templates",[5060],{"type":16,"value":5061},"Descriptor Set Updates With Templates",{"type":10,"tag":1819,"props":5063,"children":5065},{"name":5064,"type":1832},"vkCreateDescriptorUpdateTemplate",[5066],{"type":10,"tag":18,"props":5067,"children":5068},{},[5069],{"type":16,"value":5070},"Create a new descriptor update template",{"type":10,"tag":1819,"props":5072,"children":5074},{"name":5073,"type":1841},"VkDescriptorUpdateTemplateCreateInfo",[5075],{"type":10,"tag":18,"props":5076,"children":5077},{},[5078],{"type":16,"value":5079},"Structure specifying parameters of a newly created descriptor update template",{"type":10,"tag":1819,"props":5081,"children":5083},{"name":5082,"type":1877},"VkDescriptorUpdateTemplateCreateFlags",[5084],{"type":10,"tag":18,"props":5085,"children":5086},{},[5087],{"type":16,"value":4955},{"type":10,"tag":1819,"props":5089,"children":5091},{"name":5090,"type":1867},"VkDescriptorUpdateTemplateType",[5092],{"type":10,"tag":18,"props":5093,"children":5094},{},[5095],{"type":16,"value":5096},"Indicates the valid usage of the descriptor update template",{"type":10,"tag":1819,"props":5098,"children":5100},{"name":5099,"type":1841},"VkDescriptorUpdateTemplateEntry",[5101],{"type":10,"tag":18,"props":5102,"children":5103},{},[5104],{"type":16,"value":5105},"Describes a single descriptor update of the descriptor update template",{"type":10,"tag":1819,"props":5107,"children":5109},{"name":5108,"type":1832},"vkDestroyDescriptorUpdateTemplate",[5110],{"type":10,"tag":18,"props":5111,"children":5112},{},[5113],{"type":16,"value":5114},"Destroy a descriptor update template object",{"type":10,"tag":1819,"props":5116,"children":5118},{"name":5117,"type":1832},"vkUpdateDescriptorSetWithTemplate",[5119],{"type":10,"tag":18,"props":5120,"children":5121},{},[5122],{"type":16,"value":5123},"Update the contents of a descriptor set object using an update template",{"type":10,"tag":175,"props":5125,"children":5127},{"id":5126},"descriptorsets-binding",[5128],{"type":16,"value":3662},{"type":10,"tag":1819,"props":5130,"children":5132},{"name":5131,"type":1832},"vkCmdBindDescriptorSets",[5133],{"type":10,"tag":18,"props":5134,"children":5135},{},[5136],{"type":16,"value":5137},"Binds descriptor sets to a command buffer",{"type":10,"tag":1819,"props":5139,"children":5141},{"name":5140,"type":1832},"vkCmdBindDescriptorSets2KHR",[5142],{"type":10,"tag":18,"props":5143,"children":5144},{},[5145],{"type":16,"value":5137},{"type":10,"tag":1819,"props":5147,"children":5149},{"name":5148,"type":1841},"VkBindDescriptorSetsInfoKHR",[5150],{"type":10,"tag":18,"props":5151,"children":5152},{},[5153],{"type":16,"value":5154},"Structure specifying a descriptor set binding operation",{"type":10,"tag":175,"props":5156,"children":5158},{"id":5157},"descriptorsets-push-descriptors",[5159],{"type":16,"value":5160},"Push Descriptor Updates",{"type":10,"tag":1819,"props":5162,"children":5164},{"name":5163,"type":1832},"vkCmdPushDescriptorSetKHR",[5165],{"type":10,"tag":18,"props":5166,"children":5167},{},[5168],{"type":16,"value":5169},"Pushes descriptor updates into a command buffer",{"type":10,"tag":1819,"props":5171,"children":5173},{"name":5172,"type":1832},"vkCmdPushDescriptorSet2KHR",[5174],{"type":10,"tag":18,"props":5175,"children":5176},{},[5177],{"type":16,"value":5169},{"type":10,"tag":1819,"props":5179,"children":5181},{"name":5180,"type":1841},"VkPushDescriptorSetInfoKHR",[5182],{"type":10,"tag":18,"props":5183,"children":5184},{},[5185],{"type":16,"value":5186},"Structure specifying a descriptor set push operation",{"type":10,"tag":175,"props":5188,"children":5190},{"id":5189},"_push_descriptor_updates_with_descriptor_update_templates",[5191],{"type":16,"value":5192},"Push Descriptor Updates With Descriptor Update Templates",{"type":10,"tag":1819,"props":5194,"children":5196},{"name":5195,"type":1832},"vkCmdPushDescriptorSetWithTemplateKHR",[5197],{"type":10,"tag":18,"props":5198,"children":5199},{},[5200],{"type":16,"value":5201},"Pushes descriptor updates into a command buffer using a descriptor update template",{"type":10,"tag":1819,"props":5203,"children":5205},{"name":5204,"type":1832},"vkCmdPushDescriptorSetWithTemplate2KHR",[5206],{"type":10,"tag":18,"props":5207,"children":5208},{},[5209],{"type":16,"value":5201},{"type":10,"tag":1819,"props":5211,"children":5213},{"name":5212,"type":1841},"VkPushDescriptorSetWithTemplateInfoKHR",[5214],{"type":10,"tag":18,"props":5215,"children":5216},{},[5217],{"type":16,"value":5218},"Structure specifying a descriptor set push operation using a descriptor update template",{"type":10,"tag":175,"props":5220,"children":5222},{"id":5221},"descriptorsets-push-constants",[5223],{"type":16,"value":5224},"Push Constant Updates",{"type":10,"tag":18,"props":5226,"children":5227},{},[5228,5230,5236],{"type":16,"value":5229},"As described above in section ",{"type":10,"tag":74,"props":5231,"children":5233},{"href":5232},"/chapters/descriptorsets#descriptorsets-pipelinelayout",[5234],{"type":16,"value":5235},"Pipeline\nLayouts",{"type":16,"value":5237},", the pipeline layout defines shader push constants which are\nupdated via Vulkan commands rather than via writes to memory or copy\ncommands.",{"type":10,"tag":745,"props":5239,"children":5240},{},[5241],{"type":10,"tag":18,"props":5242,"children":5243},{},[5244],{"type":16,"value":5245},"Push constants represent a high speed path to modify constant data in\npipelines that is expected to outperform memory-backed resource updates.",{"type":10,"tag":1819,"props":5247,"children":5249},{"name":5248,"type":1832},"vkCmdPushConstants",[5250],{"type":10,"tag":18,"props":5251,"children":5252},{},[5253],{"type":16,"value":5254},"Update the values of push constants",{"type":10,"tag":1819,"props":5256,"children":5258},{"name":5257,"type":1832},"vkCmdPushConstants2KHR",[5259],{"type":10,"tag":18,"props":5260,"children":5261},{},[5262],{"type":16,"value":5254},{"type":10,"tag":1819,"props":5264,"children":5266},{"name":5265,"type":1841},"VkPushConstantsInfoKHR",[5267],{"type":10,"tag":18,"props":5268,"children":5269},{},[5270],{"type":16,"value":5271},"Structure specifying a push constant update operation",{"type":10,"tag":139,"props":5273,"children":5275},{"id":5274},"descriptorsets-physical-storage-buffer",[5276],{"type":16,"value":135},{"type":10,"tag":1819,"props":5278,"children":5280},{"name":5279,"type":1832},"vkGetBufferDeviceAddress",[5281],{"type":10,"tag":18,"props":5282,"children":5283},{},[5284],{"type":16,"value":5285},"Query an address of a buffer",{"type":10,"tag":1819,"props":5287,"children":5289},{"name":5288,"type":1841},"VkBufferDeviceAddressInfo",[5290],{"type":10,"tag":18,"props":5291,"children":5292},{},[5293],{"type":16,"value":5294},"Structure specifying the buffer to query an address for",{"type":10,"tag":1819,"props":5296,"children":5298},{"name":5297,"type":1832},"vkGetBufferOpaqueCaptureAddress",[5299],{"type":10,"tag":18,"props":5300,"children":5301},{},[5302],{"type":16,"value":5303},"Query an opaque capture address of a buffer",{"type":10,"tag":1819,"props":5305,"children":5307},{"name":5306,"type":1841},"VkStridedDeviceAddressRegionKHR",[5308],{"type":10,"tag":18,"props":5309,"children":5310},{},[5311],{"type":16,"value":5312},"Structure specifying a region of device addresses with a stride",{"type":10,"tag":139,"props":5314,"children":5316},{"id":5315},"descriptorbuffers",[5317],{"type":16,"value":5318},"Descriptor Buffers",{"type":10,"tag":18,"props":5320,"children":5321},{},[5322,5323,5331],{"type":16,"value":86},{"type":10,"tag":74,"props":5324,"children":5325},{"href":89},[5326],{"type":10,"tag":65,"props":5327,"children":5329},{"className":5328},[],[5330],{"type":16,"value":96},{"type":16,"value":5332}," feature is\nenabled, an alternative way to specify descriptor sets is via buffers,\nrather than descriptor set objects.",{"type":10,"tag":175,"props":5334,"children":5336},{"id":5335},"descriptorbuffers-puttingdescriptorsinmemory",[5337],{"type":16,"value":5338},"Putting Descriptors in Memory",{"type":10,"tag":18,"props":5340,"children":5341},{},[5342,5344,5347],{"type":16,"value":5343},"Commands are provided to retrieve descriptor data, and also to locate where\nin memory that data ",{"type":10,"tag":46,"props":5345,"children":5346},{"type":321},[],{"type":16,"value":5348}," be written to match the given descriptor set\nlayout.",{"type":10,"tag":1819,"props":5350,"children":5352},{"name":5351,"type":1832},"vkGetDescriptorSetLayoutSizeEXT",[5353],{"type":10,"tag":18,"props":5354,"children":5355},{},[5356],{"type":16,"value":5357},"Get the size of a descriptor set layout in memory",{"type":10,"tag":1819,"props":5359,"children":5361},{"name":5360,"type":1832},"vkGetDescriptorSetLayoutBindingOffsetEXT",[5362],{"type":10,"tag":18,"props":5363,"children":5364},{},[5365],{"type":16,"value":5366},"Get the offset of a binding within a descriptor set layout",{"type":10,"tag":1819,"props":5368,"children":5370},{"name":5369,"type":1832},"vkGetDescriptorEXT",[5371],{"type":10,"tag":18,"props":5372,"children":5373},{},[5374],{"type":16,"value":5375},"To get a descriptor to place in a buffer",{"type":10,"tag":1819,"props":5377,"children":5379},{"name":5378,"type":1841},"VkDescriptorGetInfoEXT",[5380],{"type":10,"tag":18,"props":5381,"children":5382},{},[5383],{"type":16,"value":5384},"Structure specifying parameters of descriptor to get",{"type":10,"tag":1819,"props":5386,"children":5388},{"name":5387,"type":1841},"VkDescriptorDataEXT",[5389],{"type":10,"tag":18,"props":5390,"children":5391},{},[5392],{"type":16,"value":5393},"Structure specifying descriptor data",{"type":10,"tag":1819,"props":5395,"children":5397},{"name":5396,"type":1841},"VkDescriptorAddressInfoEXT",[5398],{"type":10,"tag":18,"props":5399,"children":5400},{},[5401],{"type":16,"value":5402},"Structure specifying descriptor buffer address info",{"type":10,"tag":18,"props":5404,"children":5405},{},[5406,5408,5414,5415,5418,5420,5423],{"type":16,"value":5407},"Immutable samplers specified in a descriptor set layout through\n",{"type":10,"tag":65,"props":5409,"children":5411},{"className":5410},[],[5412],{"type":16,"value":5413},"pImmutableSamplers",{"type":16,"value":804},{"type":10,"tag":46,"props":5416,"children":5417},{"type":321},[],{"type":16,"value":5419}," be provided by applications when obtaining\ndescriptor data.\nImmutable samplers written in a descriptor buffer ",{"type":10,"tag":46,"props":5421,"children":5422},{"type":321},[],{"type":16,"value":5424}," have identical\nparameters to the immutable samplers in the descriptor set layout that\nconsumes the sampler.",{"type":10,"tag":745,"props":5426,"children":5427},{},[5428],{"type":10,"tag":18,"props":5429,"children":5430},{},[5431,5433,5439],{"type":16,"value":5432},"If the descriptor set layout was created with\n",{"type":10,"tag":65,"props":5434,"children":5436},{"className":5435},[],[5437],{"type":16,"value":5438},"VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT",{"type":16,"value":5440},",\nthere is no buffer backing for the immutable sampler, so this requirement\ndoes not exist.\nThe implementation handles allocation of these descriptors internally.",{"type":10,"tag":745,"props":5442,"children":5443},{},[5444],{"type":10,"tag":18,"props":5445,"children":5446},{},[5447],{"type":16,"value":5448},"As descriptors are now in regular memory, drivers cannot hide copies of\nimmutable samplers that end up in descriptor sets from the application.\nAs such, applications are required to provide these samplers as if they were\nnot provided immutably.",{"type":10,"tag":175,"props":5450,"children":5452},{"id":5451},"descriptorbuffers-binding",[5453],{"type":16,"value":5454},"Binding Descriptor Buffers",{"type":10,"tag":18,"props":5456,"children":5457},{},[5458,5460,5466,5468,5474,5476,5481,5483,5489,5491,5495,5496,5499,5501,5505,5506,5512,5514,5518,5519,5523,5525,5529],{"type":16,"value":5459},"Descriptor buffers have their own separate binding point on the command\nbuffer, with buffers bound using ",{"type":10,"tag":74,"props":5461,"children":5463},{"href":5462},"/man/vkCmdBindDescriptorBuffersEXT",[5464],{"type":16,"value":5465},"vkCmdBindDescriptorBuffersEXT",{"type":16,"value":5467},".\n",{"type":10,"tag":74,"props":5469,"children":5471},{"href":5470},"/man/vkCmdSetDescriptorBufferOffsetsEXT",[5472],{"type":16,"value":5473},"vkCmdSetDescriptorBufferOffsetsEXT",{"type":16,"value":5475}," assigns pairs of buffer binding\nindices and buffer offsets to the same binding point on the command buffer\nas ",{"type":10,"tag":74,"props":5477,"children":5479},{"href":5478},"/man/vkCmdBindDescriptorSets",[5480],{"type":16,"value":5131},{"type":16,"value":5482},", allowing subsequent\n",{"type":10,"tag":74,"props":5484,"children":5486},{"href":5485},"/man/vkCmdBindPipeline#pipelines-bindpoint-commands",[5487],{"type":16,"value":5488},"bound pipeline commands",{"type":16,"value":5490}," to use the\nspecified descriptor buffers.\nBindings applied via ",{"type":10,"tag":74,"props":5492,"children":5493},{"href":5478},[5494],{"type":16,"value":5131},{"type":16,"value":804},{"type":10,"tag":46,"props":5497,"children":5498},{"type":1189},[],{"type":16,"value":5500}," exist\nsimultaneously with those applied via calls to\n",{"type":10,"tag":74,"props":5502,"children":5503},{"href":5470},[5504],{"type":16,"value":5473},{"type":16,"value":332},{"type":10,"tag":74,"props":5507,"children":5509},{"href":5508},"/man/vkCmdBindDescriptorBufferEmbeddedSamplersEXT",[5510],{"type":16,"value":5511},"vkCmdBindDescriptorBufferEmbeddedSamplersEXT",{"type":16,"value":5513},", as calls to\n",{"type":10,"tag":74,"props":5515,"children":5516},{"href":5470},[5517],{"type":16,"value":5473},{"type":16,"value":332},{"type":10,"tag":74,"props":5520,"children":5521},{"href":5508},[5522],{"type":16,"value":5511},{"type":16,"value":5524}," invalidate any bindings\nby previous calls to ",{"type":10,"tag":74,"props":5526,"children":5527},{"href":5478},[5528],{"type":16,"value":5131},{"type":16,"value":5530}," and vice-versa.",{"type":10,"tag":1819,"props":5532,"children":5533},{"name":5465,"type":1832},[5534],{"type":10,"tag":18,"props":5535,"children":5536},{},[5537],{"type":16,"value":5538},"Binding descriptor buffers to a command buffer",{"type":10,"tag":1819,"props":5540,"children":5542},{"name":5541,"type":1841},"VkDescriptorBufferBindingInfoEXT",[5543],{"type":10,"tag":18,"props":5544,"children":5545},{},[5546],{"type":16,"value":5547},"Structure specifying descriptor buffer binding information",{"type":10,"tag":1819,"props":5549,"children":5551},{"name":5550,"type":1841},"VkDescriptorBufferBindingPushDescriptorBufferHandleEXT",[5552],{"type":10,"tag":18,"props":5553,"children":5554},{},[5555],{"type":16,"value":5556},"Structure specifying push descriptor buffer binding information",{"type":10,"tag":1819,"props":5558,"children":5559},{"name":5473,"type":1832},[5560],{"type":10,"tag":18,"props":5561,"children":5562},{},[5563],{"type":16,"value":5564},"Setting descriptor buffer offsets in a command buffer",{"type":10,"tag":1819,"props":5566,"children":5568},{"name":5567,"type":1832},"vkCmdSetDescriptorBufferOffsets2EXT",[5569],{"type":10,"tag":18,"props":5570,"children":5571},{},[5572],{"type":16,"value":5564},{"type":10,"tag":1819,"props":5574,"children":5576},{"name":5575,"type":1841},"VkSetDescriptorBufferOffsetsInfoEXT",[5577],{"type":10,"tag":18,"props":5578,"children":5579},{},[5580],{"type":16,"value":5581},"Structure specifying descriptor buffer offsets to set in a command buffer",{"type":10,"tag":1819,"props":5583,"children":5584},{"name":5511,"type":1832},[5585],{"type":10,"tag":18,"props":5586,"children":5587},{},[5588],{"type":16,"value":5589},"Setting embedded immutable samplers offsets in a command buffer",{"type":10,"tag":1819,"props":5591,"children":5593},{"name":5592,"type":1832},"vkCmdBindDescriptorBufferEmbeddedSamplers2EXT",[5594],{"type":10,"tag":18,"props":5595,"children":5596},{},[5597],{"type":16,"value":5589},{"type":10,"tag":1819,"props":5599,"children":5601},{"name":5600,"type":1841},"VkBindDescriptorBufferEmbeddedSamplersInfoEXT",[5602],{"type":10,"tag":18,"props":5603,"children":5604},{},[5605],{"type":16,"value":5606},"Structure specifying embedded immutable sampler offsets to set in a command buffer",{"type":10,"tag":175,"props":5608,"children":5610},{"id":5609},"descriptorbuffers-updates",[5611],{"type":16,"value":5612},"Updating Descriptor Buffers",{"type":10,"tag":18,"props":5614,"children":5615},{},[5616,5618,5621,5623,5626],{"type":16,"value":5617},"Updates to descriptor data in buffers ",{"type":10,"tag":46,"props":5619,"children":5620},{"type":48},[],{"type":16,"value":5622}," be performed by any operation on\neither the host or device that ",{"type":10,"tag":46,"props":5624,"children":5625},{"type":48},[],{"type":16,"value":5627}," access memory.",{"type":10,"tag":18,"props":5629,"children":5630},{},[5631,5633,5636,5638,5644],{"type":16,"value":5632},"Descriptor buffer reads ",{"type":10,"tag":46,"props":5634,"children":5635},{"type":48},[],{"type":16,"value":5637}," be synchronized using\n",{"type":10,"tag":65,"props":5639,"children":5641},{"className":5640},[],[5642],{"type":16,"value":5643},"VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT",{"type":16,"value":5645}," in the relevant shader\nstage.",{"type":10,"tag":175,"props":5647,"children":5649},{"id":5648},"descriptorbuffers-push-descriptors",[5650],{"type":16,"value":5651},"Push Descriptors With Descriptor Buffers",{"type":10,"tag":18,"props":5653,"children":5654},{},[5655,5656,5666,5668,5671],{"type":16,"value":86},{"type":10,"tag":74,"props":5657,"children":5659},{"href":5658},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBufferPushDescriptors",[5660],{"type":10,"tag":65,"props":5661,"children":5663},{"className":5662},[],[5664],{"type":16,"value":5665},"descriptorBufferPushDescriptors",{"type":16,"value":5667}," feature is enabled, push descriptors\n",{"type":10,"tag":46,"props":5669,"children":5670},{"type":48},[],{"type":16,"value":5672}," be used with descriptor buffers in the same way as with descriptor\nsets.",{"type":10,"tag":18,"props":5674,"children":5675},{},[5676,5678,5695,5697,5703,5705,5708,5710,5715,5717,5723,5725,5728],{"type":16,"value":5677},"The ",{"type":10,"tag":74,"props":5679,"children":5681},{"href":5680},"/man/VkPhysicalDeviceDescriptorBufferPropertiesEXT#limits-bufferlessPushDescriptors",[5682,5688,5689],{"type":10,"tag":65,"props":5683,"children":5685},{"className":5684},[],[5686],{"type":16,"value":5687},"VkPhysicalDeviceDescriptorBufferPropertiesEXT",{"type":16,"value":1662},{"type":10,"tag":65,"props":5690,"children":5692},{"className":5691},[],[5693],{"type":16,"value":5694},"bufferlessPushDescriptors",{"type":16,"value":5696},"\nproperty indicates whether the implementation requires a buffer to back push\ndescriptors.\nIf the property is ",{"type":10,"tag":65,"props":5698,"children":5700},{"className":5699},[],[5701],{"type":16,"value":5702},"VK_FALSE",{"type":16,"value":5704}," then before recording any push descriptors\nthe application ",{"type":10,"tag":46,"props":5706,"children":5707},{"type":321},[],{"type":16,"value":5709}," bind exactly ",{"type":10,"tag":65,"props":5711,"children":5713},{"className":5712},[],[5714],{"type":16,"value":2124},{"type":16,"value":5716}," descriptor buffer that was created\nwith the ",{"type":10,"tag":65,"props":5718,"children":5720},{"className":5719},[],[5721],{"type":16,"value":5722},"VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT",{"type":16,"value":5724},"\nbit set.\nWhen this buffer is bound any previously recorded push descriptors that are\nrequired for a subsequent command ",{"type":10,"tag":46,"props":5726,"children":5727},{"type":321},[],{"type":16,"value":5729}," be recorded again.",{"type":10,"tag":175,"props":5731,"children":5733},{"id":5732},"descriptorbuffers-capturereplay",[5734],{"type":16,"value":5735},"Capture and Replay",{"type":10,"tag":18,"props":5737,"children":5738},{},[5739,5741,5751,5753,5763,5765,5768,5770,5773,5775,5781,5783,5789],{"type":16,"value":5740},"In a similar way to ",{"type":10,"tag":74,"props":5742,"children":5744},{"href":5743},"/man/VkPhysicalDeviceBufferDeviceAddressFeatures#features-bufferDeviceAddressCaptureReplay",[5745],{"type":10,"tag":65,"props":5746,"children":5748},{"className":5747},[],[5749],{"type":16,"value":5750},"bufferDeviceAddressCaptureReplay",{"type":16,"value":5752},", the\n",{"type":10,"tag":74,"props":5754,"children":5756},{"href":5755},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBufferCaptureReplay",[5757],{"type":10,"tag":65,"props":5758,"children":5760},{"className":5759},[],[5761],{"type":16,"value":5762},"descriptorBufferCaptureReplay",{"type":16,"value":5764}," feature allows the creation of opaque\nhandles for objects at capture time that ",{"type":10,"tag":46,"props":5766,"children":5767},{"type":48},[],{"type":16,"value":5769}," be passed into object creation\ncalls in a future replay, causing descriptors to be created with the same\ndata.\nThe opaque memory address for any memory used by these resources ",{"type":10,"tag":46,"props":5771,"children":5772},{"type":321},[],{"type":16,"value":5774}," have\nbeen captured using ",{"type":10,"tag":74,"props":5776,"children":5778},{"href":5777},"/man/vkGetDeviceMemoryOpaqueCaptureAddress",[5779],{"type":16,"value":5780},"vkGetDeviceMemoryOpaqueCaptureAddress",{"type":16,"value":5782}," and be\nreplayed using ",{"type":10,"tag":74,"props":5784,"children":5786},{"href":5785},"/man/VkMemoryOpaqueCaptureAddressAllocateInfo",[5787],{"type":16,"value":5788},"VkMemoryOpaqueCaptureAddressAllocateInfo",{"type":16,"value":245},{"type":10,"tag":1819,"props":5791,"children":5793},{"name":5792,"type":1832},"vkGetBufferOpaqueCaptureDescriptorDataEXT",[5794],{"type":10,"tag":18,"props":5795,"children":5796},{},[5797],{"type":16,"value":5798},"Get buffer opaque capture descriptor data",{"type":10,"tag":1819,"props":5800,"children":5802},{"name":5801,"type":1841},"VkBufferCaptureDescriptorDataInfoEXT",[5803],{"type":10,"tag":18,"props":5804,"children":5805},{},[5806],{"type":16,"value":5807},"Structure specifying a buffer for descriptor capture",{"type":10,"tag":1819,"props":5809,"children":5811},{"name":5810,"type":1832},"vkGetImageOpaqueCaptureDescriptorDataEXT",[5812],{"type":10,"tag":18,"props":5813,"children":5814},{},[5815],{"type":16,"value":5816},"Get image opaque capture descriptor data",{"type":10,"tag":1819,"props":5818,"children":5820},{"name":5819,"type":1841},"VkImageCaptureDescriptorDataInfoEXT",[5821],{"type":10,"tag":18,"props":5822,"children":5823},{},[5824],{"type":16,"value":5825},"Structure specifying an image for descriptor capture",{"type":10,"tag":1819,"props":5827,"children":5829},{"name":5828,"type":1832},"vkGetImageViewOpaqueCaptureDescriptorDataEXT",[5830],{"type":10,"tag":18,"props":5831,"children":5832},{},[5833],{"type":16,"value":5834},"Get image view opaque capture descriptor data",{"type":10,"tag":1819,"props":5836,"children":5838},{"name":5837,"type":1841},"VkImageViewCaptureDescriptorDataInfoEXT",[5839],{"type":10,"tag":18,"props":5840,"children":5841},{},[5842],{"type":16,"value":5843},"Structure specifying an image view for descriptor capture",{"type":10,"tag":1819,"props":5845,"children":5847},{"name":5846,"type":1832},"vkGetSamplerOpaqueCaptureDescriptorDataEXT",[5848],{"type":10,"tag":18,"props":5849,"children":5850},{},[5851],{"type":16,"value":5852},"Get sampler opaque capture descriptor data",{"type":10,"tag":1819,"props":5854,"children":5856},{"name":5855,"type":1841},"VkSamplerCaptureDescriptorDataInfoEXT",[5857],{"type":10,"tag":18,"props":5858,"children":5859},{},[5860],{"type":16,"value":5861},"Structure specifying a sampler for descriptor capture",{"type":10,"tag":1819,"props":5863,"children":5865},{"name":5864,"type":1832},"vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT",[5866],{"type":10,"tag":18,"props":5867,"children":5868},{},[5869],{"type":16,"value":5870},"Get acceleration structure opaque capture descriptor data",{"type":10,"tag":1819,"props":5872,"children":5874},{"name":5873,"type":1841},"VkAccelerationStructureCaptureDescriptorDataInfoEXT",[5875],{"type":10,"tag":18,"props":5876,"children":5877},{},[5878],{"type":16,"value":5879},"Structure specifying an acceleration structure for descriptor capture",{"type":10,"tag":1819,"props":5881,"children":5883},{"name":5882,"type":1841},"VkOpaqueCaptureDescriptorDataCreateInfoEXT",[5884],{"type":10,"tag":18,"props":5885,"children":5886},{},[5887],{"type":16,"value":5888},"Structure specifying opaque capture descriptor data",{"type":10,"tag":5890,"props":5891,"children":5892},"style",{},[5893],{"type":16,"value":5894},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":1962,"searchDepth":1981,"depth":1981,"links":5896},[5897,5915,5930,5931],{"id":141,"depth":1981,"text":144,"children":5898},[5899,5900,5901,5902,5903,5904,5905,5906,5907,5908,5909,5910,5911,5912,5913,5914],{"id":177,"depth":1990,"text":180},{"id":343,"depth":1990,"text":346},{"id":390,"depth":1990,"text":393},{"id":559,"depth":1990,"text":562},{"id":761,"depth":1990,"text":764},{"id":834,"depth":1990,"text":837},{"id":968,"depth":1990,"text":971},{"id":1021,"depth":1990,"text":1024},{"id":1054,"depth":1990,"text":1057},{"id":1109,"depth":1990,"text":1112},{"id":1153,"depth":1990,"text":1156},{"id":1195,"depth":1990,"text":1198},{"id":1332,"depth":1990,"text":1335},{"id":1432,"depth":1990,"text":1435},{"id":1594,"depth":1990,"text":1597},{"id":1627,"depth":1990,"text":1630},{"id":1798,"depth":1981,"text":1801,"children":5916},[5917,5918,5919,5920,5921,5922,5923,5924,5925,5926,5927,5928,5929],{"id":1814,"depth":1990,"text":1817},{"id":1952,"depth":1990,"text":1955},{"id":2283,"depth":1990,"text":2286},{"id":2594,"depth":1990,"text":2597},{"id":3586,"depth":1990,"text":3589},{"id":4817,"depth":1990,"text":4820},{"id":4958,"depth":1990,"text":4961},{"id":5043,"depth":1990,"text":5046},{"id":5058,"depth":1990,"text":5061},{"id":5126,"depth":1990,"text":3662},{"id":5157,"depth":1990,"text":5160},{"id":5189,"depth":1990,"text":5192},{"id":5221,"depth":1990,"text":5224},{"id":5274,"depth":1981,"text":135},{"id":5315,"depth":1981,"text":5318,"children":5932},[5933,5934,5935,5936,5937],{"id":5335,"depth":1990,"text":5338},{"id":5451,"depth":1990,"text":5454},{"id":5609,"depth":1990,"text":5612},{"id":5648,"depth":1990,"text":5651},{"id":5732,"depth":1990,"text":5735},"markdown","chapters-descriptorsets",[5941,5946,5949,5952,5955,5958,5961,5964,5967,5970,5972,5975,5978,5981,5982,5984,5987,5990,5993,5996,5999,6002,6005,6008,6011,6014,6017,6020,6023,6026,6029,6032,6035,6038,6041,6044,6047,6050,6053,6056,6059,6062,6065,6068,6071,6074,6077,6079,6082,6085,6088,6091,6094,6097,6100,6103,6106,6109,6112],{"index":5942,"title":5943,"id":5944,"appendix":5945},0,"Preamble","preamble",false,{"index":1971,"title":5947,"id":5948,"appendix":5945},"Introduction","introduction",{"index":1981,"title":5950,"id":5951,"appendix":5945},"Fundamentals","fundamentals",{"index":1990,"title":5953,"id":5954,"appendix":5945},"Initialization","initialization",{"index":1998,"title":5956,"id":5957,"appendix":5945},"Devices and Queues","devsandqueues",{"index":2059,"title":5959,"id":5960,"appendix":5945},"Command Buffers","commandbuffers",{"index":2069,"title":5962,"id":5963,"appendix":5945},"Synchronization and Cache Control","synchronization",{"index":2077,"title":5965,"id":5966,"appendix":5945},"Render Pass","renderpass",{"index":2086,"title":5968,"id":5969,"appendix":5945},"Shaders","shaders",{"index":2094,"title":3654,"id":5971,"appendix":5945},"pipelines",{"index":2160,"title":5973,"id":5974,"appendix":5945},"Memory Allocation","memory",{"index":2168,"title":5976,"id":5977,"appendix":5945},"Resource Creation","resources",{"index":2176,"title":5979,"id":5980,"appendix":5945},"Samplers","samplers",{"index":2185,"title":4,"id":13,"appendix":5945},{"index":2193,"title":171,"id":5983,"appendix":5945},"interfaces",{"index":2238,"title":5985,"id":5986,"appendix":5945},"Image Operations","textures",{"index":2247,"title":5988,"id":5989,"appendix":5945},"Fragment Density Map Operations","fragmentdensitymapops",{"index":2274,"title":5991,"id":5992,"appendix":5945},"Queries","queries",{"index":2433,"title":5994,"id":5995,"appendix":5945},"Clear Commands","clears",{"index":2442,"title":5997,"id":5998,"appendix":5945},"Copy Commands","copies",{"index":2451,"title":6000,"id":6001,"appendix":5945},"Drawing Commands","drawing",{"index":2460,"title":6003,"id":6004,"appendix":5945},"Fixed-Function Vertex Processing","fxvertex",{"index":2469,"title":6006,"id":6007,"appendix":5945},"Tessellation","tessellation",{"index":2478,"title":6009,"id":6010,"appendix":5945},"Geometry Shading","geometry",{"index":2487,"title":6012,"id":6013,"appendix":5945},"Mesh Shading","mesh",{"index":2496,"title":6015,"id":6016,"appendix":5945},"Cluster Culling Shading","cluster-culling",{"index":2505,"title":6018,"id":6019,"appendix":5945},"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":2514,"title":6021,"id":6022,"appendix":5945},"Rasterization","primsrast",{"index":2523,"title":6024,"id":6025,"appendix":5945},"Fragment Operations","fragops",{"index":2532,"title":6027,"id":6028,"appendix":5945},"The Framebuffer","framebuffer",{"index":2541,"title":6030,"id":6031,"appendix":5945},"Dispatching Commands","dispatch",{"index":2550,"title":6033,"id":6034,"appendix":5945},"Device-Generated Commands","device-generated-commands",{"index":2559,"title":6036,"id":6037,"appendix":5945},"Sparse Resources","sparsememory",{"index":2568,"title":6039,"id":6040,"appendix":5945},"Window System Integration (WSI)","wsi",{"index":2577,"title":6042,"id":6043,"appendix":5945},"Deferred Host Operations","deferred-host-operations",{"index":2586,"title":6045,"id":6046,"appendix":5945},"Private Data","private-data",{"index":3039,"title":6048,"id":6049,"appendix":5945},"Acceleration Structures","acceleration-structure",{"index":3047,"title":6051,"id":6052,"appendix":5945},"Micromap","micromap",{"index":3065,"title":6054,"id":6055,"appendix":5945},"Ray Traversal","ray-traversal",{"index":3087,"title":6057,"id":6058,"appendix":5945},"Ray Tracing","ray-tracing",{"index":3108,"title":6060,"id":6061,"appendix":5945},"Memory Decompression","memory-decompression",{"index":3130,"title":6063,"id":6064,"appendix":5945},"Video Coding","video-coding",{"index":3162,"title":6066,"id":6067,"appendix":5945},"Optical Flow","opticalflow",{"index":3170,"title":6069,"id":6070,"appendix":5945},"Execution Graphs","executiongraphs",{"index":3178,"title":6072,"id":6073,"appendix":5945},"Extending Vulkan","extendingvulkan",{"index":3187,"title":6075,"id":6076,"appendix":5945},"Features","features",{"index":3195,"title":79,"id":6078,"appendix":5945},"limits",{"index":3211,"title":6080,"id":6081,"appendix":5945},"Formats","formats",{"index":3231,"title":6083,"id":6084,"appendix":5945},"Additional Capabilities","capabilities",{"index":3251,"title":6086,"id":6087,"appendix":5945},"Debugging","debugging",{"index":5942,"title":6089,"id":6090,"appendix":2063},"Vulkan Environment for SPIR-V","spirvenv",{"index":1971,"title":6092,"id":6093,"appendix":2063},"Memory Model","memory-model",{"index":1981,"title":6095,"id":6096,"appendix":2063},"Compressed Image Formats","compressed_image_formats",{"index":1990,"title":6098,"id":6099,"appendix":2063},"Core Revisions (Informative)","versions",{"index":1998,"title":6101,"id":6102,"appendix":2063},"Layers & Extensions (Informative)","extensions",{"index":2059,"title":6104,"id":6105,"appendix":2063},"API Boilerplate","boilerplate",{"index":2069,"title":6107,"id":6108,"appendix":2063},"Invariance","invariance",{"index":2077,"title":6110,"id":6111,"appendix":2063},"Lexicon","lexicon",{"index":2086,"title":6113,"id":6114,"appendix":2063},"Credits (Informative)","credits",[6116,6124,6128,6133,6137,6142,6145,6148,6151,6155,6159,6162,6165,6168,6170,6172,6175,6178,6182,6184,6188,6190,6193,6195,6198,6206,6210,6216,6220,6225,6227,6231,6237,6243,6249,6251,6253,6259,6262,6266,6272,6276,6280,6285,6289,6292,6295,6301,6304,6307,6311,6315,6319,6322,6324,6328,6333,6339,6342,6346,6349,6355,6358,6362,6365,6369,6372,6376,6379,6384,6388,6391,6396,6399,6402,6405,6409,6414,6419,6423,6427,6431,6435,6439,6443,6447,6450,6453,6457,6460,6463,6466,6470,6475,6479,6482,6486,6491,6495,6500,6503,6506,6511,6516,6520,6523,6527,6532,6535,6540,6545,6548,6551,6555,6559,6563,6568,6572,6575,6579,6583,6586,6590,6594,6598,6601,6603,6607,6610,6613,6616,6619,6622,6625,6628,6631,6634,6638,6642,6645,6648,6650,6652,6655,6658,6662,6666,6670,6673,6677,6680,6682,6685,6687,6691,6696,6699,6703,6705,6709,6712,6719,6723,6727,6731,6737,6739,6743,6747,6750,6753,6757,6762,6768,6772,6774,6778,6781,6786,6790,6795,6799,6803,6805,6808,6811,6813,6818,6821,6824,6829,6833,6837,6842,6846,6849,6850,6852,6855,6857,6860,6863,6867,6871,6873,6877,6880,6884,6886,6888,6891,6895,6897,6901,6904,6907,6910,6914,6917,6920,6921,6924,6926,6929,6933,6936,6938,6940,6942,6943,6947,6949,6952,6957,6961,6964,6966,6968,6970,6974,6977,6980,6983,6987,6990,6995,6999,7002,7006,7009,7012,7016,7020,7022,7027,7030,7034,7037,7039,7042,7044,7047,7051,7054,7058,7061,7065,7069,7072,7075,7078,7081,7085,7087,7090,7092,7097,7098,7102,7105,7108,7111,7114,7116,7120,7123,7126,7129,7133,7135,7137,7141,7143,7146,7150,7154,7156,7160,7163,7166,7169,7172,7176,7181,7186,7190,7195,7199,7202,7206,7210,7213,7217,7221,7224,7228,7230,7235,7239,7241,7247,7250,7253,7256,7260,7263,7267,7271,7274,7275,7278,7280,7282,7284,7286,7289,7292,7295,7298,7301,7304,7306,7310,7314,7318,7322,7325,7328,7332,7335,7339,7341,7345,7349,7352,7355,7358,7361,7364,7367,7370,7373,7376,7379,7382,7385,7388,7390,7394,7397,7401,7405,7408,7411,7414,7417,7420,7423,7427,7430,7433,7439,7443,7447,7451],{"number":6117,"type":6118,"author":6119,"provisional":2063,"depends":6120,"platform":6121,"contact":6122,"extension":6123,"proposal":2063},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":6125,"type":6118,"author":6119,"provisional":5945,"contact":6126,"extension":6127,"proposal":2063},477,"Stu Smith","VK_AMD_anti_lag",{"number":6129,"type":6118,"author":6119,"provisional":5945,"specialuse":6130,"contact":6131,"extension":6132,"proposal":5945},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":6134,"type":6118,"author":6119,"provisional":5945,"depends":6135,"contact":6122,"extension":6136,"proposal":5945},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":6138,"type":6118,"author":6119,"provisional":5945,"depends":6139,"contact":6140,"extension":6141,"proposal":5945},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":2577,"type":6118,"author":6119,"promotedto":6143,"provisional":5945,"contact":6131,"extension":6144,"proposal":5945},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":2505,"type":6118,"author":6119,"provisional":5945,"contact":6146,"extension":6147,"proposal":5945},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":3047,"type":6118,"author":6119,"deprecatedby":6149,"provisional":5945,"contact":6146,"extension":6150,"proposal":5945},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":6152,"type":6118,"author":6119,"deprecatedby":6149,"provisional":5945,"contact":6153,"extension":6154,"proposal":5945},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":6156,"type":6118,"author":6119,"provisional":5945,"contact":6157,"extension":6158,"proposal":5945},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":6160,"type":6118,"author":6119,"provisional":5945,"contact":6140,"extension":6161,"proposal":5945},137,"VK_AMD_mixed_attachment_samples",{"number":3039,"type":6118,"author":6119,"obsoletedby":6163,"provisional":5945,"contact":6140,"extension":6164,"proposal":5945},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":6166,"type":6118,"author":6119,"provisional":5945,"contact":6140,"extension":6167,"proposal":5945},184,"VK_AMD_pipeline_compiler_control",{"number":2442,"type":6118,"author":6119,"provisional":5945,"contact":6131,"extension":6169,"proposal":5945},"VK_AMD_rasterization_order",{"number":3065,"type":6118,"author":6119,"provisional":5945,"contact":6146,"extension":6171,"proposal":5945},"VK_AMD_shader_ballot",{"number":6173,"type":6118,"author":6119,"provisional":5945,"depends":6135,"contact":6157,"extension":6174,"proposal":5945},186,"VK_AMD_shader_core_properties",{"number":6176,"type":6118,"author":6119,"provisional":5945,"depends":6174,"contact":6140,"extension":6177,"proposal":5945},228,"VK_AMD_shader_core_properties2",{"number":6179,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6122,"extension":6181,"proposal":2063},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":2469,"type":6118,"author":6119,"provisional":5945,"contact":6153,"extension":6183,"proposal":5945},"VK_AMD_shader_explicit_vertex_parameter",{"number":6185,"type":6118,"author":6119,"provisional":5945,"contact":6186,"extension":6187,"proposal":5945},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":3211,"type":6118,"author":6119,"provisional":5945,"contact":6146,"extension":6189,"proposal":5945},"VK_AMD_shader_image_load_store_lod",{"number":3170,"type":6118,"author":6119,"provisional":5945,"specialuse":6130,"contact":6191,"extension":6192,"proposal":5945},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":2460,"type":6118,"author":6119,"provisional":5945,"contact":6153,"extension":6194,"proposal":5945},"VK_AMD_shader_trinary_minmax",{"number":3162,"type":6118,"author":6119,"provisional":5945,"depends":6135,"contact":6196,"extension":6197,"proposal":5945},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":6199,"type":6118,"author":6200,"provisional":5945,"depends":6201,"platform":6202,"specialuse":6203,"contact":6204,"extension":6205,"proposal":2063},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":6207,"type":6118,"author":6200,"provisional":5945,"depends":6208,"platform":6202,"contact":6209,"extension":6201,"proposal":5945},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":6211,"type":6118,"author":6212,"promotedto":6213,"provisional":5945,"depends":6135,"contact":6214,"extension":6215,"proposal":5945},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":6217,"type":6118,"author":6212,"provisional":5945,"depends":6218,"contact":6214,"extension":6219,"proposal":2063},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":6221,"type":6118,"author":6212,"provisional":5945,"depends":6222,"contact":6223,"extension":6224,"proposal":5945},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":6226,"type":6118,"author":6212,"provisional":5945,"depends":6135,"contact":6223,"extension":6222,"proposal":5945},498,{"number":6228,"type":6118,"author":6212,"provisional":5945,"depends":6229,"contact":6214,"extension":6230,"proposal":5945},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":6232,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6235,"extension":6236,"proposal":5945},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":6238,"type":6239,"author":6180,"provisional":5945,"depends":6240,"contact":6241,"extension":6242,"proposal":5945},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":6244,"type":6239,"author":6245,"provisional":5945,"depends":6240,"platform":6246,"contact":6247,"extension":6248,"proposal":5945},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":6250,"proposal":5945},"VK_EXT_application_parameters",{"number":3497,"type":6118,"author":6212,"provisional":5945,"depends":6135,"contact":6214,"extension":6252,"proposal":5945},"VK_EXT_astc_decode_mode",{"number":6254,"type":6118,"author":6180,"provisional":5945,"depends":6255,"ratified":6256,"contact":6257,"extension":6258,"proposal":2063},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":6260,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6235,"extension":6261,"proposal":2063},340,"VK_EXT_attachment_feedback_loop_layout",{"number":6263,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":6265,"proposal":5945},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":6267,"type":6118,"author":6180,"provisional":5945,"depends":6268,"specialuse":6269,"contact":6270,"extension":6271,"proposal":5945},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":6273,"type":6118,"author":6245,"deprecatedby":6274,"provisional":5945,"depends":6135,"contact":6264,"extension":6275,"proposal":5945},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":6277,"type":6118,"author":6180,"promotedto":6278,"provisional":5945,"depends":6135,"contact":6131,"extension":6279,"proposal":2063},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":6281,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6282,"contact":6283,"extension":6284,"proposal":5945},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":6286,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":6287,"extension":6288,"proposal":5945},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":6290,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6256,"contact":6270,"extension":6291,"proposal":5945},102,"VK_EXT_conservative_rasterization",{"number":6293,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6282,"specialuse":6269,"contact":6294,"extension":6268,"proposal":5945},288,"Liam Middlebrook @liam-middlebrook",{"number":2478,"type":6118,"author":6296,"promotedto":6297,"provisional":5945,"depends":6298,"specialuse":6087,"contact":6299,"extension":6300,"proposal":5945},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":2176,"type":6239,"author":6302,"deprecatedby":6297,"provisional":5945,"specialuse":6087,"contact":6303,"extension":6298,"proposal":5945},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":6305,"type":6239,"author":6180,"provisional":5945,"specialuse":6087,"contact":6306,"extension":6297,"proposal":5945},129,"Mark Young @marky-lunarg",{"number":6308,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6309,"contact":6235,"extension":6310,"proposal":2063},284,"d3demulation","VK_EXT_depth_bias_control",{"number":6312,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6313,"extension":6314,"proposal":5945},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":6316,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6203,"contact":6317,"extension":6318,"proposal":5945},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":6320,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6282,"specialuse":6309,"contact":6270,"extension":6321,"proposal":5945},103,"VK_EXT_depth_clip_enable",{"number":2193,"type":6118,"author":6245,"provisional":5945,"ratified":6282,"contact":6270,"extension":6323,"proposal":5945},"VK_EXT_depth_range_unrestricted",{"number":6325,"type":6118,"author":6180,"provisional":5945,"depends":6326,"contact":6122,"extension":6327,"proposal":2063},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":6329,"type":6118,"author":6245,"promotedto":6330,"provisional":5945,"depends":6331,"contact":6264,"extension":6332,"proposal":5945},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":6334,"type":6118,"author":6180,"provisional":5945,"depends":6335,"specialuse":6336,"contact":6337,"extension":6338,"proposal":5945},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":6340,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6337,"extension":6341,"proposal":2063},342,"VK_EXT_device_fault",{"number":6343,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6130,"contact":6344,"extension":6345,"proposal":5945},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":6347,"type":6239,"author":6245,"provisional":5945,"depends":6348,"contact":6247,"extension":6240,"proposal":5945},89,"VK_KHR_display",{"number":6350,"type":6239,"author":6180,"provisional":5945,"depends":6351,"platform":6352,"contact":6353,"extension":6354,"proposal":5945},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":6356,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6282,"contact":6270,"extension":6357,"proposal":5945},100,"VK_EXT_discard_rectangles",{"number":6359,"type":6118,"author":6245,"provisional":5945,"depends":6360,"ratified":6256,"contact":6247,"extension":6361,"proposal":5945},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":6363,"type":6239,"author":6245,"provisional":5945,"depends":6348,"ratified":6256,"contact":6247,"extension":6364,"proposal":5945},91,"VK_EXT_display_surface_counter",{"number":6366,"type":6118,"author":6180,"provisional":5945,"depends":6367,"ratified":6256,"contact":6270,"extension":6368,"proposal":2063},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":6370,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6270,"extension":6371,"proposal":5945},268,"VK_EXT_extended_dynamic_state",{"number":6373,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6374,"extension":6375,"proposal":5945},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":6377,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6256,"contact":6270,"extension":6378,"proposal":2063},456,"VK_EXT_extended_dynamic_state3",{"number":6380,"type":6118,"author":6180,"provisional":5945,"depends":6381,"ratified":6256,"contact":6382,"extension":6383,"proposal":2063},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":6385,"type":6118,"author":6180,"provisional":5945,"depends":6386,"ratified":6282,"contact":6382,"extension":6387,"proposal":5945},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":6389,"type":6118,"author":6180,"provisional":5945,"depends":6381,"ratified":6282,"contact":6131,"extension":6390,"proposal":5945},179,"VK_EXT_external_memory_host",{"number":6392,"type":6118,"author":6393,"provisional":5945,"ratified":6256,"contact":6394,"extension":6395,"proposal":5945},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":6397,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6394,"extension":6398,"proposal":5945},219,"VK_EXT_fragment_density_map",{"number":6400,"type":6118,"author":6180,"provisional":5945,"depends":6398,"contact":6394,"extension":6401,"proposal":5945},333,"VK_EXT_fragment_density_map2",{"number":6403,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6270,"extension":6404,"proposal":5945},252,"VK_EXT_fragment_shader_interlock",{"number":6406,"type":6118,"author":6180,"provisional":5945,"ratified":6256,"contact":6407,"extension":6408,"proposal":2063},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":6410,"type":6118,"author":6180,"provisional":5945,"depends":6411,"platform":6412,"ratified":6256,"contact":6247,"extension":6413,"proposal":5945},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":6415,"type":6118,"author":6180,"promotedto":6416,"provisional":5945,"contact":6417,"extension":6418,"proposal":5945},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":6420,"type":6118,"author":6180,"promotedto":6416,"provisional":5945,"depends":6421,"contact":6344,"extension":6422,"proposal":5945},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":6424,"type":6118,"author":6119,"provisional":5945,"depends":6425,"contact":6122,"extension":6426,"proposal":2063},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":6428,"type":6118,"author":6302,"provisional":5945,"depends":6429,"ratified":6282,"contact":6303,"extension":6430,"proposal":5945},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":6432,"type":6239,"author":6180,"provisional":5945,"depends":6351,"contact":6433,"extension":6434,"proposal":5945},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":6436,"type":6118,"author":6180,"provisional":5945,"depends":6437,"ratified":6256,"contact":6317,"extension":6438,"proposal":2063},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":6440,"type":6118,"author":6180,"promotedto":6330,"provisional":5945,"depends":6135,"contact":6441,"extension":6442,"proposal":5945},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":6444,"type":6118,"author":6180,"provisional":5945,"depends":6445,"specialuse":6203,"contact":6257,"extension":6446,"proposal":5945},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":6448,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6214,"extension":6449,"proposal":2063},339,"VK_EXT_image_compression_control",{"number":6451,"type":6118,"author":6180,"provisional":5945,"depends":6449,"contact":6214,"extension":6452,"proposal":5945},438,"VK_EXT_image_compression_control_swapchain",{"number":6454,"type":6118,"author":6180,"provisional":5945,"depends":6455,"ratified":6256,"contact":6382,"extension":6456,"proposal":5945},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":6458,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6313,"extension":6459,"proposal":5945},336,"VK_EXT_image_robustness",{"number":6461,"type":6118,"author":6180,"provisional":5945,"depends":6445,"specialuse":6309,"contact":6257,"extension":6462,"proposal":2063},419,"VK_EXT_image_sliced_view_of_3d",{"number":6464,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6235,"extension":6465,"proposal":5945},392,"VK_EXT_image_view_min_lod",{"number":6467,"type":6118,"author":6180,"promotedto":6468,"provisional":5945,"depends":6135,"contact":6270,"extension":6469,"proposal":5945},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":6471,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6472,"contact":6473,"extension":6474,"proposal":5945},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":6476,"type":6239,"author":6180,"provisional":5945,"ratified":6256,"contact":6477,"extension":6478,"proposal":2063},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":6480,"type":6118,"author":6180,"provisional":5945,"depends":6135,"specialuse":6203,"contact":6317,"extension":6481,"proposal":2063},466,"VK_EXT_legacy_dithering",{"number":6483,"type":6118,"author":6180,"provisional":5945,"depends":6484,"ratified":6256,"specialuse":6203,"contact":6257,"extension":6485,"proposal":2063},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":6487,"type":6118,"author":6180,"promotedto":6488,"provisional":5945,"depends":6135,"specialuse":6489,"contact":6264,"extension":6490,"proposal":5945},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":6492,"type":6118,"author":6180,"promotedto":6493,"provisional":5945,"ratified":6256,"contact":6317,"extension":6494,"proposal":5945},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":6496,"type":6118,"author":6180,"provisional":5945,"depends":6497,"ratified":6256,"contact":6498,"extension":6499,"proposal":2063},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":6501,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":6502,"proposal":5945},238,"VK_EXT_memory_budget",{"number":6504,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":6505,"proposal":5945},239,"VK_EXT_memory_priority",{"number":6507,"type":6118,"author":6180,"provisional":5945,"depends":6508,"contact":6509,"extension":6510,"proposal":2063},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":6512,"type":6118,"author":6180,"provisional":5945,"platform":6513,"contact":6514,"extension":6515,"proposal":2063},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":6517,"type":6239,"author":6180,"provisional":5945,"depends":6351,"platform":6513,"contact":6518,"extension":6519,"proposal":5945},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":6521,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6257,"extension":6522,"proposal":5945},393,"VK_EXT_multi_draw",{"number":6524,"type":6118,"author":6180,"provisional":5945,"depends":6525,"contact":6317,"extension":6526,"proposal":2063},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":6528,"type":6118,"author":6180,"provisional":5945,"depends":6529,"specialuse":6309,"contact":6530,"extension":6531,"proposal":2063},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":6533,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6270,"extension":6534,"proposal":5945},452,"VK_EXT_nested_command_buffer",{"number":6536,"type":6118,"author":6180,"provisional":5945,"depends":6135,"specialuse":6537,"contact":6538,"extension":6539,"proposal":2063},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":6541,"type":6118,"author":6180,"provisional":5945,"depends":6542,"ratified":6256,"contact":6543,"extension":6544,"proposal":2063},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":6546,"type":6118,"author":6180,"provisional":5945,"depends":6505,"contact":6270,"extension":6547,"proposal":5945},413,"VK_EXT_pageable_device_local_memory",{"number":6549,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6282,"contact":6140,"extension":6550,"proposal":5945},213,"VK_EXT_pci_bus_info",{"number":6552,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6553,"extension":6554,"proposal":5945},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":6556,"type":6118,"author":6119,"promotedto":6233,"provisional":5945,"depends":6135,"contact":6557,"extension":6558,"proposal":5945},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":6560,"type":6118,"author":6302,"promotedto":6233,"provisional":5945,"specialuse":6130,"contact":6561,"extension":6562,"proposal":5945},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":6564,"type":6118,"author":6180,"provisional":5945,"depends":6565,"contact":6566,"extension":6567,"proposal":2063},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":6569,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6570,"extension":6571,"proposal":5945},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":6573,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6317,"extension":6574,"proposal":2063},467,"VK_EXT_pipeline_protected_access",{"number":3517,"type":6118,"author":6576,"provisional":5945,"depends":6135,"contact":6577,"extension":6578,"proposal":5945},"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":6580,"type":6118,"author":6245,"provisional":5945,"ratified":6256,"contact":6581,"extension":6582,"proposal":5945},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":6584,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6203,"contact":6317,"extension":6585,"proposal":5945},357,"VK_EXT_primitive_topology_list_restart",{"number":6587,"type":6118,"author":6180,"provisional":5945,"depends":6588,"specialuse":6203,"contact":6317,"extension":6589,"proposal":2063},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":6591,"type":6118,"author":6245,"promotedto":6233,"provisional":5945,"depends":6135,"contact":6592,"extension":6593,"proposal":5945},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":6595,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6203,"contact":6596,"extension":6597,"proposal":5945},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":6599,"type":6118,"author":6180,"provisional":5945,"depends":6381,"ratified":6282,"contact":6382,"extension":6600,"proposal":5945},127,"VK_EXT_queue_family_foreign",{"number":6602,"type":6118,"author":6212,"provisional":5945,"depends":6135,"contact":6214,"extension":6213,"proposal":2063},464,{"number":6604,"type":6118,"author":6180,"provisional":5945,"depends":6605,"contact":6214,"extension":6606,"proposal":5945},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":6608,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6282,"contact":6294,"extension":6609,"proposal":5945},287,"VK_EXT_robustness2",{"number":6611,"type":6118,"author":6119,"provisional":5945,"depends":6135,"ratified":6282,"contact":6131,"extension":6612,"proposal":5945},144,"VK_EXT_sample_locations",{"number":6614,"type":6118,"author":6245,"promotedto":6330,"provisional":5945,"depends":6135,"contact":6264,"extension":6615,"proposal":5945},131,"VK_EXT_sampler_filter_minmax",{"number":6617,"type":6118,"author":6180,"promotedto":6330,"provisional":5945,"depends":6135,"contact":6122,"extension":6618,"proposal":5945},222,"VK_EXT_scalar_block_layout",{"number":6620,"type":6118,"author":6180,"promotedto":6330,"provisional":5945,"contact":6131,"extension":6621,"proposal":5945},247,"VK_EXT_separate_stencil_usage",{"number":6623,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6282,"contact":6374,"extension":6624,"proposal":5945},261,"VK_EXT_shader_atomic_float",{"number":6626,"type":6118,"author":6180,"provisional":5945,"depends":6624,"ratified":6256,"contact":6498,"extension":6627,"proposal":5945},274,"VK_EXT_shader_atomic_float2",{"number":6629,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6264,"extension":6630,"proposal":5945},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":6632,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6122,"extension":6633,"proposal":5945},235,"VK_EXT_shader_image_atomic_int64",{"number":6635,"type":6118,"author":6180,"provisional":5945,"depends":6636,"contact":6566,"extension":6637,"proposal":2063},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":6639,"type":6118,"author":6180,"provisional":5945,"depends":6367,"ratified":6256,"contact":6640,"extension":6641,"proposal":2063},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":6643,"type":6118,"author":6180,"provisional":5945,"ratified":6256,"contact":6223,"extension":6644,"proposal":2063},565,"VK_EXT_shader_replicated_composites",{"number":6646,"type":6118,"author":6180,"provisional":5945,"ratified":6282,"contact":6146,"extension":6647,"proposal":5945},141,"VK_EXT_shader_stencil_export",{"number":3472,"type":6118,"author":6245,"deprecatedby":6330,"provisional":5945,"contact":6581,"extension":6649,"proposal":5945},"VK_EXT_shader_subgroup_ballot",{"number":3480,"type":6118,"author":6245,"deprecatedby":6229,"provisional":5945,"contact":6581,"extension":6651,"proposal":5945},"VK_EXT_shader_subgroup_vote",{"number":6653,"type":6118,"author":6180,"provisional":5945,"depends":6233,"ratified":6256,"contact":6214,"extension":6654,"proposal":2063},396,"VK_EXT_shader_tile_image",{"number":6656,"type":6118,"author":6245,"promotedto":6330,"provisional":5945,"contact":6581,"extension":6657,"proposal":5945},163,"VK_EXT_shader_viewport_index_layer",{"number":6659,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6229,"ratified":6234,"contact":6660,"extension":6661,"proposal":5945},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":6663,"type":6118,"author":6180,"provisional":5945,"depends":6135,"contact":6664,"extension":6665,"proposal":2063},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":6667,"type":6239,"author":6180,"provisional":5945,"depends":6668,"contact":6317,"extension":6669,"proposal":2063},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":6671,"type":6239,"author":6302,"provisional":5945,"depends":6351,"contact":6303,"extension":6672,"proposal":5945},105,"VK_EXT_swapchain_colorspace",{"number":6674,"type":6118,"author":6180,"provisional":5945,"depends":6675,"contact":6317,"extension":6676,"proposal":2063},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":6678,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6264,"extension":6679,"proposal":5945},282,"VK_EXT_texel_buffer_alignment",{"number":3489,"type":6118,"author":6212,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6234,"contact":6214,"extension":6681,"proposal":5945},"VK_EXT_texture_compression_astc_hdr",{"number":6683,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"contact":6122,"extension":6684,"proposal":5945},246,"VK_EXT_tooling_info",{"number":2532,"type":6118,"author":6245,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6686,"contact":6270,"extension":6588,"proposal":5945},"glemulation,d3demulation,devtools",{"number":6688,"type":6118,"author":6302,"provisional":5945,"contact":6689,"extension":6690,"proposal":5945},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":6692,"type":6239,"author":6693,"deprecatedby":6478,"provisional":5945,"specialuse":6087,"contact":6694,"extension":6695,"proposal":5945},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":3429,"type":6239,"author":6302,"deprecatedby":6478,"provisional":5945,"specialuse":6087,"contact":6697,"extension":6698,"proposal":5945},"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":6700,"type":6118,"author":6245,"promotedto":6701,"provisional":5945,"depends":6135,"contact":6287,"extension":6702,"proposal":5945},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":6704,"type":6118,"author":6180,"provisional":5945,"depends":6135,"ratified":6256,"contact":6270,"extension":6484,"proposal":5945},353,{"number":6706,"type":6118,"author":6180,"promotedto":6233,"provisional":5945,"depends":6605,"ratified":6234,"contact":6707,"extension":6708,"proposal":5945},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":6710,"type":6118,"author":6180,"provisional":5945,"depends":6605,"ratified":6282,"contact":6270,"extension":6711,"proposal":5945},253,"VK_EXT_ycbcr_image_arrays",{"number":6713,"type":6118,"author":6714,"provisional":5945,"depends":6715,"platform":6716,"contact":6717,"extension":6718,"proposal":5945},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":6720,"type":6118,"author":6714,"provisional":5945,"depends":6721,"platform":6716,"contact":6717,"extension":6722,"proposal":5945},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":6724,"type":6118,"author":6714,"provisional":5945,"depends":6725,"platform":6716,"contact":6717,"extension":6726,"proposal":5945},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":6728,"type":6239,"author":6714,"provisional":5945,"depends":6351,"platform":6716,"contact":6729,"extension":6730,"proposal":5945},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":6732,"type":6118,"author":6733,"provisional":5945,"depends":6734,"platform":6735,"contact":6561,"extension":6736,"proposal":5945},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":3271,"type":6239,"author":6733,"provisional":5945,"depends":6351,"platform":6735,"contact":6561,"extension":6738,"proposal":5945},"VK_GGP_stream_descriptor_surface",{"number":6740,"type":6118,"author":6302,"provisional":5945,"contact":6741,"extension":6742,"proposal":5945},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":6744,"type":6118,"author":6302,"provisional":5945,"depends":6429,"contact":6745,"extension":6746,"proposal":5945},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":6748,"type":6118,"author":6302,"provisional":5945,"contact":6741,"extension":6749,"proposal":5945},224,"VK_GOOGLE_hlsl_functionality1",{"number":6751,"type":6239,"author":6302,"provisional":5945,"depends":6351,"specialuse":6203,"contact":6317,"extension":6752,"proposal":2063},434,"VK_GOOGLE_surfaceless_query",{"number":6754,"type":6118,"author":6302,"provisional":5945,"contact":6755,"extension":6756,"proposal":5945},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":6758,"type":6118,"author":6759,"provisional":5945,"depends":6135,"contact":6760,"extension":6761,"proposal":2063},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":6763,"type":6118,"author":6764,"provisional":5945,"depends":6765,"contact":6766,"extension":6767,"proposal":2063},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":6769,"type":6118,"author":6759,"provisional":5945,"depends":6770,"contact":6766,"extension":6771,"proposal":5945},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":2247,"type":6118,"author":6576,"provisional":5945,"contact":6122,"extension":6773,"proposal":5945},"VK_IMG_filter_cubic",{"number":3341,"type":6118,"author":6576,"deprecatedby":6775,"provisional":5945,"contact":6776,"extension":6777,"proposal":5945},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":6779,"type":6118,"author":6576,"provisional":5945,"depends":6135,"specialuse":6203,"contact":6407,"extension":6780,"proposal":5945},111,"VK_IMG_relaxed_line_rasterization",{"number":6782,"type":6118,"author":6783,"provisional":5945,"specialuse":6130,"contact":6784,"extension":6785,"proposal":5945},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":6787,"type":6118,"author":6783,"provisional":5945,"depends":6135,"contact":6788,"extension":6789,"proposal":5945},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":6791,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6793,"ratified":6256,"contact":6214,"extension":6794,"proposal":5945},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":6796,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6793,"ratified":6256,"contact":6797,"extension":6798,"proposal":5945},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":6800,"type":6118,"author":6792,"provisional":5945,"depends":6801,"ratified":6256,"contact":6581,"extension":6802,"proposal":5945},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":2094,"type":6239,"author":6792,"provisional":5945,"depends":6351,"platform":6202,"ratified":6256,"contact":6209,"extension":6804,"proposal":5945},"VK_KHR_android_surface",{"number":6806,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6122,"extension":6807,"proposal":5945},158,"VK_KHR_bind_memory2",{"number":6809,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6810,"ratified":6256,"contact":6264,"extension":6274,"proposal":5945},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":6812,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":6473,"extension":6278,"proposal":5945},544,{"number":6814,"type":6118,"author":6792,"provisional":5945,"depends":6815,"ratified":6256,"contact":6816,"extension":6817,"proposal":2063},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":6819,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"contact":6223,"extension":6820,"proposal":2063},507,"VK_KHR_cooperative_matrix",{"number":6822,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6282,"contact":6394,"extension":6823,"proposal":5945},338,"VK_KHR_copy_commands2",{"number":6825,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6826,"ratified":6256,"contact":6827,"extension":6828,"proposal":5945},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":6830,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6831,"ratified":6256,"contact":6247,"extension":6832,"proposal":5945},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":6834,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":6835,"extension":6836,"proposal":5945},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":6838,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6839,"ratified":6256,"contact":6840,"extension":6841,"proposal":5945},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":6843,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6844,"extension":6845,"proposal":5945},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":3406,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6847,"ratified":6256,"contact":6264,"extension":6848,"proposal":5945},"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":3545,"type":6239,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6264,"extension":6847,"proposal":5945},{"number":1990,"type":6239,"author":6792,"provisional":5945,"depends":6351,"ratified":6282,"contact":6851,"extension":6348,"proposal":5945},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":1998,"type":6118,"author":6792,"provisional":5945,"depends":6853,"ratified":6282,"contact":6247,"extension":6854,"proposal":5945},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":6856,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"ratified":6256,"contact":6270,"extension":6143,"proposal":5945},170,{"number":6858,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6131,"extension":6859,"proposal":5945},197,"VK_KHR_driver_properties",{"number":3187,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6861,"ratified":6256,"contact":6122,"extension":6862,"proposal":2063},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":6864,"type":6118,"author":6119,"provisional":5945,"depends":6865,"ratified":6256,"contact":6122,"extension":6866,"proposal":2063},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":6868,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6869,"ratified":6256,"contact":6209,"extension":6870,"proposal":5945},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":6872,"type":6239,"author":6792,"promotedto":6229,"provisional":5945,"depends":6135,"ratified":6256,"contact":6209,"extension":6869,"proposal":5945},113,{"number":6874,"type":6118,"author":6792,"provisional":5945,"depends":6875,"ratified":6282,"contact":6209,"extension":6876,"proposal":5945},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":6878,"type":6118,"author":6792,"provisional":5945,"depends":6870,"platform":6412,"ratified":6256,"contact":6209,"extension":6879,"proposal":5945},115,"VK_KHR_external_fence_win32",{"number":6881,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6882,"ratified":6256,"contact":6247,"extension":6883,"proposal":5945},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":3557,"type":6239,"author":6792,"promotedto":6229,"provisional":5945,"depends":6135,"ratified":6256,"contact":6247,"extension":6885,"proposal":5945},"VK_KHR_external_memory_capabilities",{"number":6887,"type":6118,"author":6792,"provisional":5945,"depends":6381,"ratified":6282,"contact":6247,"extension":6386,"proposal":5945},75,{"number":6889,"type":6118,"author":6792,"provisional":5945,"depends":6381,"platform":6412,"ratified":6256,"contact":6247,"extension":6890,"proposal":5945},74,"VK_KHR_external_memory_win32",{"number":6892,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6893,"ratified":6256,"contact":6247,"extension":6894,"proposal":5945},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":6896,"type":6239,"author":6792,"promotedto":6229,"provisional":5945,"depends":6135,"ratified":6256,"contact":6247,"extension":6893,"proposal":5945},77,{"number":6898,"type":6118,"author":6792,"provisional":5945,"depends":6899,"ratified":6282,"contact":6247,"extension":6900,"proposal":5945},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":6902,"type":6118,"author":6792,"provisional":5945,"depends":6894,"platform":6412,"ratified":6256,"contact":6247,"extension":6903,"proposal":5945},79,"VK_KHR_external_semaphore_win32",{"number":6905,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6256,"contact":6784,"extension":6906,"proposal":5945},361,"VK_KHR_format_feature_flags2",{"number":6908,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"contact":6126,"extension":6909,"proposal":2063},323,"VK_KHR_fragment_shader_barycentric",{"number":6911,"type":6118,"author":6792,"provisional":5945,"depends":6912,"ratified":6282,"contact":6122,"extension":6913,"proposal":2063},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":6915,"type":6239,"author":6792,"provisional":5945,"depends":6348,"ratified":6282,"contact":6247,"extension":6916,"proposal":5945},122,"VK_KHR_get_display_properties2",{"number":6918,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6498,"extension":6919,"proposal":5945},147,"VK_KHR_get_memory_requirements2",{"number":3397,"type":6239,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6264,"extension":6815,"proposal":5945},{"number":6922,"type":6239,"author":6792,"provisional":5945,"depends":6351,"ratified":6282,"contact":6247,"extension":6923,"proposal":5945},120,"VK_KHR_get_surface_capabilities2",{"number":6925,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":6122,"extension":6416,"proposal":5945},189,{"number":6927,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"ratified":6256,"contact":6498,"extension":6928,"proposal":5945},148,"VK_KHR_image_format_list",{"number":6930,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6931,"ratified":6256,"contact":6827,"extension":6932,"proposal":5945},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":6934,"type":6118,"author":6792,"provisional":5945,"depends":6429,"ratified":6282,"contact":6745,"extension":6935,"proposal":5945},85,"VK_KHR_incremental_present",{"number":6937,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":6270,"extension":6468,"proposal":5945},534,{"number":6939,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":6270,"extension":6488,"proposal":5945},535,{"number":6941,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":6317,"extension":6493,"proposal":2063},527,{"number":3525,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6270,"extension":6163,"proposal":5945},{"number":6944,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6945,"extension":6946,"proposal":5945},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":6948,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":6529,"proposal":5945},169,{"number":6950,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6229,"ratified":6256,"contact":6270,"extension":6951,"proposal":5945},414,"VK_KHR_maintenance4",{"number":6953,"type":6118,"author":6792,"provisional":5945,"depends":6954,"ratified":6256,"contact":6955,"extension":6956,"proposal":2063},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":6958,"type":6118,"author":6792,"provisional":5945,"depends":6229,"ratified":6256,"contact":6959,"extension":6960,"proposal":2063},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":6962,"type":6118,"author":6792,"provisional":5945,"depends":6229,"ratified":6256,"contact":6257,"extension":6963,"proposal":2063},563,"VK_KHR_maintenance7",{"number":6965,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":6498,"extension":6497,"proposal":2063},272,{"number":3324,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":6967,"proposal":5945},"VK_KHR_multiview",{"extension":6969,"proposal":5945},"VK_KHR_object_refresh",{"number":6971,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"specialuse":6130,"contact":6972,"extension":6973,"proposal":5945},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":6975,"type":6118,"author":6792,"provisional":5945,"depends":6956,"ratified":6256,"contact":6955,"extension":6976,"proposal":2063},484,"VK_KHR_pipeline_binary",{"number":6978,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"specialuse":6130,"contact":6498,"extension":6979,"proposal":5945},270,"VK_KHR_pipeline_executable_properties",{"number":6981,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":6509,"extension":6982,"proposal":5945},291,"VK_KHR_pipeline_library",{"number":6984,"type":6239,"author":6792,"provisional":5945,"ratified":6256,"contact":6985,"extension":6986,"proposal":5945},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":6988,"type":6118,"author":6792,"provisional":2063,"depends":6135,"platform":6121,"ratified":6256,"contact":6514,"extension":6989,"proposal":5945},164,"VK_KHR_portability_subset",{"number":6991,"type":6118,"author":6792,"provisional":5945,"depends":6992,"ratified":6256,"contact":6993,"extension":6994,"proposal":5945},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":6996,"type":6118,"author":6792,"provisional":5945,"depends":6997,"ratified":6256,"contact":6993,"extension":6998,"proposal":5945},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":7000,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":7001,"proposal":5945},81,"VK_KHR_push_descriptor",{"number":7003,"type":6118,"author":6792,"provisional":5945,"depends":7004,"ratified":6256,"contact":6581,"extension":7005,"proposal":5945},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":7007,"type":6118,"author":6792,"provisional":5945,"depends":6802,"ratified":6256,"contact":6581,"extension":7008,"proposal":5945},387,"VK_KHR_ray_tracing_maintenance1",{"number":7010,"type":6118,"author":6792,"provisional":5945,"depends":7004,"ratified":6256,"contact":6581,"extension":7011,"proposal":5945},348,"VK_KHR_ray_tracing_pipeline",{"number":7013,"type":6118,"author":6792,"provisional":5945,"depends":6802,"ratified":6256,"contact":7014,"extension":7015,"proposal":2063},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":7017,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":7018,"extension":7019,"proposal":5945},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":2238,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"ratified":6256,"contact":6122,"extension":7021,"proposal":5945},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":7023,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":7024,"ratified":6256,"contact":7025,"extension":7026,"proposal":5945},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":7028,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6912,"ratified":6256,"contact":6270,"extension":7029,"proposal":5945},242,"VK_KHR_separate_depth_stencil_layouts",{"number":7031,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":7032,"extension":7033,"proposal":5945},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":7035,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":7032,"extension":7036,"proposal":5945},182,"VK_KHR_shader_clock",{"number":3464,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6581,"extension":7038,"proposal":5945},"VK_KHR_shader_draw_parameters",{"number":7040,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"contact":6223,"extension":7041,"proposal":2063},545,"VK_KHR_shader_expect_assume",{"number":7043,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6797,"extension":6149,"proposal":5945},83,{"number":7045,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6797,"extension":7046,"proposal":5945},198,"VK_KHR_shader_float_controls",{"number":7048,"type":6118,"author":6792,"provisional":5945,"depends":7049,"ratified":6256,"contact":6313,"extension":7050,"proposal":2063},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":7052,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6256,"contact":6223,"extension":7053,"proposal":2063},281,"VK_KHR_shader_integer_dot_product",{"number":7055,"type":6118,"author":6792,"provisional":5945,"depends":6229,"ratified":6256,"contact":7056,"extension":7057,"proposal":2063},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":7059,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"ratified":6256,"contact":6299,"extension":7060,"proposal":5945},294,"VK_KHR_shader_non_semantic_info",{"number":7062,"type":6118,"author":6792,"provisional":5945,"depends":7063,"ratified":6256,"contact":6122,"extension":7064,"proposal":2063},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":7066,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":7067,"extension":7068,"proposal":2063},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":7070,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6229,"ratified":6256,"contact":6660,"extension":7071,"proposal":5945},176,"VK_KHR_shader_subgroup_extended_types",{"number":7073,"type":6118,"author":6792,"provisional":5945,"ratified":6256,"contact":6223,"extension":7074,"proposal":2063},417,"VK_KHR_shader_subgroup_rotate",{"number":7076,"type":6118,"author":6792,"provisional":5945,"depends":6229,"ratified":6256,"contact":7056,"extension":7077,"proposal":5945},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":7079,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6282,"contact":6209,"extension":7080,"proposal":5945},216,"VK_KHR_shader_terminate_invocation",{"number":7082,"type":6118,"author":6792,"provisional":5945,"depends":7083,"ratified":6282,"contact":6972,"extension":7084,"proposal":5945},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":7086,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":7049,"ratified":6256,"contact":6209,"extension":6508,"proposal":5945},237,{"number":7088,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"ratified":6256,"contact":6797,"extension":7089,"proposal":5945},132,"VK_KHR_storage_buffer_storage_class",{"number":1971,"type":6239,"author":6792,"provisional":5945,"ratified":6282,"contact":7091,"extension":6351,"proposal":5945},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":7093,"type":6239,"author":6792,"provisional":5945,"depends":7094,"ratified":6256,"contact":7095,"extension":7096,"proposal":5945},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":1981,"type":6118,"author":6792,"provisional":5945,"depends":6351,"ratified":6282,"contact":7091,"extension":6429,"proposal":5945},{"number":7099,"type":6118,"author":6792,"provisional":5945,"depends":7100,"ratified":6282,"contact":6131,"extension":7101,"proposal":5945},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":7103,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6282,"contact":6122,"extension":7104,"proposal":5945},315,"VK_KHR_synchronization2",{"number":7106,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6498,"extension":7107,"proposal":5945},208,"VK_KHR_timeline_semaphore",{"number":7109,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6313,"extension":7110,"proposal":5945},254,"VK_KHR_uniform_buffer_standard_layout",{"number":7112,"type":6118,"author":6792,"promotedto":6229,"provisional":5945,"depends":6793,"ratified":6256,"contact":6209,"extension":7113,"proposal":5945},121,"VK_KHR_variable_pointers",{"number":7115,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6282,"contact":6317,"extension":6701,"proposal":2063},526,{"number":7117,"type":6118,"author":6792,"provisional":5945,"depends":7118,"ratified":6256,"contact":6473,"extension":7119,"proposal":2063},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":3130,"type":6118,"author":6792,"provisional":5945,"depends":7118,"ratified":6256,"contact":7121,"extension":7122,"proposal":2063},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":7124,"type":6118,"author":6792,"provisional":5945,"depends":7118,"ratified":6256,"contact":7121,"extension":7125,"proposal":2063},188,"VK_KHR_video_decode_h265",{"number":2496,"type":6118,"author":6792,"provisional":5945,"depends":7127,"ratified":6256,"contact":7128,"extension":7118,"proposal":2063},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":3087,"type":6118,"author":6792,"provisional":5945,"depends":7130,"ratified":6256,"contact":7131,"extension":7132,"proposal":2063},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":3108,"type":6118,"author":6792,"provisional":5945,"depends":7130,"ratified":6256,"contact":7131,"extension":7134,"proposal":2063},"VK_KHR_video_encode_h265",{"number":7136,"type":6118,"author":6792,"provisional":5945,"depends":7127,"ratified":6256,"contact":7131,"extension":7130,"proposal":2063},300,{"number":7138,"type":6118,"author":6792,"provisional":5945,"depends":7139,"ratified":6256,"contact":6473,"extension":7140,"proposal":2063},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":2487,"type":6118,"author":6792,"provisional":5945,"depends":7142,"ratified":6256,"contact":6707,"extension":7139,"proposal":2063},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":7144,"type":6118,"author":6792,"promotedto":6330,"provisional":5945,"depends":6135,"ratified":6256,"contact":6264,"extension":7145,"proposal":5945},212,"VK_KHR_vulkan_memory_model",{"number":2077,"type":6239,"author":6792,"provisional":5945,"depends":6351,"platform":7147,"ratified":6256,"contact":7148,"extension":7149,"proposal":5945},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":7151,"type":6118,"author":6792,"provisional":5945,"depends":6890,"platform":6412,"ratified":6256,"contact":7152,"extension":7153,"proposal":5945},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":2160,"type":6239,"author":6792,"provisional":5945,"depends":6351,"platform":6412,"ratified":6256,"contact":7148,"extension":7155,"proposal":5945},"VK_KHR_win32_surface",{"number":7157,"type":6118,"author":6792,"provisional":5945,"depends":6135,"ratified":6256,"contact":7158,"extension":7159,"proposal":5945},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":2069,"type":6239,"author":6792,"provisional":5945,"depends":6351,"platform":7161,"ratified":6256,"contact":7148,"extension":7162,"proposal":5945},"xcb","VK_KHR_xcb_surface",{"number":2059,"type":6239,"author":6792,"provisional":5945,"depends":6351,"platform":7164,"ratified":6256,"contact":7148,"extension":7165,"proposal":5945},"xlib","VK_KHR_xlib_surface",{"number":7167,"type":6118,"author":6792,"promotedto":6233,"provisional":5945,"depends":6135,"ratified":6256,"contact":7056,"extension":7168,"proposal":5945},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":7170,"type":6239,"author":6693,"provisional":5945,"contact":6985,"extension":7171,"proposal":2063},460,"VK_LUNARG_direct_driver_loading",{"number":7173,"type":6118,"author":7174,"provisional":5945,"depends":6135,"specialuse":6309,"contact":6566,"extension":7175,"proposal":5945},576,"MESA","VK_MESA_image_alignment_control",{"number":7177,"type":6118,"author":7178,"provisional":5945,"depends":6135,"contact":7179,"extension":7180,"proposal":2063},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":7182,"type":6239,"author":7183,"deprecatedby":6519,"provisional":5945,"depends":6351,"platform":7184,"contact":6514,"extension":7185,"proposal":5945},123,"MVK","ios","VK_MVK_ios_surface",{"number":7187,"type":6239,"author":7183,"deprecatedby":6519,"provisional":5945,"depends":6351,"platform":7188,"contact":6514,"extension":7189,"proposal":5945},124,"macos","VK_MVK_macos_surface",{"number":3442,"type":6239,"author":7191,"provisional":5945,"depends":6351,"platform":7192,"contact":7193,"extension":7194,"proposal":5945},"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":2541,"type":6118,"author":7196,"provisional":5945,"contact":7197,"extension":7198,"proposal":5945},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":2550,"type":6118,"author":7196,"provisional":5945,"contact":7200,"extension":7201,"proposal":5945},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":7203,"type":6118,"author":7196,"provisional":5945,"depends":7204,"contact":6264,"extension":7205,"proposal":5945},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":7207,"type":6118,"author":6245,"provisional":5945,"depends":6240,"platform":6412,"contact":7208,"extension":7209,"proposal":5945},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":7211,"type":6118,"author":6245,"provisional":5945,"contact":7200,"extension":7212,"proposal":5945},88,"VK_NV_clip_space_w_scaling",{"number":7214,"type":6118,"author":6245,"provisional":5945,"contact":7215,"extension":7216,"proposal":5945},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":7218,"type":6118,"author":6245,"promotedto":6817,"provisional":5945,"depends":6135,"contact":7219,"extension":7220,"proposal":5945},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":7222,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":6264,"extension":7223,"proposal":5945},250,"VK_NV_cooperative_matrix",{"number":7225,"type":6118,"author":6245,"provisional":5945,"depends":7226,"contact":6374,"extension":7227,"proposal":5945},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":3300,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":6581,"extension":7229,"proposal":5945},"VK_NV_corner_sampled_image",{"number":7231,"type":6118,"author":6245,"provisional":5945,"depends":7232,"contact":7233,"extension":7234,"proposal":5945},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":7236,"type":6118,"author":6245,"provisional":2063,"contact":7237,"extension":7238,"proposal":5945},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":2514,"type":6118,"author":6245,"deprecatedby":6832,"provisional":5945,"contact":6264,"extension":7240,"proposal":5945},"VK_NV_dedicated_allocation",{"number":7242,"type":6118,"author":7243,"provisional":5945,"depends":7244,"contact":7245,"extension":7246,"proposal":5945},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":7248,"type":6118,"author":6245,"provisional":5945,"depends":6229,"contact":6270,"extension":7249,"proposal":5945},547,"VK_NV_descriptor_pool_overallocation",{"number":7251,"type":6118,"author":7243,"provisional":5945,"depends":6135,"contact":7245,"extension":7252,"proposal":5945},207,"VK_NV_device_diagnostic_checkpoints",{"number":7254,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7233,"extension":7255,"proposal":5945},301,"VK_NV_device_diagnostics_config",{"number":7257,"type":6118,"author":6245,"provisional":5945,"depends":7258,"contact":6509,"extension":7259,"proposal":5945},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":7261,"type":6118,"author":6245,"provisional":5945,"depends":7259,"contact":6374,"extension":7262,"proposal":5945},429,"VK_NV_device_generated_commands_compute",{"number":7264,"type":6118,"author":6245,"provisional":2063,"depends":6544,"platform":6121,"contact":7265,"extension":7266,"proposal":5945},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":7268,"type":6118,"author":6245,"provisional":5945,"contact":7269,"extension":7270,"proposal":5945},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":3357,"type":6118,"author":6245,"deprecatedby":6883,"provisional":5945,"depends":7272,"contact":6247,"extension":7273,"proposal":5945},"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":3349,"type":6239,"author":6245,"deprecatedby":6885,"provisional":5945,"contact":6247,"extension":7272,"proposal":5945},{"number":7276,"type":6118,"author":6245,"provisional":5945,"depends":6381,"contact":7152,"extension":7277,"proposal":5945},372,"VK_NV_external_memory_rdma",{"extension":7279,"proposal":5945},"VK_NV_external_memory_sci_buf",{"number":3366,"type":6118,"author":6245,"deprecatedby":6890,"provisional":5945,"depends":7273,"platform":6412,"contact":6247,"extension":7281,"proposal":5945},"VK_NV_external_memory_win32",{"extension":7283,"proposal":5945},"VK_NV_external_sci_sync",{"extension":7285,"proposal":5945},"VK_NV_external_sci_sync2",{"number":7287,"type":6118,"author":6245,"provisional":5945,"contact":6264,"extension":7288,"proposal":5945},154,"VK_NV_fill_rectangle",{"number":7290,"type":6118,"author":6245,"provisional":5945,"contact":6264,"extension":7291,"proposal":5945},150,"VK_NV_fragment_coverage_to_color",{"number":7293,"type":6118,"author":6245,"promotedto":6909,"provisional":5945,"depends":6135,"contact":7219,"extension":7294,"proposal":5945},204,"VK_NV_fragment_shader_barycentric",{"number":7296,"type":6118,"author":6245,"provisional":5945,"depends":6913,"contact":7219,"extension":7297,"proposal":5945},327,"VK_NV_fragment_shading_rate_enums",{"number":7299,"type":6118,"author":6245,"provisional":5945,"contact":6264,"extension":7300,"proposal":5945},153,"VK_NV_framebuffer_mixed_samples",{"number":7302,"type":6118,"author":6245,"provisional":5945,"contact":6581,"extension":7303,"proposal":5945},96,"VK_NV_geometry_shader_passthrough",{"number":2185,"type":6118,"author":6245,"deprecatedby":6775,"provisional":5945,"contact":6270,"extension":7305,"proposal":5945},"VK_NV_glsl_shader",{"number":7307,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7308,"extension":7309,"proposal":5945},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":7311,"type":6118,"author":7243,"provisional":5945,"depends":6135,"contact":7312,"extension":7313,"proposal":5945},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":7315,"type":6118,"author":6245,"provisional":5945,"contact":7316,"extension":7317,"proposal":5945},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":7319,"type":6118,"author":6245,"provisional":5945,"depends":7320,"contact":7316,"extension":7321,"proposal":5945},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":7323,"type":6118,"author":6245,"provisional":5945,"depends":7226,"contact":6374,"extension":7324,"proposal":5945},428,"VK_NV_memory_decompression",{"number":7326,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":6509,"extension":7327,"proposal":5945},203,"VK_NV_mesh_shader",{"number":7329,"type":6118,"author":6245,"provisional":5945,"depends":7330,"contact":7152,"extension":7331,"proposal":5945},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":7333,"type":6118,"author":6245,"provisional":5945,"depends":6960,"contact":6270,"extension":7334,"proposal":5945},517,"VK_NV_per_stage_descriptor_set",{"number":7336,"type":6118,"author":6245,"provisional":5945,"depends":6411,"contact":7337,"extension":7338,"proposal":5945},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":7340,"proposal":5945},"VK_NV_private_vendor_info",{"number":7342,"type":6118,"author":6245,"provisional":5945,"contact":7343,"extension":7344,"proposal":5945},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":7346,"type":6118,"author":6245,"deprecatedby":7011,"provisional":5945,"depends":7347,"contact":7200,"extension":7348,"proposal":5945},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":7350,"type":6118,"author":6245,"provisional":5945,"depends":7011,"contact":7200,"extension":7351,"proposal":5945},491,"VK_NV_ray_tracing_invocation_reorder",{"number":7353,"type":6118,"author":6245,"provisional":5945,"depends":7011,"contact":7014,"extension":7354,"proposal":5945},328,"VK_NV_ray_tracing_motion_blur",{"number":7356,"type":6118,"author":6245,"provisional":5945,"contact":6374,"extension":7357,"proposal":2063},569,"VK_NV_ray_tracing_validation",{"number":7359,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7233,"extension":7360,"proposal":5945},167,"VK_NV_representative_fragment_test",{"number":7362,"type":6118,"author":6245,"provisional":5945,"contact":6270,"extension":7363,"proposal":5945},95,"VK_NV_sample_mask_override_coverage",{"number":7365,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7219,"extension":7366,"proposal":5945},206,"VK_NV_scissor_exclusive",{"number":7368,"type":6118,"author":6245,"provisional":5945,"contact":6264,"extension":7369,"proposal":5945},564,"VK_NV_shader_atomic_float16_vector",{"number":7371,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7219,"extension":7372,"proposal":5945},205,"VK_NV_shader_image_footprint",{"number":7374,"type":6118,"author":6245,"provisional":5945,"depends":6229,"contact":6581,"extension":7375,"proposal":5945},155,"VK_NV_shader_sm_builtins",{"number":7377,"type":6118,"author":6245,"provisional":5945,"depends":6229,"contact":6264,"extension":7378,"proposal":5945},199,"VK_NV_shader_subgroup_partitioned",{"number":7380,"type":6118,"author":6245,"provisional":5945,"depends":6135,"contact":7219,"extension":7381,"proposal":5945},165,"VK_NV_shading_rate_image",{"number":7383,"type":6118,"author":6245,"provisional":5945,"contact":6581,"extension":7384,"proposal":5945},97,"VK_NV_viewport_array2",{"number":7386,"type":6118,"author":6245,"provisional":5945,"contact":6270,"extension":7387,"proposal":5945},99,"VK_NV_viewport_swizzle",{"number":3374,"type":6118,"author":6245,"promotedto":7153,"provisional":5945,"depends":7281,"platform":6412,"contact":7152,"extension":7389,"proposal":5945},"VK_NV_win32_keyed_mutex",{"number":7391,"type":6118,"author":6393,"provisional":5945,"depends":7392,"contact":6394,"extension":7393,"proposal":5945},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":7395,"type":6118,"author":6393,"provisional":5945,"depends":6395,"contact":6394,"extension":7396,"proposal":5945},520,"VK_QCOM_filter_cubic_weights",{"number":7398,"type":6118,"author":6393,"provisional":5945,"depends":7399,"contact":6394,"extension":7400,"proposal":5945},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":7402,"type":6118,"author":6393,"provisional":5945,"depends":7403,"contact":6394,"extension":7404,"proposal":2063},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":7406,"type":6118,"author":6393,"provisional":5945,"depends":7404,"contact":6394,"extension":7407,"proposal":5945},519,"VK_QCOM_image_processing2",{"number":7409,"type":6118,"author":6393,"provisional":5945,"contact":6394,"extension":7410,"proposal":5945},511,"VK_QCOM_multiview_per_view_render_areas",{"number":7412,"type":6118,"author":6393,"provisional":5945,"depends":6135,"contact":6394,"extension":7413,"proposal":5945},489,"VK_QCOM_multiview_per_view_viewports",{"number":7415,"type":6118,"author":6393,"provisional":5945,"contact":6394,"extension":7416,"proposal":5945},172,"VK_QCOM_render_pass_shader_resolve",{"number":7418,"type":6118,"author":6393,"provisional":5945,"contact":6394,"extension":7419,"proposal":5945},302,"VK_QCOM_render_pass_store_ops",{"number":7421,"type":6118,"author":6393,"provisional":5945,"contact":6394,"extension":7422,"proposal":5945},283,"VK_QCOM_render_pass_transform",{"number":7424,"type":6118,"author":6393,"provisional":5945,"depends":7425,"contact":6394,"extension":7426,"proposal":5945},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":7428,"type":6118,"author":6393,"provisional":5945,"depends":6135,"contact":6394,"extension":7429,"proposal":2063},485,"VK_QCOM_tile_properties",{"number":7431,"type":6118,"author":6393,"provisional":5945,"contact":6394,"extension":7432,"proposal":5945},521,"VK_QCOM_ycbcr_degamma",{"number":7434,"type":6118,"author":7435,"provisional":5945,"depends":6208,"platform":7436,"contact":7437,"extension":7438,"proposal":5945},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":7440,"type":6239,"author":7435,"provisional":5945,"depends":6351,"platform":7436,"contact":7441,"extension":7442,"proposal":5945},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":7444,"type":6118,"author":7445,"provisional":5945,"depends":6135,"contact":6337,"extension":7446,"proposal":5945},486,"SEC","VK_SEC_amigo_profiling",{"number":7448,"type":6118,"author":7449,"provisional":5945,"depends":6135,"specialuse":6309,"contact":6566,"extension":7450,"proposal":5945},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":7452,"type":6118,"author":7449,"promotedto":6531,"provisional":5945,"depends":6529,"specialuse":6309,"contact":6530,"extension":7453,"proposal":5945},352,"VK_VALVE_mutable_descriptor_type",1725732626113]