[{"data":1,"prerenderedAt":8694},["ShallowReactive",2],{"Y0uKJPFVpx":3,"VyF3Mmj32r":7189,"N9m89Rcq0G":7367},{"title":4,"description":5,"body":6,"_type":7188,"_id":4},"VK_EXT_shader_object.proposal","This document describes the proposed design for a new extension which aims to comprehensively address problems the pipeline abstraction has created for both applications and implementations.",{"type":7,"children":8,"toc":7165},"root",[9,16,23,28,33,38,43,48,53,58,63,68,73,78,83,88,93,98,104,109,129,134,139,144,149,155,162,205,346,366,371,910,988,1032,1077,1098,1131,1144,1163,1252,1289,1348,1426,1459,1476,1583,1611,1631,1650,1662,1990,2006,2018,2030,2042,2054,2084,2096,2117,2129,2141,2153,2174,2186,2198,2210,2222,2234,2264,2276,2288,2300,2312,2324,2345,2357,2369,2381,2402,2414,2444,2456,2468,2480,2492,2504,2534,2546,2567,2579,2591,2596,2667,2686,2758,2805,2811,2817,2822,2827,3488,3493,3578,3583,3760,3780,3915,3919,4021,4026,4046,4051,4056,4996,5000,6129,6134,6211,6227,6326,6331,6348,6353,6427,6432,6449,6455,6460,6822,6827,6893,6898,6917,6923,6929,6934,6939,6945,6950,6955,6961,6966,6972,6984,6989,7018,7024,7029,7034,7039,7045,7050,7055,7061,7066,7071,7076,7089,7094,7115,7135,7141,7159],{"type":10,"tag":11,"props":12,"children":13},"element","p",{},[14],{"type":15,"value":5},"text",{"type":10,"tag":17,"props":18,"children":20},"h2",{"id":19},"_problem_statement",[21],{"type":15,"value":22},"Problem Statement",{"type":10,"tag":11,"props":24,"children":25},{},[26],{"type":15,"value":27},"When Vulkan 1.0 and its precursor Mantle were originally developed the then-existing shader and state binding models of earlier APIs were beginning to show worrying limitations, both in terms of draw call scaling and driver complexity needed to support them. Application developers were being artificially constrained from accessing the full capabilities of GPUs, and many IHVs were forced to maintain rat’s nests of driver code full of heavy-handed draw time state validation and hacky shader patching, all in the service of simplicity at the API level. IHVs were understandably highly motivated to move away from such API designs.",{"type":10,"tag":11,"props":29,"children":30},{},[31],{"type":15,"value":32},"Enter the new low-level APIs like Mantle and ultimately Vulkan. These APIs set out to reduce driver overhead by exposing lower-level abstractions that would hopefully avoid the need for the draw time state validation and shader patching that was so problematic for IHVs, and so detrimental to performance for applications.",{"type":10,"tag":11,"props":34,"children":35},{},[36],{"type":15,"value":37},"One of the most significant changes to this end was the new concept of pipelines, which promised to shift the burden of the shader state combinatorics out of drivers and into applications, ideally avoiding the need for driver-side draw time state validation and shader patching entirely. The thinking went that application developers would design or redesign their renderers with pipelines in mind, and in so doing they would naturally learn to accomplish their goals with fewer combinations of state.",{"type":10,"tag":11,"props":39,"children":40},{},[41],{"type":15,"value":42},"Implicit in such a design was an assumption that applications would be able to know and provide nearly all of this state upfront. A very limited set of dynamic states was specified for the few pieces of state that had effectively unbounded ranges of values, but otherwise even state that could have been fully dynamic on all implementations was required to be baked into the static pipeline objects. This, the thinking went, would benefit even those implementations where the state was internally dynamic by enabling new possibilities for optimization during shader compilation.",{"type":10,"tag":11,"props":44,"children":45},{},[46],{"type":15,"value":47},"Also implicit in the design of pipelines was an assumption that the driver overhead of the pipeline abstraction would either be negligible, or that it would at least always be outweighed by the performance savings at draw time when compared to earlier APIs. The possibility that either setting dozens of individual pieces of state each time a pipeline is bound or tracking which of those dozens of pieces of state had changed since the previous pipeline bind might cause some implementations to exhibit problematically high overhead at pipeline bind time does not seem to have been a central consideration.",{"type":10,"tag":11,"props":49,"children":50},{},[51],{"type":15,"value":52},"Many of these assumptions have since proven to be unrealistic.",{"type":10,"tag":11,"props":54,"children":55},{},[56],{"type":15,"value":57},"On the application side, many developers considering or implementing Vulkan and similar APIs found them unable to efficiently support important use cases which were easily supportable in earlier APIs. This has not been simply a matter of developers being stuck in an old way of thinking or unwilling to \"rein in\" an unnecessarily large number of state combinations, but a reflection of the reality that the natural design patterns of the most demanding class of applications which use graphics APIs — video games — are inherently and deeply dependent on the very \"dynamism\" that pipelines set out to constrain.",{"type":10,"tag":11,"props":59,"children":60},{},[61],{"type":15,"value":62},"As a result, renderers with a choice of API have largely chosen to avoid Vulkan and its \"pipelined\" contemporaries, while those without a choice have largely just devised workarounds to make these new APIs behave like the old ones — usually in the form of the now nearly ubiquitous hash-n-cache pattern. These applications set various pieces of \"pipeline\" state independently, then hash it all at draw time and use the hash as a key into an application-managed pipeline cache, reusing an existing pipeline if it exists or creating and caching a new one if it does not. In effect, the messy and inefficient parts of GL drivers that pipelines sought to eliminate have simply moved into applications, except without the benefits of implementation specific knowledge which might have reduced their complexity or improved their performance.",{"type":10,"tag":11,"props":64,"children":65},{},[66],{"type":15,"value":67},"This is not just a problem of \"legacy\" application code where it might be viable for the API to wait it out until application codebases are rewritten or replaced. Applications need the features they need, and are unlikely to remove features they need just to satisfy what they know to be artificial limitations imposed by a graphics API’s made-up abstraction. This is especially true for developers working on platforms where the pipeline API does not offer substantial performance benefits over other APIs that do not share the same limitations.",{"type":10,"tag":11,"props":69,"children":70},{},[71],{"type":15,"value":72},"On the driver side, pipelines have provided some of their desired benefits for some implementations, but for others they have largely just shifted draw time overhead to pipeline bind time (while in some cases still not entirely eliminating the draw time overhead in the first place). Implementations where nearly all \"pipeline\" state is internally dynamic are forced to either redundantly re-bind all of this state each time a pipeline is bound, or to track what state has changed from pipeline to pipeline — either of which creates considerable overhead on CPU-constrained platforms.",{"type":10,"tag":11,"props":74,"children":75},{},[76],{"type":15,"value":77},"For certain implementations, the pipeline abstraction has also locked away a significant amount of the flexibility supported by their hardware, thereby paradoxically leaving many of their capabilities inaccessible in the newer and ostensibly \"low level\" API, though still accessible through older, high level ones. In effect, this is a return to the old problem of the graphics API artificially constraining applications from accessing the full capabilities of the GPU, only on a different axis.",{"type":10,"tag":11,"props":79,"children":80},{},[81],{"type":15,"value":82},"Finally, on fixed hardware platforms like game consoles and embedded systems pipelines have created some additional and unique challenges. These platforms tend to have limited CPU performance, memory, and storage capacity all at the same time. Because of this it is generally not desirable for applications on these platforms to waste storage space shipping both uncompiled SPIR-V and precompiled pipeline caches, however it is also not desirable to compile the same shaders from scratch on each system (even if they could be cached for subsequent runs). Also, the hardware and even driver versions on these systems are typically known in advance, and drivers might only ever change in tandem with applications. Vulkan applications on these systems are forced to waste precious storage space on not only shipping both SPIR-V and pipeline cached versions of their shaders, but on their pipeline caches containing potentially large numbers of slightly differently optimized permutations of the same shader code, with only minor differences in pipeline state (arguably this last point is a compression problem, but opaque pipeline caches mostly leave applications at the mercy of the driver to solve it for them).",{"type":10,"tag":11,"props":84,"children":85},{},[86],{"type":15,"value":87},"Fortunately, some of these problems have been acknowledged and various efforts have already begun to address several of them.",{"type":10,"tag":11,"props":89,"children":90},{},[91],{"type":15,"value":92},"These existing efforts have mainly chosen to tackle problems through the lens of existing hash-n-cache type application architectures, and have focused on those problems which are most acute at pipeline compile time. Their goals have included things like reducing pipeline counts, improving the usability and efficiency of pipeline caches, and introducing more granularity to the pipeline compilation and caching process. The extensions they have produced have preferred a targeted, piecemeal, and minimally invasive \"band-aid\" approach over a more holistic \"rip off the band-aid\" redesign.",{"type":10,"tag":11,"props":94,"children":95},{},[96],{"type":15,"value":97},"Such efforts have undoubtedly produced valuable improvements, but they have left the class of problems which manifest at bind time largely unaddressed. It might be possible to continue the existing piecemeal approach with a refocus onto bind time, but the solution space afforded by this kind of approach would necessarily remain constrained by the design decisions of the past.",{"type":10,"tag":17,"props":99,"children":101},{"id":100},"_solution_space",[102],{"type":15,"value":103},"Solution Space",{"type":10,"tag":11,"props":105,"children":106},{},[107],{"type":15,"value":108},"Several approaches are immediately apparent:",{"type":10,"tag":110,"props":111,"children":112},"ol",{},[113,119,124],{"type":10,"tag":114,"props":115,"children":116},"li",{},[117],{"type":15,"value":118},"Extend the existing graphics pipeline library concept somehow, perhaps by adding optional new, more granular library types and/or making pipeline binaries directly bindable without needing to be explicitly linked into a pipeline object",{"type":10,"tag":114,"props":120,"children":121},{},[122],{"type":15,"value":123},"Continue to expose more (maybe optional) dynamic state to minimize the number of pipeline objects needed",{"type":10,"tag":114,"props":125,"children":126},{},[127],{"type":15,"value":128},"Abandon pipelines entirely and introduce new functionality to compile and bind shaders directly",{"type":10,"tag":11,"props":130,"children":131},{},[132],{"type":15,"value":133},"Option 1 is a natural extension of recent efforts and requires relatively few API changes, but it adds even more complexity to the already very complex pipeline concept, while also failing to adequately address significant parts of the problem. While directly bindable pipeline libraries do reduce the dimensionality of pipeline combinatorics, they do not provide any meaningful absolute CPU performance improvement at pipeline bind time. The total overhead of binding N different pipeline libraries is still roughly on par with the overhead of binding a single (monolithic or linked) pipeline.",{"type":10,"tag":11,"props":135,"children":136},{},[137],{"type":15,"value":138},"Option 2 also requires relatively few API changes and would do more to address bind time CPU performance than option 1, but this option is limited in both the class of issues it can address and its portability across implementations. Much of the universally supportable \"low hanging fruit\" dynamic state has already been exposed by the existing extended dynamic state extensions, and the remaining state is mostly not universally dynamic. Exposing states A and B as dynamic on one implementation and states B and C on another is still valuable, but it limits this approach’s benefits for simplifying application architectures. Even though this option is not a complete solution, it can and should be pursued in parallel with other efforts — both for its own sake and as a potential foundation for more a comprehensive solution.",{"type":10,"tag":11,"props":140,"children":141},{},[142],{"type":15,"value":143},"Option 3 is more radical, but brings the API design more in line with developer expectations. The pipeline abstraction has been a consistent problem for many developers trying to use Vulkan since its inception, and this option can produce a cleaner, more user-friendly abstraction that bypasses the complexity of pipelines. With the benefit of years of hindsight and broader Working Group knowledge about the constraints of each others' implementations, it can aim to achieve a design which better balances API simplicity with adherence to the explicit design ethos of Vulkan.",{"type":10,"tag":11,"props":145,"children":146},{},[147],{"type":15,"value":148},"This proposal focuses on option 3, for the reasons outlined above.",{"type":10,"tag":17,"props":150,"children":152},{"id":151},"_proposal",[153],{"type":15,"value":154},"Proposal",{"type":10,"tag":156,"props":157,"children":159},"h3",{"id":158},"_shaders",[160],{"type":15,"value":161},"Shaders",{"type":10,"tag":11,"props":163,"children":164},{},[165,167,174,176,181,183,188,190,195,197,203],{"type":15,"value":166},"This extension introduces a new object type ",{"type":10,"tag":168,"props":169,"children":171},"code",{"className":170},[],[172],{"type":15,"value":173},"VkShaderEXT",{"type":15,"value":175}," which represents a single compiled shader stage. ",{"type":10,"tag":168,"props":177,"children":179},{"className":178},[],[180],{"type":15,"value":173},{"type":15,"value":182}," objects may be created either independently or linked with other ",{"type":10,"tag":168,"props":184,"children":186},{"className":185},[],[187],{"type":15,"value":173},{"type":15,"value":189}," objects created at the same time. To create ",{"type":10,"tag":168,"props":191,"children":193},{"className":192},[],[194],{"type":15,"value":173},{"type":15,"value":196}," objects, applications call ",{"type":10,"tag":168,"props":198,"children":200},{"className":199},[],[201],{"type":15,"value":202},"vkCreateShadersEXT()",{"type":15,"value":204},":",{"type":10,"tag":206,"props":207,"children":212},"pre",{"className":208,"code":209,"language":210,"meta":211,"style":211},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkCreateShadersEXT(\n VkDevice device,\n uint32_t createInfoCount,\n VkShaderCreateInfoEXT* pCreateInfos,\n VkAllocationCallbacks* pAllocator,\n VkShaderEXT* pShaders);\n","c","",[213],{"type":10,"tag":168,"props":214,"children":215},{"__ignoreMap":211},[216,239,259,278,301,323],{"type":10,"tag":217,"props":218,"children":221},"span",{"class":219,"line":220},"line",1,[222,228,234],{"type":10,"tag":217,"props":223,"children":225},{"style":224},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[226],{"type":15,"value":227},"VkResult ",{"type":10,"tag":217,"props":229,"children":231},{"style":230},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[232],{"type":15,"value":233},"vkCreateShadersEXT",{"type":10,"tag":217,"props":235,"children":236},{"style":224},[237],{"type":15,"value":238},"(\n",{"type":10,"tag":217,"props":240,"children":242},{"class":219,"line":241},2,[243,248,254],{"type":10,"tag":217,"props":244,"children":245},{"style":224},[246],{"type":15,"value":247}," VkDevice ",{"type":10,"tag":217,"props":249,"children":251},{"style":250},"--shiki-default:#953800;--shiki-dark:#FFA657",[252],{"type":15,"value":253},"device",{"type":10,"tag":217,"props":255,"children":256},{"style":224},[257],{"type":15,"value":258},",\n",{"type":10,"tag":217,"props":260,"children":262},{"class":219,"line":261},3,[263,269,274],{"type":10,"tag":217,"props":264,"children":266},{"style":265},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[267],{"type":15,"value":268}," uint32_t",{"type":10,"tag":217,"props":270,"children":271},{"style":250},[272],{"type":15,"value":273}," createInfoCount",{"type":10,"tag":217,"props":275,"children":276},{"style":224},[277],{"type":15,"value":258},{"type":10,"tag":217,"props":279,"children":281},{"class":219,"line":280},4,[282,287,292,297],{"type":10,"tag":217,"props":283,"children":284},{"style":224},[285],{"type":15,"value":286}," VkShaderCreateInfoEXT",{"type":10,"tag":217,"props":288,"children":289},{"style":265},[290],{"type":15,"value":291},"*",{"type":10,"tag":217,"props":293,"children":294},{"style":250},[295],{"type":15,"value":296}," pCreateInfos",{"type":10,"tag":217,"props":298,"children":299},{"style":224},[300],{"type":15,"value":258},{"type":10,"tag":217,"props":302,"children":304},{"class":219,"line":303},5,[305,310,314,319],{"type":10,"tag":217,"props":306,"children":307},{"style":224},[308],{"type":15,"value":309}," VkAllocationCallbacks",{"type":10,"tag":217,"props":311,"children":312},{"style":265},[313],{"type":15,"value":291},{"type":10,"tag":217,"props":315,"children":316},{"style":250},[317],{"type":15,"value":318}," pAllocator",{"type":10,"tag":217,"props":320,"children":321},{"style":224},[322],{"type":15,"value":258},{"type":10,"tag":217,"props":324,"children":326},{"class":219,"line":325},6,[327,332,336,341],{"type":10,"tag":217,"props":328,"children":329},{"style":224},[330],{"type":15,"value":331}," VkShaderEXT",{"type":10,"tag":217,"props":333,"children":334},{"style":265},[335],{"type":15,"value":291},{"type":10,"tag":217,"props":337,"children":338},{"style":250},[339],{"type":15,"value":340}," pShaders",{"type":10,"tag":217,"props":342,"children":343},{"style":224},[344],{"type":15,"value":345},");\n",{"type":10,"tag":11,"props":347,"children":348},{},[349,351,356,358,364],{"type":15,"value":350},"This function compiles the source code for one or more shader stages into ",{"type":10,"tag":168,"props":352,"children":354},{"className":353},[],[355],{"type":15,"value":173},{"type":15,"value":357}," objects. Whenever ",{"type":10,"tag":168,"props":359,"children":361},{"className":360},[],[362],{"type":15,"value":363},"createInfoCount",{"type":15,"value":365}," is greater than one, the shaders being created may optionally be linked together. Linking allows the implementation to perform cross-stage optimizations based on a promise by the application that the linked shaders will always be used together.",{"type":10,"tag":11,"props":367,"children":368},{},[369],{"type":15,"value":370},"Though a set of linked shaders may perform anywhere between the same to substantially better than equivalent unlinked shaders, this tradeoff is left to the application and linking is never mandatory.",{"type":10,"tag":206,"props":372,"children":374},{"className":208,"code":373,"language":210,"meta":211,"style":211},"typedef enum VkShaderCreateFlagBitsEXT {\n VK_SHADER_CREATE_LINK_STAGE_BIT_EXT = 0x00000001,\n VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT = 0x00000002,\n VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT = 0x00000004,\n VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT = 0x00000008,\n VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT = 0x00000010,\n VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT = 0x00000020,\n VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = 0x00000040\n} VkShaderCreateFlagBitsEXT;\ntypedef VkFlags VkShaderCreateFlagsEXT;\n\ntypedef enum VkShaderCodeTypeEXT {\n VK_SHADER_CODE_TYPE_BINARY_EXT = 0,\n VK_SHADER_CODE_TYPE_SPIRV_EXT = 1\n} VkShaderCodeTypeEXT;\n\ntypedef struct VkShaderCreateInfoEXT {\n VkStructureType sType;\n const void* pNext;\n VkShaderCreateFlagsEXT flags;\n VkShaderStageFlagBits stage;\n VkShaderStageFlags nextStage;\n VkShaderCodeTypeEXT codeType;\n size_t codeSize;\n const void* pCode;\n const char* pName;\n uint32_t setLayoutCount;\n const VkDescriptorSetLayout* pSetLayouts;\n uint32_t pushConstantRangeCount;\n const VkPushConstantRange* pPushConstantRanges;\n const VkSpecializationInfo* pSpecializationInfo;\n} VkShaderCreateInfoEXT;\n",[375],{"type":10,"tag":168,"props":376,"children":377},{"__ignoreMap":211},[378,396,424,449,474,499,524,550,572,581,594,604,621,643,661,670,678,696,705,724,733,742,751,760,774,791,809,822,844,857,879,901],{"type":10,"tag":217,"props":379,"children":380},{"class":219,"line":220},[381,386,391],{"type":10,"tag":217,"props":382,"children":383},{"style":265},[384],{"type":15,"value":385},"typedef",{"type":10,"tag":217,"props":387,"children":388},{"style":265},[389],{"type":15,"value":390}," enum",{"type":10,"tag":217,"props":392,"children":393},{"style":224},[394],{"type":15,"value":395}," VkShaderCreateFlagBitsEXT {\n",{"type":10,"tag":217,"props":397,"children":398},{"class":219,"line":241},[399,404,409,414,420],{"type":10,"tag":217,"props":400,"children":401},{"style":224},[402],{"type":15,"value":403}," VK_SHADER_CREATE_LINK_STAGE_BIT_EXT ",{"type":10,"tag":217,"props":405,"children":406},{"style":265},[407],{"type":15,"value":408},"=",{"type":10,"tag":217,"props":410,"children":411},{"style":265},[412],{"type":15,"value":413}," 0x",{"type":10,"tag":217,"props":415,"children":417},{"style":416},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[418],{"type":15,"value":419},"00000001",{"type":10,"tag":217,"props":421,"children":422},{"style":224},[423],{"type":15,"value":258},{"type":10,"tag":217,"props":425,"children":426},{"class":219,"line":261},[427,432,436,440,445],{"type":10,"tag":217,"props":428,"children":429},{"style":224},[430],{"type":15,"value":431}," VK_SHADER_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT ",{"type":10,"tag":217,"props":433,"children":434},{"style":265},[435],{"type":15,"value":408},{"type":10,"tag":217,"props":437,"children":438},{"style":265},[439],{"type":15,"value":413},{"type":10,"tag":217,"props":441,"children":442},{"style":416},[443],{"type":15,"value":444},"00000002",{"type":10,"tag":217,"props":446,"children":447},{"style":224},[448],{"type":15,"value":258},{"type":10,"tag":217,"props":450,"children":451},{"class":219,"line":280},[452,457,461,465,470],{"type":10,"tag":217,"props":453,"children":454},{"style":224},[455],{"type":15,"value":456}," VK_SHADER_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT ",{"type":10,"tag":217,"props":458,"children":459},{"style":265},[460],{"type":15,"value":408},{"type":10,"tag":217,"props":462,"children":463},{"style":265},[464],{"type":15,"value":413},{"type":10,"tag":217,"props":466,"children":467},{"style":416},[468],{"type":15,"value":469},"00000004",{"type":10,"tag":217,"props":471,"children":472},{"style":224},[473],{"type":15,"value":258},{"type":10,"tag":217,"props":475,"children":476},{"class":219,"line":303},[477,482,486,490,495],{"type":10,"tag":217,"props":478,"children":479},{"style":224},[480],{"type":15,"value":481}," VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT ",{"type":10,"tag":217,"props":483,"children":484},{"style":265},[485],{"type":15,"value":408},{"type":10,"tag":217,"props":487,"children":488},{"style":265},[489],{"type":15,"value":413},{"type":10,"tag":217,"props":491,"children":492},{"style":416},[493],{"type":15,"value":494},"00000008",{"type":10,"tag":217,"props":496,"children":497},{"style":224},[498],{"type":15,"value":258},{"type":10,"tag":217,"props":500,"children":501},{"class":219,"line":325},[502,507,511,515,520],{"type":10,"tag":217,"props":503,"children":504},{"style":224},[505],{"type":15,"value":506}," VK_SHADER_CREATE_DISPATCH_BASE_BIT_EXT ",{"type":10,"tag":217,"props":508,"children":509},{"style":265},[510],{"type":15,"value":408},{"type":10,"tag":217,"props":512,"children":513},{"style":265},[514],{"type":15,"value":413},{"type":10,"tag":217,"props":516,"children":517},{"style":416},[518],{"type":15,"value":519},"00000010",{"type":10,"tag":217,"props":521,"children":522},{"style":224},[523],{"type":15,"value":258},{"type":10,"tag":217,"props":525,"children":527},{"class":219,"line":526},7,[528,533,537,541,546],{"type":10,"tag":217,"props":529,"children":530},{"style":224},[531],{"type":15,"value":532}," VK_SHADER_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_EXT ",{"type":10,"tag":217,"props":534,"children":535},{"style":265},[536],{"type":15,"value":408},{"type":10,"tag":217,"props":538,"children":539},{"style":265},[540],{"type":15,"value":413},{"type":10,"tag":217,"props":542,"children":543},{"style":416},[544],{"type":15,"value":545},"00000020",{"type":10,"tag":217,"props":547,"children":548},{"style":224},[549],{"type":15,"value":258},{"type":10,"tag":217,"props":551,"children":553},{"class":219,"line":552},8,[554,559,563,567],{"type":10,"tag":217,"props":555,"children":556},{"style":224},[557],{"type":15,"value":558}," VK_SHADER_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT ",{"type":10,"tag":217,"props":560,"children":561},{"style":265},[562],{"type":15,"value":408},{"type":10,"tag":217,"props":564,"children":565},{"style":265},[566],{"type":15,"value":413},{"type":10,"tag":217,"props":568,"children":569},{"style":416},[570],{"type":15,"value":571},"00000040\n",{"type":10,"tag":217,"props":573,"children":575},{"class":219,"line":574},9,[576],{"type":10,"tag":217,"props":577,"children":578},{"style":224},[579],{"type":15,"value":580},"} VkShaderCreateFlagBitsEXT;\n",{"type":10,"tag":217,"props":582,"children":584},{"class":219,"line":583},10,[585,589],{"type":10,"tag":217,"props":586,"children":587},{"style":265},[588],{"type":15,"value":385},{"type":10,"tag":217,"props":590,"children":591},{"style":224},[592],{"type":15,"value":593}," VkFlags VkShaderCreateFlagsEXT;\n",{"type":10,"tag":217,"props":595,"children":597},{"class":219,"line":596},11,[598],{"type":10,"tag":217,"props":599,"children":601},{"emptyLinePlaceholder":600},true,[602],{"type":15,"value":603},"\n",{"type":10,"tag":217,"props":605,"children":607},{"class":219,"line":606},12,[608,612,616],{"type":10,"tag":217,"props":609,"children":610},{"style":265},[611],{"type":15,"value":385},{"type":10,"tag":217,"props":613,"children":614},{"style":265},[615],{"type":15,"value":390},{"type":10,"tag":217,"props":617,"children":618},{"style":224},[619],{"type":15,"value":620}," VkShaderCodeTypeEXT {\n",{"type":10,"tag":217,"props":622,"children":624},{"class":219,"line":623},13,[625,630,634,639],{"type":10,"tag":217,"props":626,"children":627},{"style":224},[628],{"type":15,"value":629}," VK_SHADER_CODE_TYPE_BINARY_EXT ",{"type":10,"tag":217,"props":631,"children":632},{"style":265},[633],{"type":15,"value":408},{"type":10,"tag":217,"props":635,"children":636},{"style":416},[637],{"type":15,"value":638}," 0",{"type":10,"tag":217,"props":640,"children":641},{"style":224},[642],{"type":15,"value":258},{"type":10,"tag":217,"props":644,"children":646},{"class":219,"line":645},14,[647,652,656],{"type":10,"tag":217,"props":648,"children":649},{"style":224},[650],{"type":15,"value":651}," VK_SHADER_CODE_TYPE_SPIRV_EXT ",{"type":10,"tag":217,"props":653,"children":654},{"style":265},[655],{"type":15,"value":408},{"type":10,"tag":217,"props":657,"children":658},{"style":416},[659],{"type":15,"value":660}," 1\n",{"type":10,"tag":217,"props":662,"children":664},{"class":219,"line":663},15,[665],{"type":10,"tag":217,"props":666,"children":667},{"style":224},[668],{"type":15,"value":669},"} VkShaderCodeTypeEXT;\n",{"type":10,"tag":217,"props":671,"children":673},{"class":219,"line":672},16,[674],{"type":10,"tag":217,"props":675,"children":676},{"emptyLinePlaceholder":600},[677],{"type":15,"value":603},{"type":10,"tag":217,"props":679,"children":681},{"class":219,"line":680},17,[682,686,691],{"type":10,"tag":217,"props":683,"children":684},{"style":265},[685],{"type":15,"value":385},{"type":10,"tag":217,"props":687,"children":688},{"style":265},[689],{"type":15,"value":690}," struct",{"type":10,"tag":217,"props":692,"children":693},{"style":224},[694],{"type":15,"value":695}," VkShaderCreateInfoEXT {\n",{"type":10,"tag":217,"props":697,"children":699},{"class":219,"line":698},18,[700],{"type":10,"tag":217,"props":701,"children":702},{"style":224},[703],{"type":15,"value":704}," VkStructureType sType;\n",{"type":10,"tag":217,"props":706,"children":708},{"class":219,"line":707},19,[709,714,719],{"type":10,"tag":217,"props":710,"children":711},{"style":265},[712],{"type":15,"value":713}," const",{"type":10,"tag":217,"props":715,"children":716},{"style":265},[717],{"type":15,"value":718}," void*",{"type":10,"tag":217,"props":720,"children":721},{"style":224},[722],{"type":15,"value":723}," pNext;\n",{"type":10,"tag":217,"props":725,"children":727},{"class":219,"line":726},20,[728],{"type":10,"tag":217,"props":729,"children":730},{"style":224},[731],{"type":15,"value":732}," VkShaderCreateFlagsEXT flags;\n",{"type":10,"tag":217,"props":734,"children":736},{"class":219,"line":735},21,[737],{"type":10,"tag":217,"props":738,"children":739},{"style":224},[740],{"type":15,"value":741}," VkShaderStageFlagBits stage;\n",{"type":10,"tag":217,"props":743,"children":745},{"class":219,"line":744},22,[746],{"type":10,"tag":217,"props":747,"children":748},{"style":224},[749],{"type":15,"value":750}," VkShaderStageFlags nextStage;\n",{"type":10,"tag":217,"props":752,"children":754},{"class":219,"line":753},23,[755],{"type":10,"tag":217,"props":756,"children":757},{"style":224},[758],{"type":15,"value":759}," VkShaderCodeTypeEXT codeType;\n",{"type":10,"tag":217,"props":761,"children":763},{"class":219,"line":762},24,[764,769],{"type":10,"tag":217,"props":765,"children":766},{"style":265},[767],{"type":15,"value":768}," size_t",{"type":10,"tag":217,"props":770,"children":771},{"style":224},[772],{"type":15,"value":773}," codeSize;\n",{"type":10,"tag":217,"props":775,"children":777},{"class":219,"line":776},25,[778,782,786],{"type":10,"tag":217,"props":779,"children":780},{"style":265},[781],{"type":15,"value":713},{"type":10,"tag":217,"props":783,"children":784},{"style":265},[785],{"type":15,"value":718},{"type":10,"tag":217,"props":787,"children":788},{"style":224},[789],{"type":15,"value":790}," pCode;\n",{"type":10,"tag":217,"props":792,"children":794},{"class":219,"line":793},26,[795,799,804],{"type":10,"tag":217,"props":796,"children":797},{"style":265},[798],{"type":15,"value":713},{"type":10,"tag":217,"props":800,"children":801},{"style":265},[802],{"type":15,"value":803}," char*",{"type":10,"tag":217,"props":805,"children":806},{"style":224},[807],{"type":15,"value":808}," pName;\n",{"type":10,"tag":217,"props":810,"children":812},{"class":219,"line":811},27,[813,817],{"type":10,"tag":217,"props":814,"children":815},{"style":265},[816],{"type":15,"value":268},{"type":10,"tag":217,"props":818,"children":819},{"style":224},[820],{"type":15,"value":821}," setLayoutCount;\n",{"type":10,"tag":217,"props":823,"children":825},{"class":219,"line":824},28,[826,830,835,839],{"type":10,"tag":217,"props":827,"children":828},{"style":265},[829],{"type":15,"value":713},{"type":10,"tag":217,"props":831,"children":832},{"style":224},[833],{"type":15,"value":834}," VkDescriptorSetLayout",{"type":10,"tag":217,"props":836,"children":837},{"style":265},[838],{"type":15,"value":291},{"type":10,"tag":217,"props":840,"children":841},{"style":224},[842],{"type":15,"value":843}," pSetLayouts;\n",{"type":10,"tag":217,"props":845,"children":847},{"class":219,"line":846},29,[848,852],{"type":10,"tag":217,"props":849,"children":850},{"style":265},[851],{"type":15,"value":268},{"type":10,"tag":217,"props":853,"children":854},{"style":224},[855],{"type":15,"value":856}," pushConstantRangeCount;\n",{"type":10,"tag":217,"props":858,"children":860},{"class":219,"line":859},30,[861,865,870,874],{"type":10,"tag":217,"props":862,"children":863},{"style":265},[864],{"type":15,"value":713},{"type":10,"tag":217,"props":866,"children":867},{"style":224},[868],{"type":15,"value":869}," VkPushConstantRange",{"type":10,"tag":217,"props":871,"children":872},{"style":265},[873],{"type":15,"value":291},{"type":10,"tag":217,"props":875,"children":876},{"style":224},[877],{"type":15,"value":878}," pPushConstantRanges;\n",{"type":10,"tag":217,"props":880,"children":882},{"class":219,"line":881},31,[883,887,892,896],{"type":10,"tag":217,"props":884,"children":885},{"style":265},[886],{"type":15,"value":713},{"type":10,"tag":217,"props":888,"children":889},{"style":224},[890],{"type":15,"value":891}," VkSpecializationInfo",{"type":10,"tag":217,"props":893,"children":894},{"style":265},[895],{"type":15,"value":291},{"type":10,"tag":217,"props":897,"children":898},{"style":224},[899],{"type":15,"value":900}," pSpecializationInfo;\n",{"type":10,"tag":217,"props":902,"children":904},{"class":219,"line":903},32,[905],{"type":10,"tag":217,"props":906,"children":907},{"style":224},[908],{"type":15,"value":909},"} VkShaderCreateInfoEXT;\n",{"type":10,"tag":11,"props":911,"children":912},{},[913,915,921,923,929,931,936,938,943,945,950,952,957,959,965,967,972,974,979,981,986],{"type":15,"value":914},"To specify that shaders should be linked, include the ",{"type":10,"tag":168,"props":916,"children":918},{"className":917},[],[919],{"type":15,"value":920},"VK_SHADER_CREATE_LINK_STAGE_BIT_EXT",{"type":15,"value":922}," flag in each of the ",{"type":10,"tag":168,"props":924,"children":926},{"className":925},[],[927],{"type":15,"value":928},"VkShaderCreateInfoEXT",{"type":15,"value":930}," structures passed to ",{"type":10,"tag":168,"props":932,"children":934},{"className":933},[],[935],{"type":15,"value":202},{"type":15,"value":937},". The presence or absence of ",{"type":10,"tag":168,"props":939,"children":941},{"className":940},[],[942],{"type":15,"value":920},{"type":15,"value":944}," must match across all ",{"type":10,"tag":168,"props":946,"children":948},{"className":947},[],[949],{"type":15,"value":928},{"type":15,"value":951}," structures passed to a single ",{"type":10,"tag":168,"props":953,"children":955},{"className":954},[],[956],{"type":15,"value":202},{"type":15,"value":958}," call: i.e., if any member of ",{"type":10,"tag":168,"props":960,"children":962},{"className":961},[],[963],{"type":15,"value":964},"pCreateInfos",{"type":15,"value":966}," includes ",{"type":10,"tag":168,"props":968,"children":970},{"className":969},[],[971],{"type":15,"value":920},{"type":15,"value":973}," then all other members must include it too. ",{"type":10,"tag":168,"props":975,"children":977},{"className":976},[],[978],{"type":15,"value":920},{"type":15,"value":980}," is ignored if ",{"type":10,"tag":168,"props":982,"children":984},{"className":983},[],[985],{"type":15,"value":363},{"type":15,"value":987}," is one, and a shader created this way is considered unlinked.",{"type":10,"tag":11,"props":989,"children":990},{},[991,993,999,1001,1007,1009,1015,1017,1022,1024,1030],{"type":15,"value":992},"The stage of the shader being compiled is specified by ",{"type":10,"tag":168,"props":994,"children":996},{"className":995},[],[997],{"type":15,"value":998},"stage",{"type":15,"value":1000},". Applications must also specify which stage types will be allowed to immediately follow the shader being created. For example, a vertex shader might specify a ",{"type":10,"tag":168,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":15,"value":1006},"nextStage",{"type":15,"value":1008}," value of ",{"type":10,"tag":168,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":15,"value":1014},"VK_SHADER_STAGE_FRAGMENT_BIT",{"type":15,"value":1016}," to indicate that the vertex shader being created will always be followed by a fragment shader (and never a geometry or tessellation shader). Applications that do not know this information at shader creation time or need the same shader to be compatible with multiple subsequent stages can specify a mask that includes as many valid next stages as they wish. For example, a vertex shader can specify a ",{"type":10,"tag":168,"props":1018,"children":1020},{"className":1019},[],[1021],{"type":15,"value":1006},{"type":15,"value":1023}," mask of ",{"type":10,"tag":168,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":15,"value":1029},"VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_FRAGMENT_BIT",{"type":15,"value":1031}," to indicate that the next stage could be either a geometry shader or fragment shader (but not a tessellation shader).",{"type":10,"tag":1033,"props":1034,"children":1035},"note",{},[1036],{"type":10,"tag":11,"props":1037,"children":1038},{},[1039,1041,1046,1048,1054,1056,1061,1063,1068,1070,1075],{"type":15,"value":1040},"Certain implementations may incur a compile time and/or memory usage penalty whenever more than one stage bit is set in ",{"type":10,"tag":168,"props":1042,"children":1044},{"className":1043},[],[1045],{"type":15,"value":1006},{"type":15,"value":1047},", so applications should strive to set the minimum number of bits they are able to. However, applications should ",{"type":10,"tag":1049,"props":1050,"children":1051},"em",{},[1052],{"type":15,"value":1053},"not",{"type":15,"value":1055}," interpret this advice to mean that they should create multiple ",{"type":10,"tag":168,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":15,"value":173},{"type":15,"value":1062}," objects that differ only by the value of ",{"type":10,"tag":168,"props":1064,"children":1066},{"className":1065},[],[1067],{"type":15,"value":1006},{"type":15,"value":1069},", as this will incur unnecessarily overhead on implementations where ",{"type":10,"tag":168,"props":1071,"children":1073},{"className":1072},[],[1074],{"type":15,"value":1006},{"type":15,"value":1076}," is ignored.",{"type":10,"tag":11,"props":1078,"children":1079},{},[1080,1082,1088,1090,1096],{"type":15,"value":1081},"The shader code is pointed to by ",{"type":10,"tag":168,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":15,"value":1087},"pCode",{"type":15,"value":1089}," and may be provided as SPIR-V, or in an opaque implementation defined binary form specific to the physical device. The format of the shader code is specified by ",{"type":10,"tag":168,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":15,"value":1095},"codeType",{"type":15,"value":1097},".",{"type":10,"tag":11,"props":1099,"children":1100},{},[1101,1103,1108,1110,1115,1117,1122,1124,1129],{"type":15,"value":1102},"The ",{"type":10,"tag":168,"props":1104,"children":1106},{"className":1105},[],[1107],{"type":15,"value":1095},{"type":15,"value":1109}," of all ",{"type":10,"tag":168,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":15,"value":928},{"type":15,"value":1116}," structures passed to a ",{"type":10,"tag":168,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":15,"value":202},{"type":15,"value":1123}," call must match. This also means that only shaders created with the same ",{"type":10,"tag":168,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":15,"value":1095},{"type":15,"value":1130}," may be linked together.",{"type":10,"tag":11,"props":1132,"children":1133},{},[1134,1136,1142],{"type":15,"value":1135},"Descriptor set layouts and push constant ranges used by each shader are specified directly (not via a ",{"type":10,"tag":168,"props":1137,"children":1139},{"className":1138},[],[1140],{"type":15,"value":1141},"VkPipelineLayout",{"type":15,"value":1143},"), though multiple stages can of course point to the same structures.",{"type":10,"tag":11,"props":1145,"children":1146},{},[1147,1149,1154,1156,1162],{"type":15,"value":1148},"Any time after a ",{"type":10,"tag":168,"props":1150,"children":1152},{"className":1151},[],[1153],{"type":15,"value":173},{"type":15,"value":1155}," object has been created, its binary shader code can be queried using ",{"type":10,"tag":168,"props":1157,"children":1159},{"className":1158},[],[1160],{"type":15,"value":1161},"vkGetShaderBinaryDataEXT()",{"type":15,"value":204},{"type":10,"tag":206,"props":1164,"children":1166},{"className":208,"code":1165,"language":210,"meta":211,"style":211},"VkResult vkGetShaderBinaryDataEXT(\n VkDevice device,\n VkShaderEXT shader,\n size_t* pDataSize,\n void* pData);\n",[1167],{"type":10,"tag":168,"props":1168,"children":1169},{"__ignoreMap":211},[1170,1186,1201,1218,1235],{"type":10,"tag":217,"props":1171,"children":1172},{"class":219,"line":220},[1173,1177,1182],{"type":10,"tag":217,"props":1174,"children":1175},{"style":224},[1176],{"type":15,"value":227},{"type":10,"tag":217,"props":1178,"children":1179},{"style":230},[1180],{"type":15,"value":1181},"vkGetShaderBinaryDataEXT",{"type":10,"tag":217,"props":1183,"children":1184},{"style":224},[1185],{"type":15,"value":238},{"type":10,"tag":217,"props":1187,"children":1188},{"class":219,"line":241},[1189,1193,1197],{"type":10,"tag":217,"props":1190,"children":1191},{"style":224},[1192],{"type":15,"value":247},{"type":10,"tag":217,"props":1194,"children":1195},{"style":250},[1196],{"type":15,"value":253},{"type":10,"tag":217,"props":1198,"children":1199},{"style":224},[1200],{"type":15,"value":258},{"type":10,"tag":217,"props":1202,"children":1203},{"class":219,"line":261},[1204,1209,1214],{"type":10,"tag":217,"props":1205,"children":1206},{"style":224},[1207],{"type":15,"value":1208}," VkShaderEXT ",{"type":10,"tag":217,"props":1210,"children":1211},{"style":250},[1212],{"type":15,"value":1213},"shader",{"type":10,"tag":217,"props":1215,"children":1216},{"style":224},[1217],{"type":15,"value":258},{"type":10,"tag":217,"props":1219,"children":1220},{"class":219,"line":280},[1221,1226,1231],{"type":10,"tag":217,"props":1222,"children":1223},{"style":265},[1224],{"type":15,"value":1225}," size_t*",{"type":10,"tag":217,"props":1227,"children":1228},{"style":250},[1229],{"type":15,"value":1230}," pDataSize",{"type":10,"tag":217,"props":1232,"children":1233},{"style":224},[1234],{"type":15,"value":258},{"type":10,"tag":217,"props":1236,"children":1237},{"class":219,"line":303},[1238,1243,1248],{"type":10,"tag":217,"props":1239,"children":1240},{"style":265},[1241],{"type":15,"value":1242}," void*",{"type":10,"tag":217,"props":1244,"children":1245},{"style":250},[1246],{"type":15,"value":1247}," pData",{"type":10,"tag":217,"props":1249,"children":1250},{"style":224},[1251],{"type":15,"value":345},{"type":10,"tag":11,"props":1253,"children":1254},{},[1255,1257,1263,1265,1271,1273,1279,1281,1287],{"type":15,"value":1256},"When ",{"type":10,"tag":168,"props":1258,"children":1260},{"className":1259},[],[1261],{"type":15,"value":1262},"pData",{"type":15,"value":1264}," is ",{"type":10,"tag":168,"props":1266,"children":1268},{"className":1267},[],[1269],{"type":15,"value":1270},"NULL",{"type":15,"value":1272},", ",{"type":10,"tag":168,"props":1274,"children":1276},{"className":1275},[],[1277],{"type":15,"value":1278},"size",{"type":15,"value":1280}," is filled with the number of bytes needed to store the shader’s binary code and ",{"type":10,"tag":168,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":15,"value":1286},"VK_SUCCESS",{"type":15,"value":1288}," is returned.",{"type":10,"tag":11,"props":1290,"children":1291},{},[1292,1293,1298,1300,1305,1306,1311,1313,1318,1320,1325,1327,1332,1334,1339,1341,1347],{"type":15,"value":1256},{"type":10,"tag":168,"props":1294,"children":1296},{"className":1295},[],[1297],{"type":15,"value":1262},{"type":15,"value":1299}," is non-",{"type":10,"tag":168,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":15,"value":1270},{"type":15,"value":1272},{"type":10,"tag":168,"props":1307,"children":1309},{"className":1308},[],[1310],{"type":15,"value":1278},{"type":15,"value":1312}," points to the application-provided size of ",{"type":10,"tag":168,"props":1314,"children":1316},{"className":1315},[],[1317],{"type":15,"value":1262},{"type":15,"value":1319},". If the provided size is large enough then the location pointed to by ",{"type":10,"tag":168,"props":1321,"children":1323},{"className":1322},[],[1324],{"type":15,"value":1262},{"type":15,"value":1326}," is filled with the shader’s binary code and ",{"type":10,"tag":168,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":15,"value":1286},{"type":15,"value":1333}," is returned, otherwise nothing is written to ",{"type":10,"tag":168,"props":1335,"children":1337},{"className":1336},[],[1338],{"type":15,"value":1262},{"type":15,"value":1340}," and ",{"type":10,"tag":168,"props":1342,"children":1344},{"className":1343},[],[1345],{"type":15,"value":1346},"VK_INCOMPLETE",{"type":15,"value":1288},{"type":10,"tag":11,"props":1349,"children":1350},{},[1351,1353,1358,1360,1365,1367,1373,1375,1381,1383,1388,1390,1396,1398,1403,1405,1410,1412,1417,1419,1425],{"type":15,"value":1352},"The binary shader code returned in ",{"type":10,"tag":168,"props":1354,"children":1356},{"className":1355},[],[1357],{"type":15,"value":1262},{"type":15,"value":1359}," can be saved by the application and used in a future ",{"type":10,"tag":168,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":15,"value":202},{"type":15,"value":1366}," call (including on a different ",{"type":10,"tag":168,"props":1368,"children":1370},{"className":1369},[],[1371],{"type":15,"value":1372},"VkInstance",{"type":15,"value":1374}," and/or ",{"type":10,"tag":168,"props":1376,"children":1378},{"className":1377},[],[1379],{"type":15,"value":1380},"VkDevice",{"type":15,"value":1382},") with a compatible physical device by setting ",{"type":10,"tag":168,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":15,"value":1095},{"type":15,"value":1389}," to ",{"type":10,"tag":168,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":15,"value":1395},"VK_SHADER_CODE_TYPE_BINARY_EXT",{"type":15,"value":1397},". This means that on fixed platforms like game consoles and embedded systems applications need not ship SPIR-V shader code at all. If the binary shader code in any ",{"type":10,"tag":168,"props":1399,"children":1401},{"className":1400},[],[1402],{"type":15,"value":928},{"type":15,"value":1404}," passed to ",{"type":10,"tag":168,"props":1406,"children":1408},{"className":1407},[],[1409],{"type":15,"value":202},{"type":15,"value":1411}," is not compatible with the physical device then the ",{"type":10,"tag":168,"props":1413,"children":1415},{"className":1414},[],[1416],{"type":15,"value":202},{"type":15,"value":1418}," call returns ",{"type":10,"tag":168,"props":1420,"children":1422},{"className":1421},[],[1423],{"type":15,"value":1424},"VK_INCOMPATIBLE_SHADER_BINARY_EXT",{"type":15,"value":1097},{"type":10,"tag":11,"props":1427,"children":1428},{},[1429,1431,1436,1438,1443,1445,1450,1452,1457],{"type":15,"value":1430},"Applications must pass the same values of ",{"type":10,"tag":168,"props":1432,"children":1434},{"className":1433},[],[1435],{"type":15,"value":920},{"type":15,"value":1437}," to a ",{"type":10,"tag":168,"props":1439,"children":1441},{"className":1440},[],[1442],{"type":15,"value":202},{"type":15,"value":1444}," call with a ",{"type":10,"tag":168,"props":1446,"children":1448},{"className":1447},[],[1449],{"type":15,"value":1095},{"type":15,"value":1451}," of ",{"type":10,"tag":168,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":15,"value":1395},{"type":15,"value":1458}," as were passed when those shaders were originally compiled from SPIR-V.",{"type":10,"tag":11,"props":1460,"children":1461},{},[1462,1467,1469,1475],{"type":10,"tag":168,"props":1463,"children":1465},{"className":1464},[],[1466],{"type":15,"value":173},{"type":15,"value":1468}," objects can be bound on a command buffer using ",{"type":10,"tag":168,"props":1470,"children":1472},{"className":1471},[],[1473],{"type":15,"value":1474},"vkCmdBindShadersEXT()",{"type":15,"value":204},{"type":10,"tag":206,"props":1477,"children":1479},{"className":208,"code":1478,"language":210,"meta":211,"style":211},"void vkCmdBindShadersEXT(\n VkCommandBuffer commandBuffer,\n uint32_t stageCount,\n const VkShaderStageFlagBits* pStages,\n const VkShaderEXT* pShaders);\n",[1480],{"type":10,"tag":168,"props":1481,"children":1482},{"__ignoreMap":211},[1483,1500,1517,1533,1558],{"type":10,"tag":217,"props":1484,"children":1485},{"class":219,"line":220},[1486,1491,1496],{"type":10,"tag":217,"props":1487,"children":1488},{"style":265},[1489],{"type":15,"value":1490},"void",{"type":10,"tag":217,"props":1492,"children":1493},{"style":230},[1494],{"type":15,"value":1495}," vkCmdBindShadersEXT",{"type":10,"tag":217,"props":1497,"children":1498},{"style":224},[1499],{"type":15,"value":238},{"type":10,"tag":217,"props":1501,"children":1502},{"class":219,"line":241},[1503,1508,1513],{"type":10,"tag":217,"props":1504,"children":1505},{"style":224},[1506],{"type":15,"value":1507}," VkCommandBuffer ",{"type":10,"tag":217,"props":1509,"children":1510},{"style":250},[1511],{"type":15,"value":1512},"commandBuffer",{"type":10,"tag":217,"props":1514,"children":1515},{"style":224},[1516],{"type":15,"value":258},{"type":10,"tag":217,"props":1518,"children":1519},{"class":219,"line":261},[1520,1524,1529],{"type":10,"tag":217,"props":1521,"children":1522},{"style":265},[1523],{"type":15,"value":268},{"type":10,"tag":217,"props":1525,"children":1526},{"style":250},[1527],{"type":15,"value":1528}," stageCount",{"type":10,"tag":217,"props":1530,"children":1531},{"style":224},[1532],{"type":15,"value":258},{"type":10,"tag":217,"props":1534,"children":1535},{"class":219,"line":280},[1536,1540,1545,1549,1554],{"type":10,"tag":217,"props":1537,"children":1538},{"style":265},[1539],{"type":15,"value":713},{"type":10,"tag":217,"props":1541,"children":1542},{"style":224},[1543],{"type":15,"value":1544}," VkShaderStageFlagBits",{"type":10,"tag":217,"props":1546,"children":1547},{"style":265},[1548],{"type":15,"value":291},{"type":10,"tag":217,"props":1550,"children":1551},{"style":250},[1552],{"type":15,"value":1553}," pStages",{"type":10,"tag":217,"props":1555,"children":1556},{"style":224},[1557],{"type":15,"value":258},{"type":10,"tag":217,"props":1559,"children":1560},{"class":219,"line":303},[1561,1565,1570,1574,1579],{"type":10,"tag":217,"props":1562,"children":1563},{"style":265},[1564],{"type":15,"value":713},{"type":10,"tag":217,"props":1566,"children":1567},{"style":224},[1568],{"type":15,"value":1569}," VkShaderEXT",{"type":10,"tag":217,"props":1571,"children":1572},{"style":265},[1573],{"type":15,"value":291},{"type":10,"tag":217,"props":1575,"children":1576},{"style":250},[1577],{"type":15,"value":1578}," pShaders",{"type":10,"tag":217,"props":1580,"children":1581},{"style":224},[1582],{"type":15,"value":345},{"type":10,"tag":11,"props":1584,"children":1585},{},[1586,1588,1593,1595,1601,1603,1609],{"type":15,"value":1587},"It is possible to unbind shaders for a particular stage by calling ",{"type":10,"tag":168,"props":1589,"children":1591},{"className":1590},[],[1592],{"type":15,"value":1474},{"type":15,"value":1594}," with elements of ",{"type":10,"tag":168,"props":1596,"children":1598},{"className":1597},[],[1599],{"type":15,"value":1600},"pShaders",{"type":15,"value":1602}," set to ",{"type":10,"tag":168,"props":1604,"children":1606},{"className":1605},[],[1607],{"type":15,"value":1608},"VK_NULL_HANDLE",{"type":15,"value":1610},". For example, an application may want to arbitrarily bind and unbind a known compatible passthrough geometry shader without knowing or caring what specific vertex and fragment shaders are bound at that time.",{"type":10,"tag":11,"props":1612,"children":1613},{},[1614,1616,1621,1623,1629],{"type":15,"value":1615},"Regardless of whether the shaders were created with ",{"type":10,"tag":168,"props":1617,"children":1619},{"className":1618},[],[1620],{"type":15,"value":920},{"type":15,"value":1622}," the interfaces of all stages bound at ",{"type":10,"tag":168,"props":1624,"children":1626},{"className":1625},[],[1627],{"type":15,"value":1628},"vkCmdDraw*()",{"type":15,"value":1630}," time must be compatible. This means that the union of descriptor set layouts and push constant ranges across all bound shaders must not conflict, and that the inputs of each stage are compatible with the outputs of the previous stage. It is the application’s responsibility to ensure that this is the case, and the implementation will not do any draw time state validation to guard against this kind of invalid usage.",{"type":10,"tag":11,"props":1632,"children":1633},{},[1634,1636,1641,1643,1648],{"type":15,"value":1635},"If any of the shaders bound at ",{"type":10,"tag":168,"props":1637,"children":1639},{"className":1638},[],[1640],{"type":15,"value":1628},{"type":15,"value":1642}," time were created with ",{"type":10,"tag":168,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":15,"value":920},{"type":15,"value":1649}," then all shaders that were linked to that shader must also be bound. It is the application’s responsibility to ensure that this is the case, and the implementation will not do any draw time state validation to guard against this kind of invalid usage.",{"type":10,"tag":11,"props":1651,"children":1652},{},[1653,1655,1660],{"type":15,"value":1654},"When drawing with shaders bound with ",{"type":10,"tag":168,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":15,"value":1474},{"type":15,"value":1661}," most state must be set dynamically. Specifically, the following existing commands must be used to set the corresponding state:",{"type":10,"tag":1663,"props":1664,"children":1665},"ul",{},[1666,1675,1684,1693,1702,1711,1720,1729,1738,1747,1756,1765,1774,1783,1792,1801,1810,1819,1828,1837,1846,1855,1864,1873,1882,1891,1900,1909,1918,1927,1936,1945,1954,1963,1972,1981],{"type":10,"tag":114,"props":1667,"children":1668},{},[1669],{"type":10,"tag":168,"props":1670,"children":1672},{"className":1671},[],[1673],{"type":15,"value":1674},"vkCmdSetViewportWithCount()",{"type":10,"tag":114,"props":1676,"children":1677},{},[1678],{"type":10,"tag":168,"props":1679,"children":1681},{"className":1680},[],[1682],{"type":15,"value":1683},"vkCmdSetScissorWithCount()",{"type":10,"tag":114,"props":1685,"children":1686},{},[1687],{"type":10,"tag":168,"props":1688,"children":1690},{"className":1689},[],[1691],{"type":15,"value":1692},"vkCmdSetLineWidth()",{"type":10,"tag":114,"props":1694,"children":1695},{},[1696],{"type":10,"tag":168,"props":1697,"children":1699},{"className":1698},[],[1700],{"type":15,"value":1701},"vkCmdSetDepthBias()",{"type":10,"tag":114,"props":1703,"children":1704},{},[1705],{"type":10,"tag":168,"props":1706,"children":1708},{"className":1707},[],[1709],{"type":15,"value":1710},"vkCmdSetBlendConstants()",{"type":10,"tag":114,"props":1712,"children":1713},{},[1714],{"type":10,"tag":168,"props":1715,"children":1717},{"className":1716},[],[1718],{"type":15,"value":1719},"vkCmdSetDepthBounds()",{"type":10,"tag":114,"props":1721,"children":1722},{},[1723],{"type":10,"tag":168,"props":1724,"children":1726},{"className":1725},[],[1727],{"type":15,"value":1728},"vkCmdSetStencilCompareMask()",{"type":10,"tag":114,"props":1730,"children":1731},{},[1732],{"type":10,"tag":168,"props":1733,"children":1735},{"className":1734},[],[1736],{"type":15,"value":1737},"vkCmdSetStencilWriteMask()",{"type":10,"tag":114,"props":1739,"children":1740},{},[1741],{"type":10,"tag":168,"props":1742,"children":1744},{"className":1743},[],[1745],{"type":15,"value":1746},"vkCmdSetStencilReference()",{"type":10,"tag":114,"props":1748,"children":1749},{},[1750],{"type":10,"tag":168,"props":1751,"children":1753},{"className":1752},[],[1754],{"type":15,"value":1755},"vkCmdBindVertexBuffers2()",{"type":10,"tag":114,"props":1757,"children":1758},{},[1759],{"type":10,"tag":168,"props":1760,"children":1762},{"className":1761},[],[1763],{"type":15,"value":1764},"vkCmdSetCullMode()",{"type":10,"tag":114,"props":1766,"children":1767},{},[1768],{"type":10,"tag":168,"props":1769,"children":1771},{"className":1770},[],[1772],{"type":15,"value":1773},"vkCmdSetDepthBoundsTestEnable()",{"type":10,"tag":114,"props":1775,"children":1776},{},[1777],{"type":10,"tag":168,"props":1778,"children":1780},{"className":1779},[],[1781],{"type":15,"value":1782},"vkCmdSetDepthCompareOp()",{"type":10,"tag":114,"props":1784,"children":1785},{},[1786],{"type":10,"tag":168,"props":1787,"children":1789},{"className":1788},[],[1790],{"type":15,"value":1791},"vkCmdSetDepthTestEnable()",{"type":10,"tag":114,"props":1793,"children":1794},{},[1795],{"type":10,"tag":168,"props":1796,"children":1798},{"className":1797},[],[1799],{"type":15,"value":1800},"vkCmdSetDepthWriteEnable()",{"type":10,"tag":114,"props":1802,"children":1803},{},[1804],{"type":10,"tag":168,"props":1805,"children":1807},{"className":1806},[],[1808],{"type":15,"value":1809},"vkCmdSetFrontFace()",{"type":10,"tag":114,"props":1811,"children":1812},{},[1813],{"type":10,"tag":168,"props":1814,"children":1816},{"className":1815},[],[1817],{"type":15,"value":1818},"vkCmdSetPrimitiveTopology()",{"type":10,"tag":114,"props":1820,"children":1821},{},[1822],{"type":10,"tag":168,"props":1823,"children":1825},{"className":1824},[],[1826],{"type":15,"value":1827},"vkCmdSetStencilOp()",{"type":10,"tag":114,"props":1829,"children":1830},{},[1831],{"type":10,"tag":168,"props":1832,"children":1834},{"className":1833},[],[1835],{"type":15,"value":1836},"vkCmdSetStencilTestEnable()",{"type":10,"tag":114,"props":1838,"children":1839},{},[1840],{"type":10,"tag":168,"props":1841,"children":1843},{"className":1842},[],[1844],{"type":15,"value":1845},"vkCmdSetDepthBiasEnable()",{"type":10,"tag":114,"props":1847,"children":1848},{},[1849],{"type":10,"tag":168,"props":1850,"children":1852},{"className":1851},[],[1853],{"type":15,"value":1854},"vkCmdSetPrimitiveRestartEnable()",{"type":10,"tag":114,"props":1856,"children":1857},{},[1858],{"type":10,"tag":168,"props":1859,"children":1861},{"className":1860},[],[1862],{"type":15,"value":1863},"vkCmdSetRasterizerDiscardEnable()",{"type":10,"tag":114,"props":1865,"children":1866},{},[1867],{"type":10,"tag":168,"props":1868,"children":1870},{"className":1869},[],[1871],{"type":15,"value":1872},"vkCmdSetVertexInputEXT()",{"type":10,"tag":114,"props":1874,"children":1875},{},[1876],{"type":10,"tag":168,"props":1877,"children":1879},{"className":1878},[],[1880],{"type":15,"value":1881},"vkCmdSetLogicOpEXT()",{"type":10,"tag":114,"props":1883,"children":1884},{},[1885],{"type":10,"tag":168,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":15,"value":1890},"vkCmdSetPatchControlPointsEXT()",{"type":10,"tag":114,"props":1892,"children":1893},{},[1894],{"type":10,"tag":168,"props":1895,"children":1897},{"className":1896},[],[1898],{"type":15,"value":1899},"vkCmdSetTessellationDomainOriginEXT()",{"type":10,"tag":114,"props":1901,"children":1902},{},[1903],{"type":10,"tag":168,"props":1904,"children":1906},{"className":1905},[],[1907],{"type":15,"value":1908},"vkCmdSetDepthClampEnableEXT()",{"type":10,"tag":114,"props":1910,"children":1911},{},[1912],{"type":10,"tag":168,"props":1913,"children":1915},{"className":1914},[],[1916],{"type":15,"value":1917},"vkCmdSetPolygonModeEXT()",{"type":10,"tag":114,"props":1919,"children":1920},{},[1921],{"type":10,"tag":168,"props":1922,"children":1924},{"className":1923},[],[1925],{"type":15,"value":1926},"vkCmdSetRasterizationSamplesEXT()",{"type":10,"tag":114,"props":1928,"children":1929},{},[1930],{"type":10,"tag":168,"props":1931,"children":1933},{"className":1932},[],[1934],{"type":15,"value":1935},"vkCmdSetSampleMaskEXT()",{"type":10,"tag":114,"props":1937,"children":1938},{},[1939],{"type":10,"tag":168,"props":1940,"children":1942},{"className":1941},[],[1943],{"type":15,"value":1944},"vkCmdSetAlphaToCoverageEnableEXT()",{"type":10,"tag":114,"props":1946,"children":1947},{},[1948],{"type":10,"tag":168,"props":1949,"children":1951},{"className":1950},[],[1952],{"type":15,"value":1953},"vkCmdSetAlphaToOneEnableEXT()",{"type":10,"tag":114,"props":1955,"children":1956},{},[1957],{"type":10,"tag":168,"props":1958,"children":1960},{"className":1959},[],[1961],{"type":15,"value":1962},"vkCmdSetLogicOpEnableEXT()",{"type":10,"tag":114,"props":1964,"children":1965},{},[1966],{"type":10,"tag":168,"props":1967,"children":1969},{"className":1968},[],[1970],{"type":15,"value":1971},"vkCmdSetColorBlendEnableEXT()",{"type":10,"tag":114,"props":1973,"children":1974},{},[1975],{"type":10,"tag":168,"props":1976,"children":1978},{"className":1977},[],[1979],{"type":15,"value":1980},"vkCmdSetColorBlendEquationEXT()",{"type":10,"tag":114,"props":1982,"children":1983},{},[1984],{"type":10,"tag":168,"props":1985,"children":1987},{"className":1986},[],[1988],{"type":15,"value":1989},"vkCmdSetColorWriteMaskEXT()",{"type":10,"tag":11,"props":1991,"children":1992},{},[1993,1995,2004],{"type":15,"value":1994},"If ",{"type":10,"tag":1996,"props":1997,"children":2001},"a",{"href":1998,"rel":1999},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_KHR_fragment_shading_rate.html",[2000],"nofollow",[2002],{"type":15,"value":2003},"VK_KHR_fragment_shading_rate",{"type":15,"value":2005}," is supported and enabled:",{"type":10,"tag":1663,"props":2007,"children":2008},{},[2009],{"type":10,"tag":114,"props":2010,"children":2011},{},[2012],{"type":10,"tag":168,"props":2013,"children":2015},{"className":2014},[],[2016],{"type":15,"value":2017},"vkCmdSetFragmentShadingRateKHR()",{"type":10,"tag":11,"props":2019,"children":2020},{},[2021,2022,2029],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2023,"children":2026},{"href":2024,"rel":2025},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_transform_feedback.html",[2000],[2027],{"type":15,"value":2028},"VK_EXT_transform_feedback",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2031,"children":2032},{},[2033],{"type":10,"tag":114,"props":2034,"children":2035},{},[2036],{"type":10,"tag":168,"props":2037,"children":2039},{"className":2038},[],[2040],{"type":15,"value":2041},"vkCmdSetRasterizationStreamEXT()",{"type":10,"tag":11,"props":2043,"children":2044},{},[2045,2046,2053],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2047,"children":2050},{"href":2048,"rel":2049},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_discard_rectangle.html",[2000],[2051],{"type":15,"value":2052},"VK_EXT_discard_rectangle",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2055,"children":2056},{},[2057,2066,2075],{"type":10,"tag":114,"props":2058,"children":2059},{},[2060],{"type":10,"tag":168,"props":2061,"children":2063},{"className":2062},[],[2064],{"type":15,"value":2065},"vkCmdSetDiscardRectangleEnableEXT()",{"type":10,"tag":114,"props":2067,"children":2068},{},[2069],{"type":10,"tag":168,"props":2070,"children":2072},{"className":2071},[],[2073],{"type":15,"value":2074},"vkCmdSetDiscardRectangleModeEXT()",{"type":10,"tag":114,"props":2076,"children":2077},{},[2078],{"type":10,"tag":168,"props":2079,"children":2081},{"className":2080},[],[2082],{"type":15,"value":2083},"vkCmdSetDiscardRectangleEXT()",{"type":10,"tag":11,"props":2085,"children":2086},{},[2087,2088,2095],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2089,"children":2092},{"href":2090,"rel":2091},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_conservative_rasterization.html",[2000],[2093],{"type":15,"value":2094},"VK_EXT_conservative_rasterization",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2097,"children":2098},{},[2099,2108],{"type":10,"tag":114,"props":2100,"children":2101},{},[2102],{"type":10,"tag":168,"props":2103,"children":2105},{"className":2104},[],[2106],{"type":15,"value":2107},"vkCmdSetConservativeRasterizationModeEXT()",{"type":10,"tag":114,"props":2109,"children":2110},{},[2111],{"type":10,"tag":168,"props":2112,"children":2114},{"className":2113},[],[2115],{"type":15,"value":2116},"vkCmdSetExtraPrimitiveOverestimationSizeEXT()",{"type":10,"tag":11,"props":2118,"children":2119},{},[2120,2121,2128],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2122,"children":2125},{"href":2123,"rel":2124},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_depth_clip_enable.html",[2000],[2126],{"type":15,"value":2127},"VK_EXT_depth_clip_enable",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2130,"children":2131},{},[2132],{"type":10,"tag":114,"props":2133,"children":2134},{},[2135],{"type":10,"tag":168,"props":2136,"children":2138},{"className":2137},[],[2139],{"type":15,"value":2140},"vkCmdSetDepthClipEnableEXT()",{"type":10,"tag":11,"props":2142,"children":2143},{},[2144,2145,2152],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2146,"children":2149},{"href":2147,"rel":2148},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_sample_locations.html",[2000],[2150],{"type":15,"value":2151},"VK_EXT_sample_locations",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2154,"children":2155},{},[2156,2165],{"type":10,"tag":114,"props":2157,"children":2158},{},[2159],{"type":10,"tag":168,"props":2160,"children":2162},{"className":2161},[],[2163],{"type":15,"value":2164},"vkCmdSetSampleLocationsEnableEXT()",{"type":10,"tag":114,"props":2166,"children":2167},{},[2168],{"type":10,"tag":168,"props":2169,"children":2171},{"className":2170},[],[2172],{"type":15,"value":2173},"vkCmdSetSampleLocationsEXT()",{"type":10,"tag":11,"props":2175,"children":2176},{},[2177,2178,2185],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2179,"children":2182},{"href":2180,"rel":2181},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_blend_operation_advanced.html",[2000],[2183],{"type":15,"value":2184},"VK_EXT_blend_operation_advanced",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2187,"children":2188},{},[2189],{"type":10,"tag":114,"props":2190,"children":2191},{},[2192],{"type":10,"tag":168,"props":2193,"children":2195},{"className":2194},[],[2196],{"type":15,"value":2197},"vkCmdSetColorBlendAdvancedEXT()",{"type":10,"tag":11,"props":2199,"children":2200},{},[2201,2202,2209],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2203,"children":2206},{"href":2204,"rel":2205},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_provoking_vertex.html",[2000],[2207],{"type":15,"value":2208},"VK_EXT_provoking_vertex",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2211,"children":2212},{},[2213],{"type":10,"tag":114,"props":2214,"children":2215},{},[2216],{"type":10,"tag":168,"props":2217,"children":2219},{"className":2218},[],[2220],{"type":15,"value":2221},"vkCmdSetProvokingVertexModeEXT()",{"type":10,"tag":11,"props":2223,"children":2224},{},[2225,2226,2233],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2227,"children":2230},{"href":2228,"rel":2229},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_line_rasterization.html",[2000],[2231],{"type":15,"value":2232},"VK_EXT_line_rasterization",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2235,"children":2236},{},[2237,2246,2255],{"type":10,"tag":114,"props":2238,"children":2239},{},[2240],{"type":10,"tag":168,"props":2241,"children":2243},{"className":2242},[],[2244],{"type":15,"value":2245},"vkCmdSetLineRasterizationModeEXT()",{"type":10,"tag":114,"props":2247,"children":2248},{},[2249],{"type":10,"tag":168,"props":2250,"children":2252},{"className":2251},[],[2253],{"type":15,"value":2254},"vkCmdSetLineStippleEnableEXT()",{"type":10,"tag":114,"props":2256,"children":2257},{},[2258],{"type":10,"tag":168,"props":2259,"children":2261},{"className":2260},[],[2262],{"type":15,"value":2263},"vkCmdSetLineStippleEXT()",{"type":10,"tag":11,"props":2265,"children":2266},{},[2267,2268,2275],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2269,"children":2272},{"href":2270,"rel":2271},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_depth_clip_control.html",[2000],[2273],{"type":15,"value":2274},"VK_EXT_depth_clip_control",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2277,"children":2278},{},[2279],{"type":10,"tag":114,"props":2280,"children":2281},{},[2282],{"type":10,"tag":168,"props":2283,"children":2285},{"className":2284},[],[2286],{"type":15,"value":2287},"vkCmdSetDepthClipNegativeOneToOneEXT()",{"type":10,"tag":11,"props":2289,"children":2290},{},[2291,2292,2299],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2293,"children":2296},{"href":2294,"rel":2295},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_EXT_color_write_enable.html",[2000],[2297],{"type":15,"value":2298},"VK_EXT_color_write_enable",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2301,"children":2302},{},[2303],{"type":10,"tag":114,"props":2304,"children":2305},{},[2306],{"type":10,"tag":168,"props":2307,"children":2309},{"className":2308},[],[2310],{"type":15,"value":2311},"vkCmdSetColorWriteEnableEXT()",{"type":10,"tag":11,"props":2313,"children":2314},{},[2315,2316,2323],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2317,"children":2320},{"href":2318,"rel":2319},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_clip_space_w_scaling.html",[2000],[2321],{"type":15,"value":2322},"VK_NV_clip_space_w_scaling",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2325,"children":2326},{},[2327,2336],{"type":10,"tag":114,"props":2328,"children":2329},{},[2330],{"type":10,"tag":168,"props":2331,"children":2333},{"className":2332},[],[2334],{"type":15,"value":2335},"vkCmdSetViewportWScalingEnableNV()",{"type":10,"tag":114,"props":2337,"children":2338},{},[2339],{"type":10,"tag":168,"props":2340,"children":2342},{"className":2341},[],[2343],{"type":15,"value":2344},"vkCmdSetViewportWScalingNV()",{"type":10,"tag":11,"props":2346,"children":2347},{},[2348,2349,2356],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2350,"children":2353},{"href":2351,"rel":2352},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_viewport_swizzle.html",[2000],[2354],{"type":15,"value":2355},"VK_NV_viewport_swizzle",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2358,"children":2359},{},[2360],{"type":10,"tag":114,"props":2361,"children":2362},{},[2363],{"type":10,"tag":168,"props":2364,"children":2366},{"className":2365},[],[2367],{"type":15,"value":2368},"vkCmdSetViewportSwizzleNV()",{"type":10,"tag":11,"props":2370,"children":2371},{},[2372,2373,2380],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2374,"children":2377},{"href":2375,"rel":2376},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_fragment_coverage_to_color.html",[2000],[2378],{"type":15,"value":2379},"VK_NV_fragment_coverage_to_color",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2382,"children":2383},{},[2384,2393],{"type":10,"tag":114,"props":2385,"children":2386},{},[2387],{"type":10,"tag":168,"props":2388,"children":2390},{"className":2389},[],[2391],{"type":15,"value":2392},"vkCmdSetCoverageToColorEnableNV()",{"type":10,"tag":114,"props":2394,"children":2395},{},[2396],{"type":10,"tag":168,"props":2397,"children":2399},{"className":2398},[],[2400],{"type":15,"value":2401},"vkCmdSetCoverageToColorLocationNV()",{"type":10,"tag":11,"props":2403,"children":2404},{},[2405,2406,2413],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2407,"children":2410},{"href":2408,"rel":2409},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_framebuffer_mixed_samples.html",[2000],[2411],{"type":15,"value":2412},"VK_NV_framebuffer_mixed_samples",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2415,"children":2416},{},[2417,2426,2435],{"type":10,"tag":114,"props":2418,"children":2419},{},[2420],{"type":10,"tag":168,"props":2421,"children":2423},{"className":2422},[],[2424],{"type":15,"value":2425},"vkCmdSetCoverageModulationModeNV()",{"type":10,"tag":114,"props":2427,"children":2428},{},[2429],{"type":10,"tag":168,"props":2430,"children":2432},{"className":2431},[],[2433],{"type":15,"value":2434},"vkCmdSetCoverageModulationTableEnableNV()",{"type":10,"tag":114,"props":2436,"children":2437},{},[2438],{"type":10,"tag":168,"props":2439,"children":2441},{"className":2440},[],[2442],{"type":15,"value":2443},"vkCmdSetCoverageModulationTableNV()",{"type":10,"tag":11,"props":2445,"children":2446},{},[2447,2448,2455],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2449,"children":2452},{"href":2450,"rel":2451},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_coverage_reduction_mode.html",[2000],[2453],{"type":15,"value":2454},"VK_NV_coverage_reduction_mode",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2457,"children":2458},{},[2459],{"type":10,"tag":114,"props":2460,"children":2461},{},[2462],{"type":10,"tag":168,"props":2463,"children":2465},{"className":2464},[],[2466],{"type":15,"value":2467},"vkCmdSetCoverageReductionModeNV()",{"type":10,"tag":11,"props":2469,"children":2470},{},[2471,2472,2479],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2473,"children":2476},{"href":2474,"rel":2475},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_representative_fragment_test.html",[2000],[2477],{"type":15,"value":2478},"VK_NV_representative_fragment_test",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2481,"children":2482},{},[2483],{"type":10,"tag":114,"props":2484,"children":2485},{},[2486],{"type":10,"tag":168,"props":2487,"children":2489},{"className":2488},[],[2490],{"type":15,"value":2491},"vkCmdSetRepresentativeFragmentTestEnableNV()",{"type":10,"tag":11,"props":2493,"children":2494},{},[2495,2496,2503],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2497,"children":2500},{"href":2498,"rel":2499},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_shading_rate_image.html",[2000],[2501],{"type":15,"value":2502},"VK_NV_shading_rate_image",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2505,"children":2506},{},[2507,2516,2525],{"type":10,"tag":114,"props":2508,"children":2509},{},[2510],{"type":10,"tag":168,"props":2511,"children":2513},{"className":2512},[],[2514],{"type":15,"value":2515},"vkCmdSetCoarseSampleOrderNV()",{"type":10,"tag":114,"props":2517,"children":2518},{},[2519],{"type":10,"tag":168,"props":2520,"children":2522},{"className":2521},[],[2523],{"type":15,"value":2524},"vkCmdSetShadingRateImageEnableNV()",{"type":10,"tag":114,"props":2526,"children":2527},{},[2528],{"type":10,"tag":168,"props":2529,"children":2531},{"className":2530},[],[2532],{"type":15,"value":2533},"vkCmdSetViewportShadingRatePaletteNV()",{"type":10,"tag":11,"props":2535,"children":2536},{},[2537,2538,2545],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2539,"children":2542},{"href":2540,"rel":2541},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_scissor_exclusive.html",[2000],[2543],{"type":15,"value":2544},"VK_NV_scissor_exclusive",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2547,"children":2548},{},[2549,2558],{"type":10,"tag":114,"props":2550,"children":2551},{},[2552],{"type":10,"tag":168,"props":2553,"children":2555},{"className":2554},[],[2556],{"type":15,"value":2557},"vkCmdSetExclusiveScissorEnableNV()",{"type":10,"tag":114,"props":2559,"children":2560},{},[2561],{"type":10,"tag":168,"props":2562,"children":2564},{"className":2563},[],[2565],{"type":15,"value":2566},"vkCmdSetExclusiveScissorNV()",{"type":10,"tag":11,"props":2568,"children":2569},{},[2570,2571,2578],{"type":15,"value":1994},{"type":10,"tag":1996,"props":2572,"children":2575},{"href":2573,"rel":2574},"https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/VK_NV_fragment_shading_rate_enums.html",[2000],[2576],{"type":15,"value":2577},"VK_NV_fragment_shading_rate_enums",{"type":15,"value":2005},{"type":10,"tag":1663,"props":2580,"children":2581},{},[2582],{"type":10,"tag":114,"props":2583,"children":2584},{},[2585],{"type":10,"tag":168,"props":2586,"children":2588},{"className":2587},[],[2589],{"type":15,"value":2590},"vkCmdSetFragmentShadingRateEnumNV()",{"type":10,"tag":11,"props":2592,"children":2593},{},[2594],{"type":15,"value":2595},"Certain dynamic state setting commands have modified behavior from their original versions:",{"type":10,"tag":1663,"props":2597,"children":2598},{},[2599,2633,2651],{"type":10,"tag":114,"props":2600,"children":2601},{},[2602,2607,2609,2615,2617,2623,2625,2631],{"type":10,"tag":168,"props":2603,"children":2605},{"className":2604},[],[2606],{"type":15,"value":1818},{"type":15,"value":2608}," does not have any constraints on the topology class (i.e., it behaves as if the ",{"type":10,"tag":168,"props":2610,"children":2612},{"className":2611},[],[2613],{"type":15,"value":2614},"dynamicPrimitiveTopologyUnrestricted",{"type":15,"value":2616}," property is ",{"type":10,"tag":168,"props":2618,"children":2620},{"className":2619},[],[2621],{"type":15,"value":2622},"VK_TRUE",{"type":15,"value":2624}," even when the actual property is ",{"type":10,"tag":168,"props":2626,"children":2628},{"className":2627},[],[2629],{"type":15,"value":2630},"VK_FALSE",{"type":15,"value":2632},").",{"type":10,"tag":114,"props":2634,"children":2635},{},[2636,2641,2643,2649],{"type":10,"tag":168,"props":2637,"children":2639},{"className":2638},[],[2640],{"type":15,"value":1881},{"type":15,"value":2642}," may be used on any implementation regardless of its support for the ",{"type":10,"tag":168,"props":2644,"children":2646},{"className":2645},[],[2647],{"type":15,"value":2648},"extendedDynamicState2LogicOp",{"type":15,"value":2650}," feature.",{"type":10,"tag":114,"props":2652,"children":2653},{},[2654,2659,2660,2666],{"type":10,"tag":168,"props":2655,"children":2657},{"className":2656},[],[2658],{"type":15,"value":1890},{"type":15,"value":2642},{"type":10,"tag":168,"props":2661,"children":2663},{"className":2662},[],[2664],{"type":15,"value":2665},"extendedDynamicState2PatchControlPoints",{"type":15,"value":2650},{"type":10,"tag":11,"props":2668,"children":2669},{},[2670,2672,2677,2679,2685],{"type":15,"value":2671},"Any ",{"type":10,"tag":168,"props":2673,"children":2675},{"className":2674},[],[2676],{"type":15,"value":173},{"type":15,"value":2678}," can be destroyed using ",{"type":10,"tag":168,"props":2680,"children":2682},{"className":2681},[],[2683],{"type":15,"value":2684},"vkDestroyShaderEXT()",{"type":15,"value":204},{"type":10,"tag":206,"props":2687,"children":2689},{"className":208,"code":2688,"language":210,"meta":211,"style":211},"void vkDestroyShaderEXT(\n VkDevice device,\n VkShaderEXT shader,\n VkAllocationCallbacks* pAllocator);\n",[2690],{"type":10,"tag":168,"props":2691,"children":2692},{"__ignoreMap":211},[2693,2709,2724,2739],{"type":10,"tag":217,"props":2694,"children":2695},{"class":219,"line":220},[2696,2700,2705],{"type":10,"tag":217,"props":2697,"children":2698},{"style":265},[2699],{"type":15,"value":1490},{"type":10,"tag":217,"props":2701,"children":2702},{"style":230},[2703],{"type":15,"value":2704}," vkDestroyShaderEXT",{"type":10,"tag":217,"props":2706,"children":2707},{"style":224},[2708],{"type":15,"value":238},{"type":10,"tag":217,"props":2710,"children":2711},{"class":219,"line":241},[2712,2716,2720],{"type":10,"tag":217,"props":2713,"children":2714},{"style":224},[2715],{"type":15,"value":247},{"type":10,"tag":217,"props":2717,"children":2718},{"style":250},[2719],{"type":15,"value":253},{"type":10,"tag":217,"props":2721,"children":2722},{"style":224},[2723],{"type":15,"value":258},{"type":10,"tag":217,"props":2725,"children":2726},{"class":219,"line":261},[2727,2731,2735],{"type":10,"tag":217,"props":2728,"children":2729},{"style":224},[2730],{"type":15,"value":1208},{"type":10,"tag":217,"props":2732,"children":2733},{"style":250},[2734],{"type":15,"value":1213},{"type":10,"tag":217,"props":2736,"children":2737},{"style":224},[2738],{"type":15,"value":258},{"type":10,"tag":217,"props":2740,"children":2741},{"class":219,"line":280},[2742,2746,2750,2754],{"type":10,"tag":217,"props":2743,"children":2744},{"style":224},[2745],{"type":15,"value":309},{"type":10,"tag":217,"props":2747,"children":2748},{"style":265},[2749],{"type":15,"value":291},{"type":10,"tag":217,"props":2751,"children":2752},{"style":250},[2753],{"type":15,"value":318},{"type":10,"tag":217,"props":2755,"children":2756},{"style":224},[2757],{"type":15,"value":345},{"type":10,"tag":11,"props":2759,"children":2760},{},[2761,2763,2768,2770,2775,2777,2782,2784,2789,2791,2796,2798,2803],{"type":15,"value":2762},"Destroying a ",{"type":10,"tag":168,"props":2764,"children":2766},{"className":2765},[],[2767],{"type":15,"value":173},{"type":15,"value":2769}," object used by action commands in one or more command buffers in the ",{"type":10,"tag":1049,"props":2771,"children":2772},{},[2773],{"type":15,"value":2774},"recording",{"type":15,"value":2776}," or ",{"type":10,"tag":1049,"props":2778,"children":2779},{},[2780],{"type":15,"value":2781},"executable",{"type":15,"value":2783}," states causes those command buffers to enter the ",{"type":10,"tag":1049,"props":2785,"children":2786},{},[2787],{"type":15,"value":2788},"invalid",{"type":15,"value":2790}," state. A ",{"type":10,"tag":168,"props":2792,"children":2794},{"className":2793},[],[2795],{"type":15,"value":173},{"type":15,"value":2797}," object must not be destroyed as long as any command buffer that issues any action command that uses it is in the ",{"type":10,"tag":1049,"props":2799,"children":2800},{},[2801],{"type":15,"value":2802},"pending",{"type":15,"value":2804}," state.",{"type":10,"tag":17,"props":2806,"children":2808},{"id":2807},"_examples",[2809],{"type":15,"value":2810},"Examples",{"type":10,"tag":156,"props":2812,"children":2814},{"id":2813},"_graphics",[2815],{"type":15,"value":2816},"Graphics",{"type":10,"tag":11,"props":2818,"children":2819},{},[2820],{"type":15,"value":2821},"Consider an application which always treats sets of shader stages as complete programs.",{"type":10,"tag":11,"props":2823,"children":2824},{},[2825],{"type":15,"value":2826},"At startup time, the application compiles and links the shaders for each complete program:",{"type":10,"tag":206,"props":2828,"children":2830},{"className":208,"code":2829,"language":210,"meta":211,"style":211},"VkShaderCreateInfoEXT shaderInfo[2] = {\n {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,\n .stage = VK_SHADER_STAGE_VERTEX_BIT,\n .nextStage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = vertexShaderSpirvSize,\n .pCode = pVertexShaderSpirv,\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n },\n {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,\n .stage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = fragmentShaderSpirvSize,\n .pCode = pFragmentShaderSpirv,\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n }\n};\n\nVkShaderEXT shaders[2];\n\nvkCreateShadersEXT(device, 2, shaderInfo, NULL, shaders);\n",[2831],{"type":10,"tag":168,"props":2832,"children":2833},{"__ignoreMap":211},[2834,2871,2879,2896,2917,2934,2951,2968,2985,3002,3019,3041,3062,3084,3104,3124,3141,3149,3156,3171,3190,3205,3220,3239,3254,3270,3286,3305,3324,3343,3362,3381,3396,3405,3414,3422,3449,3457],{"type":10,"tag":217,"props":2835,"children":2836},{"class":219,"line":220},[2837,2842,2847,2852,2857,2862,2866],{"type":10,"tag":217,"props":2838,"children":2839},{"style":224},[2840],{"type":15,"value":2841},"VkShaderCreateInfoEXT ",{"type":10,"tag":217,"props":2843,"children":2844},{"style":250},[2845],{"type":15,"value":2846},"shaderInfo",{"type":10,"tag":217,"props":2848,"children":2849},{"style":224},[2850],{"type":15,"value":2851},"[",{"type":10,"tag":217,"props":2853,"children":2854},{"style":416},[2855],{"type":15,"value":2856},"2",{"type":10,"tag":217,"props":2858,"children":2859},{"style":224},[2860],{"type":15,"value":2861},"] ",{"type":10,"tag":217,"props":2863,"children":2864},{"style":265},[2865],{"type":15,"value":408},{"type":10,"tag":217,"props":2867,"children":2868},{"style":224},[2869],{"type":15,"value":2870}," {\n",{"type":10,"tag":217,"props":2872,"children":2873},{"class":219,"line":241},[2874],{"type":10,"tag":217,"props":2875,"children":2876},{"style":224},[2877],{"type":15,"value":2878}," {\n",{"type":10,"tag":217,"props":2880,"children":2881},{"class":219,"line":261},[2882,2887,2891],{"type":10,"tag":217,"props":2883,"children":2884},{"style":224},[2885],{"type":15,"value":2886}," .sType ",{"type":10,"tag":217,"props":2888,"children":2889},{"style":265},[2890],{"type":15,"value":408},{"type":10,"tag":217,"props":2892,"children":2893},{"style":224},[2894],{"type":15,"value":2895}," VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n",{"type":10,"tag":217,"props":2897,"children":2898},{"class":219,"line":280},[2899,2904,2908,2913],{"type":10,"tag":217,"props":2900,"children":2901},{"style":224},[2902],{"type":15,"value":2903}," .pNext ",{"type":10,"tag":217,"props":2905,"children":2906},{"style":265},[2907],{"type":15,"value":408},{"type":10,"tag":217,"props":2909,"children":2910},{"style":416},[2911],{"type":15,"value":2912}," NULL",{"type":10,"tag":217,"props":2914,"children":2915},{"style":224},[2916],{"type":15,"value":258},{"type":10,"tag":217,"props":2918,"children":2919},{"class":219,"line":303},[2920,2925,2929],{"type":10,"tag":217,"props":2921,"children":2922},{"style":224},[2923],{"type":15,"value":2924}," .flags ",{"type":10,"tag":217,"props":2926,"children":2927},{"style":265},[2928],{"type":15,"value":408},{"type":10,"tag":217,"props":2930,"children":2931},{"style":224},[2932],{"type":15,"value":2933}," VK_SHADER_CREATE_LINK_STAGE_BIT_EXT,\n",{"type":10,"tag":217,"props":2935,"children":2936},{"class":219,"line":325},[2937,2942,2946],{"type":10,"tag":217,"props":2938,"children":2939},{"style":224},[2940],{"type":15,"value":2941}," .stage ",{"type":10,"tag":217,"props":2943,"children":2944},{"style":265},[2945],{"type":15,"value":408},{"type":10,"tag":217,"props":2947,"children":2948},{"style":224},[2949],{"type":15,"value":2950}," VK_SHADER_STAGE_VERTEX_BIT,\n",{"type":10,"tag":217,"props":2952,"children":2953},{"class":219,"line":526},[2954,2959,2963],{"type":10,"tag":217,"props":2955,"children":2956},{"style":224},[2957],{"type":15,"value":2958}," .nextStage ",{"type":10,"tag":217,"props":2960,"children":2961},{"style":265},[2962],{"type":15,"value":408},{"type":10,"tag":217,"props":2964,"children":2965},{"style":224},[2966],{"type":15,"value":2967}," VK_SHADER_STAGE_FRAGMENT_BIT,\n",{"type":10,"tag":217,"props":2969,"children":2970},{"class":219,"line":552},[2971,2976,2980],{"type":10,"tag":217,"props":2972,"children":2973},{"style":224},[2974],{"type":15,"value":2975}," .codeType ",{"type":10,"tag":217,"props":2977,"children":2978},{"style":265},[2979],{"type":15,"value":408},{"type":10,"tag":217,"props":2981,"children":2982},{"style":224},[2983],{"type":15,"value":2984}," VK_SHADER_CODE_TYPE_SPIRV_EXT,\n",{"type":10,"tag":217,"props":2986,"children":2987},{"class":219,"line":574},[2988,2993,2997],{"type":10,"tag":217,"props":2989,"children":2990},{"style":224},[2991],{"type":15,"value":2992}," .codeSize ",{"type":10,"tag":217,"props":2994,"children":2995},{"style":265},[2996],{"type":15,"value":408},{"type":10,"tag":217,"props":2998,"children":2999},{"style":224},[3000],{"type":15,"value":3001}," vertexShaderSpirvSize,\n",{"type":10,"tag":217,"props":3003,"children":3004},{"class":219,"line":583},[3005,3010,3014],{"type":10,"tag":217,"props":3006,"children":3007},{"style":224},[3008],{"type":15,"value":3009}," .pCode ",{"type":10,"tag":217,"props":3011,"children":3012},{"style":265},[3013],{"type":15,"value":408},{"type":10,"tag":217,"props":3015,"children":3016},{"style":224},[3017],{"type":15,"value":3018}," pVertexShaderSpirv,\n",{"type":10,"tag":217,"props":3020,"children":3021},{"class":219,"line":596},[3022,3027,3031,3037],{"type":10,"tag":217,"props":3023,"children":3024},{"style":224},[3025],{"type":15,"value":3026}," .pName ",{"type":10,"tag":217,"props":3028,"children":3029},{"style":265},[3030],{"type":15,"value":408},{"type":10,"tag":217,"props":3032,"children":3034},{"style":3033},"--shiki-default:#0A3069;--shiki-dark:#A5D6FF",[3035],{"type":15,"value":3036}," \"main\"",{"type":10,"tag":217,"props":3038,"children":3039},{"style":224},[3040],{"type":15,"value":258},{"type":10,"tag":217,"props":3042,"children":3043},{"class":219,"line":606},[3044,3049,3053,3058],{"type":10,"tag":217,"props":3045,"children":3046},{"style":224},[3047],{"type":15,"value":3048}," .setLayoutCount ",{"type":10,"tag":217,"props":3050,"children":3051},{"style":265},[3052],{"type":15,"value":408},{"type":10,"tag":217,"props":3054,"children":3055},{"style":416},[3056],{"type":15,"value":3057}," 1",{"type":10,"tag":217,"props":3059,"children":3060},{"style":224},[3061],{"type":15,"value":258},{"type":10,"tag":217,"props":3063,"children":3064},{"class":219,"line":623},[3065,3070,3074,3079],{"type":10,"tag":217,"props":3066,"children":3067},{"style":224},[3068],{"type":15,"value":3069}," .pSetLayouts ",{"type":10,"tag":217,"props":3071,"children":3072},{"style":265},[3073],{"type":15,"value":408},{"type":10,"tag":217,"props":3075,"children":3076},{"style":265},[3077],{"type":15,"value":3078}," &",{"type":10,"tag":217,"props":3080,"children":3081},{"style":224},[3082],{"type":15,"value":3083},"descriptorSetLayout,\n",{"type":10,"tag":217,"props":3085,"children":3086},{"class":219,"line":645},[3087,3092,3096,3100],{"type":10,"tag":217,"props":3088,"children":3089},{"style":224},[3090],{"type":15,"value":3091}," .pushConstantRangeCount ",{"type":10,"tag":217,"props":3093,"children":3094},{"style":265},[3095],{"type":15,"value":408},{"type":10,"tag":217,"props":3097,"children":3098},{"style":416},[3099],{"type":15,"value":638},{"type":10,"tag":217,"props":3101,"children":3102},{"style":224},[3103],{"type":15,"value":258},{"type":10,"tag":217,"props":3105,"children":3106},{"class":219,"line":663},[3107,3112,3116,3120],{"type":10,"tag":217,"props":3108,"children":3109},{"style":224},[3110],{"type":15,"value":3111}," .pPushConstantRanges ",{"type":10,"tag":217,"props":3113,"children":3114},{"style":265},[3115],{"type":15,"value":408},{"type":10,"tag":217,"props":3117,"children":3118},{"style":416},[3119],{"type":15,"value":2912},{"type":10,"tag":217,"props":3121,"children":3122},{"style":224},[3123],{"type":15,"value":258},{"type":10,"tag":217,"props":3125,"children":3126},{"class":219,"line":672},[3127,3132,3136],{"type":10,"tag":217,"props":3128,"children":3129},{"style":224},[3130],{"type":15,"value":3131}," .pSpecializationInfo ",{"type":10,"tag":217,"props":3133,"children":3134},{"style":265},[3135],{"type":15,"value":408},{"type":10,"tag":217,"props":3137,"children":3138},{"style":416},[3139],{"type":15,"value":3140}," NULL\n",{"type":10,"tag":217,"props":3142,"children":3143},{"class":219,"line":680},[3144],{"type":10,"tag":217,"props":3145,"children":3146},{"style":224},[3147],{"type":15,"value":3148}," },\n",{"type":10,"tag":217,"props":3150,"children":3151},{"class":219,"line":698},[3152],{"type":10,"tag":217,"props":3153,"children":3154},{"style":224},[3155],{"type":15,"value":2878},{"type":10,"tag":217,"props":3157,"children":3158},{"class":219,"line":707},[3159,3163,3167],{"type":10,"tag":217,"props":3160,"children":3161},{"style":224},[3162],{"type":15,"value":2886},{"type":10,"tag":217,"props":3164,"children":3165},{"style":265},[3166],{"type":15,"value":408},{"type":10,"tag":217,"props":3168,"children":3169},{"style":224},[3170],{"type":15,"value":2895},{"type":10,"tag":217,"props":3172,"children":3173},{"class":219,"line":726},[3174,3178,3182,3186],{"type":10,"tag":217,"props":3175,"children":3176},{"style":224},[3177],{"type":15,"value":2903},{"type":10,"tag":217,"props":3179,"children":3180},{"style":265},[3181],{"type":15,"value":408},{"type":10,"tag":217,"props":3183,"children":3184},{"style":416},[3185],{"type":15,"value":2912},{"type":10,"tag":217,"props":3187,"children":3188},{"style":224},[3189],{"type":15,"value":258},{"type":10,"tag":217,"props":3191,"children":3192},{"class":219,"line":735},[3193,3197,3201],{"type":10,"tag":217,"props":3194,"children":3195},{"style":224},[3196],{"type":15,"value":2924},{"type":10,"tag":217,"props":3198,"children":3199},{"style":265},[3200],{"type":15,"value":408},{"type":10,"tag":217,"props":3202,"children":3203},{"style":224},[3204],{"type":15,"value":2933},{"type":10,"tag":217,"props":3206,"children":3207},{"class":219,"line":744},[3208,3212,3216],{"type":10,"tag":217,"props":3209,"children":3210},{"style":224},[3211],{"type":15,"value":2941},{"type":10,"tag":217,"props":3213,"children":3214},{"style":265},[3215],{"type":15,"value":408},{"type":10,"tag":217,"props":3217,"children":3218},{"style":224},[3219],{"type":15,"value":2967},{"type":10,"tag":217,"props":3221,"children":3222},{"class":219,"line":753},[3223,3227,3231,3235],{"type":10,"tag":217,"props":3224,"children":3225},{"style":224},[3226],{"type":15,"value":2958},{"type":10,"tag":217,"props":3228,"children":3229},{"style":265},[3230],{"type":15,"value":408},{"type":10,"tag":217,"props":3232,"children":3233},{"style":416},[3234],{"type":15,"value":638},{"type":10,"tag":217,"props":3236,"children":3237},{"style":224},[3238],{"type":15,"value":258},{"type":10,"tag":217,"props":3240,"children":3241},{"class":219,"line":762},[3242,3246,3250],{"type":10,"tag":217,"props":3243,"children":3244},{"style":224},[3245],{"type":15,"value":2975},{"type":10,"tag":217,"props":3247,"children":3248},{"style":265},[3249],{"type":15,"value":408},{"type":10,"tag":217,"props":3251,"children":3252},{"style":224},[3253],{"type":15,"value":2984},{"type":10,"tag":217,"props":3255,"children":3256},{"class":219,"line":776},[3257,3261,3265],{"type":10,"tag":217,"props":3258,"children":3259},{"style":224},[3260],{"type":15,"value":2992},{"type":10,"tag":217,"props":3262,"children":3263},{"style":265},[3264],{"type":15,"value":408},{"type":10,"tag":217,"props":3266,"children":3267},{"style":224},[3268],{"type":15,"value":3269}," fragmentShaderSpirvSize,\n",{"type":10,"tag":217,"props":3271,"children":3272},{"class":219,"line":793},[3273,3277,3281],{"type":10,"tag":217,"props":3274,"children":3275},{"style":224},[3276],{"type":15,"value":3009},{"type":10,"tag":217,"props":3278,"children":3279},{"style":265},[3280],{"type":15,"value":408},{"type":10,"tag":217,"props":3282,"children":3283},{"style":224},[3284],{"type":15,"value":3285}," pFragmentShaderSpirv,\n",{"type":10,"tag":217,"props":3287,"children":3288},{"class":219,"line":811},[3289,3293,3297,3301],{"type":10,"tag":217,"props":3290,"children":3291},{"style":224},[3292],{"type":15,"value":3026},{"type":10,"tag":217,"props":3294,"children":3295},{"style":265},[3296],{"type":15,"value":408},{"type":10,"tag":217,"props":3298,"children":3299},{"style":3033},[3300],{"type":15,"value":3036},{"type":10,"tag":217,"props":3302,"children":3303},{"style":224},[3304],{"type":15,"value":258},{"type":10,"tag":217,"props":3306,"children":3307},{"class":219,"line":824},[3308,3312,3316,3320],{"type":10,"tag":217,"props":3309,"children":3310},{"style":224},[3311],{"type":15,"value":3048},{"type":10,"tag":217,"props":3313,"children":3314},{"style":265},[3315],{"type":15,"value":408},{"type":10,"tag":217,"props":3317,"children":3318},{"style":416},[3319],{"type":15,"value":3057},{"type":10,"tag":217,"props":3321,"children":3322},{"style":224},[3323],{"type":15,"value":258},{"type":10,"tag":217,"props":3325,"children":3326},{"class":219,"line":846},[3327,3331,3335,3339],{"type":10,"tag":217,"props":3328,"children":3329},{"style":224},[3330],{"type":15,"value":3069},{"type":10,"tag":217,"props":3332,"children":3333},{"style":265},[3334],{"type":15,"value":408},{"type":10,"tag":217,"props":3336,"children":3337},{"style":265},[3338],{"type":15,"value":3078},{"type":10,"tag":217,"props":3340,"children":3341},{"style":224},[3342],{"type":15,"value":3083},{"type":10,"tag":217,"props":3344,"children":3345},{"class":219,"line":859},[3346,3350,3354,3358],{"type":10,"tag":217,"props":3347,"children":3348},{"style":224},[3349],{"type":15,"value":3091},{"type":10,"tag":217,"props":3351,"children":3352},{"style":265},[3353],{"type":15,"value":408},{"type":10,"tag":217,"props":3355,"children":3356},{"style":416},[3357],{"type":15,"value":638},{"type":10,"tag":217,"props":3359,"children":3360},{"style":224},[3361],{"type":15,"value":258},{"type":10,"tag":217,"props":3363,"children":3364},{"class":219,"line":881},[3365,3369,3373,3377],{"type":10,"tag":217,"props":3366,"children":3367},{"style":224},[3368],{"type":15,"value":3111},{"type":10,"tag":217,"props":3370,"children":3371},{"style":265},[3372],{"type":15,"value":408},{"type":10,"tag":217,"props":3374,"children":3375},{"style":416},[3376],{"type":15,"value":2912},{"type":10,"tag":217,"props":3378,"children":3379},{"style":224},[3380],{"type":15,"value":258},{"type":10,"tag":217,"props":3382,"children":3383},{"class":219,"line":903},[3384,3388,3392],{"type":10,"tag":217,"props":3385,"children":3386},{"style":224},[3387],{"type":15,"value":3131},{"type":10,"tag":217,"props":3389,"children":3390},{"style":265},[3391],{"type":15,"value":408},{"type":10,"tag":217,"props":3393,"children":3394},{"style":416},[3395],{"type":15,"value":3140},{"type":10,"tag":217,"props":3397,"children":3399},{"class":219,"line":3398},33,[3400],{"type":10,"tag":217,"props":3401,"children":3402},{"style":224},[3403],{"type":15,"value":3404}," }\n",{"type":10,"tag":217,"props":3406,"children":3408},{"class":219,"line":3407},34,[3409],{"type":10,"tag":217,"props":3410,"children":3411},{"style":224},[3412],{"type":15,"value":3413},"};\n",{"type":10,"tag":217,"props":3415,"children":3417},{"class":219,"line":3416},35,[3418],{"type":10,"tag":217,"props":3419,"children":3420},{"emptyLinePlaceholder":600},[3421],{"type":15,"value":603},{"type":10,"tag":217,"props":3423,"children":3425},{"class":219,"line":3424},36,[3426,3431,3436,3440,3444],{"type":10,"tag":217,"props":3427,"children":3428},{"style":224},[3429],{"type":15,"value":3430},"VkShaderEXT ",{"type":10,"tag":217,"props":3432,"children":3433},{"style":250},[3434],{"type":15,"value":3435},"shaders",{"type":10,"tag":217,"props":3437,"children":3438},{"style":224},[3439],{"type":15,"value":2851},{"type":10,"tag":217,"props":3441,"children":3442},{"style":416},[3443],{"type":15,"value":2856},{"type":10,"tag":217,"props":3445,"children":3446},{"style":224},[3447],{"type":15,"value":3448},"];\n",{"type":10,"tag":217,"props":3450,"children":3452},{"class":219,"line":3451},37,[3453],{"type":10,"tag":217,"props":3454,"children":3455},{"emptyLinePlaceholder":600},[3456],{"type":15,"value":603},{"type":10,"tag":217,"props":3458,"children":3460},{"class":219,"line":3459},38,[3461,3465,3470,3474,3479,3483],{"type":10,"tag":217,"props":3462,"children":3463},{"style":230},[3464],{"type":15,"value":233},{"type":10,"tag":217,"props":3466,"children":3467},{"style":224},[3468],{"type":15,"value":3469},"(device, ",{"type":10,"tag":217,"props":3471,"children":3472},{"style":416},[3473],{"type":15,"value":2856},{"type":10,"tag":217,"props":3475,"children":3476},{"style":224},[3477],{"type":15,"value":3478},", shaderInfo, ",{"type":10,"tag":217,"props":3480,"children":3481},{"style":416},[3482],{"type":15,"value":1270},{"type":10,"tag":217,"props":3484,"children":3485},{"style":224},[3486],{"type":15,"value":3487},", shaders);\n",{"type":10,"tag":11,"props":3489,"children":3490},{},[3491],{"type":15,"value":3492},"Later at draw time, the application binds the linked vertex and fragment shaders forming a complete program:",{"type":10,"tag":206,"props":3494,"children":3496},{"className":208,"code":3495,"language":210,"meta":211,"style":211},"VkShaderStageFlagBits stages[2] = {\n VK_SHADER_STAGE_VERTEX_BIT,\n VK_SHADER_STAGE_FRAGMENT_BIT\n};\nvkCmdBindShadersEXT(commandBuffer, 2, stages, shaders);\n",[3497],{"type":10,"tag":168,"props":3498,"children":3499},{"__ignoreMap":211},[3500,3533,3541,3549,3556],{"type":10,"tag":217,"props":3501,"children":3502},{"class":219,"line":220},[3503,3508,3513,3517,3521,3525,3529],{"type":10,"tag":217,"props":3504,"children":3505},{"style":224},[3506],{"type":15,"value":3507},"VkShaderStageFlagBits ",{"type":10,"tag":217,"props":3509,"children":3510},{"style":250},[3511],{"type":15,"value":3512},"stages",{"type":10,"tag":217,"props":3514,"children":3515},{"style":224},[3516],{"type":15,"value":2851},{"type":10,"tag":217,"props":3518,"children":3519},{"style":416},[3520],{"type":15,"value":2856},{"type":10,"tag":217,"props":3522,"children":3523},{"style":224},[3524],{"type":15,"value":2861},{"type":10,"tag":217,"props":3526,"children":3527},{"style":265},[3528],{"type":15,"value":408},{"type":10,"tag":217,"props":3530,"children":3531},{"style":224},[3532],{"type":15,"value":2870},{"type":10,"tag":217,"props":3534,"children":3535},{"class":219,"line":241},[3536],{"type":10,"tag":217,"props":3537,"children":3538},{"style":224},[3539],{"type":15,"value":3540}," VK_SHADER_STAGE_VERTEX_BIT,\n",{"type":10,"tag":217,"props":3542,"children":3543},{"class":219,"line":261},[3544],{"type":10,"tag":217,"props":3545,"children":3546},{"style":224},[3547],{"type":15,"value":3548}," VK_SHADER_STAGE_FRAGMENT_BIT\n",{"type":10,"tag":217,"props":3550,"children":3551},{"class":219,"line":280},[3552],{"type":10,"tag":217,"props":3553,"children":3554},{"style":224},[3555],{"type":15,"value":3413},{"type":10,"tag":217,"props":3557,"children":3558},{"class":219,"line":303},[3559,3564,3569,3573],{"type":10,"tag":217,"props":3560,"children":3561},{"style":230},[3562],{"type":15,"value":3563},"vkCmdBindShadersEXT",{"type":10,"tag":217,"props":3565,"children":3566},{"style":224},[3567],{"type":15,"value":3568},"(commandBuffer, ",{"type":10,"tag":217,"props":3570,"children":3571},{"style":416},[3572],{"type":15,"value":2856},{"type":10,"tag":217,"props":3574,"children":3575},{"style":224},[3576],{"type":15,"value":3577},", stages, shaders);\n",{"type":10,"tag":11,"props":3579,"children":3580},{},[3581],{"type":15,"value":3582},"Alternatively, the same result could be achieved by:",{"type":10,"tag":206,"props":3584,"children":3586},{"className":208,"code":3585,"language":210,"meta":211,"style":211},"{\n VkShaderStageFlagBits stage = VK_SHADER_STAGE_VERTEX_BIT;\n vkCmdBindShadersEXT(commandBuffer, 1, &stage, &shaders[0]);\n}\n\n{\n VkShaderStageFlagBits stage = VK_SHADER_STAGE_FRAGMENT_BIT;\n vkCmdBindShadersEXT(commandBuffer, 1, &stage, &shaders[1]);\n}\n",[3587],{"type":10,"tag":168,"props":3588,"children":3589},{"__ignoreMap":211},[3590,3598,3615,3668,3676,3683,3690,3706,3753],{"type":10,"tag":217,"props":3591,"children":3592},{"class":219,"line":220},[3593],{"type":10,"tag":217,"props":3594,"children":3595},{"style":224},[3596],{"type":15,"value":3597},"{\n",{"type":10,"tag":217,"props":3599,"children":3600},{"class":219,"line":241},[3601,3606,3610],{"type":10,"tag":217,"props":3602,"children":3603},{"style":224},[3604],{"type":15,"value":3605}," VkShaderStageFlagBits stage ",{"type":10,"tag":217,"props":3607,"children":3608},{"style":265},[3609],{"type":15,"value":408},{"type":10,"tag":217,"props":3611,"children":3612},{"style":224},[3613],{"type":15,"value":3614}," VK_SHADER_STAGE_VERTEX_BIT;\n",{"type":10,"tag":217,"props":3616,"children":3617},{"class":219,"line":261},[3618,3623,3627,3632,3636,3641,3646,3650,3654,3658,3663],{"type":10,"tag":217,"props":3619,"children":3620},{"style":230},[3621],{"type":15,"value":3622}," vkCmdBindShadersEXT",{"type":10,"tag":217,"props":3624,"children":3625},{"style":224},[3626],{"type":15,"value":3568},{"type":10,"tag":217,"props":3628,"children":3629},{"style":416},[3630],{"type":15,"value":3631},"1",{"type":10,"tag":217,"props":3633,"children":3634},{"style":224},[3635],{"type":15,"value":1272},{"type":10,"tag":217,"props":3637,"children":3638},{"style":265},[3639],{"type":15,"value":3640},"&",{"type":10,"tag":217,"props":3642,"children":3643},{"style":224},[3644],{"type":15,"value":3645},"stage, ",{"type":10,"tag":217,"props":3647,"children":3648},{"style":265},[3649],{"type":15,"value":3640},{"type":10,"tag":217,"props":3651,"children":3652},{"style":250},[3653],{"type":15,"value":3435},{"type":10,"tag":217,"props":3655,"children":3656},{"style":224},[3657],{"type":15,"value":2851},{"type":10,"tag":217,"props":3659,"children":3660},{"style":416},[3661],{"type":15,"value":3662},"0",{"type":10,"tag":217,"props":3664,"children":3665},{"style":224},[3666],{"type":15,"value":3667},"]);\n",{"type":10,"tag":217,"props":3669,"children":3670},{"class":219,"line":280},[3671],{"type":10,"tag":217,"props":3672,"children":3673},{"style":224},[3674],{"type":15,"value":3675},"}\n",{"type":10,"tag":217,"props":3677,"children":3678},{"class":219,"line":303},[3679],{"type":10,"tag":217,"props":3680,"children":3681},{"emptyLinePlaceholder":600},[3682],{"type":15,"value":603},{"type":10,"tag":217,"props":3684,"children":3685},{"class":219,"line":325},[3686],{"type":10,"tag":217,"props":3687,"children":3688},{"style":224},[3689],{"type":15,"value":3597},{"type":10,"tag":217,"props":3691,"children":3692},{"class":219,"line":526},[3693,3697,3701],{"type":10,"tag":217,"props":3694,"children":3695},{"style":224},[3696],{"type":15,"value":3605},{"type":10,"tag":217,"props":3698,"children":3699},{"style":265},[3700],{"type":15,"value":408},{"type":10,"tag":217,"props":3702,"children":3703},{"style":224},[3704],{"type":15,"value":3705}," VK_SHADER_STAGE_FRAGMENT_BIT;\n",{"type":10,"tag":217,"props":3707,"children":3708},{"class":219,"line":552},[3709,3713,3717,3721,3725,3729,3733,3737,3741,3745,3749],{"type":10,"tag":217,"props":3710,"children":3711},{"style":230},[3712],{"type":15,"value":3622},{"type":10,"tag":217,"props":3714,"children":3715},{"style":224},[3716],{"type":15,"value":3568},{"type":10,"tag":217,"props":3718,"children":3719},{"style":416},[3720],{"type":15,"value":3631},{"type":10,"tag":217,"props":3722,"children":3723},{"style":224},[3724],{"type":15,"value":1272},{"type":10,"tag":217,"props":3726,"children":3727},{"style":265},[3728],{"type":15,"value":3640},{"type":10,"tag":217,"props":3730,"children":3731},{"style":224},[3732],{"type":15,"value":3645},{"type":10,"tag":217,"props":3734,"children":3735},{"style":265},[3736],{"type":15,"value":3640},{"type":10,"tag":217,"props":3738,"children":3739},{"style":250},[3740],{"type":15,"value":3435},{"type":10,"tag":217,"props":3742,"children":3743},{"style":224},[3744],{"type":15,"value":2851},{"type":10,"tag":217,"props":3746,"children":3747},{"style":416},[3748],{"type":15,"value":3631},{"type":10,"tag":217,"props":3750,"children":3751},{"style":224},[3752],{"type":15,"value":3667},{"type":10,"tag":217,"props":3754,"children":3755},{"class":219,"line":574},[3756],{"type":10,"tag":217,"props":3757,"children":3758},{"style":224},[3759],{"type":15,"value":3675},{"type":10,"tag":11,"props":3761,"children":3762},{},[3763,3765,3771,3772,3778],{"type":15,"value":3764},"If the ",{"type":10,"tag":168,"props":3766,"children":3768},{"className":3767},[],[3769],{"type":15,"value":3770},"tessellationShader",{"type":15,"value":2776},{"type":10,"tag":168,"props":3773,"children":3775},{"className":3774},[],[3776],{"type":15,"value":3777},"geometryShader",{"type":15,"value":3779}," features are enabled on the device, the application sets the corresponding shader types to VK_NULL_HANDLE:",{"type":10,"tag":206,"props":3781,"children":3783},{"className":208,"code":3782,"language":210,"meta":211,"style":211},"VkShaderStageFlagBits unusedStages[3] = {\n VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,\n VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,\n VK_SHADER_STAGE_GEOMETRY_BIT\n};\nVkShaderEXT unusedShaders[3] = { /* VK_NULL_HANDLE, ... */ };\nvkCmdBindShadersEXT(commandBuffer, 3, unusedStages, unusedShaders);\n",[3784],{"type":10,"tag":168,"props":3785,"children":3786},{"__ignoreMap":211},[3787,3820,3828,3836,3844,3851,3895],{"type":10,"tag":217,"props":3788,"children":3789},{"class":219,"line":220},[3790,3794,3799,3803,3808,3812,3816],{"type":10,"tag":217,"props":3791,"children":3792},{"style":224},[3793],{"type":15,"value":3507},{"type":10,"tag":217,"props":3795,"children":3796},{"style":250},[3797],{"type":15,"value":3798},"unusedStages",{"type":10,"tag":217,"props":3800,"children":3801},{"style":224},[3802],{"type":15,"value":2851},{"type":10,"tag":217,"props":3804,"children":3805},{"style":416},[3806],{"type":15,"value":3807},"3",{"type":10,"tag":217,"props":3809,"children":3810},{"style":224},[3811],{"type":15,"value":2861},{"type":10,"tag":217,"props":3813,"children":3814},{"style":265},[3815],{"type":15,"value":408},{"type":10,"tag":217,"props":3817,"children":3818},{"style":224},[3819],{"type":15,"value":2870},{"type":10,"tag":217,"props":3821,"children":3822},{"class":219,"line":241},[3823],{"type":10,"tag":217,"props":3824,"children":3825},{"style":224},[3826],{"type":15,"value":3827}," VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,\n",{"type":10,"tag":217,"props":3829,"children":3830},{"class":219,"line":261},[3831],{"type":10,"tag":217,"props":3832,"children":3833},{"style":224},[3834],{"type":15,"value":3835}," VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,\n",{"type":10,"tag":217,"props":3837,"children":3838},{"class":219,"line":280},[3839],{"type":10,"tag":217,"props":3840,"children":3841},{"style":224},[3842],{"type":15,"value":3843}," VK_SHADER_STAGE_GEOMETRY_BIT\n",{"type":10,"tag":217,"props":3845,"children":3846},{"class":219,"line":303},[3847],{"type":10,"tag":217,"props":3848,"children":3849},{"style":224},[3850],{"type":15,"value":3413},{"type":10,"tag":217,"props":3852,"children":3853},{"class":219,"line":325},[3854,3858,3863,3867,3871,3875,3879,3884,3890],{"type":10,"tag":217,"props":3855,"children":3856},{"style":224},[3857],{"type":15,"value":3430},{"type":10,"tag":217,"props":3859,"children":3860},{"style":250},[3861],{"type":15,"value":3862},"unusedShaders",{"type":10,"tag":217,"props":3864,"children":3865},{"style":224},[3866],{"type":15,"value":2851},{"type":10,"tag":217,"props":3868,"children":3869},{"style":416},[3870],{"type":15,"value":3807},{"type":10,"tag":217,"props":3872,"children":3873},{"style":224},[3874],{"type":15,"value":2861},{"type":10,"tag":217,"props":3876,"children":3877},{"style":265},[3878],{"type":15,"value":408},{"type":10,"tag":217,"props":3880,"children":3881},{"style":224},[3882],{"type":15,"value":3883}," {",{"type":10,"tag":217,"props":3885,"children":3887},{"style":3886},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[3888],{"type":15,"value":3889}," /* VK_NULL_HANDLE, ... */",{"type":10,"tag":217,"props":3891,"children":3892},{"style":224},[3893],{"type":15,"value":3894}," };\n",{"type":10,"tag":217,"props":3896,"children":3897},{"class":219,"line":526},[3898,3902,3906,3910],{"type":10,"tag":217,"props":3899,"children":3900},{"style":230},[3901],{"type":15,"value":3563},{"type":10,"tag":217,"props":3903,"children":3904},{"style":224},[3905],{"type":15,"value":3568},{"type":10,"tag":217,"props":3907,"children":3908},{"style":416},[3909],{"type":15,"value":3807},{"type":10,"tag":217,"props":3911,"children":3912},{"style":224},[3913],{"type":15,"value":3914},", unusedStages, unusedShaders);\n",{"type":10,"tag":11,"props":3916,"children":3917},{},[3918],{"type":15,"value":3582},{"type":10,"tag":206,"props":3920,"children":3922},{"className":208,"code":3921,"language":210,"meta":211,"style":211},"VkShaderStageFlagBits unusedStages[3] = {\n VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT,\n VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,\n VK_SHADER_STAGE_GEOMETRY_BIT\n};\n// Setting pShaders to NULL is equivalent to specifying an array of stageCount VK_NULL_HANDLE values\nvkCmdBindShadersEXT(commandBuffer, 3, unusedStages, NULL);\n",[3923],{"type":10,"tag":168,"props":3924,"children":3925},{"__ignoreMap":211},[3926,3957,3964,3971,3978,3985,3993],{"type":10,"tag":217,"props":3927,"children":3928},{"class":219,"line":220},[3929,3933,3937,3941,3945,3949,3953],{"type":10,"tag":217,"props":3930,"children":3931},{"style":224},[3932],{"type":15,"value":3507},{"type":10,"tag":217,"props":3934,"children":3935},{"style":250},[3936],{"type":15,"value":3798},{"type":10,"tag":217,"props":3938,"children":3939},{"style":224},[3940],{"type":15,"value":2851},{"type":10,"tag":217,"props":3942,"children":3943},{"style":416},[3944],{"type":15,"value":3807},{"type":10,"tag":217,"props":3946,"children":3947},{"style":224},[3948],{"type":15,"value":2861},{"type":10,"tag":217,"props":3950,"children":3951},{"style":265},[3952],{"type":15,"value":408},{"type":10,"tag":217,"props":3954,"children":3955},{"style":224},[3956],{"type":15,"value":2870},{"type":10,"tag":217,"props":3958,"children":3959},{"class":219,"line":241},[3960],{"type":10,"tag":217,"props":3961,"children":3962},{"style":224},[3963],{"type":15,"value":3827},{"type":10,"tag":217,"props":3965,"children":3966},{"class":219,"line":261},[3967],{"type":10,"tag":217,"props":3968,"children":3969},{"style":224},[3970],{"type":15,"value":3835},{"type":10,"tag":217,"props":3972,"children":3973},{"class":219,"line":280},[3974],{"type":10,"tag":217,"props":3975,"children":3976},{"style":224},[3977],{"type":15,"value":3843},{"type":10,"tag":217,"props":3979,"children":3980},{"class":219,"line":303},[3981],{"type":10,"tag":217,"props":3982,"children":3983},{"style":224},[3984],{"type":15,"value":3413},{"type":10,"tag":217,"props":3986,"children":3987},{"class":219,"line":325},[3988],{"type":10,"tag":217,"props":3989,"children":3990},{"style":3886},[3991],{"type":15,"value":3992},"// Setting pShaders to NULL is equivalent to specifying an array of stageCount VK_NULL_HANDLE values\n",{"type":10,"tag":217,"props":3994,"children":3995},{"class":219,"line":526},[3996,4000,4004,4008,4013,4017],{"type":10,"tag":217,"props":3997,"children":3998},{"style":230},[3999],{"type":15,"value":3563},{"type":10,"tag":217,"props":4001,"children":4002},{"style":224},[4003],{"type":15,"value":3568},{"type":10,"tag":217,"props":4005,"children":4006},{"style":416},[4007],{"type":15,"value":3807},{"type":10,"tag":217,"props":4009,"children":4010},{"style":224},[4011],{"type":15,"value":4012},", unusedStages, ",{"type":10,"tag":217,"props":4014,"children":4015},{"style":416},[4016],{"type":15,"value":1270},{"type":10,"tag":217,"props":4018,"children":4019},{"style":224},[4020],{"type":15,"value":345},{"type":10,"tag":11,"props":4022,"children":4023},{},[4024],{"type":15,"value":4025},"Finally, the application issues a draw call:",{"type":10,"tag":206,"props":4027,"children":4029},{"className":208,"code":4028,"language":210,"meta":211,"style":211},"vkCmdDrawIndexed(commandBuffer, ...);\n",[4030],{"type":10,"tag":168,"props":4031,"children":4032},{"__ignoreMap":211},[4033],{"type":10,"tag":217,"props":4034,"children":4035},{"class":219,"line":220},[4036,4041],{"type":10,"tag":217,"props":4037,"children":4038},{"style":230},[4039],{"type":15,"value":4040},"vkCmdDrawIndexed",{"type":10,"tag":217,"props":4042,"children":4043},{"style":224},[4044],{"type":15,"value":4045},"(commandBuffer, ...);\n",{"type":10,"tag":11,"props":4047,"children":4048},{},[4049],{"type":15,"value":4050},"Now consider a different application which needs to mix and match vertex and fragment shaders in arbitrary combinations that are not predictable at shader compile time.",{"type":10,"tag":11,"props":4052,"children":4053},{},[4054],{"type":15,"value":4055},"At startup time, the application compiles unlinked vertex and fragment shaders:",{"type":10,"tag":206,"props":4057,"children":4059},{"className":208,"code":4058,"language":210,"meta":211,"style":211},"VkShaderCreateInfoEXT shaderInfo[3] = {\n {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_VERTEX_BIT,\n .nextStage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = vertexShaderSpirvSize,\n .pCode = pVertexShaderSpirv,\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n },\n {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = fragmentShaderSpirvSize[0],\n .pCode = pFragmentShaderSpirv[0],\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n },\n {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = fragmentShaderSpirvSize[1],\n .pCode = pFragmentShaderSpirv[1],\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n }\n};\n\nVkShaderEXT shaders[3];\n\nvkCreateShadersEXT(device, 3, shaderInfo, NULL, shaders);\n",[4060],{"type":10,"tag":168,"props":4061,"children":4062},{"__ignoreMap":211},[4063,4094,4101,4116,4135,4154,4169,4184,4199,4214,4229,4248,4267,4286,4305,4324,4339,4346,4353,4368,4387,4406,4421,4440,4455,4484,4512,4531,4550,4569,4588,4607,4622,4629,4636,4651,4670,4689,4704,4724,4740,4768,4796,4816,4836,4856,4876,4896,4912,4920,4928,4936,4960,4968],{"type":10,"tag":217,"props":4064,"children":4065},{"class":219,"line":220},[4066,4070,4074,4078,4082,4086,4090],{"type":10,"tag":217,"props":4067,"children":4068},{"style":224},[4069],{"type":15,"value":2841},{"type":10,"tag":217,"props":4071,"children":4072},{"style":250},[4073],{"type":15,"value":2846},{"type":10,"tag":217,"props":4075,"children":4076},{"style":224},[4077],{"type":15,"value":2851},{"type":10,"tag":217,"props":4079,"children":4080},{"style":416},[4081],{"type":15,"value":3807},{"type":10,"tag":217,"props":4083,"children":4084},{"style":224},[4085],{"type":15,"value":2861},{"type":10,"tag":217,"props":4087,"children":4088},{"style":265},[4089],{"type":15,"value":408},{"type":10,"tag":217,"props":4091,"children":4092},{"style":224},[4093],{"type":15,"value":2870},{"type":10,"tag":217,"props":4095,"children":4096},{"class":219,"line":241},[4097],{"type":10,"tag":217,"props":4098,"children":4099},{"style":224},[4100],{"type":15,"value":2878},{"type":10,"tag":217,"props":4102,"children":4103},{"class":219,"line":261},[4104,4108,4112],{"type":10,"tag":217,"props":4105,"children":4106},{"style":224},[4107],{"type":15,"value":2886},{"type":10,"tag":217,"props":4109,"children":4110},{"style":265},[4111],{"type":15,"value":408},{"type":10,"tag":217,"props":4113,"children":4114},{"style":224},[4115],{"type":15,"value":2895},{"type":10,"tag":217,"props":4117,"children":4118},{"class":219,"line":280},[4119,4123,4127,4131],{"type":10,"tag":217,"props":4120,"children":4121},{"style":224},[4122],{"type":15,"value":2903},{"type":10,"tag":217,"props":4124,"children":4125},{"style":265},[4126],{"type":15,"value":408},{"type":10,"tag":217,"props":4128,"children":4129},{"style":416},[4130],{"type":15,"value":2912},{"type":10,"tag":217,"props":4132,"children":4133},{"style":224},[4134],{"type":15,"value":258},{"type":10,"tag":217,"props":4136,"children":4137},{"class":219,"line":303},[4138,4142,4146,4150],{"type":10,"tag":217,"props":4139,"children":4140},{"style":224},[4141],{"type":15,"value":2924},{"type":10,"tag":217,"props":4143,"children":4144},{"style":265},[4145],{"type":15,"value":408},{"type":10,"tag":217,"props":4147,"children":4148},{"style":416},[4149],{"type":15,"value":638},{"type":10,"tag":217,"props":4151,"children":4152},{"style":224},[4153],{"type":15,"value":258},{"type":10,"tag":217,"props":4155,"children":4156},{"class":219,"line":325},[4157,4161,4165],{"type":10,"tag":217,"props":4158,"children":4159},{"style":224},[4160],{"type":15,"value":2941},{"type":10,"tag":217,"props":4162,"children":4163},{"style":265},[4164],{"type":15,"value":408},{"type":10,"tag":217,"props":4166,"children":4167},{"style":224},[4168],{"type":15,"value":2950},{"type":10,"tag":217,"props":4170,"children":4171},{"class":219,"line":526},[4172,4176,4180],{"type":10,"tag":217,"props":4173,"children":4174},{"style":224},[4175],{"type":15,"value":2958},{"type":10,"tag":217,"props":4177,"children":4178},{"style":265},[4179],{"type":15,"value":408},{"type":10,"tag":217,"props":4181,"children":4182},{"style":224},[4183],{"type":15,"value":2967},{"type":10,"tag":217,"props":4185,"children":4186},{"class":219,"line":552},[4187,4191,4195],{"type":10,"tag":217,"props":4188,"children":4189},{"style":224},[4190],{"type":15,"value":2975},{"type":10,"tag":217,"props":4192,"children":4193},{"style":265},[4194],{"type":15,"value":408},{"type":10,"tag":217,"props":4196,"children":4197},{"style":224},[4198],{"type":15,"value":2984},{"type":10,"tag":217,"props":4200,"children":4201},{"class":219,"line":574},[4202,4206,4210],{"type":10,"tag":217,"props":4203,"children":4204},{"style":224},[4205],{"type":15,"value":2992},{"type":10,"tag":217,"props":4207,"children":4208},{"style":265},[4209],{"type":15,"value":408},{"type":10,"tag":217,"props":4211,"children":4212},{"style":224},[4213],{"type":15,"value":3001},{"type":10,"tag":217,"props":4215,"children":4216},{"class":219,"line":583},[4217,4221,4225],{"type":10,"tag":217,"props":4218,"children":4219},{"style":224},[4220],{"type":15,"value":3009},{"type":10,"tag":217,"props":4222,"children":4223},{"style":265},[4224],{"type":15,"value":408},{"type":10,"tag":217,"props":4226,"children":4227},{"style":224},[4228],{"type":15,"value":3018},{"type":10,"tag":217,"props":4230,"children":4231},{"class":219,"line":596},[4232,4236,4240,4244],{"type":10,"tag":217,"props":4233,"children":4234},{"style":224},[4235],{"type":15,"value":3026},{"type":10,"tag":217,"props":4237,"children":4238},{"style":265},[4239],{"type":15,"value":408},{"type":10,"tag":217,"props":4241,"children":4242},{"style":3033},[4243],{"type":15,"value":3036},{"type":10,"tag":217,"props":4245,"children":4246},{"style":224},[4247],{"type":15,"value":258},{"type":10,"tag":217,"props":4249,"children":4250},{"class":219,"line":606},[4251,4255,4259,4263],{"type":10,"tag":217,"props":4252,"children":4253},{"style":224},[4254],{"type":15,"value":3048},{"type":10,"tag":217,"props":4256,"children":4257},{"style":265},[4258],{"type":15,"value":408},{"type":10,"tag":217,"props":4260,"children":4261},{"style":416},[4262],{"type":15,"value":3057},{"type":10,"tag":217,"props":4264,"children":4265},{"style":224},[4266],{"type":15,"value":258},{"type":10,"tag":217,"props":4268,"children":4269},{"class":219,"line":623},[4270,4274,4278,4282],{"type":10,"tag":217,"props":4271,"children":4272},{"style":224},[4273],{"type":15,"value":3069},{"type":10,"tag":217,"props":4275,"children":4276},{"style":265},[4277],{"type":15,"value":408},{"type":10,"tag":217,"props":4279,"children":4280},{"style":265},[4281],{"type":15,"value":3078},{"type":10,"tag":217,"props":4283,"children":4284},{"style":224},[4285],{"type":15,"value":3083},{"type":10,"tag":217,"props":4287,"children":4288},{"class":219,"line":645},[4289,4293,4297,4301],{"type":10,"tag":217,"props":4290,"children":4291},{"style":224},[4292],{"type":15,"value":3091},{"type":10,"tag":217,"props":4294,"children":4295},{"style":265},[4296],{"type":15,"value":408},{"type":10,"tag":217,"props":4298,"children":4299},{"style":416},[4300],{"type":15,"value":638},{"type":10,"tag":217,"props":4302,"children":4303},{"style":224},[4304],{"type":15,"value":258},{"type":10,"tag":217,"props":4306,"children":4307},{"class":219,"line":663},[4308,4312,4316,4320],{"type":10,"tag":217,"props":4309,"children":4310},{"style":224},[4311],{"type":15,"value":3111},{"type":10,"tag":217,"props":4313,"children":4314},{"style":265},[4315],{"type":15,"value":408},{"type":10,"tag":217,"props":4317,"children":4318},{"style":416},[4319],{"type":15,"value":2912},{"type":10,"tag":217,"props":4321,"children":4322},{"style":224},[4323],{"type":15,"value":258},{"type":10,"tag":217,"props":4325,"children":4326},{"class":219,"line":672},[4327,4331,4335],{"type":10,"tag":217,"props":4328,"children":4329},{"style":224},[4330],{"type":15,"value":3131},{"type":10,"tag":217,"props":4332,"children":4333},{"style":265},[4334],{"type":15,"value":408},{"type":10,"tag":217,"props":4336,"children":4337},{"style":416},[4338],{"type":15,"value":3140},{"type":10,"tag":217,"props":4340,"children":4341},{"class":219,"line":680},[4342],{"type":10,"tag":217,"props":4343,"children":4344},{"style":224},[4345],{"type":15,"value":3148},{"type":10,"tag":217,"props":4347,"children":4348},{"class":219,"line":698},[4349],{"type":10,"tag":217,"props":4350,"children":4351},{"style":224},[4352],{"type":15,"value":2878},{"type":10,"tag":217,"props":4354,"children":4355},{"class":219,"line":707},[4356,4360,4364],{"type":10,"tag":217,"props":4357,"children":4358},{"style":224},[4359],{"type":15,"value":2886},{"type":10,"tag":217,"props":4361,"children":4362},{"style":265},[4363],{"type":15,"value":408},{"type":10,"tag":217,"props":4365,"children":4366},{"style":224},[4367],{"type":15,"value":2895},{"type":10,"tag":217,"props":4369,"children":4370},{"class":219,"line":726},[4371,4375,4379,4383],{"type":10,"tag":217,"props":4372,"children":4373},{"style":224},[4374],{"type":15,"value":2903},{"type":10,"tag":217,"props":4376,"children":4377},{"style":265},[4378],{"type":15,"value":408},{"type":10,"tag":217,"props":4380,"children":4381},{"style":416},[4382],{"type":15,"value":2912},{"type":10,"tag":217,"props":4384,"children":4385},{"style":224},[4386],{"type":15,"value":258},{"type":10,"tag":217,"props":4388,"children":4389},{"class":219,"line":735},[4390,4394,4398,4402],{"type":10,"tag":217,"props":4391,"children":4392},{"style":224},[4393],{"type":15,"value":2924},{"type":10,"tag":217,"props":4395,"children":4396},{"style":265},[4397],{"type":15,"value":408},{"type":10,"tag":217,"props":4399,"children":4400},{"style":416},[4401],{"type":15,"value":638},{"type":10,"tag":217,"props":4403,"children":4404},{"style":224},[4405],{"type":15,"value":258},{"type":10,"tag":217,"props":4407,"children":4408},{"class":219,"line":744},[4409,4413,4417],{"type":10,"tag":217,"props":4410,"children":4411},{"style":224},[4412],{"type":15,"value":2941},{"type":10,"tag":217,"props":4414,"children":4415},{"style":265},[4416],{"type":15,"value":408},{"type":10,"tag":217,"props":4418,"children":4419},{"style":224},[4420],{"type":15,"value":2967},{"type":10,"tag":217,"props":4422,"children":4423},{"class":219,"line":753},[4424,4428,4432,4436],{"type":10,"tag":217,"props":4425,"children":4426},{"style":224},[4427],{"type":15,"value":2958},{"type":10,"tag":217,"props":4429,"children":4430},{"style":265},[4431],{"type":15,"value":408},{"type":10,"tag":217,"props":4433,"children":4434},{"style":416},[4435],{"type":15,"value":638},{"type":10,"tag":217,"props":4437,"children":4438},{"style":224},[4439],{"type":15,"value":258},{"type":10,"tag":217,"props":4441,"children":4442},{"class":219,"line":762},[4443,4447,4451],{"type":10,"tag":217,"props":4444,"children":4445},{"style":224},[4446],{"type":15,"value":2975},{"type":10,"tag":217,"props":4448,"children":4449},{"style":265},[4450],{"type":15,"value":408},{"type":10,"tag":217,"props":4452,"children":4453},{"style":224},[4454],{"type":15,"value":2984},{"type":10,"tag":217,"props":4456,"children":4457},{"class":219,"line":776},[4458,4462,4466,4471,4475,4479],{"type":10,"tag":217,"props":4459,"children":4460},{"style":224},[4461],{"type":15,"value":2992},{"type":10,"tag":217,"props":4463,"children":4464},{"style":265},[4465],{"type":15,"value":408},{"type":10,"tag":217,"props":4467,"children":4468},{"style":250},[4469],{"type":15,"value":4470}," fragmentShaderSpirvSize",{"type":10,"tag":217,"props":4472,"children":4473},{"style":224},[4474],{"type":15,"value":2851},{"type":10,"tag":217,"props":4476,"children":4477},{"style":416},[4478],{"type":15,"value":3662},{"type":10,"tag":217,"props":4480,"children":4481},{"style":224},[4482],{"type":15,"value":4483},"],\n",{"type":10,"tag":217,"props":4485,"children":4486},{"class":219,"line":793},[4487,4491,4495,4500,4504,4508],{"type":10,"tag":217,"props":4488,"children":4489},{"style":224},[4490],{"type":15,"value":3009},{"type":10,"tag":217,"props":4492,"children":4493},{"style":265},[4494],{"type":15,"value":408},{"type":10,"tag":217,"props":4496,"children":4497},{"style":250},[4498],{"type":15,"value":4499}," pFragmentShaderSpirv",{"type":10,"tag":217,"props":4501,"children":4502},{"style":224},[4503],{"type":15,"value":2851},{"type":10,"tag":217,"props":4505,"children":4506},{"style":416},[4507],{"type":15,"value":3662},{"type":10,"tag":217,"props":4509,"children":4510},{"style":224},[4511],{"type":15,"value":4483},{"type":10,"tag":217,"props":4513,"children":4514},{"class":219,"line":811},[4515,4519,4523,4527],{"type":10,"tag":217,"props":4516,"children":4517},{"style":224},[4518],{"type":15,"value":3026},{"type":10,"tag":217,"props":4520,"children":4521},{"style":265},[4522],{"type":15,"value":408},{"type":10,"tag":217,"props":4524,"children":4525},{"style":3033},[4526],{"type":15,"value":3036},{"type":10,"tag":217,"props":4528,"children":4529},{"style":224},[4530],{"type":15,"value":258},{"type":10,"tag":217,"props":4532,"children":4533},{"class":219,"line":824},[4534,4538,4542,4546],{"type":10,"tag":217,"props":4535,"children":4536},{"style":224},[4537],{"type":15,"value":3048},{"type":10,"tag":217,"props":4539,"children":4540},{"style":265},[4541],{"type":15,"value":408},{"type":10,"tag":217,"props":4543,"children":4544},{"style":416},[4545],{"type":15,"value":3057},{"type":10,"tag":217,"props":4547,"children":4548},{"style":224},[4549],{"type":15,"value":258},{"type":10,"tag":217,"props":4551,"children":4552},{"class":219,"line":846},[4553,4557,4561,4565],{"type":10,"tag":217,"props":4554,"children":4555},{"style":224},[4556],{"type":15,"value":3069},{"type":10,"tag":217,"props":4558,"children":4559},{"style":265},[4560],{"type":15,"value":408},{"type":10,"tag":217,"props":4562,"children":4563},{"style":265},[4564],{"type":15,"value":3078},{"type":10,"tag":217,"props":4566,"children":4567},{"style":224},[4568],{"type":15,"value":3083},{"type":10,"tag":217,"props":4570,"children":4571},{"class":219,"line":859},[4572,4576,4580,4584],{"type":10,"tag":217,"props":4573,"children":4574},{"style":224},[4575],{"type":15,"value":3091},{"type":10,"tag":217,"props":4577,"children":4578},{"style":265},[4579],{"type":15,"value":408},{"type":10,"tag":217,"props":4581,"children":4582},{"style":416},[4583],{"type":15,"value":638},{"type":10,"tag":217,"props":4585,"children":4586},{"style":224},[4587],{"type":15,"value":258},{"type":10,"tag":217,"props":4589,"children":4590},{"class":219,"line":881},[4591,4595,4599,4603],{"type":10,"tag":217,"props":4592,"children":4593},{"style":224},[4594],{"type":15,"value":3111},{"type":10,"tag":217,"props":4596,"children":4597},{"style":265},[4598],{"type":15,"value":408},{"type":10,"tag":217,"props":4600,"children":4601},{"style":416},[4602],{"type":15,"value":2912},{"type":10,"tag":217,"props":4604,"children":4605},{"style":224},[4606],{"type":15,"value":258},{"type":10,"tag":217,"props":4608,"children":4609},{"class":219,"line":903},[4610,4614,4618],{"type":10,"tag":217,"props":4611,"children":4612},{"style":224},[4613],{"type":15,"value":3131},{"type":10,"tag":217,"props":4615,"children":4616},{"style":265},[4617],{"type":15,"value":408},{"type":10,"tag":217,"props":4619,"children":4620},{"style":416},[4621],{"type":15,"value":3140},{"type":10,"tag":217,"props":4623,"children":4624},{"class":219,"line":3398},[4625],{"type":10,"tag":217,"props":4626,"children":4627},{"style":224},[4628],{"type":15,"value":3148},{"type":10,"tag":217,"props":4630,"children":4631},{"class":219,"line":3407},[4632],{"type":10,"tag":217,"props":4633,"children":4634},{"style":224},[4635],{"type":15,"value":2878},{"type":10,"tag":217,"props":4637,"children":4638},{"class":219,"line":3416},[4639,4643,4647],{"type":10,"tag":217,"props":4640,"children":4641},{"style":224},[4642],{"type":15,"value":2886},{"type":10,"tag":217,"props":4644,"children":4645},{"style":265},[4646],{"type":15,"value":408},{"type":10,"tag":217,"props":4648,"children":4649},{"style":224},[4650],{"type":15,"value":2895},{"type":10,"tag":217,"props":4652,"children":4653},{"class":219,"line":3424},[4654,4658,4662,4666],{"type":10,"tag":217,"props":4655,"children":4656},{"style":224},[4657],{"type":15,"value":2903},{"type":10,"tag":217,"props":4659,"children":4660},{"style":265},[4661],{"type":15,"value":408},{"type":10,"tag":217,"props":4663,"children":4664},{"style":416},[4665],{"type":15,"value":2912},{"type":10,"tag":217,"props":4667,"children":4668},{"style":224},[4669],{"type":15,"value":258},{"type":10,"tag":217,"props":4671,"children":4672},{"class":219,"line":3451},[4673,4677,4681,4685],{"type":10,"tag":217,"props":4674,"children":4675},{"style":224},[4676],{"type":15,"value":2924},{"type":10,"tag":217,"props":4678,"children":4679},{"style":265},[4680],{"type":15,"value":408},{"type":10,"tag":217,"props":4682,"children":4683},{"style":416},[4684],{"type":15,"value":638},{"type":10,"tag":217,"props":4686,"children":4687},{"style":224},[4688],{"type":15,"value":258},{"type":10,"tag":217,"props":4690,"children":4691},{"class":219,"line":3459},[4692,4696,4700],{"type":10,"tag":217,"props":4693,"children":4694},{"style":224},[4695],{"type":15,"value":2941},{"type":10,"tag":217,"props":4697,"children":4698},{"style":265},[4699],{"type":15,"value":408},{"type":10,"tag":217,"props":4701,"children":4702},{"style":224},[4703],{"type":15,"value":2967},{"type":10,"tag":217,"props":4705,"children":4707},{"class":219,"line":4706},39,[4708,4712,4716,4720],{"type":10,"tag":217,"props":4709,"children":4710},{"style":224},[4711],{"type":15,"value":2958},{"type":10,"tag":217,"props":4713,"children":4714},{"style":265},[4715],{"type":15,"value":408},{"type":10,"tag":217,"props":4717,"children":4718},{"style":416},[4719],{"type":15,"value":638},{"type":10,"tag":217,"props":4721,"children":4722},{"style":224},[4723],{"type":15,"value":258},{"type":10,"tag":217,"props":4725,"children":4727},{"class":219,"line":4726},40,[4728,4732,4736],{"type":10,"tag":217,"props":4729,"children":4730},{"style":224},[4731],{"type":15,"value":2975},{"type":10,"tag":217,"props":4733,"children":4734},{"style":265},[4735],{"type":15,"value":408},{"type":10,"tag":217,"props":4737,"children":4738},{"style":224},[4739],{"type":15,"value":2984},{"type":10,"tag":217,"props":4741,"children":4743},{"class":219,"line":4742},41,[4744,4748,4752,4756,4760,4764],{"type":10,"tag":217,"props":4745,"children":4746},{"style":224},[4747],{"type":15,"value":2992},{"type":10,"tag":217,"props":4749,"children":4750},{"style":265},[4751],{"type":15,"value":408},{"type":10,"tag":217,"props":4753,"children":4754},{"style":250},[4755],{"type":15,"value":4470},{"type":10,"tag":217,"props":4757,"children":4758},{"style":224},[4759],{"type":15,"value":2851},{"type":10,"tag":217,"props":4761,"children":4762},{"style":416},[4763],{"type":15,"value":3631},{"type":10,"tag":217,"props":4765,"children":4766},{"style":224},[4767],{"type":15,"value":4483},{"type":10,"tag":217,"props":4769,"children":4771},{"class":219,"line":4770},42,[4772,4776,4780,4784,4788,4792],{"type":10,"tag":217,"props":4773,"children":4774},{"style":224},[4775],{"type":15,"value":3009},{"type":10,"tag":217,"props":4777,"children":4778},{"style":265},[4779],{"type":15,"value":408},{"type":10,"tag":217,"props":4781,"children":4782},{"style":250},[4783],{"type":15,"value":4499},{"type":10,"tag":217,"props":4785,"children":4786},{"style":224},[4787],{"type":15,"value":2851},{"type":10,"tag":217,"props":4789,"children":4790},{"style":416},[4791],{"type":15,"value":3631},{"type":10,"tag":217,"props":4793,"children":4794},{"style":224},[4795],{"type":15,"value":4483},{"type":10,"tag":217,"props":4797,"children":4799},{"class":219,"line":4798},43,[4800,4804,4808,4812],{"type":10,"tag":217,"props":4801,"children":4802},{"style":224},[4803],{"type":15,"value":3026},{"type":10,"tag":217,"props":4805,"children":4806},{"style":265},[4807],{"type":15,"value":408},{"type":10,"tag":217,"props":4809,"children":4810},{"style":3033},[4811],{"type":15,"value":3036},{"type":10,"tag":217,"props":4813,"children":4814},{"style":224},[4815],{"type":15,"value":258},{"type":10,"tag":217,"props":4817,"children":4819},{"class":219,"line":4818},44,[4820,4824,4828,4832],{"type":10,"tag":217,"props":4821,"children":4822},{"style":224},[4823],{"type":15,"value":3048},{"type":10,"tag":217,"props":4825,"children":4826},{"style":265},[4827],{"type":15,"value":408},{"type":10,"tag":217,"props":4829,"children":4830},{"style":416},[4831],{"type":15,"value":3057},{"type":10,"tag":217,"props":4833,"children":4834},{"style":224},[4835],{"type":15,"value":258},{"type":10,"tag":217,"props":4837,"children":4839},{"class":219,"line":4838},45,[4840,4844,4848,4852],{"type":10,"tag":217,"props":4841,"children":4842},{"style":224},[4843],{"type":15,"value":3069},{"type":10,"tag":217,"props":4845,"children":4846},{"style":265},[4847],{"type":15,"value":408},{"type":10,"tag":217,"props":4849,"children":4850},{"style":265},[4851],{"type":15,"value":3078},{"type":10,"tag":217,"props":4853,"children":4854},{"style":224},[4855],{"type":15,"value":3083},{"type":10,"tag":217,"props":4857,"children":4859},{"class":219,"line":4858},46,[4860,4864,4868,4872],{"type":10,"tag":217,"props":4861,"children":4862},{"style":224},[4863],{"type":15,"value":3091},{"type":10,"tag":217,"props":4865,"children":4866},{"style":265},[4867],{"type":15,"value":408},{"type":10,"tag":217,"props":4869,"children":4870},{"style":416},[4871],{"type":15,"value":638},{"type":10,"tag":217,"props":4873,"children":4874},{"style":224},[4875],{"type":15,"value":258},{"type":10,"tag":217,"props":4877,"children":4879},{"class":219,"line":4878},47,[4880,4884,4888,4892],{"type":10,"tag":217,"props":4881,"children":4882},{"style":224},[4883],{"type":15,"value":3111},{"type":10,"tag":217,"props":4885,"children":4886},{"style":265},[4887],{"type":15,"value":408},{"type":10,"tag":217,"props":4889,"children":4890},{"style":416},[4891],{"type":15,"value":2912},{"type":10,"tag":217,"props":4893,"children":4894},{"style":224},[4895],{"type":15,"value":258},{"type":10,"tag":217,"props":4897,"children":4899},{"class":219,"line":4898},48,[4900,4904,4908],{"type":10,"tag":217,"props":4901,"children":4902},{"style":224},[4903],{"type":15,"value":3131},{"type":10,"tag":217,"props":4905,"children":4906},{"style":265},[4907],{"type":15,"value":408},{"type":10,"tag":217,"props":4909,"children":4910},{"style":416},[4911],{"type":15,"value":3140},{"type":10,"tag":217,"props":4913,"children":4915},{"class":219,"line":4914},49,[4916],{"type":10,"tag":217,"props":4917,"children":4918},{"style":224},[4919],{"type":15,"value":3404},{"type":10,"tag":217,"props":4921,"children":4923},{"class":219,"line":4922},50,[4924],{"type":10,"tag":217,"props":4925,"children":4926},{"style":224},[4927],{"type":15,"value":3413},{"type":10,"tag":217,"props":4929,"children":4931},{"class":219,"line":4930},51,[4932],{"type":10,"tag":217,"props":4933,"children":4934},{"emptyLinePlaceholder":600},[4935],{"type":15,"value":603},{"type":10,"tag":217,"props":4937,"children":4939},{"class":219,"line":4938},52,[4940,4944,4948,4952,4956],{"type":10,"tag":217,"props":4941,"children":4942},{"style":224},[4943],{"type":15,"value":3430},{"type":10,"tag":217,"props":4945,"children":4946},{"style":250},[4947],{"type":15,"value":3435},{"type":10,"tag":217,"props":4949,"children":4950},{"style":224},[4951],{"type":15,"value":2851},{"type":10,"tag":217,"props":4953,"children":4954},{"style":416},[4955],{"type":15,"value":3807},{"type":10,"tag":217,"props":4957,"children":4958},{"style":224},[4959],{"type":15,"value":3448},{"type":10,"tag":217,"props":4961,"children":4963},{"class":219,"line":4962},53,[4964],{"type":10,"tag":217,"props":4965,"children":4966},{"emptyLinePlaceholder":600},[4967],{"type":15,"value":603},{"type":10,"tag":217,"props":4969,"children":4971},{"class":219,"line":4970},54,[4972,4976,4980,4984,4988,4992],{"type":10,"tag":217,"props":4973,"children":4974},{"style":230},[4975],{"type":15,"value":233},{"type":10,"tag":217,"props":4977,"children":4978},{"style":224},[4979],{"type":15,"value":3469},{"type":10,"tag":217,"props":4981,"children":4982},{"style":416},[4983],{"type":15,"value":3807},{"type":10,"tag":217,"props":4985,"children":4986},{"style":224},[4987],{"type":15,"value":3478},{"type":10,"tag":217,"props":4989,"children":4990},{"style":416},[4991],{"type":15,"value":1270},{"type":10,"tag":217,"props":4993,"children":4994},{"style":224},[4995],{"type":15,"value":3487},{"type":10,"tag":11,"props":4997,"children":4998},{},[4999],{"type":15,"value":3582},{"type":10,"tag":206,"props":5001,"children":5003},{"className":208,"code":5002,"language":210,"meta":211,"style":211},"VkShaderEXT shaders[3];\n\n{\n VkShaderCreateInfoEXT shaderInfo = {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_VERTEX_BIT,\n .nextStage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = vertexShaderSpirvSize,\n .pCode = pVertexShaderSpirv,\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n };\n\n vkCreateShadersEXT(device, 1, &shaderInfo, NULL, &shaders[0]);\n}\n\n{\n VkShaderCreateInfoEXT shaderInfo = {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = fragmentShaderSpirvSize[0],\n .pCode = pFragmentShaderSpirv[0],\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n };\n\n vkCreateShadersEXT(device, 1, &shaderInfo, NULL, &shaders[1]);\n}\n\n{\n VkShaderCreateInfoEXT shaderInfo = {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_FRAGMENT_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = fragmentShaderSpirvSize[1],\n .pCode = pFragmentShaderSpirv[1],\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n };\n\n vkCreateShadersEXT(device, 1, &shaderInfo, NULL, &shaders[2]);\n}\n",[5004],{"type":10,"tag":168,"props":5005,"children":5006},{"__ignoreMap":211},[5007,5030,5037,5044,5060,5075,5094,5113,5128,5143,5158,5173,5188,5207,5226,5245,5264,5283,5298,5306,5313,5370,5377,5384,5391,5406,5421,5440,5459,5474,5493,5508,5535,5562,5581,5600,5619,5638,5657,5672,5679,5686,5741,5748,5755,5762,5777,5792,5811,5830,5845,5864,5879,5906,5933,5953,5973,5993,6013,6033,6049,6057,6065,6121],{"type":10,"tag":217,"props":5008,"children":5009},{"class":219,"line":220},[5010,5014,5018,5022,5026],{"type":10,"tag":217,"props":5011,"children":5012},{"style":224},[5013],{"type":15,"value":3430},{"type":10,"tag":217,"props":5015,"children":5016},{"style":250},[5017],{"type":15,"value":3435},{"type":10,"tag":217,"props":5019,"children":5020},{"style":224},[5021],{"type":15,"value":2851},{"type":10,"tag":217,"props":5023,"children":5024},{"style":416},[5025],{"type":15,"value":3807},{"type":10,"tag":217,"props":5027,"children":5028},{"style":224},[5029],{"type":15,"value":3448},{"type":10,"tag":217,"props":5031,"children":5032},{"class":219,"line":241},[5033],{"type":10,"tag":217,"props":5034,"children":5035},{"emptyLinePlaceholder":600},[5036],{"type":15,"value":603},{"type":10,"tag":217,"props":5038,"children":5039},{"class":219,"line":261},[5040],{"type":10,"tag":217,"props":5041,"children":5042},{"style":224},[5043],{"type":15,"value":3597},{"type":10,"tag":217,"props":5045,"children":5046},{"class":219,"line":280},[5047,5052,5056],{"type":10,"tag":217,"props":5048,"children":5049},{"style":224},[5050],{"type":15,"value":5051}," VkShaderCreateInfoEXT shaderInfo ",{"type":10,"tag":217,"props":5053,"children":5054},{"style":265},[5055],{"type":15,"value":408},{"type":10,"tag":217,"props":5057,"children":5058},{"style":224},[5059],{"type":15,"value":2870},{"type":10,"tag":217,"props":5061,"children":5062},{"class":219,"line":303},[5063,5067,5071],{"type":10,"tag":217,"props":5064,"children":5065},{"style":224},[5066],{"type":15,"value":2886},{"type":10,"tag":217,"props":5068,"children":5069},{"style":265},[5070],{"type":15,"value":408},{"type":10,"tag":217,"props":5072,"children":5073},{"style":224},[5074],{"type":15,"value":2895},{"type":10,"tag":217,"props":5076,"children":5077},{"class":219,"line":325},[5078,5082,5086,5090],{"type":10,"tag":217,"props":5079,"children":5080},{"style":224},[5081],{"type":15,"value":2903},{"type":10,"tag":217,"props":5083,"children":5084},{"style":265},[5085],{"type":15,"value":408},{"type":10,"tag":217,"props":5087,"children":5088},{"style":416},[5089],{"type":15,"value":2912},{"type":10,"tag":217,"props":5091,"children":5092},{"style":224},[5093],{"type":15,"value":258},{"type":10,"tag":217,"props":5095,"children":5096},{"class":219,"line":526},[5097,5101,5105,5109],{"type":10,"tag":217,"props":5098,"children":5099},{"style":224},[5100],{"type":15,"value":2924},{"type":10,"tag":217,"props":5102,"children":5103},{"style":265},[5104],{"type":15,"value":408},{"type":10,"tag":217,"props":5106,"children":5107},{"style":416},[5108],{"type":15,"value":638},{"type":10,"tag":217,"props":5110,"children":5111},{"style":224},[5112],{"type":15,"value":258},{"type":10,"tag":217,"props":5114,"children":5115},{"class":219,"line":552},[5116,5120,5124],{"type":10,"tag":217,"props":5117,"children":5118},{"style":224},[5119],{"type":15,"value":2941},{"type":10,"tag":217,"props":5121,"children":5122},{"style":265},[5123],{"type":15,"value":408},{"type":10,"tag":217,"props":5125,"children":5126},{"style":224},[5127],{"type":15,"value":2950},{"type":10,"tag":217,"props":5129,"children":5130},{"class":219,"line":574},[5131,5135,5139],{"type":10,"tag":217,"props":5132,"children":5133},{"style":224},[5134],{"type":15,"value":2958},{"type":10,"tag":217,"props":5136,"children":5137},{"style":265},[5138],{"type":15,"value":408},{"type":10,"tag":217,"props":5140,"children":5141},{"style":224},[5142],{"type":15,"value":2967},{"type":10,"tag":217,"props":5144,"children":5145},{"class":219,"line":583},[5146,5150,5154],{"type":10,"tag":217,"props":5147,"children":5148},{"style":224},[5149],{"type":15,"value":2975},{"type":10,"tag":217,"props":5151,"children":5152},{"style":265},[5153],{"type":15,"value":408},{"type":10,"tag":217,"props":5155,"children":5156},{"style":224},[5157],{"type":15,"value":2984},{"type":10,"tag":217,"props":5159,"children":5160},{"class":219,"line":596},[5161,5165,5169],{"type":10,"tag":217,"props":5162,"children":5163},{"style":224},[5164],{"type":15,"value":2992},{"type":10,"tag":217,"props":5166,"children":5167},{"style":265},[5168],{"type":15,"value":408},{"type":10,"tag":217,"props":5170,"children":5171},{"style":224},[5172],{"type":15,"value":3001},{"type":10,"tag":217,"props":5174,"children":5175},{"class":219,"line":606},[5176,5180,5184],{"type":10,"tag":217,"props":5177,"children":5178},{"style":224},[5179],{"type":15,"value":3009},{"type":10,"tag":217,"props":5181,"children":5182},{"style":265},[5183],{"type":15,"value":408},{"type":10,"tag":217,"props":5185,"children":5186},{"style":224},[5187],{"type":15,"value":3018},{"type":10,"tag":217,"props":5189,"children":5190},{"class":219,"line":623},[5191,5195,5199,5203],{"type":10,"tag":217,"props":5192,"children":5193},{"style":224},[5194],{"type":15,"value":3026},{"type":10,"tag":217,"props":5196,"children":5197},{"style":265},[5198],{"type":15,"value":408},{"type":10,"tag":217,"props":5200,"children":5201},{"style":3033},[5202],{"type":15,"value":3036},{"type":10,"tag":217,"props":5204,"children":5205},{"style":224},[5206],{"type":15,"value":258},{"type":10,"tag":217,"props":5208,"children":5209},{"class":219,"line":645},[5210,5214,5218,5222],{"type":10,"tag":217,"props":5211,"children":5212},{"style":224},[5213],{"type":15,"value":3048},{"type":10,"tag":217,"props":5215,"children":5216},{"style":265},[5217],{"type":15,"value":408},{"type":10,"tag":217,"props":5219,"children":5220},{"style":416},[5221],{"type":15,"value":3057},{"type":10,"tag":217,"props":5223,"children":5224},{"style":224},[5225],{"type":15,"value":258},{"type":10,"tag":217,"props":5227,"children":5228},{"class":219,"line":663},[5229,5233,5237,5241],{"type":10,"tag":217,"props":5230,"children":5231},{"style":224},[5232],{"type":15,"value":3069},{"type":10,"tag":217,"props":5234,"children":5235},{"style":265},[5236],{"type":15,"value":408},{"type":10,"tag":217,"props":5238,"children":5239},{"style":265},[5240],{"type":15,"value":3078},{"type":10,"tag":217,"props":5242,"children":5243},{"style":224},[5244],{"type":15,"value":3083},{"type":10,"tag":217,"props":5246,"children":5247},{"class":219,"line":672},[5248,5252,5256,5260],{"type":10,"tag":217,"props":5249,"children":5250},{"style":224},[5251],{"type":15,"value":3091},{"type":10,"tag":217,"props":5253,"children":5254},{"style":265},[5255],{"type":15,"value":408},{"type":10,"tag":217,"props":5257,"children":5258},{"style":416},[5259],{"type":15,"value":638},{"type":10,"tag":217,"props":5261,"children":5262},{"style":224},[5263],{"type":15,"value":258},{"type":10,"tag":217,"props":5265,"children":5266},{"class":219,"line":680},[5267,5271,5275,5279],{"type":10,"tag":217,"props":5268,"children":5269},{"style":224},[5270],{"type":15,"value":3111},{"type":10,"tag":217,"props":5272,"children":5273},{"style":265},[5274],{"type":15,"value":408},{"type":10,"tag":217,"props":5276,"children":5277},{"style":416},[5278],{"type":15,"value":2912},{"type":10,"tag":217,"props":5280,"children":5281},{"style":224},[5282],{"type":15,"value":258},{"type":10,"tag":217,"props":5284,"children":5285},{"class":219,"line":698},[5286,5290,5294],{"type":10,"tag":217,"props":5287,"children":5288},{"style":224},[5289],{"type":15,"value":3131},{"type":10,"tag":217,"props":5291,"children":5292},{"style":265},[5293],{"type":15,"value":408},{"type":10,"tag":217,"props":5295,"children":5296},{"style":416},[5297],{"type":15,"value":3140},{"type":10,"tag":217,"props":5299,"children":5300},{"class":219,"line":707},[5301],{"type":10,"tag":217,"props":5302,"children":5303},{"style":224},[5304],{"type":15,"value":5305}," };\n",{"type":10,"tag":217,"props":5307,"children":5308},{"class":219,"line":726},[5309],{"type":10,"tag":217,"props":5310,"children":5311},{"emptyLinePlaceholder":600},[5312],{"type":15,"value":603},{"type":10,"tag":217,"props":5314,"children":5315},{"class":219,"line":735},[5316,5321,5325,5329,5333,5337,5342,5346,5350,5354,5358,5362,5366],{"type":10,"tag":217,"props":5317,"children":5318},{"style":230},[5319],{"type":15,"value":5320}," vkCreateShadersEXT",{"type":10,"tag":217,"props":5322,"children":5323},{"style":224},[5324],{"type":15,"value":3469},{"type":10,"tag":217,"props":5326,"children":5327},{"style":416},[5328],{"type":15,"value":3631},{"type":10,"tag":217,"props":5330,"children":5331},{"style":224},[5332],{"type":15,"value":1272},{"type":10,"tag":217,"props":5334,"children":5335},{"style":265},[5336],{"type":15,"value":3640},{"type":10,"tag":217,"props":5338,"children":5339},{"style":224},[5340],{"type":15,"value":5341},"shaderInfo, ",{"type":10,"tag":217,"props":5343,"children":5344},{"style":416},[5345],{"type":15,"value":1270},{"type":10,"tag":217,"props":5347,"children":5348},{"style":224},[5349],{"type":15,"value":1272},{"type":10,"tag":217,"props":5351,"children":5352},{"style":265},[5353],{"type":15,"value":3640},{"type":10,"tag":217,"props":5355,"children":5356},{"style":250},[5357],{"type":15,"value":3435},{"type":10,"tag":217,"props":5359,"children":5360},{"style":224},[5361],{"type":15,"value":2851},{"type":10,"tag":217,"props":5363,"children":5364},{"style":416},[5365],{"type":15,"value":3662},{"type":10,"tag":217,"props":5367,"children":5368},{"style":224},[5369],{"type":15,"value":3667},{"type":10,"tag":217,"props":5371,"children":5372},{"class":219,"line":744},[5373],{"type":10,"tag":217,"props":5374,"children":5375},{"style":224},[5376],{"type":15,"value":3675},{"type":10,"tag":217,"props":5378,"children":5379},{"class":219,"line":753},[5380],{"type":10,"tag":217,"props":5381,"children":5382},{"emptyLinePlaceholder":600},[5383],{"type":15,"value":603},{"type":10,"tag":217,"props":5385,"children":5386},{"class":219,"line":762},[5387],{"type":10,"tag":217,"props":5388,"children":5389},{"style":224},[5390],{"type":15,"value":3597},{"type":10,"tag":217,"props":5392,"children":5393},{"class":219,"line":776},[5394,5398,5402],{"type":10,"tag":217,"props":5395,"children":5396},{"style":224},[5397],{"type":15,"value":5051},{"type":10,"tag":217,"props":5399,"children":5400},{"style":265},[5401],{"type":15,"value":408},{"type":10,"tag":217,"props":5403,"children":5404},{"style":224},[5405],{"type":15,"value":2870},{"type":10,"tag":217,"props":5407,"children":5408},{"class":219,"line":793},[5409,5413,5417],{"type":10,"tag":217,"props":5410,"children":5411},{"style":224},[5412],{"type":15,"value":2886},{"type":10,"tag":217,"props":5414,"children":5415},{"style":265},[5416],{"type":15,"value":408},{"type":10,"tag":217,"props":5418,"children":5419},{"style":224},[5420],{"type":15,"value":2895},{"type":10,"tag":217,"props":5422,"children":5423},{"class":219,"line":811},[5424,5428,5432,5436],{"type":10,"tag":217,"props":5425,"children":5426},{"style":224},[5427],{"type":15,"value":2903},{"type":10,"tag":217,"props":5429,"children":5430},{"style":265},[5431],{"type":15,"value":408},{"type":10,"tag":217,"props":5433,"children":5434},{"style":416},[5435],{"type":15,"value":2912},{"type":10,"tag":217,"props":5437,"children":5438},{"style":224},[5439],{"type":15,"value":258},{"type":10,"tag":217,"props":5441,"children":5442},{"class":219,"line":824},[5443,5447,5451,5455],{"type":10,"tag":217,"props":5444,"children":5445},{"style":224},[5446],{"type":15,"value":2924},{"type":10,"tag":217,"props":5448,"children":5449},{"style":265},[5450],{"type":15,"value":408},{"type":10,"tag":217,"props":5452,"children":5453},{"style":416},[5454],{"type":15,"value":638},{"type":10,"tag":217,"props":5456,"children":5457},{"style":224},[5458],{"type":15,"value":258},{"type":10,"tag":217,"props":5460,"children":5461},{"class":219,"line":846},[5462,5466,5470],{"type":10,"tag":217,"props":5463,"children":5464},{"style":224},[5465],{"type":15,"value":2941},{"type":10,"tag":217,"props":5467,"children":5468},{"style":265},[5469],{"type":15,"value":408},{"type":10,"tag":217,"props":5471,"children":5472},{"style":224},[5473],{"type":15,"value":2967},{"type":10,"tag":217,"props":5475,"children":5476},{"class":219,"line":859},[5477,5481,5485,5489],{"type":10,"tag":217,"props":5478,"children":5479},{"style":224},[5480],{"type":15,"value":2958},{"type":10,"tag":217,"props":5482,"children":5483},{"style":265},[5484],{"type":15,"value":408},{"type":10,"tag":217,"props":5486,"children":5487},{"style":416},[5488],{"type":15,"value":638},{"type":10,"tag":217,"props":5490,"children":5491},{"style":224},[5492],{"type":15,"value":258},{"type":10,"tag":217,"props":5494,"children":5495},{"class":219,"line":881},[5496,5500,5504],{"type":10,"tag":217,"props":5497,"children":5498},{"style":224},[5499],{"type":15,"value":2975},{"type":10,"tag":217,"props":5501,"children":5502},{"style":265},[5503],{"type":15,"value":408},{"type":10,"tag":217,"props":5505,"children":5506},{"style":224},[5507],{"type":15,"value":2984},{"type":10,"tag":217,"props":5509,"children":5510},{"class":219,"line":903},[5511,5515,5519,5523,5527,5531],{"type":10,"tag":217,"props":5512,"children":5513},{"style":224},[5514],{"type":15,"value":2992},{"type":10,"tag":217,"props":5516,"children":5517},{"style":265},[5518],{"type":15,"value":408},{"type":10,"tag":217,"props":5520,"children":5521},{"style":250},[5522],{"type":15,"value":4470},{"type":10,"tag":217,"props":5524,"children":5525},{"style":224},[5526],{"type":15,"value":2851},{"type":10,"tag":217,"props":5528,"children":5529},{"style":416},[5530],{"type":15,"value":3662},{"type":10,"tag":217,"props":5532,"children":5533},{"style":224},[5534],{"type":15,"value":4483},{"type":10,"tag":217,"props":5536,"children":5537},{"class":219,"line":3398},[5538,5542,5546,5550,5554,5558],{"type":10,"tag":217,"props":5539,"children":5540},{"style":224},[5541],{"type":15,"value":3009},{"type":10,"tag":217,"props":5543,"children":5544},{"style":265},[5545],{"type":15,"value":408},{"type":10,"tag":217,"props":5547,"children":5548},{"style":250},[5549],{"type":15,"value":4499},{"type":10,"tag":217,"props":5551,"children":5552},{"style":224},[5553],{"type":15,"value":2851},{"type":10,"tag":217,"props":5555,"children":5556},{"style":416},[5557],{"type":15,"value":3662},{"type":10,"tag":217,"props":5559,"children":5560},{"style":224},[5561],{"type":15,"value":4483},{"type":10,"tag":217,"props":5563,"children":5564},{"class":219,"line":3407},[5565,5569,5573,5577],{"type":10,"tag":217,"props":5566,"children":5567},{"style":224},[5568],{"type":15,"value":3026},{"type":10,"tag":217,"props":5570,"children":5571},{"style":265},[5572],{"type":15,"value":408},{"type":10,"tag":217,"props":5574,"children":5575},{"style":3033},[5576],{"type":15,"value":3036},{"type":10,"tag":217,"props":5578,"children":5579},{"style":224},[5580],{"type":15,"value":258},{"type":10,"tag":217,"props":5582,"children":5583},{"class":219,"line":3416},[5584,5588,5592,5596],{"type":10,"tag":217,"props":5585,"children":5586},{"style":224},[5587],{"type":15,"value":3048},{"type":10,"tag":217,"props":5589,"children":5590},{"style":265},[5591],{"type":15,"value":408},{"type":10,"tag":217,"props":5593,"children":5594},{"style":416},[5595],{"type":15,"value":3057},{"type":10,"tag":217,"props":5597,"children":5598},{"style":224},[5599],{"type":15,"value":258},{"type":10,"tag":217,"props":5601,"children":5602},{"class":219,"line":3424},[5603,5607,5611,5615],{"type":10,"tag":217,"props":5604,"children":5605},{"style":224},[5606],{"type":15,"value":3069},{"type":10,"tag":217,"props":5608,"children":5609},{"style":265},[5610],{"type":15,"value":408},{"type":10,"tag":217,"props":5612,"children":5613},{"style":265},[5614],{"type":15,"value":3078},{"type":10,"tag":217,"props":5616,"children":5617},{"style":224},[5618],{"type":15,"value":3083},{"type":10,"tag":217,"props":5620,"children":5621},{"class":219,"line":3451},[5622,5626,5630,5634],{"type":10,"tag":217,"props":5623,"children":5624},{"style":224},[5625],{"type":15,"value":3091},{"type":10,"tag":217,"props":5627,"children":5628},{"style":265},[5629],{"type":15,"value":408},{"type":10,"tag":217,"props":5631,"children":5632},{"style":416},[5633],{"type":15,"value":638},{"type":10,"tag":217,"props":5635,"children":5636},{"style":224},[5637],{"type":15,"value":258},{"type":10,"tag":217,"props":5639,"children":5640},{"class":219,"line":3459},[5641,5645,5649,5653],{"type":10,"tag":217,"props":5642,"children":5643},{"style":224},[5644],{"type":15,"value":3111},{"type":10,"tag":217,"props":5646,"children":5647},{"style":265},[5648],{"type":15,"value":408},{"type":10,"tag":217,"props":5650,"children":5651},{"style":416},[5652],{"type":15,"value":2912},{"type":10,"tag":217,"props":5654,"children":5655},{"style":224},[5656],{"type":15,"value":258},{"type":10,"tag":217,"props":5658,"children":5659},{"class":219,"line":4706},[5660,5664,5668],{"type":10,"tag":217,"props":5661,"children":5662},{"style":224},[5663],{"type":15,"value":3131},{"type":10,"tag":217,"props":5665,"children":5666},{"style":265},[5667],{"type":15,"value":408},{"type":10,"tag":217,"props":5669,"children":5670},{"style":416},[5671],{"type":15,"value":3140},{"type":10,"tag":217,"props":5673,"children":5674},{"class":219,"line":4726},[5675],{"type":10,"tag":217,"props":5676,"children":5677},{"style":224},[5678],{"type":15,"value":5305},{"type":10,"tag":217,"props":5680,"children":5681},{"class":219,"line":4742},[5682],{"type":10,"tag":217,"props":5683,"children":5684},{"emptyLinePlaceholder":600},[5685],{"type":15,"value":603},{"type":10,"tag":217,"props":5687,"children":5688},{"class":219,"line":4770},[5689,5693,5697,5701,5705,5709,5713,5717,5721,5725,5729,5733,5737],{"type":10,"tag":217,"props":5690,"children":5691},{"style":230},[5692],{"type":15,"value":5320},{"type":10,"tag":217,"props":5694,"children":5695},{"style":224},[5696],{"type":15,"value":3469},{"type":10,"tag":217,"props":5698,"children":5699},{"style":416},[5700],{"type":15,"value":3631},{"type":10,"tag":217,"props":5702,"children":5703},{"style":224},[5704],{"type":15,"value":1272},{"type":10,"tag":217,"props":5706,"children":5707},{"style":265},[5708],{"type":15,"value":3640},{"type":10,"tag":217,"props":5710,"children":5711},{"style":224},[5712],{"type":15,"value":5341},{"type":10,"tag":217,"props":5714,"children":5715},{"style":416},[5716],{"type":15,"value":1270},{"type":10,"tag":217,"props":5718,"children":5719},{"style":224},[5720],{"type":15,"value":1272},{"type":10,"tag":217,"props":5722,"children":5723},{"style":265},[5724],{"type":15,"value":3640},{"type":10,"tag":217,"props":5726,"children":5727},{"style":250},[5728],{"type":15,"value":3435},{"type":10,"tag":217,"props":5730,"children":5731},{"style":224},[5732],{"type":15,"value":2851},{"type":10,"tag":217,"props":5734,"children":5735},{"style":416},[5736],{"type":15,"value":3631},{"type":10,"tag":217,"props":5738,"children":5739},{"style":224},[5740],{"type":15,"value":3667},{"type":10,"tag":217,"props":5742,"children":5743},{"class":219,"line":4798},[5744],{"type":10,"tag":217,"props":5745,"children":5746},{"style":224},[5747],{"type":15,"value":3675},{"type":10,"tag":217,"props":5749,"children":5750},{"class":219,"line":4818},[5751],{"type":10,"tag":217,"props":5752,"children":5753},{"emptyLinePlaceholder":600},[5754],{"type":15,"value":603},{"type":10,"tag":217,"props":5756,"children":5757},{"class":219,"line":4838},[5758],{"type":10,"tag":217,"props":5759,"children":5760},{"style":224},[5761],{"type":15,"value":3597},{"type":10,"tag":217,"props":5763,"children":5764},{"class":219,"line":4858},[5765,5769,5773],{"type":10,"tag":217,"props":5766,"children":5767},{"style":224},[5768],{"type":15,"value":5051},{"type":10,"tag":217,"props":5770,"children":5771},{"style":265},[5772],{"type":15,"value":408},{"type":10,"tag":217,"props":5774,"children":5775},{"style":224},[5776],{"type":15,"value":2870},{"type":10,"tag":217,"props":5778,"children":5779},{"class":219,"line":4878},[5780,5784,5788],{"type":10,"tag":217,"props":5781,"children":5782},{"style":224},[5783],{"type":15,"value":2886},{"type":10,"tag":217,"props":5785,"children":5786},{"style":265},[5787],{"type":15,"value":408},{"type":10,"tag":217,"props":5789,"children":5790},{"style":224},[5791],{"type":15,"value":2895},{"type":10,"tag":217,"props":5793,"children":5794},{"class":219,"line":4898},[5795,5799,5803,5807],{"type":10,"tag":217,"props":5796,"children":5797},{"style":224},[5798],{"type":15,"value":2903},{"type":10,"tag":217,"props":5800,"children":5801},{"style":265},[5802],{"type":15,"value":408},{"type":10,"tag":217,"props":5804,"children":5805},{"style":416},[5806],{"type":15,"value":2912},{"type":10,"tag":217,"props":5808,"children":5809},{"style":224},[5810],{"type":15,"value":258},{"type":10,"tag":217,"props":5812,"children":5813},{"class":219,"line":4914},[5814,5818,5822,5826],{"type":10,"tag":217,"props":5815,"children":5816},{"style":224},[5817],{"type":15,"value":2924},{"type":10,"tag":217,"props":5819,"children":5820},{"style":265},[5821],{"type":15,"value":408},{"type":10,"tag":217,"props":5823,"children":5824},{"style":416},[5825],{"type":15,"value":638},{"type":10,"tag":217,"props":5827,"children":5828},{"style":224},[5829],{"type":15,"value":258},{"type":10,"tag":217,"props":5831,"children":5832},{"class":219,"line":4922},[5833,5837,5841],{"type":10,"tag":217,"props":5834,"children":5835},{"style":224},[5836],{"type":15,"value":2941},{"type":10,"tag":217,"props":5838,"children":5839},{"style":265},[5840],{"type":15,"value":408},{"type":10,"tag":217,"props":5842,"children":5843},{"style":224},[5844],{"type":15,"value":2967},{"type":10,"tag":217,"props":5846,"children":5847},{"class":219,"line":4930},[5848,5852,5856,5860],{"type":10,"tag":217,"props":5849,"children":5850},{"style":224},[5851],{"type":15,"value":2958},{"type":10,"tag":217,"props":5853,"children":5854},{"style":265},[5855],{"type":15,"value":408},{"type":10,"tag":217,"props":5857,"children":5858},{"style":416},[5859],{"type":15,"value":638},{"type":10,"tag":217,"props":5861,"children":5862},{"style":224},[5863],{"type":15,"value":258},{"type":10,"tag":217,"props":5865,"children":5866},{"class":219,"line":4938},[5867,5871,5875],{"type":10,"tag":217,"props":5868,"children":5869},{"style":224},[5870],{"type":15,"value":2975},{"type":10,"tag":217,"props":5872,"children":5873},{"style":265},[5874],{"type":15,"value":408},{"type":10,"tag":217,"props":5876,"children":5877},{"style":224},[5878],{"type":15,"value":2984},{"type":10,"tag":217,"props":5880,"children":5881},{"class":219,"line":4962},[5882,5886,5890,5894,5898,5902],{"type":10,"tag":217,"props":5883,"children":5884},{"style":224},[5885],{"type":15,"value":2992},{"type":10,"tag":217,"props":5887,"children":5888},{"style":265},[5889],{"type":15,"value":408},{"type":10,"tag":217,"props":5891,"children":5892},{"style":250},[5893],{"type":15,"value":4470},{"type":10,"tag":217,"props":5895,"children":5896},{"style":224},[5897],{"type":15,"value":2851},{"type":10,"tag":217,"props":5899,"children":5900},{"style":416},[5901],{"type":15,"value":3631},{"type":10,"tag":217,"props":5903,"children":5904},{"style":224},[5905],{"type":15,"value":4483},{"type":10,"tag":217,"props":5907,"children":5908},{"class":219,"line":4970},[5909,5913,5917,5921,5925,5929],{"type":10,"tag":217,"props":5910,"children":5911},{"style":224},[5912],{"type":15,"value":3009},{"type":10,"tag":217,"props":5914,"children":5915},{"style":265},[5916],{"type":15,"value":408},{"type":10,"tag":217,"props":5918,"children":5919},{"style":250},[5920],{"type":15,"value":4499},{"type":10,"tag":217,"props":5922,"children":5923},{"style":224},[5924],{"type":15,"value":2851},{"type":10,"tag":217,"props":5926,"children":5927},{"style":416},[5928],{"type":15,"value":3631},{"type":10,"tag":217,"props":5930,"children":5931},{"style":224},[5932],{"type":15,"value":4483},{"type":10,"tag":217,"props":5934,"children":5936},{"class":219,"line":5935},55,[5937,5941,5945,5949],{"type":10,"tag":217,"props":5938,"children":5939},{"style":224},[5940],{"type":15,"value":3026},{"type":10,"tag":217,"props":5942,"children":5943},{"style":265},[5944],{"type":15,"value":408},{"type":10,"tag":217,"props":5946,"children":5947},{"style":3033},[5948],{"type":15,"value":3036},{"type":10,"tag":217,"props":5950,"children":5951},{"style":224},[5952],{"type":15,"value":258},{"type":10,"tag":217,"props":5954,"children":5956},{"class":219,"line":5955},56,[5957,5961,5965,5969],{"type":10,"tag":217,"props":5958,"children":5959},{"style":224},[5960],{"type":15,"value":3048},{"type":10,"tag":217,"props":5962,"children":5963},{"style":265},[5964],{"type":15,"value":408},{"type":10,"tag":217,"props":5966,"children":5967},{"style":416},[5968],{"type":15,"value":3057},{"type":10,"tag":217,"props":5970,"children":5971},{"style":224},[5972],{"type":15,"value":258},{"type":10,"tag":217,"props":5974,"children":5976},{"class":219,"line":5975},57,[5977,5981,5985,5989],{"type":10,"tag":217,"props":5978,"children":5979},{"style":224},[5980],{"type":15,"value":3069},{"type":10,"tag":217,"props":5982,"children":5983},{"style":265},[5984],{"type":15,"value":408},{"type":10,"tag":217,"props":5986,"children":5987},{"style":265},[5988],{"type":15,"value":3078},{"type":10,"tag":217,"props":5990,"children":5991},{"style":224},[5992],{"type":15,"value":3083},{"type":10,"tag":217,"props":5994,"children":5996},{"class":219,"line":5995},58,[5997,6001,6005,6009],{"type":10,"tag":217,"props":5998,"children":5999},{"style":224},[6000],{"type":15,"value":3091},{"type":10,"tag":217,"props":6002,"children":6003},{"style":265},[6004],{"type":15,"value":408},{"type":10,"tag":217,"props":6006,"children":6007},{"style":416},[6008],{"type":15,"value":638},{"type":10,"tag":217,"props":6010,"children":6011},{"style":224},[6012],{"type":15,"value":258},{"type":10,"tag":217,"props":6014,"children":6016},{"class":219,"line":6015},59,[6017,6021,6025,6029],{"type":10,"tag":217,"props":6018,"children":6019},{"style":224},[6020],{"type":15,"value":3111},{"type":10,"tag":217,"props":6022,"children":6023},{"style":265},[6024],{"type":15,"value":408},{"type":10,"tag":217,"props":6026,"children":6027},{"style":416},[6028],{"type":15,"value":2912},{"type":10,"tag":217,"props":6030,"children":6031},{"style":224},[6032],{"type":15,"value":258},{"type":10,"tag":217,"props":6034,"children":6036},{"class":219,"line":6035},60,[6037,6041,6045],{"type":10,"tag":217,"props":6038,"children":6039},{"style":224},[6040],{"type":15,"value":3131},{"type":10,"tag":217,"props":6042,"children":6043},{"style":265},[6044],{"type":15,"value":408},{"type":10,"tag":217,"props":6046,"children":6047},{"style":416},[6048],{"type":15,"value":3140},{"type":10,"tag":217,"props":6050,"children":6052},{"class":219,"line":6051},61,[6053],{"type":10,"tag":217,"props":6054,"children":6055},{"style":224},[6056],{"type":15,"value":5305},{"type":10,"tag":217,"props":6058,"children":6060},{"class":219,"line":6059},62,[6061],{"type":10,"tag":217,"props":6062,"children":6063},{"emptyLinePlaceholder":600},[6064],{"type":15,"value":603},{"type":10,"tag":217,"props":6066,"children":6068},{"class":219,"line":6067},63,[6069,6073,6077,6081,6085,6089,6093,6097,6101,6105,6109,6113,6117],{"type":10,"tag":217,"props":6070,"children":6071},{"style":230},[6072],{"type":15,"value":5320},{"type":10,"tag":217,"props":6074,"children":6075},{"style":224},[6076],{"type":15,"value":3469},{"type":10,"tag":217,"props":6078,"children":6079},{"style":416},[6080],{"type":15,"value":3631},{"type":10,"tag":217,"props":6082,"children":6083},{"style":224},[6084],{"type":15,"value":1272},{"type":10,"tag":217,"props":6086,"children":6087},{"style":265},[6088],{"type":15,"value":3640},{"type":10,"tag":217,"props":6090,"children":6091},{"style":224},[6092],{"type":15,"value":5341},{"type":10,"tag":217,"props":6094,"children":6095},{"style":416},[6096],{"type":15,"value":1270},{"type":10,"tag":217,"props":6098,"children":6099},{"style":224},[6100],{"type":15,"value":1272},{"type":10,"tag":217,"props":6102,"children":6103},{"style":265},[6104],{"type":15,"value":3640},{"type":10,"tag":217,"props":6106,"children":6107},{"style":250},[6108],{"type":15,"value":3435},{"type":10,"tag":217,"props":6110,"children":6111},{"style":224},[6112],{"type":15,"value":2851},{"type":10,"tag":217,"props":6114,"children":6115},{"style":416},[6116],{"type":15,"value":2856},{"type":10,"tag":217,"props":6118,"children":6119},{"style":224},[6120],{"type":15,"value":3667},{"type":10,"tag":217,"props":6122,"children":6124},{"class":219,"line":6123},64,[6125],{"type":10,"tag":217,"props":6126,"children":6127},{"style":224},[6128],{"type":15,"value":3675},{"type":10,"tag":11,"props":6130,"children":6131},{},[6132],{"type":15,"value":6133},"Later at draw time, the application binds independent vertex and fragment shaders forming a complete program:",{"type":10,"tag":206,"props":6135,"children":6136},{"className":208,"code":3495,"language":210,"meta":211,"style":211},[6137],{"type":10,"tag":168,"props":6138,"children":6139},{"__ignoreMap":211},[6140,6171,6178,6185,6192],{"type":10,"tag":217,"props":6141,"children":6142},{"class":219,"line":220},[6143,6147,6151,6155,6159,6163,6167],{"type":10,"tag":217,"props":6144,"children":6145},{"style":224},[6146],{"type":15,"value":3507},{"type":10,"tag":217,"props":6148,"children":6149},{"style":250},[6150],{"type":15,"value":3512},{"type":10,"tag":217,"props":6152,"children":6153},{"style":224},[6154],{"type":15,"value":2851},{"type":10,"tag":217,"props":6156,"children":6157},{"style":416},[6158],{"type":15,"value":2856},{"type":10,"tag":217,"props":6160,"children":6161},{"style":224},[6162],{"type":15,"value":2861},{"type":10,"tag":217,"props":6164,"children":6165},{"style":265},[6166],{"type":15,"value":408},{"type":10,"tag":217,"props":6168,"children":6169},{"style":224},[6170],{"type":15,"value":2870},{"type":10,"tag":217,"props":6172,"children":6173},{"class":219,"line":241},[6174],{"type":10,"tag":217,"props":6175,"children":6176},{"style":224},[6177],{"type":15,"value":3540},{"type":10,"tag":217,"props":6179,"children":6180},{"class":219,"line":261},[6181],{"type":10,"tag":217,"props":6182,"children":6183},{"style":224},[6184],{"type":15,"value":3548},{"type":10,"tag":217,"props":6186,"children":6187},{"class":219,"line":280},[6188],{"type":10,"tag":217,"props":6189,"children":6190},{"style":224},[6191],{"type":15,"value":3413},{"type":10,"tag":217,"props":6193,"children":6194},{"class":219,"line":303},[6195,6199,6203,6207],{"type":10,"tag":217,"props":6196,"children":6197},{"style":230},[6198],{"type":15,"value":3563},{"type":10,"tag":217,"props":6200,"children":6201},{"style":224},[6202],{"type":15,"value":3568},{"type":10,"tag":217,"props":6204,"children":6205},{"style":416},[6206],{"type":15,"value":2856},{"type":10,"tag":217,"props":6208,"children":6209},{"style":224},[6210],{"type":15,"value":3577},{"type":10,"tag":11,"props":6212,"children":6213},{},[6214,6215,6220,6221,6226],{"type":15,"value":3764},{"type":10,"tag":168,"props":6216,"children":6218},{"className":6217},[],[6219],{"type":15,"value":3770},{"type":15,"value":2776},{"type":10,"tag":168,"props":6222,"children":6224},{"className":6223},[],[6225],{"type":15,"value":3777},{"type":15,"value":3779},{"type":10,"tag":206,"props":6228,"children":6229},{"className":208,"code":3921,"language":210,"meta":211,"style":211},[6230],{"type":10,"tag":168,"props":6231,"children":6232},{"__ignoreMap":211},[6233,6264,6271,6278,6285,6292,6299],{"type":10,"tag":217,"props":6234,"children":6235},{"class":219,"line":220},[6236,6240,6244,6248,6252,6256,6260],{"type":10,"tag":217,"props":6237,"children":6238},{"style":224},[6239],{"type":15,"value":3507},{"type":10,"tag":217,"props":6241,"children":6242},{"style":250},[6243],{"type":15,"value":3798},{"type":10,"tag":217,"props":6245,"children":6246},{"style":224},[6247],{"type":15,"value":2851},{"type":10,"tag":217,"props":6249,"children":6250},{"style":416},[6251],{"type":15,"value":3807},{"type":10,"tag":217,"props":6253,"children":6254},{"style":224},[6255],{"type":15,"value":2861},{"type":10,"tag":217,"props":6257,"children":6258},{"style":265},[6259],{"type":15,"value":408},{"type":10,"tag":217,"props":6261,"children":6262},{"style":224},[6263],{"type":15,"value":2870},{"type":10,"tag":217,"props":6265,"children":6266},{"class":219,"line":241},[6267],{"type":10,"tag":217,"props":6268,"children":6269},{"style":224},[6270],{"type":15,"value":3827},{"type":10,"tag":217,"props":6272,"children":6273},{"class":219,"line":261},[6274],{"type":10,"tag":217,"props":6275,"children":6276},{"style":224},[6277],{"type":15,"value":3835},{"type":10,"tag":217,"props":6279,"children":6280},{"class":219,"line":280},[6281],{"type":10,"tag":217,"props":6282,"children":6283},{"style":224},[6284],{"type":15,"value":3843},{"type":10,"tag":217,"props":6286,"children":6287},{"class":219,"line":303},[6288],{"type":10,"tag":217,"props":6289,"children":6290},{"style":224},[6291],{"type":15,"value":3413},{"type":10,"tag":217,"props":6293,"children":6294},{"class":219,"line":325},[6295],{"type":10,"tag":217,"props":6296,"children":6297},{"style":3886},[6298],{"type":15,"value":3992},{"type":10,"tag":217,"props":6300,"children":6301},{"class":219,"line":526},[6302,6306,6310,6314,6318,6322],{"type":10,"tag":217,"props":6303,"children":6304},{"style":230},[6305],{"type":15,"value":3563},{"type":10,"tag":217,"props":6307,"children":6308},{"style":224},[6309],{"type":15,"value":3568},{"type":10,"tag":217,"props":6311,"children":6312},{"style":416},[6313],{"type":15,"value":3807},{"type":10,"tag":217,"props":6315,"children":6316},{"style":224},[6317],{"type":15,"value":4012},{"type":10,"tag":217,"props":6319,"children":6320},{"style":416},[6321],{"type":15,"value":1270},{"type":10,"tag":217,"props":6323,"children":6324},{"style":224},[6325],{"type":15,"value":345},{"type":10,"tag":11,"props":6327,"children":6328},{},[6329],{"type":15,"value":6330},"Then, the application issues a draw call:",{"type":10,"tag":206,"props":6332,"children":6333},{"className":208,"code":4028,"language":210,"meta":211,"style":211},[6334],{"type":10,"tag":168,"props":6335,"children":6336},{"__ignoreMap":211},[6337],{"type":10,"tag":217,"props":6338,"children":6339},{"class":219,"line":220},[6340,6344],{"type":10,"tag":217,"props":6341,"children":6342},{"style":230},[6343],{"type":15,"value":4040},{"type":10,"tag":217,"props":6345,"children":6346},{"style":224},[6347],{"type":15,"value":4045},{"type":10,"tag":11,"props":6349,"children":6350},{},[6351],{"type":15,"value":6352},"Later, the application binds a different fragment shader without disturbing any other stages:",{"type":10,"tag":206,"props":6354,"children":6356},{"className":208,"code":6355,"language":210,"meta":211,"style":211},"VkShaderStageFlagBits stage = VK_SHADER_STAGE_FRAGMENT_BIT;\nvkCmdBindShadersEXT(commandBuffer, 1, &stage, &shaders[2]);\n",[6357],{"type":10,"tag":168,"props":6358,"children":6359},{"__ignoreMap":211},[6360,6376],{"type":10,"tag":217,"props":6361,"children":6362},{"class":219,"line":220},[6363,6368,6372],{"type":10,"tag":217,"props":6364,"children":6365},{"style":224},[6366],{"type":15,"value":6367},"VkShaderStageFlagBits stage ",{"type":10,"tag":217,"props":6369,"children":6370},{"style":265},[6371],{"type":15,"value":408},{"type":10,"tag":217,"props":6373,"children":6374},{"style":224},[6375],{"type":15,"value":3705},{"type":10,"tag":217,"props":6377,"children":6378},{"class":219,"line":241},[6379,6383,6387,6391,6395,6399,6403,6407,6411,6415,6419,6423],{"type":10,"tag":217,"props":6380,"children":6381},{"style":230},[6382],{"type":15,"value":3563},{"type":10,"tag":217,"props":6384,"children":6385},{"style":224},[6386],{"type":15,"value":3568},{"type":10,"tag":217,"props":6388,"children":6389},{"style":416},[6390],{"type":15,"value":3631},{"type":10,"tag":217,"props":6392,"children":6393},{"style":224},[6394],{"type":15,"value":1272},{"type":10,"tag":217,"props":6396,"children":6397},{"style":265},[6398],{"type":15,"value":3640},{"type":10,"tag":217,"props":6400,"children":6401},{"style":250},[6402],{"type":15,"value":998},{"type":10,"tag":217,"props":6404,"children":6405},{"style":224},[6406],{"type":15,"value":1272},{"type":10,"tag":217,"props":6408,"children":6409},{"style":265},[6410],{"type":15,"value":3640},{"type":10,"tag":217,"props":6412,"children":6413},{"style":250},[6414],{"type":15,"value":3435},{"type":10,"tag":217,"props":6416,"children":6417},{"style":224},[6418],{"type":15,"value":2851},{"type":10,"tag":217,"props":6420,"children":6421},{"style":416},[6422],{"type":15,"value":2856},{"type":10,"tag":217,"props":6424,"children":6425},{"style":224},[6426],{"type":15,"value":3667},{"type":10,"tag":11,"props":6428,"children":6429},{},[6430],{"type":15,"value":6431},"Finally, the application issues another draw call:",{"type":10,"tag":206,"props":6433,"children":6434},{"className":208,"code":4028,"language":210,"meta":211,"style":211},[6435],{"type":10,"tag":168,"props":6436,"children":6437},{"__ignoreMap":211},[6438],{"type":10,"tag":217,"props":6439,"children":6440},{"class":219,"line":220},[6441,6445],{"type":10,"tag":217,"props":6442,"children":6443},{"style":230},[6444],{"type":15,"value":4040},{"type":10,"tag":217,"props":6446,"children":6447},{"style":224},[6448],{"type":15,"value":4045},{"type":10,"tag":156,"props":6450,"children":6452},{"id":6451},"_compute",[6453],{"type":15,"value":6454},"Compute",{"type":10,"tag":11,"props":6456,"children":6457},{},[6458],{"type":15,"value":6459},"At startup time, the application compiles a compute shader:",{"type":10,"tag":206,"props":6461,"children":6463},{"className":208,"code":6462,"language":210,"meta":211,"style":211},"VkShaderCreateInfoEXT shaderInfo = {\n .sType = VK_STRUCTURE_TYPE_SHADER_CREATE_INFO_EXT,\n .pNext = NULL,\n .flags = 0,\n .stage = VK_SHADER_STAGE_COMPUTE_BIT,\n .nextStage = 0,\n .codeType = VK_SHADER_CODE_TYPE_SPIRV_EXT,\n .codeSize = computeShaderSpirvSize,\n .pCode = pComputeShaderSpirv,\n .pName = \"main\",\n .setLayoutCount = 1,\n .pSetLayouts = &descriptorSetLayout,\n .pushConstantRangeCount = 0,\n .pPushConstantRanges = NULL,\n .pSpecializationInfo = NULL\n};\n\nVkShaderEXT shader;\n\nvkCreateShadersEXT(device, 1, &shaderInfo, NULL, &shader);\n",[6464],{"type":10,"tag":168,"props":6465,"children":6466},{"__ignoreMap":211},[6467,6483,6499,6519,6539,6556,6576,6592,6609,6626,6646,6666,6686,6706,6726,6742,6749,6756,6764,6771],{"type":10,"tag":217,"props":6468,"children":6469},{"class":219,"line":220},[6470,6475,6479],{"type":10,"tag":217,"props":6471,"children":6472},{"style":224},[6473],{"type":15,"value":6474},"VkShaderCreateInfoEXT shaderInfo ",{"type":10,"tag":217,"props":6476,"children":6477},{"style":265},[6478],{"type":15,"value":408},{"type":10,"tag":217,"props":6480,"children":6481},{"style":224},[6482],{"type":15,"value":2870},{"type":10,"tag":217,"props":6484,"children":6485},{"class":219,"line":241},[6486,6491,6495],{"type":10,"tag":217,"props":6487,"children":6488},{"style":224},[6489],{"type":15,"value":6490}," .sType ",{"type":10,"tag":217,"props":6492,"children":6493},{"style":265},[6494],{"type":15,"value":408},{"type":10,"tag":217,"props":6496,"children":6497},{"style":224},[6498],{"type":15,"value":2895},{"type":10,"tag":217,"props":6500,"children":6501},{"class":219,"line":261},[6502,6507,6511,6515],{"type":10,"tag":217,"props":6503,"children":6504},{"style":224},[6505],{"type":15,"value":6506}," .pNext ",{"type":10,"tag":217,"props":6508,"children":6509},{"style":265},[6510],{"type":15,"value":408},{"type":10,"tag":217,"props":6512,"children":6513},{"style":416},[6514],{"type":15,"value":2912},{"type":10,"tag":217,"props":6516,"children":6517},{"style":224},[6518],{"type":15,"value":258},{"type":10,"tag":217,"props":6520,"children":6521},{"class":219,"line":280},[6522,6527,6531,6535],{"type":10,"tag":217,"props":6523,"children":6524},{"style":224},[6525],{"type":15,"value":6526}," .flags ",{"type":10,"tag":217,"props":6528,"children":6529},{"style":265},[6530],{"type":15,"value":408},{"type":10,"tag":217,"props":6532,"children":6533},{"style":416},[6534],{"type":15,"value":638},{"type":10,"tag":217,"props":6536,"children":6537},{"style":224},[6538],{"type":15,"value":258},{"type":10,"tag":217,"props":6540,"children":6541},{"class":219,"line":303},[6542,6547,6551],{"type":10,"tag":217,"props":6543,"children":6544},{"style":224},[6545],{"type":15,"value":6546}," .stage ",{"type":10,"tag":217,"props":6548,"children":6549},{"style":265},[6550],{"type":15,"value":408},{"type":10,"tag":217,"props":6552,"children":6553},{"style":224},[6554],{"type":15,"value":6555}," VK_SHADER_STAGE_COMPUTE_BIT,\n",{"type":10,"tag":217,"props":6557,"children":6558},{"class":219,"line":325},[6559,6564,6568,6572],{"type":10,"tag":217,"props":6560,"children":6561},{"style":224},[6562],{"type":15,"value":6563}," .nextStage ",{"type":10,"tag":217,"props":6565,"children":6566},{"style":265},[6567],{"type":15,"value":408},{"type":10,"tag":217,"props":6569,"children":6570},{"style":416},[6571],{"type":15,"value":638},{"type":10,"tag":217,"props":6573,"children":6574},{"style":224},[6575],{"type":15,"value":258},{"type":10,"tag":217,"props":6577,"children":6578},{"class":219,"line":526},[6579,6584,6588],{"type":10,"tag":217,"props":6580,"children":6581},{"style":224},[6582],{"type":15,"value":6583}," .codeType ",{"type":10,"tag":217,"props":6585,"children":6586},{"style":265},[6587],{"type":15,"value":408},{"type":10,"tag":217,"props":6589,"children":6590},{"style":224},[6591],{"type":15,"value":2984},{"type":10,"tag":217,"props":6593,"children":6594},{"class":219,"line":552},[6595,6600,6604],{"type":10,"tag":217,"props":6596,"children":6597},{"style":224},[6598],{"type":15,"value":6599}," .codeSize ",{"type":10,"tag":217,"props":6601,"children":6602},{"style":265},[6603],{"type":15,"value":408},{"type":10,"tag":217,"props":6605,"children":6606},{"style":224},[6607],{"type":15,"value":6608}," computeShaderSpirvSize,\n",{"type":10,"tag":217,"props":6610,"children":6611},{"class":219,"line":574},[6612,6617,6621],{"type":10,"tag":217,"props":6613,"children":6614},{"style":224},[6615],{"type":15,"value":6616}," .pCode ",{"type":10,"tag":217,"props":6618,"children":6619},{"style":265},[6620],{"type":15,"value":408},{"type":10,"tag":217,"props":6622,"children":6623},{"style":224},[6624],{"type":15,"value":6625}," pComputeShaderSpirv,\n",{"type":10,"tag":217,"props":6627,"children":6628},{"class":219,"line":583},[6629,6634,6638,6642],{"type":10,"tag":217,"props":6630,"children":6631},{"style":224},[6632],{"type":15,"value":6633}," .pName ",{"type":10,"tag":217,"props":6635,"children":6636},{"style":265},[6637],{"type":15,"value":408},{"type":10,"tag":217,"props":6639,"children":6640},{"style":3033},[6641],{"type":15,"value":3036},{"type":10,"tag":217,"props":6643,"children":6644},{"style":224},[6645],{"type":15,"value":258},{"type":10,"tag":217,"props":6647,"children":6648},{"class":219,"line":596},[6649,6654,6658,6662],{"type":10,"tag":217,"props":6650,"children":6651},{"style":224},[6652],{"type":15,"value":6653}," .setLayoutCount ",{"type":10,"tag":217,"props":6655,"children":6656},{"style":265},[6657],{"type":15,"value":408},{"type":10,"tag":217,"props":6659,"children":6660},{"style":416},[6661],{"type":15,"value":3057},{"type":10,"tag":217,"props":6663,"children":6664},{"style":224},[6665],{"type":15,"value":258},{"type":10,"tag":217,"props":6667,"children":6668},{"class":219,"line":606},[6669,6674,6678,6682],{"type":10,"tag":217,"props":6670,"children":6671},{"style":224},[6672],{"type":15,"value":6673}," .pSetLayouts ",{"type":10,"tag":217,"props":6675,"children":6676},{"style":265},[6677],{"type":15,"value":408},{"type":10,"tag":217,"props":6679,"children":6680},{"style":265},[6681],{"type":15,"value":3078},{"type":10,"tag":217,"props":6683,"children":6684},{"style":224},[6685],{"type":15,"value":3083},{"type":10,"tag":217,"props":6687,"children":6688},{"class":219,"line":623},[6689,6694,6698,6702],{"type":10,"tag":217,"props":6690,"children":6691},{"style":224},[6692],{"type":15,"value":6693}," .pushConstantRangeCount ",{"type":10,"tag":217,"props":6695,"children":6696},{"style":265},[6697],{"type":15,"value":408},{"type":10,"tag":217,"props":6699,"children":6700},{"style":416},[6701],{"type":15,"value":638},{"type":10,"tag":217,"props":6703,"children":6704},{"style":224},[6705],{"type":15,"value":258},{"type":10,"tag":217,"props":6707,"children":6708},{"class":219,"line":645},[6709,6714,6718,6722],{"type":10,"tag":217,"props":6710,"children":6711},{"style":224},[6712],{"type":15,"value":6713}," .pPushConstantRanges ",{"type":10,"tag":217,"props":6715,"children":6716},{"style":265},[6717],{"type":15,"value":408},{"type":10,"tag":217,"props":6719,"children":6720},{"style":416},[6721],{"type":15,"value":2912},{"type":10,"tag":217,"props":6723,"children":6724},{"style":224},[6725],{"type":15,"value":258},{"type":10,"tag":217,"props":6727,"children":6728},{"class":219,"line":663},[6729,6734,6738],{"type":10,"tag":217,"props":6730,"children":6731},{"style":224},[6732],{"type":15,"value":6733}," .pSpecializationInfo ",{"type":10,"tag":217,"props":6735,"children":6736},{"style":265},[6737],{"type":15,"value":408},{"type":10,"tag":217,"props":6739,"children":6740},{"style":416},[6741],{"type":15,"value":3140},{"type":10,"tag":217,"props":6743,"children":6744},{"class":219,"line":672},[6745],{"type":10,"tag":217,"props":6746,"children":6747},{"style":224},[6748],{"type":15,"value":3413},{"type":10,"tag":217,"props":6750,"children":6751},{"class":219,"line":680},[6752],{"type":10,"tag":217,"props":6753,"children":6754},{"emptyLinePlaceholder":600},[6755],{"type":15,"value":603},{"type":10,"tag":217,"props":6757,"children":6758},{"class":219,"line":698},[6759],{"type":10,"tag":217,"props":6760,"children":6761},{"style":224},[6762],{"type":15,"value":6763},"VkShaderEXT shader;\n",{"type":10,"tag":217,"props":6765,"children":6766},{"class":219,"line":707},[6767],{"type":10,"tag":217,"props":6768,"children":6769},{"emptyLinePlaceholder":600},[6770],{"type":15,"value":603},{"type":10,"tag":217,"props":6772,"children":6773},{"class":219,"line":726},[6774,6778,6782,6786,6790,6794,6798,6802,6806,6810,6814,6818],{"type":10,"tag":217,"props":6775,"children":6776},{"style":230},[6777],{"type":15,"value":233},{"type":10,"tag":217,"props":6779,"children":6780},{"style":224},[6781],{"type":15,"value":3469},{"type":10,"tag":217,"props":6783,"children":6784},{"style":416},[6785],{"type":15,"value":3631},{"type":10,"tag":217,"props":6787,"children":6788},{"style":224},[6789],{"type":15,"value":1272},{"type":10,"tag":217,"props":6791,"children":6792},{"style":265},[6793],{"type":15,"value":3640},{"type":10,"tag":217,"props":6795,"children":6796},{"style":250},[6797],{"type":15,"value":2846},{"type":10,"tag":217,"props":6799,"children":6800},{"style":224},[6801],{"type":15,"value":1272},{"type":10,"tag":217,"props":6803,"children":6804},{"style":416},[6805],{"type":15,"value":1270},{"type":10,"tag":217,"props":6807,"children":6808},{"style":224},[6809],{"type":15,"value":1272},{"type":10,"tag":217,"props":6811,"children":6812},{"style":265},[6813],{"type":15,"value":3640},{"type":10,"tag":217,"props":6815,"children":6816},{"style":250},[6817],{"type":15,"value":1213},{"type":10,"tag":217,"props":6819,"children":6820},{"style":224},[6821],{"type":15,"value":345},{"type":10,"tag":11,"props":6823,"children":6824},{},[6825],{"type":15,"value":6826},"Later, the application binds the compute shader:",{"type":10,"tag":206,"props":6828,"children":6830},{"className":208,"code":6829,"language":210,"meta":211,"style":211},"VkShaderStageFlagBits stage = VK_SHADER_STAGE_COMPUTE_BIT;\nvkCmdBindShadersEXT(commandBuffer, 1, &stage, &shader);\n",[6831],{"type":10,"tag":168,"props":6832,"children":6833},{"__ignoreMap":211},[6834,6850],{"type":10,"tag":217,"props":6835,"children":6836},{"class":219,"line":220},[6837,6841,6845],{"type":10,"tag":217,"props":6838,"children":6839},{"style":224},[6840],{"type":15,"value":6367},{"type":10,"tag":217,"props":6842,"children":6843},{"style":265},[6844],{"type":15,"value":408},{"type":10,"tag":217,"props":6846,"children":6847},{"style":224},[6848],{"type":15,"value":6849}," VK_SHADER_STAGE_COMPUTE_BIT;\n",{"type":10,"tag":217,"props":6851,"children":6852},{"class":219,"line":241},[6853,6857,6861,6865,6869,6873,6877,6881,6885,6889],{"type":10,"tag":217,"props":6854,"children":6855},{"style":230},[6856],{"type":15,"value":3563},{"type":10,"tag":217,"props":6858,"children":6859},{"style":224},[6860],{"type":15,"value":3568},{"type":10,"tag":217,"props":6862,"children":6863},{"style":416},[6864],{"type":15,"value":3631},{"type":10,"tag":217,"props":6866,"children":6867},{"style":224},[6868],{"type":15,"value":1272},{"type":10,"tag":217,"props":6870,"children":6871},{"style":265},[6872],{"type":15,"value":3640},{"type":10,"tag":217,"props":6874,"children":6875},{"style":250},[6876],{"type":15,"value":998},{"type":10,"tag":217,"props":6878,"children":6879},{"style":224},[6880],{"type":15,"value":1272},{"type":10,"tag":217,"props":6882,"children":6883},{"style":265},[6884],{"type":15,"value":3640},{"type":10,"tag":217,"props":6886,"children":6887},{"style":250},[6888],{"type":15,"value":1213},{"type":10,"tag":217,"props":6890,"children":6891},{"style":224},[6892],{"type":15,"value":345},{"type":10,"tag":11,"props":6894,"children":6895},{},[6896],{"type":15,"value":6897},"Finally, the application dispatches the compute:",{"type":10,"tag":206,"props":6899,"children":6901},{"className":208,"code":6900,"language":210,"meta":211,"style":211},"vkCmdDispatch(commandBuffer, ...);\n",[6902],{"type":10,"tag":168,"props":6903,"children":6904},{"__ignoreMap":211},[6905],{"type":10,"tag":217,"props":6906,"children":6907},{"class":219,"line":220},[6908,6913],{"type":10,"tag":217,"props":6909,"children":6910},{"style":230},[6911],{"type":15,"value":6912},"vkCmdDispatch",{"type":10,"tag":217,"props":6914,"children":6915},{"style":224},[6916],{"type":15,"value":4045},{"type":10,"tag":17,"props":6918,"children":6920},{"id":6919},"_issues",[6921],{"type":15,"value":6922},"Issues",{"type":10,"tag":156,"props":6924,"children":6926},{"id":6925},"_resolved_how_should_implementations_which_absolutely_must_link_shader_stages_implement_this_extension",[6927],{"type":15,"value":6928},"RESOLVED: How should implementations which absolutely must link shader stages implement this extension?",{"type":10,"tag":11,"props":6930,"children":6931},{},[6932],{"type":15,"value":6933},"The purpose of this extension is to expose the flexibility of those implementations which allow arbitrary combinations of unlinked but compatible shader stages and state to be bound independently. Attempting to modify this extension to support implementations which do not have this flexibility would defeat the entire purpose of the extension. For this reason, implementations which do not have the required flexibility should not implement this extension.",{"type":10,"tag":11,"props":6935,"children":6936},{},[6937],{"type":15,"value":6938},"IHVs whose implementations have such limitations today are encouraged to consider incorporating changes which could remove these limitations into their future hardware roadmaps.",{"type":10,"tag":156,"props":6940,"children":6942},{"id":6941},"_resolved_should_this_extension_try_to_reuse_pipeline_objects_and_concepts",[6943],{"type":15,"value":6944},"RESOLVED: Should this extension try to reuse pipeline objects and concepts?",{"type":10,"tag":11,"props":6946,"children":6947},{},[6948],{"type":15,"value":6949},"No - the pipeline abstraction was never designed with such a radically different design in mind.",{"type":10,"tag":11,"props":6951,"children":6952},{},[6953],{"type":15,"value":6954},"Avoiding the introduction of a new object type and a handful of new entry points is not a compelling reason to continue to pile less and less pipeline-like functionality into pipelines. Doing so would needlessly constrict or even undermine the design and future extensibility of both models.",{"type":10,"tag":156,"props":6956,"children":6958},{"id":6957},"_resolved_should_binary_shader_support_be_exposed_in_some_way_similar_to_existing_pipeline_caches_or_pipeline_binaries",[6959],{"type":15,"value":6960},"RESOLVED: Should binary shader support be exposed in some way similar to existing pipeline caches or pipeline binaries?",{"type":10,"tag":11,"props":6962,"children":6963},{},[6964],{"type":15,"value":6965},"No - fixed platforms like game consoles and embedded systems have constraints which make shipping both SPIR-V and binary copies of the same shader code undesirable.",{"type":10,"tag":156,"props":6967,"children":6969},{"id":6968},"_resolved_should_there_be_some_kind_of_shader_program_object_to_represent_a_set_of_linked_shaders",[6970],{"type":15,"value":6971},"RESOLVED: Should there be some kind of shader program object to represent a set of linked shaders?",{"type":10,"tag":11,"props":6973,"children":6974},{},[6975,6977,6982],{"type":15,"value":6976},"No - the compiled code for each shader stage is represented by a single ",{"type":10,"tag":168,"props":6978,"children":6980},{"className":6979},[],[6981],{"type":15,"value":173},{"type":15,"value":6983}," object whether it is linked to other stages or not.",{"type":10,"tag":11,"props":6985,"children":6986},{},[6987],{"type":15,"value":6988},"Introducing a shader program object would overly complicate the API and impose a new and unnecessary object lifetime management burden on applications. Vulkan is a low level API, and it should be the application’s responsibility to ensure that it keeps any promises it chooses to make about binding the correct stages together.",{"type":10,"tag":1033,"props":6990,"children":6991},{},[6992],{"type":10,"tag":11,"props":6993,"children":6994},{},[6995,6997,7002,7004,7009,7011,7016],{"type":15,"value":6996},"Whenever shaders are created linked together, the rules for binding them give implementations the freedom to (for example) internally store the compiled code for multiple linked stages in a single stage’s ",{"type":10,"tag":168,"props":6998,"children":7000},{"className":6999},[],[7001],{"type":15,"value":173},{"type":15,"value":7003}," object and to leave the other stages' ",{"type":10,"tag":168,"props":7005,"children":7007},{"className":7006},[],[7008],{"type":15,"value":173},{"type":15,"value":7010}," objects internally unused, though this is ",{"type":10,"tag":1049,"props":7012,"children":7013},{},[7014],{"type":15,"value":7015},"strongly",{"type":15,"value":7017}," discouraged.",{"type":10,"tag":156,"props":7019,"children":7021},{"id":7020},"_resolved_should_there_be_some_mechanism_for_applications_to_provide_static_state_that_is_known_at_compile_time",[7022],{"type":15,"value":7023},"RESOLVED: Should there be some mechanism for applications to provide static state that is known at compile time?",{"type":10,"tag":11,"props":7025,"children":7026},{},[7027],{"type":15,"value":7028},"Not as part of this extension - it is possible to imagine some kind of \"shader optimization hint\" functionality to let applications provide implementations with \"static state\" similar to the existing static state in pipelines, but on an opt-in rather than opt-out basis. By providing a given piece of state in an optimization hint at shader creation time, an application could promise that the equivalent piece of dynamic state would always be set to some specific value whenever that shader is used, thereby allowing implementations to perform compile time optimizations similar to those they can make with pipelines today.",{"type":10,"tag":11,"props":7030,"children":7031},{},[7032],{"type":15,"value":7033},"For already pipeline-friendly applications with lots of static state this could serve as a \"gentler\" version of pipelines that might provide the best of both worlds, but it is unclear that the benefits of such a scheme for the (pipeline-unfriendly) majority of applications which actually need this extension would outweigh the costs of the added complexity to the API.",{"type":10,"tag":11,"props":7035,"children":7036},{},[7037],{"type":15,"value":7038},"If such functionality turns out to be important, it can be noninvasively layered on top of this extension in the form of another extension. Until then, applications wanting something that behaves like pipelines should just use pipelines.",{"type":10,"tag":156,"props":7040,"children":7042},{"id":7041},"_resolved_should_this_extension_expose_some_abstraction_for_setting_groups_of_related_state",[7043],{"type":15,"value":7044},"RESOLVED: Should this extension expose some abstraction for setting groups of related state?",{"type":10,"tag":11,"props":7046,"children":7047},{},[7048],{"type":15,"value":7049},"No - an earlier version of this proposal exposed a mechanism for applications to pre-create \"interface shaders\" which could then be bound on a command buffer to reduce draw time overhead. This added complexity to the API, and it was unclear that this solution would be able to deliver meaningful performance improvements over setting individual pieces of state on the command buffer.",{"type":10,"tag":11,"props":7051,"children":7052},{},[7053],{"type":15,"value":7054},"Such an abstraction may prove beneficial for certain implementations, but it should not be designed until those implementations have at least attempted to implement support for this extension in its existing form.",{"type":10,"tag":156,"props":7056,"children":7058},{"id":7057},"_resolved_there_is_currently_no_dynamic_state_setting_functionality_for_sample_shading_how_should_this_be_handled",[7059],{"type":15,"value":7060},"RESOLVED: There is currently no dynamic state setting functionality for sample shading. How should this be handled?",{"type":10,"tag":11,"props":7062,"children":7063},{},[7064],{"type":15,"value":7065},"Sample shading is already implicitly enabled (with minSampleShading = 1.0) whenever a shader reads from the SampleId or SamplePosition builtins. The main functionality missing in the absence of dynamic sample shading is the ability to specify minSampleShading values other than 1.0.",{"type":10,"tag":11,"props":7067,"children":7068},{},[7069],{"type":15,"value":7070},"This could be addressed by introducing a new MinSampleShading shader builtin which can be either hard-coded or specialized at SPIR-V compile time using the existing specialization constant mechanism. However, since introducing this functionality is orthogonal to the objective of this extension this is left up to a different extension.",{"type":10,"tag":11,"props":7072,"children":7073},{},[7074],{"type":15,"value":7075},"Until such an extension is available, applications that need to specify a minSampleShading other than 1.0 should use pipelines.",{"type":10,"tag":156,"props":7077,"children":7079},{"id":7078},"_resolved_is_vk_incompatible_shader_binary_ext_a_success_code_or_an_error_code",[7080,7082,7087],{"type":15,"value":7081},"RESOLVED: Is ",{"type":10,"tag":168,"props":7083,"children":7085},{"className":7084},[],[7086],{"type":15,"value":1424},{"type":15,"value":7088}," a success code, or an error code?",{"type":10,"tag":11,"props":7090,"children":7091},{},[7092],{"type":15,"value":7093},"A success code.",{"type":10,"tag":11,"props":7095,"children":7096},{},[7097,7099,7105,7107,7113],{"type":15,"value":7098},"Initially this token was named ",{"type":10,"tag":168,"props":7100,"children":7102},{"className":7101},[],[7103],{"type":15,"value":7104},"VK_ERROR_INCOMPATIBLE_SHADER_BINARY_EXT",{"type":15,"value":7106},",\nbut as pointed out in\n",{"type":10,"tag":1996,"props":7108,"children":7111},{"href":7109,"rel":7110},"https://github.com/KhronosGroup/Vulkan-Docs/issues/2295",[2000],[7112],{"type":15,"value":7109},{"type":15,"value":7114}," the numeric value\nassigned to the token was positive.",{"type":10,"tag":11,"props":7116,"children":7117},{},[7118,7120,7125,7127,7133],{"type":15,"value":7119},"On further discussion we agreed that the return code was a success code,\nmuch as ",{"type":10,"tag":168,"props":7121,"children":7123},{"className":7122},[],[7124],{"type":15,"value":1346},{"type":15,"value":7126}," is, and aliased the original name to the current name\nwithout ",{"type":10,"tag":168,"props":7128,"children":7130},{"className":7129},[],[7131],{"type":15,"value":7132},"ERROR",{"type":15,"value":7134}," in it.",{"type":10,"tag":17,"props":7136,"children":7138},{"id":7137},"_further_functionality",[7139],{"type":15,"value":7140},"Further Functionality",{"type":10,"tag":1663,"props":7142,"children":7143},{},[7144,7149,7154],{"type":10,"tag":114,"props":7145,"children":7146},{},[7147],{"type":15,"value":7148},"Shader optimization hints",{"type":10,"tag":114,"props":7150,"children":7151},{},[7152],{"type":15,"value":7153},"State grouping",{"type":10,"tag":114,"props":7155,"children":7156},{},[7157],{"type":15,"value":7158},"Ray tracing shader objects",{"type":10,"tag":7160,"props":7161,"children":7162},"style",{},[7163],{"type":15,"value":7164},"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":211,"searchDepth":241,"depth":241,"links":7166},[7167,7168,7169,7172,7176,7187],{"id":19,"depth":241,"text":22},{"id":100,"depth":241,"text":103},{"id":151,"depth":241,"text":154,"children":7170},[7171],{"id":158,"depth":261,"text":161},{"id":2807,"depth":241,"text":2810,"children":7173},[7174,7175],{"id":2813,"depth":261,"text":2816},{"id":6451,"depth":261,"text":6454},{"id":6919,"depth":241,"text":6922,"children":7177},[7178,7179,7180,7181,7182,7183,7184,7185],{"id":6925,"depth":261,"text":6928},{"id":6941,"depth":261,"text":6944},{"id":6957,"depth":261,"text":6960},{"id":6968,"depth":261,"text":6971},{"id":7020,"depth":261,"text":7023},{"id":7041,"depth":261,"text":7044},{"id":7057,"depth":261,"text":7060},{"id":7078,"depth":261,"text":7186},"RESOLVED: Is VK_INCOMPATIBLE_SHADER_BINARY_EXT a success code, or an error code?",{"id":7137,"depth":241,"text":7140},"markdown",[7190,7195,7198,7201,7204,7207,7210,7213,7216,7217,7220,7223,7226,7229,7232,7235,7238,7241,7244,7247,7250,7253,7256,7259,7262,7265,7268,7271,7274,7277,7280,7283,7286,7289,7292,7295,7298,7301,7304,7307,7310,7313,7316,7319,7322,7325,7328,7331,7334,7337,7340,7343,7346,7349,7352,7355,7358,7361,7364],{"index":7191,"title":7192,"id":7193,"appendix":7194},0,"Preamble","preamble",false,{"index":220,"title":7196,"id":7197,"appendix":7194},"Introduction","introduction",{"index":241,"title":7199,"id":7200,"appendix":7194},"Fundamentals","fundamentals",{"index":261,"title":7202,"id":7203,"appendix":7194},"Initialization","initialization",{"index":280,"title":7205,"id":7206,"appendix":7194},"Devices and Queues","devsandqueues",{"index":303,"title":7208,"id":7209,"appendix":7194},"Command Buffers","commandbuffers",{"index":325,"title":7211,"id":7212,"appendix":7194},"Synchronization and Cache Control","synchronization",{"index":526,"title":7214,"id":7215,"appendix":7194},"Render Pass","renderpass",{"index":552,"title":161,"id":3435,"appendix":7194},{"index":574,"title":7218,"id":7219,"appendix":7194},"Pipelines","pipelines",{"index":583,"title":7221,"id":7222,"appendix":7194},"Memory Allocation","memory",{"index":596,"title":7224,"id":7225,"appendix":7194},"Resource Creation","resources",{"index":606,"title":7227,"id":7228,"appendix":7194},"Samplers","samplers",{"index":623,"title":7230,"id":7231,"appendix":7194},"Resource Descriptors","descriptorsets",{"index":645,"title":7233,"id":7234,"appendix":7194},"Shader Interfaces","interfaces",{"index":663,"title":7236,"id":7237,"appendix":7194},"Image Operations","textures",{"index":672,"title":7239,"id":7240,"appendix":7194},"Fragment Density Map Operations","fragmentdensitymapops",{"index":680,"title":7242,"id":7243,"appendix":7194},"Queries","queries",{"index":698,"title":7245,"id":7246,"appendix":7194},"Clear Commands","clears",{"index":707,"title":7248,"id":7249,"appendix":7194},"Copy Commands","copies",{"index":726,"title":7251,"id":7252,"appendix":7194},"Drawing Commands","drawing",{"index":735,"title":7254,"id":7255,"appendix":7194},"Fixed-Function Vertex Processing","fxvertex",{"index":744,"title":7257,"id":7258,"appendix":7194},"Tessellation","tessellation",{"index":753,"title":7260,"id":7261,"appendix":7194},"Geometry Shading","geometry",{"index":762,"title":7263,"id":7264,"appendix":7194},"Mesh Shading","mesh",{"index":776,"title":7266,"id":7267,"appendix":7194},"Cluster Culling Shading","cluster-culling",{"index":793,"title":7269,"id":7270,"appendix":7194},"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":811,"title":7272,"id":7273,"appendix":7194},"Rasterization","primsrast",{"index":824,"title":7275,"id":7276,"appendix":7194},"Fragment Operations","fragops",{"index":846,"title":7278,"id":7279,"appendix":7194},"The Framebuffer","framebuffer",{"index":859,"title":7281,"id":7282,"appendix":7194},"Dispatching Commands","dispatch",{"index":881,"title":7284,"id":7285,"appendix":7194},"Device-Generated Commands","device-generated-commands",{"index":903,"title":7287,"id":7288,"appendix":7194},"Sparse Resources","sparsememory",{"index":3398,"title":7290,"id":7291,"appendix":7194},"Window System Integration (WSI)","wsi",{"index":3407,"title":7293,"id":7294,"appendix":7194},"Deferred Host Operations","deferred-host-operations",{"index":3416,"title":7296,"id":7297,"appendix":7194},"Private Data","private-data",{"index":3424,"title":7299,"id":7300,"appendix":7194},"Acceleration Structures","acceleration-structure",{"index":3451,"title":7302,"id":7303,"appendix":7194},"Micromap","micromap",{"index":3459,"title":7305,"id":7306,"appendix":7194},"Ray Traversal","ray-traversal",{"index":4706,"title":7308,"id":7309,"appendix":7194},"Ray Tracing","ray-tracing",{"index":4726,"title":7311,"id":7312,"appendix":7194},"Memory Decompression","memory-decompression",{"index":4742,"title":7314,"id":7315,"appendix":7194},"Video Coding","video-coding",{"index":4770,"title":7317,"id":7318,"appendix":7194},"Optical Flow","opticalflow",{"index":4798,"title":7320,"id":7321,"appendix":7194},"Execution Graphs","executiongraphs",{"index":4818,"title":7323,"id":7324,"appendix":7194},"Extending Vulkan","extendingvulkan",{"index":4838,"title":7326,"id":7327,"appendix":7194},"Features","features",{"index":4858,"title":7329,"id":7330,"appendix":7194},"Limits","limits",{"index":4878,"title":7332,"id":7333,"appendix":7194},"Formats","formats",{"index":4898,"title":7335,"id":7336,"appendix":7194},"Additional Capabilities","capabilities",{"index":4914,"title":7338,"id":7339,"appendix":7194},"Debugging","debugging",{"index":7191,"title":7341,"id":7342,"appendix":600},"Vulkan Environment for SPIR-V","spirvenv",{"index":220,"title":7344,"id":7345,"appendix":600},"Memory Model","memory-model",{"index":241,"title":7347,"id":7348,"appendix":600},"Compressed Image Formats","compressed_image_formats",{"index":261,"title":7350,"id":7351,"appendix":600},"Core Revisions (Informative)","versions",{"index":280,"title":7353,"id":7354,"appendix":600},"Layers & Extensions (Informative)","extensions",{"index":303,"title":7356,"id":7357,"appendix":600},"API Boilerplate","boilerplate",{"index":325,"title":7359,"id":7360,"appendix":600},"Invariance","invariance",{"index":526,"title":7362,"id":7363,"appendix":600},"Lexicon","lexicon",{"index":552,"title":7365,"id":7366,"appendix":600},"Credits (Informative)","credits",[7368,7375,7379,7384,7388,7393,7396,7399,7402,7406,7410,7413,7416,7419,7421,7423,7426,7429,7433,7435,7439,7441,7444,7446,7449,7457,7461,7467,7471,7476,7478,7482,7488,7494,7500,7502,7505,7511,7514,7517,7523,7527,7531,7535,7539,7541,7544,7550,7553,7556,7560,7564,7567,7569,7571,7575,7580,7586,7589,7593,7596,7602,7605,7609,7612,7616,7619,7623,7626,7631,7635,7638,7643,7646,7649,7652,7656,7661,7666,7670,7674,7678,7682,7686,7690,7694,7697,7700,7704,7707,7710,7713,7717,7722,7726,7729,7733,7737,7741,7746,7749,7752,7757,7762,7766,7769,7773,7778,7781,7786,7791,7794,7797,7801,7805,7809,7814,7818,7821,7826,7830,7833,7836,7840,7843,7846,7848,7852,7855,7857,7860,7863,7866,7869,7872,7875,7878,7882,7886,7889,7892,7895,7898,7901,7904,7908,7912,7916,7919,7923,7926,7929,7932,7934,7938,7943,7946,7950,7952,7956,7959,7966,7970,7974,7978,7984,7986,7990,7994,7997,8000,8004,8009,8015,8019,8021,8025,8028,8033,8037,8042,8046,8050,8052,8055,8058,8060,8065,8068,8071,8076,8080,8084,8089,8093,8096,8098,8100,8103,8105,8108,8111,8115,8119,8121,8125,8128,8132,8135,8137,8140,8144,8146,8150,8153,8156,8159,8162,8165,8168,8169,8172,8174,8177,8181,8184,8186,8188,8190,8192,8196,8198,8201,8206,8210,8213,8215,8217,8219,8223,8226,8229,8232,8236,8239,8244,8248,8251,8255,8258,8261,8265,8269,8271,8276,8279,8283,8286,8288,8291,8293,8296,8300,8303,8307,8310,8314,8318,8321,8324,8327,8330,8334,8336,8339,8341,8346,8347,8351,8354,8357,8360,8363,8365,8369,8372,8375,8378,8382,8384,8386,8390,8392,8395,8399,8403,8405,8409,8412,8415,8418,8421,8425,8430,8435,8439,8444,8448,8451,8455,8459,8461,8465,8469,8472,8476,8478,8482,8486,8488,8494,8497,8500,8503,8507,8510,8514,8518,8521,8522,8525,8527,8529,8531,8533,8536,8538,8541,8543,8545,8548,8550,8554,8558,8562,8566,8569,8572,8576,8579,8583,8585,8589,8593,8596,8599,8602,8604,8607,8609,8612,8615,8618,8621,8623,8626,8628,8630,8634,8637,8641,8645,8648,8651,8654,8657,8660,8663,8667,8670,8673,8679,8683,8687,8691],{"number":7369,"type":253,"author":7370,"provisional":600,"depends":7371,"platform":7372,"contact":7373,"extension":7374,"proposal":600},135,"AMD","(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":7376,"type":253,"author":7370,"provisional":7194,"contact":7377,"extension":7378,"proposal":600},477,"Stu Smith","VK_AMD_anti_lag",{"number":7380,"type":253,"author":7370,"provisional":7194,"specialuse":7381,"contact":7382,"extension":7383,"proposal":7194},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":7385,"type":253,"author":7370,"provisional":7194,"depends":7386,"contact":7373,"extension":7387,"proposal":7194},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":7389,"type":253,"author":7370,"provisional":7194,"depends":7390,"contact":7391,"extension":7392,"proposal":7194},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":3407,"type":253,"author":7370,"promotedto":7394,"provisional":7194,"contact":7382,"extension":7395,"proposal":7194},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":793,"type":253,"author":7370,"provisional":7194,"contact":7397,"extension":7398,"proposal":7194},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":3451,"type":253,"author":7370,"deprecatedby":7400,"provisional":7194,"contact":7397,"extension":7401,"proposal":7194},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":7403,"type":253,"author":7370,"deprecatedby":7400,"provisional":7194,"contact":7404,"extension":7405,"proposal":7194},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":7407,"type":253,"author":7370,"provisional":7194,"contact":7408,"extension":7409,"proposal":7194},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":7411,"type":253,"author":7370,"provisional":7194,"contact":7391,"extension":7412,"proposal":7194},137,"VK_AMD_mixed_attachment_samples",{"number":3424,"type":253,"author":7370,"obsoletedby":7414,"provisional":7194,"contact":7391,"extension":7415,"proposal":7194},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":7417,"type":253,"author":7370,"provisional":7194,"contact":7391,"extension":7418,"proposal":7194},184,"VK_AMD_pipeline_compiler_control",{"number":707,"type":253,"author":7370,"provisional":7194,"contact":7382,"extension":7420,"proposal":7194},"VK_AMD_rasterization_order",{"number":3459,"type":253,"author":7370,"provisional":7194,"contact":7397,"extension":7422,"proposal":7194},"VK_AMD_shader_ballot",{"number":7424,"type":253,"author":7370,"provisional":7194,"depends":7386,"contact":7408,"extension":7425,"proposal":7194},186,"VK_AMD_shader_core_properties",{"number":7427,"type":253,"author":7370,"provisional":7194,"depends":7425,"contact":7391,"extension":7428,"proposal":7194},228,"VK_AMD_shader_core_properties2",{"number":7430,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7373,"extension":7432,"proposal":600},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":744,"type":253,"author":7370,"provisional":7194,"contact":7404,"extension":7434,"proposal":7194},"VK_AMD_shader_explicit_vertex_parameter",{"number":7436,"type":253,"author":7370,"provisional":7194,"contact":7437,"extension":7438,"proposal":7194},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":4878,"type":253,"author":7370,"provisional":7194,"contact":7397,"extension":7440,"proposal":7194},"VK_AMD_shader_image_load_store_lod",{"number":4798,"type":253,"author":7370,"provisional":7194,"specialuse":7381,"contact":7442,"extension":7443,"proposal":7194},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":735,"type":253,"author":7370,"provisional":7194,"contact":7404,"extension":7445,"proposal":7194},"VK_AMD_shader_trinary_minmax",{"number":4770,"type":253,"author":7370,"provisional":7194,"depends":7386,"contact":7447,"extension":7448,"proposal":7194},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":7450,"type":253,"author":7451,"provisional":7194,"depends":7452,"platform":7453,"specialuse":7454,"contact":7455,"extension":7456,"proposal":600},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":7458,"type":253,"author":7451,"provisional":7194,"depends":7459,"platform":7453,"contact":7460,"extension":7452,"proposal":7194},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":7462,"type":253,"author":7463,"promotedto":7464,"provisional":7194,"depends":7386,"contact":7465,"extension":7466,"proposal":7194},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":7468,"type":253,"author":7463,"provisional":7194,"depends":7469,"contact":7465,"extension":7470,"proposal":600},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":7472,"type":253,"author":7463,"provisional":7194,"depends":7473,"contact":7474,"extension":7475,"proposal":7194},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":7477,"type":253,"author":7463,"provisional":7194,"depends":7386,"contact":7474,"extension":7473,"proposal":7194},498,{"number":7479,"type":253,"author":7463,"provisional":7194,"depends":7480,"contact":7465,"extension":7481,"proposal":7194},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":7483,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7486,"extension":7487,"proposal":7194},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":7489,"type":7490,"author":7431,"provisional":7194,"depends":7491,"contact":7492,"extension":7493,"proposal":7194},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":7495,"type":7490,"author":7496,"provisional":7194,"depends":7491,"platform":7497,"contact":7498,"extension":7499,"proposal":7194},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":7501,"proposal":7194},"VK_EXT_application_parameters",{"number":7503,"type":253,"author":7463,"provisional":7194,"depends":7386,"contact":7465,"extension":7504,"proposal":7194},68,"VK_EXT_astc_decode_mode",{"number":7506,"type":253,"author":7431,"provisional":7194,"depends":7507,"ratified":7508,"contact":7509,"extension":7510,"proposal":600},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":7512,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7486,"extension":7513,"proposal":600},340,"VK_EXT_attachment_feedback_loop_layout",{"number":7515,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":2184,"proposal":7194},149,"Jeff Bolz @jeffbolznv",{"number":7518,"type":253,"author":7431,"provisional":7194,"depends":7519,"specialuse":7520,"contact":7521,"extension":7522,"proposal":7194},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":7524,"type":253,"author":7496,"deprecatedby":7525,"provisional":7194,"depends":7386,"contact":7516,"extension":7526,"proposal":7194},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":7528,"type":253,"author":7431,"promotedto":7529,"provisional":7194,"depends":7386,"contact":7382,"extension":7530,"proposal":600},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":7532,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7533,"contact":7534,"extension":2298,"proposal":7194},382,"vulkan,vulkansc","Sharif Elcott @selcott",{"number":7536,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":7537,"extension":7538,"proposal":7194},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":7540,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7508,"contact":7521,"extension":2094,"proposal":7194},102,{"number":7542,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7533,"specialuse":7520,"contact":7543,"extension":7519,"proposal":7194},288,"Liam Middlebrook @liam-middlebrook",{"number":753,"type":253,"author":7545,"promotedto":7546,"provisional":7194,"depends":7547,"specialuse":7339,"contact":7548,"extension":7549,"proposal":7194},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":606,"type":7490,"author":7551,"deprecatedby":7546,"provisional":7194,"specialuse":7339,"contact":7552,"extension":7547,"proposal":7194},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":7554,"type":7490,"author":7431,"provisional":7194,"specialuse":7339,"contact":7555,"extension":7546,"proposal":7194},129,"Mark Young @marky-lunarg",{"number":7557,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7558,"contact":7486,"extension":7559,"proposal":600},284,"d3demulation","VK_EXT_depth_bias_control",{"number":7561,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7562,"extension":7563,"proposal":7194},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":7565,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7454,"contact":7566,"extension":2274,"proposal":7194},356,"Shahbaz Youssefi @syoussefi",{"number":7568,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7533,"specialuse":7558,"contact":7521,"extension":2127,"proposal":7194},103,{"number":645,"type":253,"author":7496,"provisional":7194,"ratified":7533,"contact":7521,"extension":7570,"proposal":7194},"VK_EXT_depth_range_unrestricted",{"number":7572,"type":253,"author":7431,"provisional":7194,"depends":7573,"contact":7373,"extension":7574,"proposal":600},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":7576,"type":253,"author":7496,"promotedto":7577,"provisional":7194,"depends":7578,"contact":7516,"extension":7579,"proposal":7194},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":7581,"type":253,"author":7431,"provisional":7194,"depends":7582,"specialuse":7583,"contact":7584,"extension":7585,"proposal":7194},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":7587,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7584,"extension":7588,"proposal":600},342,"VK_EXT_device_fault",{"number":7590,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7381,"contact":7591,"extension":7592,"proposal":7194},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":7594,"type":7490,"author":7496,"provisional":7194,"depends":7595,"contact":7498,"extension":7491,"proposal":7194},89,"VK_KHR_display",{"number":7597,"type":7490,"author":7431,"provisional":7194,"depends":7598,"platform":7599,"contact":7600,"extension":7601,"proposal":7194},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":7603,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7533,"contact":7521,"extension":7604,"proposal":7194},100,"VK_EXT_discard_rectangles",{"number":7606,"type":253,"author":7496,"provisional":7194,"depends":7607,"ratified":7508,"contact":7498,"extension":7608,"proposal":7194},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":7610,"type":7490,"author":7496,"provisional":7194,"depends":7595,"ratified":7508,"contact":7498,"extension":7611,"proposal":7194},91,"VK_EXT_display_surface_counter",{"number":7613,"type":253,"author":7431,"provisional":7194,"depends":7614,"ratified":7508,"contact":7521,"extension":7615,"proposal":600},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":7617,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7521,"extension":7618,"proposal":7194},268,"VK_EXT_extended_dynamic_state",{"number":7620,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7621,"extension":7622,"proposal":7194},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":7624,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7508,"contact":7521,"extension":7625,"proposal":600},456,"VK_EXT_extended_dynamic_state3",{"number":7627,"type":253,"author":7431,"provisional":7194,"depends":7628,"ratified":7508,"contact":7629,"extension":7630,"proposal":600},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":7632,"type":253,"author":7431,"provisional":7194,"depends":7633,"ratified":7533,"contact":7629,"extension":7634,"proposal":7194},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":7636,"type":253,"author":7431,"provisional":7194,"depends":7628,"ratified":7533,"contact":7382,"extension":7637,"proposal":7194},179,"VK_EXT_external_memory_host",{"number":7639,"type":253,"author":7640,"provisional":7194,"ratified":7508,"contact":7641,"extension":7642,"proposal":7194},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":7644,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7641,"extension":7645,"proposal":7194},219,"VK_EXT_fragment_density_map",{"number":7647,"type":253,"author":7431,"provisional":7194,"depends":7645,"contact":7641,"extension":7648,"proposal":7194},333,"VK_EXT_fragment_density_map2",{"number":7650,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7521,"extension":7651,"proposal":7194},252,"VK_EXT_fragment_shader_interlock",{"number":7653,"type":253,"author":7431,"provisional":7194,"ratified":7508,"contact":7654,"extension":7655,"proposal":600},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":7657,"type":253,"author":7431,"provisional":7194,"depends":7658,"platform":7659,"ratified":7508,"contact":7498,"extension":7660,"proposal":7194},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":7662,"type":253,"author":7431,"promotedto":7663,"provisional":7194,"contact":7664,"extension":7665,"proposal":7194},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":7667,"type":253,"author":7431,"promotedto":7663,"provisional":7194,"depends":7668,"contact":7591,"extension":7669,"proposal":7194},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":7671,"type":253,"author":7370,"provisional":7194,"depends":7672,"contact":7373,"extension":7673,"proposal":600},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":7675,"type":253,"author":7551,"provisional":7194,"depends":7676,"ratified":7533,"contact":7552,"extension":7677,"proposal":7194},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":7679,"type":7490,"author":7431,"provisional":7194,"depends":7598,"contact":7680,"extension":7681,"proposal":7194},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":7683,"type":253,"author":7431,"provisional":7194,"depends":7684,"ratified":7508,"contact":7566,"extension":7685,"proposal":600},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":7687,"type":253,"author":7431,"promotedto":7577,"provisional":7194,"depends":7386,"contact":7688,"extension":7689,"proposal":7194},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":7691,"type":253,"author":7431,"provisional":7194,"depends":7692,"specialuse":7454,"contact":7509,"extension":7693,"proposal":7194},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":7695,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7465,"extension":7696,"proposal":600},339,"VK_EXT_image_compression_control",{"number":7698,"type":253,"author":7431,"provisional":7194,"depends":7696,"contact":7465,"extension":7699,"proposal":7194},438,"VK_EXT_image_compression_control_swapchain",{"number":7701,"type":253,"author":7431,"provisional":7194,"depends":7702,"ratified":7508,"contact":7629,"extension":7703,"proposal":7194},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":7705,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7562,"extension":7706,"proposal":7194},336,"VK_EXT_image_robustness",{"number":7708,"type":253,"author":7431,"provisional":7194,"depends":7692,"specialuse":7558,"contact":7509,"extension":7709,"proposal":600},419,"VK_EXT_image_sliced_view_of_3d",{"number":7711,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7486,"extension":7712,"proposal":7194},392,"VK_EXT_image_view_min_lod",{"number":7714,"type":253,"author":7431,"promotedto":7715,"provisional":7194,"depends":7386,"contact":7521,"extension":7716,"proposal":7194},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":7718,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7719,"contact":7720,"extension":7721,"proposal":7194},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":7723,"type":7490,"author":7431,"provisional":7194,"ratified":7508,"contact":7724,"extension":7725,"proposal":600},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":7727,"type":253,"author":7431,"provisional":7194,"depends":7386,"specialuse":7454,"contact":7566,"extension":7728,"proposal":600},466,"VK_EXT_legacy_dithering",{"number":7730,"type":253,"author":7431,"provisional":7194,"depends":7731,"ratified":7508,"specialuse":7454,"contact":7509,"extension":7732,"proposal":600},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":7734,"type":253,"author":7431,"promotedto":7735,"provisional":7194,"depends":7386,"specialuse":7736,"contact":7516,"extension":2232,"proposal":7194},260,"VK_KHR_line_rasterization","cadsupport",{"number":7738,"type":253,"author":7431,"promotedto":7739,"provisional":7194,"ratified":7508,"contact":7566,"extension":7740,"proposal":7194},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":7742,"type":253,"author":7431,"provisional":7194,"depends":7743,"ratified":7508,"contact":7744,"extension":7745,"proposal":600},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":7747,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":7748,"proposal":7194},238,"VK_EXT_memory_budget",{"number":7750,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":7751,"proposal":7194},239,"VK_EXT_memory_priority",{"number":7753,"type":253,"author":7431,"provisional":7194,"depends":7754,"contact":7755,"extension":7756,"proposal":600},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":7758,"type":253,"author":7431,"provisional":7194,"platform":7759,"contact":7760,"extension":7761,"proposal":600},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":7763,"type":7490,"author":7431,"provisional":7194,"depends":7598,"platform":7759,"contact":7764,"extension":7765,"proposal":7194},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":7767,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7509,"extension":7768,"proposal":7194},393,"VK_EXT_multi_draw",{"number":7770,"type":253,"author":7431,"provisional":7194,"depends":7771,"contact":7566,"extension":7772,"proposal":600},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":7774,"type":253,"author":7431,"provisional":7194,"depends":7775,"specialuse":7558,"contact":7776,"extension":7777,"proposal":600},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":7779,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7521,"extension":7780,"proposal":7194},452,"VK_EXT_nested_command_buffer",{"number":7782,"type":253,"author":7431,"provisional":7194,"depends":7386,"specialuse":7783,"contact":7784,"extension":7785,"proposal":600},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":7787,"type":253,"author":7431,"provisional":7194,"depends":7788,"ratified":7508,"contact":7789,"extension":7790,"proposal":600},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":7792,"type":253,"author":7431,"provisional":7194,"depends":7751,"contact":7521,"extension":7793,"proposal":7194},413,"VK_EXT_pageable_device_local_memory",{"number":7795,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7533,"contact":7391,"extension":7796,"proposal":7194},213,"VK_EXT_pci_bus_info",{"number":7798,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7799,"extension":7800,"proposal":7194},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":7802,"type":253,"author":7370,"promotedto":7484,"provisional":7194,"depends":7386,"contact":7803,"extension":7804,"proposal":7194},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":7806,"type":253,"author":7551,"promotedto":7484,"provisional":7194,"specialuse":7381,"contact":7807,"extension":7808,"proposal":7194},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":7810,"type":253,"author":7431,"provisional":7194,"depends":7811,"contact":7812,"extension":7813,"proposal":600},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":7815,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7816,"extension":7817,"proposal":7194},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":7819,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7566,"extension":7820,"proposal":600},467,"VK_EXT_pipeline_protected_access",{"number":7822,"type":253,"author":7823,"provisional":7194,"depends":7386,"contact":7824,"extension":7825,"proposal":7194},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":7827,"type":253,"author":7496,"provisional":7194,"ratified":7508,"contact":7828,"extension":7829,"proposal":7194},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":7831,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7454,"contact":7566,"extension":7832,"proposal":7194},357,"VK_EXT_primitive_topology_list_restart",{"number":7834,"type":253,"author":7431,"provisional":7194,"depends":2028,"specialuse":7454,"contact":7566,"extension":7835,"proposal":600},383,"VK_EXT_primitives_generated_query",{"number":7837,"type":253,"author":7496,"promotedto":7484,"provisional":7194,"depends":7386,"contact":7838,"extension":7839,"proposal":7194},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":7841,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7454,"contact":7842,"extension":2208,"proposal":7194},255,"Jesse Hall @jessehall",{"number":7844,"type":253,"author":7431,"provisional":7194,"depends":7628,"ratified":7533,"contact":7629,"extension":7845,"proposal":7194},127,"VK_EXT_queue_family_foreign",{"number":7847,"type":253,"author":7463,"provisional":7194,"depends":7386,"contact":7465,"extension":7464,"proposal":600},464,{"number":7849,"type":253,"author":7431,"provisional":7194,"depends":7850,"contact":7465,"extension":7851,"proposal":7194},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":7853,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7533,"contact":7543,"extension":7854,"proposal":7194},287,"VK_EXT_robustness2",{"number":7856,"type":253,"author":7370,"provisional":7194,"depends":7386,"ratified":7533,"contact":7382,"extension":2151,"proposal":7194},144,{"number":7858,"type":253,"author":7496,"promotedto":7577,"provisional":7194,"depends":7386,"contact":7516,"extension":7859,"proposal":7194},131,"VK_EXT_sampler_filter_minmax",{"number":7861,"type":253,"author":7431,"promotedto":7577,"provisional":7194,"depends":7386,"contact":7373,"extension":7862,"proposal":7194},222,"VK_EXT_scalar_block_layout",{"number":7864,"type":253,"author":7431,"promotedto":7577,"provisional":7194,"contact":7382,"extension":7865,"proposal":7194},247,"VK_EXT_separate_stencil_usage",{"number":7867,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7533,"contact":7621,"extension":7868,"proposal":7194},261,"VK_EXT_shader_atomic_float",{"number":7870,"type":253,"author":7431,"provisional":7194,"depends":7868,"ratified":7508,"contact":7744,"extension":7871,"proposal":7194},274,"VK_EXT_shader_atomic_float2",{"number":7873,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7516,"extension":7874,"proposal":7194},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":7876,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7373,"extension":7877,"proposal":7194},235,"VK_EXT_shader_image_atomic_int64",{"number":7879,"type":253,"author":7431,"provisional":7194,"depends":7880,"contact":7812,"extension":7881,"proposal":600},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":7883,"type":253,"author":7431,"provisional":7194,"depends":7614,"ratified":7508,"contact":7884,"extension":7885,"proposal":600},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":7887,"type":253,"author":7431,"provisional":7194,"ratified":7508,"contact":7474,"extension":7888,"proposal":600},565,"VK_EXT_shader_replicated_composites",{"number":7890,"type":253,"author":7431,"provisional":7194,"ratified":7533,"contact":7397,"extension":7891,"proposal":7194},141,"VK_EXT_shader_stencil_export",{"number":7893,"type":253,"author":7496,"deprecatedby":7577,"provisional":7194,"contact":7828,"extension":7894,"proposal":7194},65,"VK_EXT_shader_subgroup_ballot",{"number":7896,"type":253,"author":7496,"deprecatedby":7480,"provisional":7194,"contact":7828,"extension":7897,"proposal":7194},66,"VK_EXT_shader_subgroup_vote",{"number":7899,"type":253,"author":7431,"provisional":7194,"depends":7484,"ratified":7508,"contact":7465,"extension":7900,"proposal":600},396,"VK_EXT_shader_tile_image",{"number":7902,"type":253,"author":7496,"promotedto":7577,"provisional":7194,"contact":7828,"extension":7903,"proposal":7194},163,"VK_EXT_shader_viewport_index_layer",{"number":7905,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7480,"ratified":7485,"contact":7906,"extension":7907,"proposal":7194},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":7909,"type":253,"author":7431,"provisional":7194,"depends":7386,"contact":7910,"extension":7911,"proposal":600},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":7913,"type":7490,"author":7431,"provisional":7194,"depends":7914,"contact":7566,"extension":7915,"proposal":600},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":7917,"type":7490,"author":7551,"provisional":7194,"depends":7598,"contact":7552,"extension":7918,"proposal":7194},105,"VK_EXT_swapchain_colorspace",{"number":7920,"type":253,"author":7431,"provisional":7194,"depends":7921,"contact":7566,"extension":7922,"proposal":600},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":7924,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7516,"extension":7925,"proposal":7194},282,"VK_EXT_texel_buffer_alignment",{"number":7927,"type":253,"author":7463,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7485,"contact":7465,"extension":7928,"proposal":7194},67,"VK_EXT_texture_compression_astc_hdr",{"number":7930,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"contact":7373,"extension":7931,"proposal":7194},246,"VK_EXT_tooling_info",{"number":846,"type":253,"author":7496,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7933,"contact":7521,"extension":2028,"proposal":7194},"glemulation,d3demulation,devtools",{"number":7935,"type":253,"author":7551,"provisional":7194,"contact":7936,"extension":7937,"proposal":7194},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":7939,"type":7490,"author":7940,"deprecatedby":7725,"provisional":7194,"specialuse":7339,"contact":7941,"extension":7942,"proposal":7194},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":6059,"type":7490,"author":7551,"deprecatedby":7725,"provisional":7194,"specialuse":7339,"contact":7944,"extension":7945,"proposal":7194},"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":7947,"type":253,"author":7496,"promotedto":7948,"provisional":7194,"depends":7386,"contact":7537,"extension":7949,"proposal":7194},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":7951,"type":253,"author":7431,"provisional":7194,"depends":7386,"ratified":7508,"contact":7521,"extension":7731,"proposal":7194},353,{"number":7953,"type":253,"author":7431,"promotedto":7484,"provisional":7194,"depends":7850,"ratified":7485,"contact":7954,"extension":7955,"proposal":7194},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":7957,"type":253,"author":7431,"provisional":7194,"depends":7850,"ratified":7533,"contact":7521,"extension":7958,"proposal":7194},253,"VK_EXT_ycbcr_image_arrays",{"number":7960,"type":253,"author":7961,"provisional":7194,"depends":7962,"platform":7963,"contact":7964,"extension":7965,"proposal":7194},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":7967,"type":253,"author":7961,"provisional":7194,"depends":7968,"platform":7963,"contact":7964,"extension":7969,"proposal":7194},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":7971,"type":253,"author":7961,"provisional":7194,"depends":7972,"platform":7963,"contact":7964,"extension":7973,"proposal":7194},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":7975,"type":7490,"author":7961,"provisional":7194,"depends":7598,"platform":7963,"contact":7976,"extension":7977,"proposal":7194},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":7979,"type":253,"author":7980,"provisional":7194,"depends":7981,"platform":7982,"contact":7807,"extension":7983,"proposal":7194},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":4922,"type":7490,"author":7980,"provisional":7194,"depends":7598,"platform":7982,"contact":7807,"extension":7985,"proposal":7194},"VK_GGP_stream_descriptor_surface",{"number":7987,"type":253,"author":7551,"provisional":7194,"contact":7988,"extension":7989,"proposal":7194},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":7991,"type":253,"author":7551,"provisional":7194,"depends":7676,"contact":7992,"extension":7993,"proposal":7194},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":7995,"type":253,"author":7551,"provisional":7194,"contact":7988,"extension":7996,"proposal":7194},224,"VK_GOOGLE_hlsl_functionality1",{"number":7998,"type":7490,"author":7551,"provisional":7194,"depends":7598,"specialuse":7454,"contact":7566,"extension":7999,"proposal":600},434,"VK_GOOGLE_surfaceless_query",{"number":8001,"type":253,"author":7551,"provisional":7194,"contact":8002,"extension":8003,"proposal":7194},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":8005,"type":253,"author":8006,"provisional":7194,"depends":7386,"contact":8007,"extension":8008,"proposal":600},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":8010,"type":253,"author":8011,"provisional":7194,"depends":8012,"contact":8013,"extension":8014,"proposal":600},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":8016,"type":253,"author":8006,"provisional":7194,"depends":8017,"contact":8013,"extension":8018,"proposal":7194},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":672,"type":253,"author":7823,"provisional":7194,"contact":7373,"extension":8020,"proposal":7194},"VK_IMG_filter_cubic",{"number":5935,"type":253,"author":7823,"deprecatedby":8022,"provisional":7194,"contact":8023,"extension":8024,"proposal":7194},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":8026,"type":253,"author":7823,"provisional":7194,"depends":7386,"specialuse":7454,"contact":7654,"extension":8027,"proposal":7194},111,"VK_IMG_relaxed_line_rasterization",{"number":8029,"type":253,"author":8030,"provisional":7194,"specialuse":7381,"contact":8031,"extension":8032,"proposal":7194},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":8034,"type":253,"author":8030,"provisional":7194,"depends":7386,"contact":8035,"extension":8036,"proposal":7194},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":8038,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8040,"ratified":7508,"contact":7465,"extension":8041,"proposal":7194},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":8043,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8040,"ratified":7508,"contact":8044,"extension":8045,"proposal":7194},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":8047,"type":253,"author":8039,"provisional":7194,"depends":8048,"ratified":7508,"contact":7828,"extension":8049,"proposal":7194},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":574,"type":7490,"author":8039,"provisional":7194,"depends":7598,"platform":7453,"ratified":7508,"contact":7460,"extension":8051,"proposal":7194},"VK_KHR_android_surface",{"number":8053,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7373,"extension":8054,"proposal":7194},158,"VK_KHR_bind_memory2",{"number":8056,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8057,"ratified":7508,"contact":7516,"extension":7525,"proposal":7194},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":8059,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":7720,"extension":7529,"proposal":7194},544,{"number":8061,"type":253,"author":8039,"provisional":7194,"depends":8062,"ratified":7508,"contact":8063,"extension":8064,"proposal":600},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":8066,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"contact":7474,"extension":8067,"proposal":600},507,"VK_KHR_cooperative_matrix",{"number":8069,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7533,"contact":7641,"extension":8070,"proposal":7194},338,"VK_KHR_copy_commands2",{"number":8072,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8073,"ratified":7508,"contact":8074,"extension":8075,"proposal":7194},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":8077,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8078,"ratified":7508,"contact":7498,"extension":8079,"proposal":7194},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":8081,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":8082,"extension":8083,"proposal":7194},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":8085,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8086,"ratified":7508,"contact":8087,"extension":8088,"proposal":7194},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":8090,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":8091,"extension":8092,"proposal":7194},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":6051,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8094,"ratified":7508,"contact":7516,"extension":8095,"proposal":7194},"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":8097,"type":7490,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7516,"extension":8094,"proposal":7194},71,{"number":261,"type":7490,"author":8039,"provisional":7194,"depends":7598,"ratified":7533,"contact":8099,"extension":7595,"proposal":7194},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":280,"type":253,"author":8039,"provisional":7194,"depends":8101,"ratified":7533,"contact":7498,"extension":8102,"proposal":7194},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":8104,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"ratified":7508,"contact":7521,"extension":7394,"proposal":7194},170,{"number":8106,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":7382,"extension":8107,"proposal":7194},197,"VK_KHR_driver_properties",{"number":4838,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":8109,"ratified":7508,"contact":7373,"extension":8110,"proposal":600},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":8112,"type":253,"author":7370,"provisional":7194,"depends":8113,"ratified":7508,"contact":7373,"extension":8114,"proposal":600},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":8116,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8117,"ratified":7508,"contact":7460,"extension":8118,"proposal":7194},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":8120,"type":7490,"author":8039,"promotedto":7480,"provisional":7194,"depends":7386,"ratified":7508,"contact":7460,"extension":8117,"proposal":7194},113,{"number":8122,"type":253,"author":8039,"provisional":7194,"depends":8123,"ratified":7533,"contact":7460,"extension":8124,"proposal":7194},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":8126,"type":253,"author":8039,"provisional":7194,"depends":8118,"platform":7659,"ratified":7508,"contact":7460,"extension":8127,"proposal":7194},115,"VK_KHR_external_fence_win32",{"number":8129,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8130,"ratified":7508,"contact":7498,"extension":8131,"proposal":7194},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":8133,"type":7490,"author":8039,"promotedto":7480,"provisional":7194,"depends":7386,"ratified":7508,"contact":7498,"extension":8134,"proposal":7194},72,"VK_KHR_external_memory_capabilities",{"number":8136,"type":253,"author":8039,"provisional":7194,"depends":7628,"ratified":7533,"contact":7498,"extension":7633,"proposal":7194},75,{"number":8138,"type":253,"author":8039,"provisional":7194,"depends":7628,"platform":7659,"ratified":7508,"contact":7498,"extension":8139,"proposal":7194},74,"VK_KHR_external_memory_win32",{"number":8141,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8142,"ratified":7508,"contact":7498,"extension":8143,"proposal":7194},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":8145,"type":7490,"author":8039,"promotedto":7480,"provisional":7194,"depends":7386,"ratified":7508,"contact":7498,"extension":8142,"proposal":7194},77,{"number":8147,"type":253,"author":8039,"provisional":7194,"depends":8148,"ratified":7533,"contact":7498,"extension":8149,"proposal":7194},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":8151,"type":253,"author":8039,"provisional":7194,"depends":8143,"platform":7659,"ratified":7508,"contact":7498,"extension":8152,"proposal":7194},79,"VK_KHR_external_semaphore_win32",{"number":8154,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7508,"contact":8031,"extension":8155,"proposal":7194},361,"VK_KHR_format_feature_flags2",{"number":8157,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"contact":7377,"extension":8158,"proposal":600},323,"VK_KHR_fragment_shader_barycentric",{"number":8160,"type":253,"author":8039,"provisional":7194,"depends":8161,"ratified":7533,"contact":7373,"extension":2003,"proposal":600},227,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_create_renderpass2),VK_VERSION_1_2",{"number":8163,"type":7490,"author":8039,"provisional":7194,"depends":7595,"ratified":7533,"contact":7498,"extension":8164,"proposal":7194},122,"VK_KHR_get_display_properties2",{"number":8166,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7744,"extension":8167,"proposal":7194},147,"VK_KHR_get_memory_requirements2",{"number":6035,"type":7490,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7516,"extension":8062,"proposal":7194},{"number":8170,"type":7490,"author":8039,"provisional":7194,"depends":7598,"ratified":7533,"contact":7498,"extension":8171,"proposal":7194},120,"VK_KHR_get_surface_capabilities2",{"number":8173,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":7373,"extension":7663,"proposal":7194},189,{"number":8175,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"ratified":7508,"contact":7744,"extension":8176,"proposal":7194},148,"VK_KHR_image_format_list",{"number":8178,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8179,"ratified":7508,"contact":8074,"extension":8180,"proposal":7194},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":8182,"type":253,"author":8039,"provisional":7194,"depends":7676,"ratified":7533,"contact":7992,"extension":8183,"proposal":7194},85,"VK_KHR_incremental_present",{"number":8185,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":7521,"extension":7715,"proposal":7194},534,{"number":8187,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":7521,"extension":7735,"proposal":7194},535,{"number":8189,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":7566,"extension":7739,"proposal":600},527,{"number":8191,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7521,"extension":7414,"proposal":7194},70,{"number":8193,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":8194,"extension":8195,"proposal":7194},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":8197,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":7775,"proposal":7194},169,{"number":8199,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7480,"ratified":7508,"contact":7521,"extension":8200,"proposal":7194},414,"VK_KHR_maintenance4",{"number":8202,"type":253,"author":8039,"provisional":7194,"depends":8203,"ratified":7508,"contact":8204,"extension":8205,"proposal":600},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":8207,"type":253,"author":8039,"provisional":7194,"depends":7480,"ratified":7508,"contact":8208,"extension":8209,"proposal":600},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":8211,"type":253,"author":8039,"provisional":7194,"depends":7480,"ratified":7508,"contact":7509,"extension":8212,"proposal":600},563,"VK_KHR_maintenance7",{"number":8214,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":7744,"extension":7743,"proposal":600},272,{"number":4970,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":8216,"proposal":7194},"VK_KHR_multiview",{"extension":8218,"proposal":7194},"VK_KHR_object_refresh",{"number":8220,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"specialuse":7381,"contact":8221,"extension":8222,"proposal":7194},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":8224,"type":253,"author":8039,"provisional":7194,"depends":8205,"ratified":7508,"contact":8204,"extension":8225,"proposal":600},484,"VK_KHR_pipeline_binary",{"number":8227,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"specialuse":7381,"contact":7744,"extension":8228,"proposal":7194},270,"VK_KHR_pipeline_executable_properties",{"number":8230,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":7755,"extension":8231,"proposal":7194},291,"VK_KHR_pipeline_library",{"number":8233,"type":7490,"author":8039,"provisional":7194,"ratified":7508,"contact":8234,"extension":8235,"proposal":7194},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":8237,"type":253,"author":8039,"provisional":600,"depends":7386,"platform":7372,"ratified":7508,"contact":7760,"extension":8238,"proposal":7194},164,"VK_KHR_portability_subset",{"number":8240,"type":253,"author":8039,"provisional":7194,"depends":8241,"ratified":7508,"contact":8242,"extension":8243,"proposal":7194},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":8245,"type":253,"author":8039,"provisional":7194,"depends":8246,"ratified":7508,"contact":8242,"extension":8247,"proposal":7194},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":8249,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":8250,"proposal":7194},81,"VK_KHR_push_descriptor",{"number":8252,"type":253,"author":8039,"provisional":7194,"depends":8253,"ratified":7508,"contact":7828,"extension":8254,"proposal":7194},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":8256,"type":253,"author":8039,"provisional":7194,"depends":8049,"ratified":7508,"contact":7828,"extension":8257,"proposal":7194},387,"VK_KHR_ray_tracing_maintenance1",{"number":8259,"type":253,"author":8039,"provisional":7194,"depends":8253,"ratified":7508,"contact":7828,"extension":8260,"proposal":7194},348,"VK_KHR_ray_tracing_pipeline",{"number":8262,"type":253,"author":8039,"provisional":7194,"depends":8049,"ratified":7508,"contact":8263,"extension":8264,"proposal":600},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":8266,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":8267,"extension":8268,"proposal":7194},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":663,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"ratified":7508,"contact":7373,"extension":8270,"proposal":7194},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":8272,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8273,"ratified":7508,"contact":8274,"extension":8275,"proposal":7194},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":8277,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8161,"ratified":7508,"contact":7521,"extension":8278,"proposal":7194},242,"VK_KHR_separate_depth_stencil_layouts",{"number":8280,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":8281,"extension":8282,"proposal":7194},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":8284,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":8281,"extension":8285,"proposal":7194},182,"VK_KHR_shader_clock",{"number":6123,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":7828,"extension":8287,"proposal":7194},"VK_KHR_shader_draw_parameters",{"number":8289,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"contact":7474,"extension":8290,"proposal":600},545,"VK_KHR_shader_expect_assume",{"number":8292,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":8044,"extension":7400,"proposal":7194},83,{"number":8294,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":8044,"extension":8295,"proposal":7194},198,"VK_KHR_shader_float_controls",{"number":8297,"type":253,"author":8039,"provisional":7194,"depends":8298,"ratified":7508,"contact":7562,"extension":8299,"proposal":600},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":8301,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7508,"contact":7474,"extension":8302,"proposal":600},281,"VK_KHR_shader_integer_dot_product",{"number":8304,"type":253,"author":8039,"provisional":7194,"depends":7480,"ratified":7508,"contact":8305,"extension":8306,"proposal":600},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":8308,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"ratified":7508,"contact":7548,"extension":8309,"proposal":7194},294,"VK_KHR_shader_non_semantic_info",{"number":8311,"type":253,"author":8039,"provisional":7194,"depends":8312,"ratified":7508,"contact":7373,"extension":8313,"proposal":600},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":8315,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":8316,"extension":8317,"proposal":600},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":8319,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7480,"ratified":7508,"contact":7906,"extension":8320,"proposal":7194},176,"VK_KHR_shader_subgroup_extended_types",{"number":8322,"type":253,"author":8039,"provisional":7194,"ratified":7508,"contact":7474,"extension":8323,"proposal":600},417,"VK_KHR_shader_subgroup_rotate",{"number":8325,"type":253,"author":8039,"provisional":7194,"depends":7480,"ratified":7508,"contact":8305,"extension":8326,"proposal":7194},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":8328,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7533,"contact":7460,"extension":8329,"proposal":7194},216,"VK_KHR_shader_terminate_invocation",{"number":8331,"type":253,"author":8039,"provisional":7194,"depends":8332,"ratified":7533,"contact":8221,"extension":8333,"proposal":7194},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":8335,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":8298,"ratified":7508,"contact":7460,"extension":7754,"proposal":7194},237,{"number":8337,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"ratified":7508,"contact":8044,"extension":8338,"proposal":7194},132,"VK_KHR_storage_buffer_storage_class",{"number":220,"type":7490,"author":8039,"provisional":7194,"ratified":7533,"contact":8340,"extension":7598,"proposal":7194},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":8342,"type":7490,"author":8039,"provisional":7194,"depends":8343,"ratified":7508,"contact":8344,"extension":8345,"proposal":7194},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":241,"type":253,"author":8039,"provisional":7194,"depends":7598,"ratified":7533,"contact":8340,"extension":7676,"proposal":7194},{"number":8348,"type":253,"author":8039,"provisional":7194,"depends":8349,"ratified":7533,"contact":7382,"extension":8350,"proposal":7194},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":8352,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7533,"contact":7373,"extension":8353,"proposal":7194},315,"VK_KHR_synchronization2",{"number":8355,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":7744,"extension":8356,"proposal":7194},208,"VK_KHR_timeline_semaphore",{"number":8358,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":7562,"extension":8359,"proposal":7194},254,"VK_KHR_uniform_buffer_standard_layout",{"number":8361,"type":253,"author":8039,"promotedto":7480,"provisional":7194,"depends":8040,"ratified":7508,"contact":7460,"extension":8362,"proposal":7194},121,"VK_KHR_variable_pointers",{"number":8364,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7533,"contact":7566,"extension":7948,"proposal":600},526,{"number":8366,"type":253,"author":8039,"provisional":7194,"depends":8367,"ratified":7508,"contact":7720,"extension":8368,"proposal":600},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":4742,"type":253,"author":8039,"provisional":7194,"depends":8367,"ratified":7508,"contact":8370,"extension":8371,"proposal":600},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":8373,"type":253,"author":8039,"provisional":7194,"depends":8367,"ratified":7508,"contact":8370,"extension":8374,"proposal":600},188,"VK_KHR_video_decode_h265",{"number":776,"type":253,"author":8039,"provisional":7194,"depends":8376,"ratified":7508,"contact":8377,"extension":8367,"proposal":600},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":4706,"type":253,"author":8039,"provisional":7194,"depends":8379,"ratified":7508,"contact":8380,"extension":8381,"proposal":600},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":4726,"type":253,"author":8039,"provisional":7194,"depends":8379,"ratified":7508,"contact":8380,"extension":8383,"proposal":600},"VK_KHR_video_encode_h265",{"number":8385,"type":253,"author":8039,"provisional":7194,"depends":8376,"ratified":7508,"contact":8380,"extension":8379,"proposal":600},300,{"number":8387,"type":253,"author":8039,"provisional":7194,"depends":8388,"ratified":7508,"contact":7720,"extension":8389,"proposal":600},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":762,"type":253,"author":8039,"provisional":7194,"depends":8391,"ratified":7508,"contact":7954,"extension":8388,"proposal":600},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":8393,"type":253,"author":8039,"promotedto":7577,"provisional":7194,"depends":7386,"ratified":7508,"contact":7516,"extension":8394,"proposal":7194},212,"VK_KHR_vulkan_memory_model",{"number":526,"type":7490,"author":8039,"provisional":7194,"depends":7598,"platform":8396,"ratified":7508,"contact":8397,"extension":8398,"proposal":7194},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":8400,"type":253,"author":8039,"provisional":7194,"depends":8139,"platform":7659,"ratified":7508,"contact":8401,"extension":8402,"proposal":7194},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":583,"type":7490,"author":8039,"provisional":7194,"depends":7598,"platform":7659,"ratified":7508,"contact":8397,"extension":8404,"proposal":7194},"VK_KHR_win32_surface",{"number":8406,"type":253,"author":8039,"provisional":7194,"depends":7386,"ratified":7508,"contact":8407,"extension":8408,"proposal":7194},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":325,"type":7490,"author":8039,"provisional":7194,"depends":7598,"platform":8410,"ratified":7508,"contact":8397,"extension":8411,"proposal":7194},"xcb","VK_KHR_xcb_surface",{"number":303,"type":7490,"author":8039,"provisional":7194,"depends":7598,"platform":8413,"ratified":7508,"contact":8397,"extension":8414,"proposal":7194},"xlib","VK_KHR_xlib_surface",{"number":8416,"type":253,"author":8039,"promotedto":7484,"provisional":7194,"depends":7386,"ratified":7508,"contact":8305,"extension":8417,"proposal":7194},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":8419,"type":7490,"author":7940,"provisional":7194,"contact":8234,"extension":8420,"proposal":600},460,"VK_LUNARG_direct_driver_loading",{"number":8422,"type":253,"author":8423,"provisional":7194,"depends":7386,"specialuse":7558,"contact":7812,"extension":8424,"proposal":7194},576,"MESA","VK_MESA_image_alignment_control",{"number":8426,"type":253,"author":8427,"provisional":7194,"depends":7386,"contact":8428,"extension":8429,"proposal":600},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":8431,"type":7490,"author":8432,"deprecatedby":7765,"provisional":7194,"depends":7598,"platform":8433,"contact":7760,"extension":8434,"proposal":7194},123,"MVK","ios","VK_MVK_ios_surface",{"number":8436,"type":7490,"author":8432,"deprecatedby":7765,"provisional":7194,"depends":7598,"platform":8437,"contact":7760,"extension":8438,"proposal":7194},124,"macos","VK_MVK_macos_surface",{"number":6067,"type":7490,"author":8440,"provisional":7194,"depends":7598,"platform":8441,"contact":8442,"extension":8443,"proposal":7194},"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":859,"type":253,"author":8445,"provisional":7194,"contact":8446,"extension":8447,"proposal":7194},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":881,"type":253,"author":8445,"provisional":7194,"contact":8449,"extension":8450,"proposal":7194},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":8452,"type":253,"author":8445,"provisional":7194,"depends":8453,"contact":7516,"extension":8454,"proposal":7194},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":8456,"type":253,"author":7496,"provisional":7194,"depends":7491,"platform":7659,"contact":8457,"extension":8458,"proposal":7194},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":8460,"type":253,"author":7496,"provisional":7194,"contact":8449,"extension":2322,"proposal":7194},88,{"number":8462,"type":253,"author":7496,"provisional":7194,"contact":8463,"extension":8464,"proposal":7194},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":8466,"type":253,"author":7496,"promotedto":8064,"provisional":7194,"depends":7386,"contact":8467,"extension":8468,"proposal":7194},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":8470,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":7516,"extension":8471,"proposal":7194},250,"VK_NV_cooperative_matrix",{"number":8473,"type":253,"author":7496,"provisional":7194,"depends":8474,"contact":7621,"extension":8475,"proposal":7194},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":4930,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":7828,"extension":8477,"proposal":7194},"VK_NV_corner_sampled_image",{"number":8479,"type":253,"author":7496,"provisional":7194,"depends":8480,"contact":8481,"extension":2454,"proposal":7194},251,"VK_NV_framebuffer_mixed_samples+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Kedarnath Thangudu @kthangudu",{"number":8483,"type":253,"author":7496,"provisional":600,"contact":8484,"extension":8485,"proposal":7194},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":811,"type":253,"author":7496,"deprecatedby":8079,"provisional":7194,"contact":7516,"extension":8487,"proposal":7194},"VK_NV_dedicated_allocation",{"number":8489,"type":253,"author":8490,"provisional":7194,"depends":8491,"contact":8492,"extension":8493,"proposal":7194},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":8495,"type":253,"author":7496,"provisional":7194,"depends":7480,"contact":7521,"extension":8496,"proposal":7194},547,"VK_NV_descriptor_pool_overallocation",{"number":8498,"type":253,"author":8490,"provisional":7194,"depends":7386,"contact":8492,"extension":8499,"proposal":7194},207,"VK_NV_device_diagnostic_checkpoints",{"number":8501,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8481,"extension":8502,"proposal":7194},301,"VK_NV_device_diagnostics_config",{"number":8504,"type":253,"author":7496,"provisional":7194,"depends":8505,"contact":7755,"extension":8506,"proposal":7194},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":8508,"type":253,"author":7496,"provisional":7194,"depends":8506,"contact":7621,"extension":8509,"proposal":7194},429,"VK_NV_device_generated_commands_compute",{"number":8511,"type":253,"author":7496,"provisional":600,"depends":7790,"platform":7372,"contact":8512,"extension":8513,"proposal":7194},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":8515,"type":253,"author":7496,"provisional":7194,"contact":8516,"extension":8517,"proposal":7194},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":5975,"type":253,"author":7496,"deprecatedby":8131,"provisional":7194,"depends":8519,"contact":7498,"extension":8520,"proposal":7194},"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":5955,"type":7490,"author":7496,"deprecatedby":8134,"provisional":7194,"contact":7498,"extension":8519,"proposal":7194},{"number":8523,"type":253,"author":7496,"provisional":7194,"depends":7628,"contact":8401,"extension":8524,"proposal":7194},372,"VK_NV_external_memory_rdma",{"extension":8526,"proposal":7194},"VK_NV_external_memory_sci_buf",{"number":5995,"type":253,"author":7496,"deprecatedby":8139,"provisional":7194,"depends":8520,"platform":7659,"contact":7498,"extension":8528,"proposal":7194},"VK_NV_external_memory_win32",{"extension":8530,"proposal":7194},"VK_NV_external_sci_sync",{"extension":8532,"proposal":7194},"VK_NV_external_sci_sync2",{"number":8534,"type":253,"author":7496,"provisional":7194,"contact":7516,"extension":8535,"proposal":7194},154,"VK_NV_fill_rectangle",{"number":8537,"type":253,"author":7496,"provisional":7194,"contact":7516,"extension":2379,"proposal":7194},150,{"number":8539,"type":253,"author":7496,"promotedto":8158,"provisional":7194,"depends":7386,"contact":8467,"extension":8540,"proposal":7194},204,"VK_NV_fragment_shader_barycentric",{"number":8542,"type":253,"author":7496,"provisional":7194,"depends":2003,"contact":8467,"extension":2577,"proposal":7194},327,{"number":8544,"type":253,"author":7496,"provisional":7194,"contact":7516,"extension":2412,"proposal":7194},153,{"number":8546,"type":253,"author":7496,"provisional":7194,"contact":7828,"extension":8547,"proposal":7194},96,"VK_NV_geometry_shader_passthrough",{"number":623,"type":253,"author":7496,"deprecatedby":8022,"provisional":7194,"contact":7521,"extension":8549,"proposal":7194},"VK_NV_glsl_shader",{"number":8551,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8552,"extension":8553,"proposal":7194},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":8555,"type":253,"author":8490,"provisional":7194,"depends":7386,"contact":8556,"extension":8557,"proposal":7194},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":8559,"type":253,"author":7496,"provisional":7194,"contact":8560,"extension":8561,"proposal":7194},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":8563,"type":253,"author":7496,"provisional":7194,"depends":8564,"contact":8560,"extension":8565,"proposal":7194},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":8567,"type":253,"author":7496,"provisional":7194,"depends":8474,"contact":7621,"extension":8568,"proposal":7194},428,"VK_NV_memory_decompression",{"number":8570,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":7755,"extension":8571,"proposal":7194},203,"VK_NV_mesh_shader",{"number":8573,"type":253,"author":7496,"provisional":7194,"depends":8574,"contact":8401,"extension":8575,"proposal":7194},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":8577,"type":253,"author":7496,"provisional":7194,"depends":8209,"contact":7521,"extension":8578,"proposal":7194},517,"VK_NV_per_stage_descriptor_set",{"number":8580,"type":253,"author":7496,"provisional":7194,"depends":7658,"contact":8581,"extension":8582,"proposal":7194},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":8584,"proposal":7194},"VK_NV_private_vendor_info",{"number":8586,"type":253,"author":7496,"provisional":7194,"contact":8587,"extension":8588,"proposal":7194},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":8590,"type":253,"author":7496,"deprecatedby":8260,"provisional":7194,"depends":8591,"contact":8449,"extension":8592,"proposal":7194},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":8594,"type":253,"author":7496,"provisional":7194,"depends":8260,"contact":8449,"extension":8595,"proposal":7194},491,"VK_NV_ray_tracing_invocation_reorder",{"number":8597,"type":253,"author":7496,"provisional":7194,"depends":8260,"contact":8263,"extension":8598,"proposal":7194},328,"VK_NV_ray_tracing_motion_blur",{"number":8600,"type":253,"author":7496,"provisional":7194,"contact":7621,"extension":8601,"proposal":600},569,"VK_NV_ray_tracing_validation",{"number":8603,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8481,"extension":2478,"proposal":7194},167,{"number":8605,"type":253,"author":7496,"provisional":7194,"contact":7521,"extension":8606,"proposal":7194},95,"VK_NV_sample_mask_override_coverage",{"number":8608,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8467,"extension":2544,"proposal":7194},206,{"number":8610,"type":253,"author":7496,"provisional":7194,"contact":7516,"extension":8611,"proposal":7194},564,"VK_NV_shader_atomic_float16_vector",{"number":8613,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8467,"extension":8614,"proposal":7194},205,"VK_NV_shader_image_footprint",{"number":8616,"type":253,"author":7496,"provisional":7194,"depends":7480,"contact":7828,"extension":8617,"proposal":7194},155,"VK_NV_shader_sm_builtins",{"number":8619,"type":253,"author":7496,"provisional":7194,"depends":7480,"contact":7516,"extension":8620,"proposal":7194},199,"VK_NV_shader_subgroup_partitioned",{"number":8622,"type":253,"author":7496,"provisional":7194,"depends":7386,"contact":8467,"extension":2502,"proposal":7194},165,{"number":8624,"type":253,"author":7496,"provisional":7194,"contact":7828,"extension":8625,"proposal":7194},97,"VK_NV_viewport_array2",{"number":8627,"type":253,"author":7496,"provisional":7194,"contact":7521,"extension":2355,"proposal":7194},99,{"number":6015,"type":253,"author":7496,"promotedto":8402,"provisional":7194,"depends":8528,"platform":7659,"contact":8401,"extension":8629,"proposal":7194},"VK_NV_win32_keyed_mutex",{"number":8631,"type":253,"author":7640,"provisional":7194,"depends":8632,"contact":7641,"extension":8633,"proposal":7194},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":8635,"type":253,"author":7640,"provisional":7194,"depends":7642,"contact":7641,"extension":8636,"proposal":7194},520,"VK_QCOM_filter_cubic_weights",{"number":8638,"type":253,"author":7640,"provisional":7194,"depends":8639,"contact":7641,"extension":8640,"proposal":7194},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":8642,"type":253,"author":7640,"provisional":7194,"depends":8643,"contact":7641,"extension":8644,"proposal":600},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":8646,"type":253,"author":7640,"provisional":7194,"depends":8644,"contact":7641,"extension":8647,"proposal":7194},519,"VK_QCOM_image_processing2",{"number":8649,"type":253,"author":7640,"provisional":7194,"contact":7641,"extension":8650,"proposal":7194},511,"VK_QCOM_multiview_per_view_render_areas",{"number":8652,"type":253,"author":7640,"provisional":7194,"depends":7386,"contact":7641,"extension":8653,"proposal":7194},489,"VK_QCOM_multiview_per_view_viewports",{"number":8655,"type":253,"author":7640,"provisional":7194,"contact":7641,"extension":8656,"proposal":7194},172,"VK_QCOM_render_pass_shader_resolve",{"number":8658,"type":253,"author":7640,"provisional":7194,"contact":7641,"extension":8659,"proposal":7194},302,"VK_QCOM_render_pass_store_ops",{"number":8661,"type":253,"author":7640,"provisional":7194,"contact":7641,"extension":8662,"proposal":7194},283,"VK_QCOM_render_pass_transform",{"number":8664,"type":253,"author":7640,"provisional":7194,"depends":8665,"contact":7641,"extension":8666,"proposal":7194},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":8668,"type":253,"author":7640,"provisional":7194,"depends":7386,"contact":7641,"extension":8669,"proposal":600},485,"VK_QCOM_tile_properties",{"number":8671,"type":253,"author":7640,"provisional":7194,"contact":7641,"extension":8672,"proposal":7194},521,"VK_QCOM_ycbcr_degamma",{"number":8674,"type":253,"author":8675,"provisional":7194,"depends":7459,"platform":8676,"contact":8677,"extension":8678,"proposal":7194},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":8680,"type":7490,"author":8675,"provisional":7194,"depends":7598,"platform":8676,"contact":8681,"extension":8682,"proposal":7194},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":8684,"type":253,"author":8685,"provisional":7194,"depends":7386,"contact":7584,"extension":8686,"proposal":7194},486,"SEC","VK_SEC_amigo_profiling",{"number":8688,"type":253,"author":8689,"provisional":7194,"depends":7386,"specialuse":7558,"contact":7812,"extension":8690,"proposal":7194},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":8692,"type":253,"author":8689,"promotedto":7777,"provisional":7194,"depends":7775,"specialuse":7558,"contact":7776,"extension":8693,"proposal":7194},352,"VK_VALVE_mutable_descriptor_type",1725732656601]