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