[{"data":1,"prerenderedAt":4011},["ShallowReactive",2],{"7gR5nezqh2":3,"VyF3Mmj32r":2444,"N9m89Rcq0G":2651},{"title":4,"description":5,"body":6,"_type":2443,"_id":4},"VK_KHR_fragment_shading_rate.proposal","This extension adds the ability to change the rate at which fragments are shaded. Rather than the usual single fragment invocation for each pixel covered by a primitive, multiple pixels can be shaded by a single fragment shader invocation.",{"type":7,"children":8,"toc":2423},"root",[9,16,23,28,33,39,44,49,54,60,65,72,88,200,213,312,326,331,336,475,533,566,591,596,601,607,612,750,755,961,966,971,1063,1069,1082,1166,1214,1220,1225,1326,1332,1337,1552,1612,1617,1694,1706,1844,1849,1869,1885,1891,1896,2045,2050,2166,2171,2177,2182,2257,2293,2299,2313,2334,2340,2345,2351,2356,2362,2367,2373,2378,2384,2417],{"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},"Rendering resolutions are continually getting higher and higher, but as resolutions increase, the requirements on device performance increase at the same rate.\nHowever with a move from e.g. a 4K resolution to an 8K resolution, effectively doubling visual fidelity, this quadruples the requirements on device performance in order to keep up.\nIn many cases, this extra pixel fidelity is not necessarily perceptible - and uniformly increasing the rate at which pixels are generated results in unnecessary work being performed, and it would be useful to reclaim some of that performance to improve the overall experience for an end user. This could be due to low-detail objects, triangles with a low delta between pixels, or something like VR where a user will not perceive detail in their peripheral vision.",{"type":10,"tag":11,"props":29,"children":30},{},[31],{"type":15,"value":32},"There are three potential bottlenecks as resolution requirements increase: the rasterizer’s ability to generate pixels, fragment shading, and bandwidth. This proposal focuses on reducing the shading rate, as this is the primary bottleneck on many implementations; though implementations may be able to take advantage of this to reduce workloads in other areas.",{"type":10,"tag":17,"props":34,"children":36},{"id":35},"_solution_space",[37],{"type":15,"value":38},"Solution Space",{"type":10,"tag":11,"props":40,"children":41},{},[42],{"type":15,"value":43},"Current solutions to address this require a uniform rate to be applied across the screen - things like MSAA, sample rate shading, and custom sample locations can be used to modify the rate at which shading occurs, but this is always applied uniformly across the screen; though steps can be taken to apply different rates to different sets of geometry by modifying state between draw calls.\nHowever, this requires careful state management, and requires awkward sorting of geometry/draws in order to achieve anything other than a natural per-draw rate.",{"type":10,"tag":11,"props":45,"children":46},{},[47],{"type":15,"value":48},"Different applications may want to change the rate per-draw, per-triangle, or per-screen-region.\nWhile it would be possible to modify the behavior of sample shading to be modifiable at different rates to solve this, multisample state is relatively complex, and could result in tricky edge cases for some applications.\nThe alternative is to provide a new shading rate state that is independent of multisampling, and enable it to be set at each separate rate.\nIn either case, per draw rate can be set by pipeline or dynamic state, but for per-triangle and per-screen-region use cases, new mechanisms will be needed. For per-triangle state, the usual way of setting this in the API is by providing data along with the provoking vertex. For the screen regions, two main options are viable - either an associated image which has sub regions identifying the state, or providing some sort of equation to be applied across the screen.",{"type":10,"tag":11,"props":50,"children":51},{},[52],{"type":15,"value":53},"Due to the complexity and potential fragility of multisample state, this proposal introduces new shading rate state to the API. As not all known use cases for screen-region state can be expressed as a straightforward equation, per-image state allowing arbitrary expression of regions is preferred.",{"type":10,"tag":17,"props":55,"children":57},{"id":56},"_proposal",[58],{"type":15,"value":59},"Proposal",{"type":10,"tag":11,"props":61,"children":62},{},[63],{"type":15,"value":64},"This extension introduces the concept of a fragment size to the API, where a given fragment can cover more than one pixel in the output attachments.\nEach fragment is still rasterized at a per-pixel rate, as it effectively has one sample per pixel - but when shaded, only one shader is invoked for the entire fragment.\nThis is very similar to multisampling, where multiple samples are generated for each pixel, but on a wider scale.\nThis state also interacts with multisampling, such that one fragment can cover multiple pixels, with multiple samples per pixel.\nNote though that enabling sample shading will effectively disable the fragment shading rate.",{"type":10,"tag":66,"props":67,"children":69},"h3",{"id":68},"_per_draw_state",[70],{"type":15,"value":71},"Per-Draw state",{"type":10,"tag":11,"props":73,"children":74},{},[75,77,86],{"type":15,"value":76},"This state can be set per-draw as part of the pipeline by chaining the following structure to ",{"type":10,"tag":78,"props":79,"children":83},"a",{"href":80,"rel":81},"https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkGraphicsPipelineCreateInfo.html",[82],"nofollow",[84],{"type":15,"value":85},"VkGraphicsPipelineCreateInfo",{"type":15,"value":87},":",{"type":10,"tag":89,"props":90,"children":95},"pre",{"className":91,"code":92,"language":93,"meta":94,"style":94},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPipelineFragmentShadingRateStateCreateInfoKHR {\n VkStructureType sType;\n const void* pNext;\n VkExtent2D fragmentSize;\n VkFragmentShadingRateCombinerOpKHR combinerOps[2];\n} VkPipelineFragmentShadingRateStateCreateInfoKHR;\n","c","",[96],{"type":10,"tag":97,"props":98,"children":99},"code",{"__ignoreMap":94},[100,123,132,151,160,191],{"type":10,"tag":101,"props":102,"children":105},"span",{"class":103,"line":104},"line",1,[106,112,117],{"type":10,"tag":101,"props":107,"children":109},{"style":108},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[110],{"type":15,"value":111},"typedef",{"type":10,"tag":101,"props":113,"children":114},{"style":108},[115],{"type":15,"value":116}," struct",{"type":10,"tag":101,"props":118,"children":120},{"style":119},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[121],{"type":15,"value":122}," VkPipelineFragmentShadingRateStateCreateInfoKHR {\n",{"type":10,"tag":101,"props":124,"children":126},{"class":103,"line":125},2,[127],{"type":10,"tag":101,"props":128,"children":129},{"style":119},[130],{"type":15,"value":131}," VkStructureType sType;\n",{"type":10,"tag":101,"props":133,"children":135},{"class":103,"line":134},3,[136,141,146],{"type":10,"tag":101,"props":137,"children":138},{"style":108},[139],{"type":15,"value":140}," const",{"type":10,"tag":101,"props":142,"children":143},{"style":108},[144],{"type":15,"value":145}," void*",{"type":10,"tag":101,"props":147,"children":148},{"style":119},[149],{"type":15,"value":150}," pNext;\n",{"type":10,"tag":101,"props":152,"children":154},{"class":103,"line":153},4,[155],{"type":10,"tag":101,"props":156,"children":157},{"style":119},[158],{"type":15,"value":159}," VkExtent2D fragmentSize;\n",{"type":10,"tag":101,"props":161,"children":163},{"class":103,"line":162},5,[164,169,175,180,186],{"type":10,"tag":101,"props":165,"children":166},{"style":119},[167],{"type":15,"value":168}," VkFragmentShadingRateCombinerOpKHR ",{"type":10,"tag":101,"props":170,"children":172},{"style":171},"--shiki-default:#953800;--shiki-dark:#FFA657",[173],{"type":15,"value":174},"combinerOps",{"type":10,"tag":101,"props":176,"children":177},{"style":119},[178],{"type":15,"value":179},"[",{"type":10,"tag":101,"props":181,"children":183},{"style":182},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[184],{"type":15,"value":185},"2",{"type":10,"tag":101,"props":187,"children":188},{"style":119},[189],{"type":15,"value":190},"];\n",{"type":10,"tag":101,"props":192,"children":194},{"class":103,"line":193},6,[195],{"type":10,"tag":101,"props":196,"children":197},{"style":119},[198],{"type":15,"value":199},"} VkPipelineFragmentShadingRateStateCreateInfoKHR;\n",{"type":10,"tag":11,"props":201,"children":202},{},[203,205,211],{"type":15,"value":204},"It can also be set dynamically by setting ",{"type":10,"tag":97,"props":206,"children":208},{"className":207},[],[209],{"type":15,"value":210},"VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR",{"type":15,"value":212}," on the pipeline and using:",{"type":10,"tag":89,"props":214,"children":216},{"className":91,"code":215,"language":93,"meta":94,"style":94},"void vkCmdSetFragmentShadingRateKHR(\n VkCommandBuffer commandBuffer,\n const VkExtent2D* pFragmentSize,\n const VkFragmentShadingRateCombinerOpKHR combinerOps[2]);\n",[217],{"type":10,"tag":97,"props":218,"children":219},{"__ignoreMap":94},[220,239,257,283],{"type":10,"tag":101,"props":221,"children":222},{"class":103,"line":104},[223,228,234],{"type":10,"tag":101,"props":224,"children":225},{"style":108},[226],{"type":15,"value":227},"void",{"type":10,"tag":101,"props":229,"children":231},{"style":230},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[232],{"type":15,"value":233}," vkCmdSetFragmentShadingRateKHR",{"type":10,"tag":101,"props":235,"children":236},{"style":119},[237],{"type":15,"value":238},"(\n",{"type":10,"tag":101,"props":240,"children":241},{"class":103,"line":125},[242,247,252],{"type":10,"tag":101,"props":243,"children":244},{"style":119},[245],{"type":15,"value":246}," VkCommandBuffer ",{"type":10,"tag":101,"props":248,"children":249},{"style":171},[250],{"type":15,"value":251},"commandBuffer",{"type":10,"tag":101,"props":253,"children":254},{"style":119},[255],{"type":15,"value":256},",\n",{"type":10,"tag":101,"props":258,"children":259},{"class":103,"line":134},[260,264,269,274,279],{"type":10,"tag":101,"props":261,"children":262},{"style":108},[263],{"type":15,"value":140},{"type":10,"tag":101,"props":265,"children":266},{"style":119},[267],{"type":15,"value":268}," VkExtent2D",{"type":10,"tag":101,"props":270,"children":271},{"style":108},[272],{"type":15,"value":273},"*",{"type":10,"tag":101,"props":275,"children":276},{"style":171},[277],{"type":15,"value":278}," pFragmentSize",{"type":10,"tag":101,"props":280,"children":281},{"style":119},[282],{"type":15,"value":256},{"type":10,"tag":101,"props":284,"children":285},{"class":103,"line":153},[286,290,295,299,303,307],{"type":10,"tag":101,"props":287,"children":288},{"style":108},[289],{"type":15,"value":140},{"type":10,"tag":101,"props":291,"children":292},{"style":119},[293],{"type":15,"value":294}," VkFragmentShadingRateCombinerOpKHR ",{"type":10,"tag":101,"props":296,"children":297},{"style":171},[298],{"type":15,"value":174},{"type":10,"tag":101,"props":300,"children":301},{"style":119},[302],{"type":15,"value":179},{"type":10,"tag":101,"props":304,"children":305},{"style":182},[306],{"type":15,"value":185},{"type":10,"tag":101,"props":308,"children":309},{"style":119},[310],{"type":15,"value":311},"]);\n",{"type":10,"tag":11,"props":313,"children":314},{},[315,317,324],{"type":15,"value":316},"In each case, the ",{"type":10,"tag":78,"props":318,"children":321},{"href":319,"rel":320},"https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkExtent2D.html",[82],[322],{"type":15,"value":323},"VkExtent2D",{"type":15,"value":325}," sets the base fragment size in the x and y dimensions for all fragments generated by draw calls using this state.",{"type":10,"tag":11,"props":327,"children":328},{},[329],{"type":15,"value":330},"As there are three rates at which the state can be set, rather than having these only set one at a time, applications can have all three rates set and define combiner operations to dictate how the final result is calculated.\nThis allows applications to e.g. have a per-screen-region rate while also marking some triangles or objects as lower detail than the base rate.",{"type":10,"tag":11,"props":332,"children":333},{},[334],{"type":15,"value":335},"The per-draw and per-triangle rates are first combined according to the first combiner operation, and then the result of that is combined according to the second combiner operation.\nAvailable combiner operations are as follows:",{"type":10,"tag":89,"props":337,"children":339},{"className":91,"code":338,"language":93,"meta":94,"style":94},"typedef enum VkFragmentShadingRateCombinerOpKHR {\n VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR = 0,\n VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR = 1,\n VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR = 2,\n VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR = 3,\n VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR = 4,\n} VkFragmentShadingRateCombinerOpKHR;\n",[340],{"type":10,"tag":97,"props":341,"children":342},{"__ignoreMap":94},[343,360,382,403,424,445,466],{"type":10,"tag":101,"props":344,"children":345},{"class":103,"line":104},[346,350,355],{"type":10,"tag":101,"props":347,"children":348},{"style":108},[349],{"type":15,"value":111},{"type":10,"tag":101,"props":351,"children":352},{"style":108},[353],{"type":15,"value":354}," enum",{"type":10,"tag":101,"props":356,"children":357},{"style":119},[358],{"type":15,"value":359}," VkFragmentShadingRateCombinerOpKHR {\n",{"type":10,"tag":101,"props":361,"children":362},{"class":103,"line":125},[363,368,373,378],{"type":10,"tag":101,"props":364,"children":365},{"style":119},[366],{"type":15,"value":367}," VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR ",{"type":10,"tag":101,"props":369,"children":370},{"style":108},[371],{"type":15,"value":372},"=",{"type":10,"tag":101,"props":374,"children":375},{"style":182},[376],{"type":15,"value":377}," 0",{"type":10,"tag":101,"props":379,"children":380},{"style":119},[381],{"type":15,"value":256},{"type":10,"tag":101,"props":383,"children":384},{"class":103,"line":134},[385,390,394,399],{"type":10,"tag":101,"props":386,"children":387},{"style":119},[388],{"type":15,"value":389}," VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR ",{"type":10,"tag":101,"props":391,"children":392},{"style":108},[393],{"type":15,"value":372},{"type":10,"tag":101,"props":395,"children":396},{"style":182},[397],{"type":15,"value":398}," 1",{"type":10,"tag":101,"props":400,"children":401},{"style":119},[402],{"type":15,"value":256},{"type":10,"tag":101,"props":404,"children":405},{"class":103,"line":153},[406,411,415,420],{"type":10,"tag":101,"props":407,"children":408},{"style":119},[409],{"type":15,"value":410}," VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_KHR ",{"type":10,"tag":101,"props":412,"children":413},{"style":108},[414],{"type":15,"value":372},{"type":10,"tag":101,"props":416,"children":417},{"style":182},[418],{"type":15,"value":419}," 2",{"type":10,"tag":101,"props":421,"children":422},{"style":119},[423],{"type":15,"value":256},{"type":10,"tag":101,"props":425,"children":426},{"class":103,"line":162},[427,432,436,441],{"type":10,"tag":101,"props":428,"children":429},{"style":119},[430],{"type":15,"value":431}," VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_KHR ",{"type":10,"tag":101,"props":433,"children":434},{"style":108},[435],{"type":15,"value":372},{"type":10,"tag":101,"props":437,"children":438},{"style":182},[439],{"type":15,"value":440}," 3",{"type":10,"tag":101,"props":442,"children":443},{"style":119},[444],{"type":15,"value":256},{"type":10,"tag":101,"props":446,"children":447},{"class":103,"line":193},[448,453,457,462],{"type":10,"tag":101,"props":449,"children":450},{"style":119},[451],{"type":15,"value":452}," VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR ",{"type":10,"tag":101,"props":454,"children":455},{"style":108},[456],{"type":15,"value":372},{"type":10,"tag":101,"props":458,"children":459},{"style":182},[460],{"type":15,"value":461}," 4",{"type":10,"tag":101,"props":463,"children":464},{"style":119},[465],{"type":15,"value":256},{"type":10,"tag":101,"props":467,"children":469},{"class":103,"line":468},7,[470],{"type":10,"tag":101,"props":471,"children":472},{"style":119},[473],{"type":15,"value":474},"} VkFragmentShadingRateCombinerOpKHR;\n",{"type":10,"tag":11,"props":476,"children":477},{},[478,484,486,492,494,500,502,508,510,516,517,523,525,531],{"type":10,"tag":97,"props":479,"children":481},{"className":480},[],[482],{"type":15,"value":483},"KEEP",{"type":15,"value":485}," will select the first rate in the combination, while ",{"type":10,"tag":97,"props":487,"children":489},{"className":488},[],[490],{"type":15,"value":491},"REPLACE",{"type":15,"value":493}," will select the second rate.\n",{"type":10,"tag":97,"props":495,"children":497},{"className":496},[],[498],{"type":15,"value":499},"MIN",{"type":15,"value":501}," and ",{"type":10,"tag":97,"props":503,"children":505},{"className":504},[],[506],{"type":15,"value":507},"MAX",{"type":15,"value":509}," will select the minimum/maximum rate respectively, and do so separately for each dimension.\nSo e.g. taking the max of ",{"type":10,"tag":97,"props":511,"children":513},{"className":512},[],[514],{"type":15,"value":515},"(1,2)",{"type":15,"value":501},{"type":10,"tag":97,"props":518,"children":520},{"className":519},[],[521],{"type":15,"value":522},"(2,1)",{"type":15,"value":524}," would result in ",{"type":10,"tag":97,"props":526,"children":528},{"className":527},[],[529],{"type":15,"value":530},"(2,2)",{"type":15,"value":532},".",{"type":10,"tag":11,"props":534,"children":535},{},[536,538,544,546,551,552,558,559,565],{"type":15,"value":537},"The ",{"type":10,"tag":97,"props":539,"children":541},{"className":540},[],[542],{"type":15,"value":543},"MUL",{"type":15,"value":545}," operation multiples each dimension of the first input rate by the corresponding rate in the second input rate. So e.g. ",{"type":10,"tag":97,"props":547,"children":549},{"className":548},[],[550],{"type":15,"value":530},{"type":15,"value":501},{"type":10,"tag":97,"props":553,"children":555},{"className":554},[],[556],{"type":15,"value":557},"(1,4)",{"type":15,"value":524},{"type":10,"tag":97,"props":560,"children":562},{"className":561},[],[563],{"type":15,"value":564},"(2,8)",{"type":15,"value":532},{"type":10,"tag":567,"props":568,"children":569},"note",{},[570],{"type":10,"tag":11,"props":571,"children":572},{},[573,575,581,583,589],{"type":15,"value":574},"The Vulkan specification chose to define this as a MUL operation using linear values to make this clear; whereas the DirectX Variable Rate Shading specification defines it as an addition in log2 space using bit flags. This unfortunately resulted in a misunderstanding between vendors, giving rise to the ",{"type":10,"tag":97,"props":576,"children":578},{"className":577},[],[579],{"type":15,"value":580},"fragmentShadingRateStrictMultiplyCombiner",{"type":15,"value":582}," limit, which when ",{"type":10,"tag":97,"props":584,"children":586},{"className":585},[],[587],{"type":15,"value":588},"VK_FALSE",{"type":15,"value":590}," indicates this operation acts as an addition. Fortunately, this only practically changes the result of a single combination - where the sum of 1 and 1 is 2 instead of a product of 1. All other combinations are clamped to 2 or 4, giving the same result as a true multiplication would provide.",{"type":10,"tag":11,"props":592,"children":593},{},[594],{"type":15,"value":595},"The result of the combiner operations will always be clamped to maximum supported rate of the implementation given the current draw state.",{"type":10,"tag":11,"props":597,"children":598},{},[599],{"type":15,"value":600},"When none of the above state is set, the fragment size is treated as 1 by 1, and the combiner ops are set to KEEP.",{"type":10,"tag":66,"props":602,"children":604},{"id":603},"_per_triangle_state",[605],{"type":15,"value":606},"Per-Triangle state",{"type":10,"tag":11,"props":608,"children":609},{},[610],{"type":15,"value":611},"The per-triangle shading rate can be set by a new output in pre-rasterization shaders that is set on the provoking vertex:",{"type":10,"tag":613,"props":614,"children":620},"table",{"className":615},[616,617,618,619],"tableblock","frame-all","grid-all","stretch",[621,639,668],{"type":10,"tag":622,"props":623,"children":624},"colgroup",{},[625,630,633,636],{"type":10,"tag":626,"props":627,"children":629},"col",{"style":628},"width: 25%;",[],{"type":10,"tag":626,"props":631,"children":632},{"style":628},[],{"type":10,"tag":626,"props":634,"children":635},{"style":628},[],{"type":10,"tag":626,"props":637,"children":638},{"style":628},[],{"type":10,"tag":640,"props":641,"children":642},"thead",{},[643],{"type":10,"tag":644,"props":645,"children":646},"tr",{},[647,656,662],{"type":10,"tag":648,"props":649,"children":653},"th",{"className":650,"colSpan":185},[616,651,652],"halign-left","valign-top",[654],{"type":15,"value":655},"BuiltIn",{"type":10,"tag":648,"props":657,"children":659},{"className":658},[616,651,652],[660],{"type":15,"value":661},"Enabling Capabilities",{"type":10,"tag":648,"props":663,"children":665},{"className":664},[616,651,652],[666],{"type":15,"value":667},"Enabled by Extension",{"type":10,"tag":669,"props":670,"children":671},"tbody",{},[672],{"type":10,"tag":644,"props":673,"children":674},{},[675,686,724,737],{"type":10,"tag":676,"props":677,"children":679},"td",{"className":678},[616,651,652],[680],{"type":10,"tag":11,"props":681,"children":683},{"className":682},[616],[684],{"type":15,"value":685},"4432",{"type":10,"tag":676,"props":687,"children":689},{"className":688},[616,651,652],[690],{"type":10,"tag":11,"props":691,"children":693},{"className":692},[616],[694,701,703,708,710,715,717,722],{"type":10,"tag":695,"props":696,"children":698},"emphasis",{"role":697},"strong",[699],{"type":15,"value":700},"PrimitiveShadingRateKHR",{"type":15,"value":702},"\nOutput primitive fragment shading rate.\nOnly valid in the ",{"type":10,"tag":695,"props":704,"children":705},{"role":697},[706],{"type":15,"value":707},"Vertex",{"type":15,"value":709},", ",{"type":10,"tag":695,"props":711,"children":712},{"role":697},[713],{"type":15,"value":714},"Geometry",{"type":15,"value":716},", and ",{"type":10,"tag":695,"props":718,"children":719},{"role":697},[720],{"type":15,"value":721},"MeshNV",{"type":15,"value":723}," Execution Models.\nSee the API specification for more detail.",{"type":10,"tag":676,"props":725,"children":727},{"className":726},[616,651,652],[728],{"type":10,"tag":11,"props":729,"children":731},{"className":730},[616],[732],{"type":10,"tag":695,"props":733,"children":734},{"role":697},[735],{"type":15,"value":736},"FragmentShadingRateKHR",{"type":10,"tag":676,"props":738,"children":740},{"className":739},[616,651,652],[741],{"type":10,"tag":11,"props":742,"children":744},{"className":743},[616],[745],{"type":10,"tag":695,"props":746,"children":747},{"role":697},[748],{"type":15,"value":749},"SPV_KHR_fragment_shading_rate",{"type":10,"tag":11,"props":751,"children":752},{},[753],{"type":15,"value":754},"This value is set to a single integer value according to four flag values:",{"type":10,"tag":613,"props":756,"children":759},{"className":757,"style":758},[616,617,618],"width: 80%;",[760,775,794],{"type":10,"tag":622,"props":761,"children":762},{},[763,767,771],{"type":10,"tag":626,"props":764,"children":766},{"style":765},"width: 4.7619%;",[],{"type":10,"tag":626,"props":768,"children":770},{"style":769},"width: 71.4285%;",[],{"type":10,"tag":626,"props":772,"children":774},{"style":773},"width: 23.8096%;",[],{"type":10,"tag":640,"props":776,"children":777},{},[778],{"type":10,"tag":644,"props":779,"children":780},{},[781,789],{"type":10,"tag":648,"props":782,"children":786},{"className":783,"colSpan":185},[616,784,785],"halign-center","valign-middle",[787],{"type":15,"value":788},"Fragment Shading Rate Flags",{"type":10,"tag":648,"props":790,"children":792},{"className":791},[616,651,652],[793],{"type":15,"value":661},{"type":10,"tag":669,"props":795,"children":796},{},[797,839,879,920],{"type":10,"tag":644,"props":798,"children":799},{},[800,810,827],{"type":10,"tag":676,"props":801,"children":803},{"className":802},[616,651,652],[804],{"type":10,"tag":11,"props":805,"children":807},{"className":806},[616],[808],{"type":15,"value":809},"1",{"type":10,"tag":676,"props":811,"children":813},{"className":812},[616,651,652],[814],{"type":10,"tag":11,"props":815,"children":817},{"className":816},[616],[818,823,825],{"type":10,"tag":695,"props":819,"children":820},{"role":697},[821],{"type":15,"value":822},"Vertical2Pixels",{"type":15,"value":824}," ",{"type":15,"value":826},"\nFragment invocation covers 2 pixels vertically.",{"type":10,"tag":676,"props":828,"children":830},{"className":829},[616,651,652],[831],{"type":10,"tag":11,"props":832,"children":834},{"className":833},[616],[835],{"type":10,"tag":695,"props":836,"children":837},{"role":697},[838],{"type":15,"value":736},{"type":10,"tag":644,"props":840,"children":841},{},[842,851,867],{"type":10,"tag":676,"props":843,"children":845},{"className":844},[616,651,652],[846],{"type":10,"tag":11,"props":847,"children":849},{"className":848},[616],[850],{"type":15,"value":185},{"type":10,"tag":676,"props":852,"children":854},{"className":853},[616,651,652],[855],{"type":10,"tag":11,"props":856,"children":858},{"className":857},[616],[859,864,865],{"type":10,"tag":695,"props":860,"children":861},{"role":697},[862],{"type":15,"value":863},"Vertical4Pixels",{"type":15,"value":824},{"type":15,"value":866},"\nFragment invocation covers 4 pixels vertically.",{"type":10,"tag":676,"props":868,"children":870},{"className":869},[616,651,652],[871],{"type":10,"tag":11,"props":872,"children":874},{"className":873},[616],[875],{"type":10,"tag":695,"props":876,"children":877},{"role":697},[878],{"type":15,"value":736},{"type":10,"tag":644,"props":880,"children":881},{},[882,892,908],{"type":10,"tag":676,"props":883,"children":885},{"className":884},[616,651,652],[886],{"type":10,"tag":11,"props":887,"children":889},{"className":888},[616],[890],{"type":15,"value":891},"4",{"type":10,"tag":676,"props":893,"children":895},{"className":894},[616,651,652],[896],{"type":10,"tag":11,"props":897,"children":899},{"className":898},[616],[900,905,906],{"type":10,"tag":695,"props":901,"children":902},{"role":697},[903],{"type":15,"value":904},"Horizontal2Pixels",{"type":15,"value":824},{"type":15,"value":907},"\nFragment invocation covers 2 pixels horizontally.",{"type":10,"tag":676,"props":909,"children":911},{"className":910},[616,651,652],[912],{"type":10,"tag":11,"props":913,"children":915},{"className":914},[616],[916],{"type":10,"tag":695,"props":917,"children":918},{"role":697},[919],{"type":15,"value":736},{"type":10,"tag":644,"props":921,"children":922},{},[923,933,949],{"type":10,"tag":676,"props":924,"children":926},{"className":925},[616,651,652],[927],{"type":10,"tag":11,"props":928,"children":930},{"className":929},[616],[931],{"type":15,"value":932},"8",{"type":10,"tag":676,"props":934,"children":936},{"className":935},[616,651,652],[937],{"type":10,"tag":11,"props":938,"children":940},{"className":939},[616],[941,946,947],{"type":10,"tag":695,"props":942,"children":943},{"role":697},[944],{"type":15,"value":945},"Horizontal4Pixels",{"type":15,"value":824},{"type":15,"value":948},"\nFragment invocation covers 4 pixels horizontally.",{"type":10,"tag":676,"props":950,"children":952},{"className":951},[616,651,652],[953],{"type":10,"tag":11,"props":954,"children":956},{"className":955},[616],[957],{"type":10,"tag":695,"props":958,"children":959},{"role":697},[960],{"type":15,"value":736},{"type":10,"tag":11,"props":962,"children":963},{},[964],{"type":15,"value":965},"Valid rate combinations must not include more than 1 horizontal and 1\nvertical rate.\nIf no horizontal rate flags are set, it indicates a fragment shader covers one\npixel horizontally.\nIf no vertical rate flags are set, it indicates a fragment shader covers one\npixel vertically.",{"type":10,"tag":11,"props":967,"children":968},{},[969],{"type":15,"value":970},"This functionality is gated behind a new capability:",{"type":10,"tag":613,"props":972,"children":974},{"className":973},[616,617,618,619],[975,989,1007],{"type":10,"tag":622,"props":976,"children":977},{},[978,982,985],{"type":10,"tag":626,"props":979,"children":981},{"style":980},"width: 33.3333%;",[],{"type":10,"tag":626,"props":983,"children":984},{"style":980},[],{"type":10,"tag":626,"props":986,"children":988},{"style":987},"width: 33.3334%;",[],{"type":10,"tag":640,"props":990,"children":991},{},[992],{"type":10,"tag":644,"props":993,"children":994},{},[995,1001],{"type":10,"tag":648,"props":996,"children":998},{"className":997,"colSpan":185},[616,651,652],[999],{"type":15,"value":1000},"Capability",{"type":10,"tag":648,"props":1002,"children":1004},{"className":1003},[616,651,652],[1005],{"type":15,"value":1006},"Implicitly Declares",{"type":10,"tag":669,"props":1008,"children":1009},{},[1010],{"type":10,"tag":644,"props":1011,"children":1012},{},[1013,1023,1050],{"type":10,"tag":676,"props":1014,"children":1016},{"className":1015},[616,651,652],[1017],{"type":10,"tag":11,"props":1018,"children":1020},{"className":1019},[616],[1021],{"type":15,"value":1022},"4422",{"type":10,"tag":676,"props":1024,"children":1026},{"className":1025},[616,651,652],[1027],{"type":10,"tag":11,"props":1028,"children":1030},{"className":1029},[616],[1031,1035,1037,1041,1043,1048],{"type":10,"tag":695,"props":1032,"children":1033},{"role":697},[1034],{"type":15,"value":736},{"type":15,"value":1036},"\nUses the ",{"type":10,"tag":695,"props":1038,"children":1039},{"role":697},[1040],{"type":15,"value":700},{"type":15,"value":1042}," or ",{"type":10,"tag":695,"props":1044,"children":1045},{"role":697},[1046],{"type":15,"value":1047},"ShadingRateKHR",{"type":15,"value":1049}," Builtins.",{"type":10,"tag":676,"props":1051,"children":1053},{"className":1052},[616,651,652],[1054],{"type":10,"tag":11,"props":1055,"children":1057},{"className":1056},[616],[1058],{"type":10,"tag":695,"props":1059,"children":1060},{"role":697},[1061],{"type":15,"value":1062},"Shader",{"type":10,"tag":66,"props":1064,"children":1066},{"id":1065},"_per_region_state",[1067],{"type":15,"value":1068},"Per-Region state",{"type":10,"tag":11,"props":1070,"children":1071},{},[1072,1074,1081],{"type":15,"value":1073},"The per-region state can be set through an image where a pixel in that image corresponds to a given region in the render.\nUsing the same flag values as the per-triangle rate, the value of that pixel determines the per-region rate for the corresponding region.\nThis image can be set per-subpass by chaining the following structure to ",{"type":10,"tag":78,"props":1075,"children":1078},{"href":1076,"rel":1077},"https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkSubpassDescription2.html",[82],[1079],{"type":15,"value":1080},"VkSubpassDescription2",{"type":15,"value":87},{"type":10,"tag":89,"props":1083,"children":1085},{"className":91,"code":1084,"language":93,"meta":94,"style":94},"typedef struct VkFragmentShadingRateAttachmentInfoKHR {\n VkStructureType sType;\n const void* pNext;\n const VkAttachmentReference2* pFragmentShadingRateAttachment;\n VkExtent2D shadingRateAttachmentTexelSize;\n} VkFragmentShadingRateAttachmentInfoKHR;\n",[1086],{"type":10,"tag":97,"props":1087,"children":1088},{"__ignoreMap":94},[1089,1105,1113,1129,1150,1158],{"type":10,"tag":101,"props":1090,"children":1091},{"class":103,"line":104},[1092,1096,1100],{"type":10,"tag":101,"props":1093,"children":1094},{"style":108},[1095],{"type":15,"value":111},{"type":10,"tag":101,"props":1097,"children":1098},{"style":108},[1099],{"type":15,"value":116},{"type":10,"tag":101,"props":1101,"children":1102},{"style":119},[1103],{"type":15,"value":1104}," VkFragmentShadingRateAttachmentInfoKHR {\n",{"type":10,"tag":101,"props":1106,"children":1107},{"class":103,"line":125},[1108],{"type":10,"tag":101,"props":1109,"children":1110},{"style":119},[1111],{"type":15,"value":1112}," VkStructureType sType;\n",{"type":10,"tag":101,"props":1114,"children":1115},{"class":103,"line":134},[1116,1120,1124],{"type":10,"tag":101,"props":1117,"children":1118},{"style":108},[1119],{"type":15,"value":140},{"type":10,"tag":101,"props":1121,"children":1122},{"style":108},[1123],{"type":15,"value":145},{"type":10,"tag":101,"props":1125,"children":1126},{"style":119},[1127],{"type":15,"value":1128}," pNext;\n",{"type":10,"tag":101,"props":1130,"children":1131},{"class":103,"line":153},[1132,1136,1141,1145],{"type":10,"tag":101,"props":1133,"children":1134},{"style":108},[1135],{"type":15,"value":140},{"type":10,"tag":101,"props":1137,"children":1138},{"style":119},[1139],{"type":15,"value":1140}," VkAttachmentReference2",{"type":10,"tag":101,"props":1142,"children":1143},{"style":108},[1144],{"type":15,"value":273},{"type":10,"tag":101,"props":1146,"children":1147},{"style":119},[1148],{"type":15,"value":1149}," pFragmentShadingRateAttachment;\n",{"type":10,"tag":101,"props":1151,"children":1152},{"class":103,"line":162},[1153],{"type":10,"tag":101,"props":1154,"children":1155},{"style":119},[1156],{"type":15,"value":1157}," VkExtent2D shadingRateAttachmentTexelSize;\n",{"type":10,"tag":101,"props":1159,"children":1160},{"class":103,"line":193},[1161],{"type":10,"tag":101,"props":1162,"children":1163},{"style":119},[1164],{"type":15,"value":1165},"} VkFragmentShadingRateAttachmentInfoKHR;\n",{"type":10,"tag":11,"props":1167,"children":1168},{},[1169,1175,1177,1183,1185,1190,1192,1198,1199,1205,1206,1212],{"type":10,"tag":97,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":15,"value":1174},"pFragmentShadingRateAttachment",{"type":15,"value":1176}," selects the attachment description corresponding to the image, which must have dimensions at least equal to the framebuffer size divided by the texel size selected by ",{"type":10,"tag":97,"props":1178,"children":1180},{"className":1179},[],[1181],{"type":15,"value":1182},"shadingRateAttachmentTexelSize",{"type":15,"value":1184},".\n",{"type":10,"tag":97,"props":1186,"children":1188},{"className":1187},[],[1189],{"type":15,"value":1182},{"type":15,"value":1191}," can be set to values supported by the implementation, which are advertised via ",{"type":10,"tag":97,"props":1193,"children":1195},{"className":1194},[],[1196],{"type":15,"value":1197},"maxFragmentShadingRateAttachmentTexelSize",{"type":15,"value":709},{"type":10,"tag":97,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":15,"value":1204},"minFragmentShadingRateAttachmentTexelSize",{"type":15,"value":709},{"type":10,"tag":97,"props":1207,"children":1209},{"className":1208},[],[1210],{"type":15,"value":1211},"maxFragmentShadingRateAttachmentTexelSizeAspectRatio",{"type":15,"value":1213},", and must be power-of-two values.",{"type":10,"tag":66,"props":1215,"children":1217},{"id":1216},"_reading_the_final_rate",[1218],{"type":15,"value":1219},"Reading the final rate",{"type":10,"tag":11,"props":1221,"children":1222},{},[1223],{"type":15,"value":1224},"In a fragment shader, the final calculated rate can be read through a new built-in:",{"type":10,"tag":613,"props":1226,"children":1228},{"className":1227},[616,617,618,619],[1229,1244,1265],{"type":10,"tag":622,"props":1230,"children":1231},{},[1232,1235,1238,1241],{"type":10,"tag":626,"props":1233,"children":1234},{"style":628},[],{"type":10,"tag":626,"props":1236,"children":1237},{"style":628},[],{"type":10,"tag":626,"props":1239,"children":1240},{"style":628},[],{"type":10,"tag":626,"props":1242,"children":1243},{"style":628},[],{"type":10,"tag":640,"props":1245,"children":1246},{},[1247],{"type":10,"tag":644,"props":1248,"children":1249},{},[1250,1255,1260],{"type":10,"tag":648,"props":1251,"children":1253},{"className":1252,"colSpan":185},[616,651,652],[1254],{"type":15,"value":655},{"type":10,"tag":648,"props":1256,"children":1258},{"className":1257},[616,651,652],[1259],{"type":15,"value":661},{"type":10,"tag":648,"props":1261,"children":1263},{"className":1262},[616,651,652],[1264],{"type":15,"value":667},{"type":10,"tag":669,"props":1266,"children":1267},{},[1268],{"type":10,"tag":644,"props":1269,"children":1270},{},[1271,1281,1302,1314],{"type":10,"tag":676,"props":1272,"children":1274},{"className":1273},[616,651,652],[1275],{"type":10,"tag":11,"props":1276,"children":1278},{"className":1277},[616],[1279],{"type":15,"value":1280},"4444",{"type":10,"tag":676,"props":1282,"children":1284},{"className":1283},[616,651,652],[1285],{"type":10,"tag":11,"props":1286,"children":1288},{"className":1287},[616],[1289,1293,1295,1300],{"type":10,"tag":695,"props":1290,"children":1291},{"role":697},[1292],{"type":15,"value":1047},{"type":15,"value":1294},"\nInput fragment shading rate for the current shader\ninvocation.\nOnly valid in the ",{"type":10,"tag":695,"props":1296,"children":1297},{"role":697},[1298],{"type":15,"value":1299},"Fragment",{"type":15,"value":1301}," Execution Model.\nSee the API specification for more detail.",{"type":10,"tag":676,"props":1303,"children":1305},{"className":1304},[616,651,652],[1306],{"type":10,"tag":11,"props":1307,"children":1309},{"className":1308},[616],[1310],{"type":10,"tag":695,"props":1311,"children":1312},{"role":697},[1313],{"type":15,"value":736},{"type":10,"tag":676,"props":1315,"children":1317},{"className":1316},[616,651,652],[1318],{"type":10,"tag":11,"props":1319,"children":1321},{"className":1320},[616],[1322],{"type":10,"tag":695,"props":1323,"children":1324},{"role":697},[1325],{"type":15,"value":749},{"type":10,"tag":66,"props":1327,"children":1329},{"id":1328},"_properties",[1330],{"type":15,"value":1331},"Properties",{"type":10,"tag":11,"props":1333,"children":1334},{},[1335],{"type":15,"value":1336},"Properties of the implementation can be queried via a new properties structure:",{"type":10,"tag":89,"props":1338,"children":1340},{"className":91,"code":1339,"language":93,"meta":94,"style":94},"typedef struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {\n VkStructureType sType;\n void* pNext;\n VkExtent2D minFragmentShadingRateAttachmentTexelSize;\n VkExtent2D maxFragmentShadingRateAttachmentTexelSize;\n uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio;\n VkBool32 primitiveFragmentShadingRateWithMultipleViewports;\n VkBool32 layeredShadingRateAttachments;\n VkBool32 fragmentShadingRateNonTrivialCombinerOps;\n VkExtent2D maxFragmentSize;\n uint32_t maxFragmentSizeAspectRatio;\n uint32_t maxFragmentShadingRateCoverageSamples;\n VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;\n VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;\n VkBool32 fragmentShadingRateWithSampleMask;\n VkBool32 fragmentShadingRateWithShaderSampleMask;\n VkBool32 fragmentShadingRateWithConservativeRasterization;\n VkBool32 fragmentShadingRateWithFragmentShaderInterlock;\n VkBool32 fragmentShadingRateWithCustomSampleLocations;\n VkBool32 fragmentShadingRateStrictMultiplyCombiner;\n} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;\n",[1341],{"type":10,"tag":97,"props":1342,"children":1343},{"__ignoreMap":94},[1344,1360,1368,1381,1389,1397,1410,1418,1427,1436,1445,1458,1471,1480,1489,1498,1507,1516,1525,1534,1543],{"type":10,"tag":101,"props":1345,"children":1346},{"class":103,"line":104},[1347,1351,1355],{"type":10,"tag":101,"props":1348,"children":1349},{"style":108},[1350],{"type":15,"value":111},{"type":10,"tag":101,"props":1352,"children":1353},{"style":108},[1354],{"type":15,"value":116},{"type":10,"tag":101,"props":1356,"children":1357},{"style":119},[1358],{"type":15,"value":1359}," VkPhysicalDeviceFragmentShadingRatePropertiesKHR {\n",{"type":10,"tag":101,"props":1361,"children":1362},{"class":103,"line":125},[1363],{"type":10,"tag":101,"props":1364,"children":1365},{"style":119},[1366],{"type":15,"value":1367}," VkStructureType sType;\n",{"type":10,"tag":101,"props":1369,"children":1370},{"class":103,"line":134},[1371,1376],{"type":10,"tag":101,"props":1372,"children":1373},{"style":108},[1374],{"type":15,"value":1375}," void*",{"type":10,"tag":101,"props":1377,"children":1378},{"style":119},[1379],{"type":15,"value":1380}," pNext;\n",{"type":10,"tag":101,"props":1382,"children":1383},{"class":103,"line":153},[1384],{"type":10,"tag":101,"props":1385,"children":1386},{"style":119},[1387],{"type":15,"value":1388}," VkExtent2D minFragmentShadingRateAttachmentTexelSize;\n",{"type":10,"tag":101,"props":1390,"children":1391},{"class":103,"line":162},[1392],{"type":10,"tag":101,"props":1393,"children":1394},{"style":119},[1395],{"type":15,"value":1396}," VkExtent2D maxFragmentShadingRateAttachmentTexelSize;\n",{"type":10,"tag":101,"props":1398,"children":1399},{"class":103,"line":193},[1400,1405],{"type":10,"tag":101,"props":1401,"children":1402},{"style":108},[1403],{"type":15,"value":1404}," uint32_t",{"type":10,"tag":101,"props":1406,"children":1407},{"style":119},[1408],{"type":15,"value":1409}," maxFragmentShadingRateAttachmentTexelSizeAspectRatio;\n",{"type":10,"tag":101,"props":1411,"children":1412},{"class":103,"line":468},[1413],{"type":10,"tag":101,"props":1414,"children":1415},{"style":119},[1416],{"type":15,"value":1417}," VkBool32 primitiveFragmentShadingRateWithMultipleViewports;\n",{"type":10,"tag":101,"props":1419,"children":1421},{"class":103,"line":1420},8,[1422],{"type":10,"tag":101,"props":1423,"children":1424},{"style":119},[1425],{"type":15,"value":1426}," VkBool32 layeredShadingRateAttachments;\n",{"type":10,"tag":101,"props":1428,"children":1430},{"class":103,"line":1429},9,[1431],{"type":10,"tag":101,"props":1432,"children":1433},{"style":119},[1434],{"type":15,"value":1435}," VkBool32 fragmentShadingRateNonTrivialCombinerOps;\n",{"type":10,"tag":101,"props":1437,"children":1439},{"class":103,"line":1438},10,[1440],{"type":10,"tag":101,"props":1441,"children":1442},{"style":119},[1443],{"type":15,"value":1444}," VkExtent2D maxFragmentSize;\n",{"type":10,"tag":101,"props":1446,"children":1448},{"class":103,"line":1447},11,[1449,1453],{"type":10,"tag":101,"props":1450,"children":1451},{"style":108},[1452],{"type":15,"value":1404},{"type":10,"tag":101,"props":1454,"children":1455},{"style":119},[1456],{"type":15,"value":1457}," maxFragmentSizeAspectRatio;\n",{"type":10,"tag":101,"props":1459,"children":1461},{"class":103,"line":1460},12,[1462,1466],{"type":10,"tag":101,"props":1463,"children":1464},{"style":108},[1465],{"type":15,"value":1404},{"type":10,"tag":101,"props":1467,"children":1468},{"style":119},[1469],{"type":15,"value":1470}," maxFragmentShadingRateCoverageSamples;\n",{"type":10,"tag":101,"props":1472,"children":1474},{"class":103,"line":1473},13,[1475],{"type":10,"tag":101,"props":1476,"children":1477},{"style":119},[1478],{"type":15,"value":1479}," VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples;\n",{"type":10,"tag":101,"props":1481,"children":1483},{"class":103,"line":1482},14,[1484],{"type":10,"tag":101,"props":1485,"children":1486},{"style":119},[1487],{"type":15,"value":1488}," VkBool32 fragmentShadingRateWithShaderDepthStencilWrites;\n",{"type":10,"tag":101,"props":1490,"children":1492},{"class":103,"line":1491},15,[1493],{"type":10,"tag":101,"props":1494,"children":1495},{"style":119},[1496],{"type":15,"value":1497}," VkBool32 fragmentShadingRateWithSampleMask;\n",{"type":10,"tag":101,"props":1499,"children":1501},{"class":103,"line":1500},16,[1502],{"type":10,"tag":101,"props":1503,"children":1504},{"style":119},[1505],{"type":15,"value":1506}," VkBool32 fragmentShadingRateWithShaderSampleMask;\n",{"type":10,"tag":101,"props":1508,"children":1510},{"class":103,"line":1509},17,[1511],{"type":10,"tag":101,"props":1512,"children":1513},{"style":119},[1514],{"type":15,"value":1515}," VkBool32 fragmentShadingRateWithConservativeRasterization;\n",{"type":10,"tag":101,"props":1517,"children":1519},{"class":103,"line":1518},18,[1520],{"type":10,"tag":101,"props":1521,"children":1522},{"style":119},[1523],{"type":15,"value":1524}," VkBool32 fragmentShadingRateWithFragmentShaderInterlock;\n",{"type":10,"tag":101,"props":1526,"children":1528},{"class":103,"line":1527},19,[1529],{"type":10,"tag":101,"props":1530,"children":1531},{"style":119},[1532],{"type":15,"value":1533}," VkBool32 fragmentShadingRateWithCustomSampleLocations;\n",{"type":10,"tag":101,"props":1535,"children":1537},{"class":103,"line":1536},20,[1538],{"type":10,"tag":101,"props":1539,"children":1540},{"style":119},[1541],{"type":15,"value":1542}," VkBool32 fragmentShadingRateStrictMultiplyCombiner;\n",{"type":10,"tag":101,"props":1544,"children":1546},{"class":103,"line":1545},21,[1547],{"type":10,"tag":101,"props":1548,"children":1549},{"style":119},[1550],{"type":15,"value":1551},"} VkPhysicalDeviceFragmentShadingRatePropertiesKHR;\n",{"type":10,"tag":11,"props":1553,"children":1554},{},[1555,1557,1563,1565,1570,1571,1576,1577,1582,1583,1589,1590,1596,1597,1603,1605,1610],{"type":15,"value":1556},"The limits are somewhat complex, as this functionality interacts heavily with other state, however many of these states are informative only; the implementation will automatically reduce the fragment shading rate to ",{"type":10,"tag":97,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":15,"value":1562},"(1,1)",{"type":15,"value":1564}," when they are violated.\n",{"type":10,"tag":97,"props":1566,"children":1568},{"className":1567},[],[1569],{"type":15,"value":1204},{"type":15,"value":709},{"type":10,"tag":97,"props":1572,"children":1574},{"className":1573},[],[1575],{"type":15,"value":1197},{"type":15,"value":709},{"type":10,"tag":97,"props":1578,"children":1580},{"className":1579},[],[1581],{"type":15,"value":1211},{"type":15,"value":709},{"type":10,"tag":97,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":15,"value":1588},"primitiveFragmentShadingRateWithMultipleViewports",{"type":15,"value":709},{"type":10,"tag":97,"props":1591,"children":1593},{"className":1592},[],[1594],{"type":15,"value":1595},"fragmentShadingRateNonTrivialCombinerOps",{"type":15,"value":716},{"type":10,"tag":97,"props":1598,"children":1600},{"className":1599},[],[1601],{"type":15,"value":1602},"layeredShadingRateAttachments",{"type":15,"value":1604}," are the only hard limits.\n",{"type":10,"tag":97,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":15,"value":580},{"type":15,"value":1611}," affects the operation of certain combiner operations, and cannot be violated.",{"type":10,"tag":11,"props":1613,"children":1614},{},[1615],{"type":15,"value":1616},"These limits must be adhered to by an application for correct behavior:",{"type":10,"tag":1618,"props":1619,"children":1620},"ul",{},[1621,1632,1642,1652,1662,1672],{"type":10,"tag":1622,"props":1623,"children":1624},"li",{},[1625,1630],{"type":10,"tag":97,"props":1626,"children":1628},{"className":1627},[],[1629],{"type":15,"value":1204},{"type":15,"value":1631}," advertises the minimum size of the texel region for the per-region rate supported by the implementation.",{"type":10,"tag":1622,"props":1633,"children":1634},{},[1635,1640],{"type":10,"tag":97,"props":1636,"children":1638},{"className":1637},[],[1639],{"type":15,"value":1197},{"type":15,"value":1641}," advertises the maximum size of the texel region for the per-region rate supported by the implementation.",{"type":10,"tag":1622,"props":1643,"children":1644},{},[1645,1650],{"type":10,"tag":97,"props":1646,"children":1648},{"className":1647},[],[1649],{"type":15,"value":1211},{"type":15,"value":1651}," advertises the maximum aspect ratio of the texel region for the per-region rate supported by the implementation.",{"type":10,"tag":1622,"props":1653,"children":1654},{},[1655,1660],{"type":10,"tag":97,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":15,"value":1588},{"type":15,"value":1661}," advertises whether applications can write the primitive fragment shading rate when multiple viewports are used. Does not affect multiview.",{"type":10,"tag":1622,"props":1663,"children":1664},{},[1665,1670],{"type":10,"tag":97,"props":1666,"children":1668},{"className":1667},[],[1669],{"type":15,"value":1602},{"type":15,"value":1671}," advertises whether applications can use separate shading rate attachments for independent layers when performing layered rendering. Does not affect multiview.",{"type":10,"tag":1622,"props":1673,"children":1674},{},[1675,1680,1682,1687,1688,1693],{"type":10,"tag":97,"props":1676,"children":1678},{"className":1677},[],[1679],{"type":15,"value":1595},{"type":15,"value":1681}," advertises whether applications can set the combiner ops to anything other than ",{"type":10,"tag":97,"props":1683,"children":1685},{"className":1684},[],[1686],{"type":15,"value":483},{"type":15,"value":1042},{"type":10,"tag":97,"props":1689,"children":1691},{"className":1690},[],[1692],{"type":15,"value":491},{"type":15,"value":532},{"type":10,"tag":11,"props":1695,"children":1696},{},[1697,1699,1704],{"type":15,"value":1698},"Violating these limits is not invalid - instead the implementation will automatically reduce the fragment shading rate to ",{"type":10,"tag":97,"props":1700,"children":1702},{"className":1701},[],[1703],{"type":15,"value":1562},{"type":15,"value":1705}," if any of them are violated.\nThis allows applications to ship one algorithm while still ensuring valid behavior.",{"type":10,"tag":1618,"props":1707,"children":1708},{},[1709,1720,1731,1742,1761,1772,1800,1811,1822,1833],{"type":10,"tag":1622,"props":1710,"children":1711},{},[1712,1718],{"type":10,"tag":97,"props":1713,"children":1715},{"className":1714},[],[1716],{"type":15,"value":1717},"maxFragmentSize",{"type":15,"value":1719}," determines the maximum supported fragment size.",{"type":10,"tag":1622,"props":1721,"children":1722},{},[1723,1729],{"type":10,"tag":97,"props":1724,"children":1726},{"className":1725},[],[1727],{"type":15,"value":1728},"maxFragmentSizeAspectRatio",{"type":15,"value":1730}," determines the maximum supported aspect ratio between dimensions for the fragment size.",{"type":10,"tag":1622,"props":1732,"children":1733},{},[1734,1740],{"type":10,"tag":97,"props":1735,"children":1737},{"className":1736},[],[1738],{"type":15,"value":1739},"maxFragmentShadingRateCoverageSamples",{"type":15,"value":1741}," determines the maximum total coverage samples for a fragment as a product of the fragment shading rate in each dimension and the multisample rate.",{"type":10,"tag":1622,"props":1743,"children":1744},{},[1745,1751,1753,1759],{"type":10,"tag":97,"props":1746,"children":1748},{"className":1747},[],[1749],{"type":15,"value":1750},"maxFragmentShadingRateRasterizationSamples",{"type":15,"value":1752}," determines the maximum multisample rate (",{"type":10,"tag":97,"props":1754,"children":1756},{"className":1755},[],[1757],{"type":15,"value":1758},"rasterizationSamples",{"type":15,"value":1760},") when using a fragment shading rate.",{"type":10,"tag":1622,"props":1762,"children":1763},{},[1764,1770],{"type":10,"tag":97,"props":1765,"children":1767},{"className":1766},[],[1768],{"type":15,"value":1769},"fragmentShadingRateWithShaderDepthStencilWrites",{"type":15,"value":1771}," determines if depth/stencil export from a shader can be used with fragment shading rate.",{"type":10,"tag":1622,"props":1773,"children":1774},{},[1775,1781,1783,1789,1791,1798],{"type":10,"tag":97,"props":1776,"children":1778},{"className":1777},[],[1779],{"type":15,"value":1780},"fragmentShadingRateWithSampleMask",{"type":15,"value":1782}," determines if the ",{"type":10,"tag":97,"props":1784,"children":1786},{"className":1785},[],[1787],{"type":15,"value":1788},"pSampleMask",{"type":15,"value":1790}," member of ",{"type":10,"tag":78,"props":1792,"children":1795},{"href":1793,"rel":1794},"https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPipelineMultisampleStateCreateInfo.html",[82],[1796],{"type":15,"value":1797},"VkPipelineMultisampleStateCreateInfo",{"type":15,"value":1799}," can have any valid bits equal to 0 when using with fragment shading rate.",{"type":10,"tag":1622,"props":1801,"children":1802},{},[1803,1809],{"type":10,"tag":97,"props":1804,"children":1806},{"className":1805},[],[1807],{"type":15,"value":1808},"fragmentShadingRateWithShaderSampleMask",{"type":15,"value":1810}," determines if the sample mask (input or output) can be used in a shader with fragment shading rate.",{"type":10,"tag":1622,"props":1812,"children":1813},{},[1814,1820],{"type":10,"tag":97,"props":1815,"children":1817},{"className":1816},[],[1818],{"type":15,"value":1819},"fragmentShadingRateWithConservativeRasterization",{"type":15,"value":1821}," determines if conservative rasterization can be used with fragment shading rate.",{"type":10,"tag":1622,"props":1823,"children":1824},{},[1825,1831],{"type":10,"tag":97,"props":1826,"children":1828},{"className":1827},[],[1829],{"type":15,"value":1830},"fragmentShadingRateWithFragmentShaderInterlock",{"type":15,"value":1832}," determines if fragment shader interlock can be used with fragment shading rate.",{"type":10,"tag":1622,"props":1834,"children":1835},{},[1836,1842],{"type":10,"tag":97,"props":1837,"children":1839},{"className":1838},[],[1840],{"type":15,"value":1841},"fragmentShadingRateWithCustomSampleLocations",{"type":15,"value":1843}," determines if custom sample locations can be used with fragment shading rate.",{"type":10,"tag":11,"props":1845,"children":1846},{},[1847],{"type":15,"value":1848},"This final limit cannot be violated:",{"type":10,"tag":1618,"props":1850,"children":1851},{},[1852],{"type":10,"tag":1622,"props":1853,"children":1854},{},[1855,1860,1862,1867],{"type":10,"tag":97,"props":1856,"children":1858},{"className":1857},[],[1859],{"type":15,"value":580},{"type":15,"value":1861}," determines whether the operation of the MUL combiner operation is correct - if it is ",{"type":10,"tag":97,"props":1863,"children":1865},{"className":1864},[],[1866],{"type":15,"value":588},{"type":15,"value":1868},", MUL acts as a sum operation.",{"type":10,"tag":567,"props":1870,"children":1871},{},[1872],{"type":10,"tag":11,"props":1873,"children":1874},{},[1875,1877,1883],{"type":15,"value":1876},"See the definition of ",{"type":10,"tag":97,"props":1878,"children":1880},{"className":1879},[],[1881],{"type":15,"value":1882},"VK_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_KHR",{"type":15,"value":1884}," for more information.",{"type":10,"tag":66,"props":1886,"children":1888},{"id":1887},"_available_shading_rates",[1889],{"type":15,"value":1890},"Available shading rates",{"type":10,"tag":11,"props":1892,"children":1893},{},[1894],{"type":15,"value":1895},"To advertise precisely which shading rates are supported by an implementation, the following function is added to the specification:",{"type":10,"tag":89,"props":1897,"children":1899},{"className":91,"code":1898,"language":93,"meta":94,"style":94},"VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR(\n VkPhysicalDevice physicalDevice,\n uint32_t* pFragmentShadingRateCount,\n VkPhysicalDeviceFragmentShadingRateKHR* pFragmentShadingRates);\n\ntypedef struct VkPhysicalDeviceFragmentShadingRateKHR {\n VkStructureType sType;\n void* pNext;\n VkSampleCountFlags sampleCounts;\n VkExtent2D fragmentSize;\n} VkPhysicalDeviceFragmentShadingRateKHR;\n",[1900],{"type":10,"tag":97,"props":1901,"children":1902},{"__ignoreMap":94},[1903,1920,1937,1954,1976,1985,2001,2009,2021,2029,2037],{"type":10,"tag":101,"props":1904,"children":1905},{"class":103,"line":104},[1906,1911,1916],{"type":10,"tag":101,"props":1907,"children":1908},{"style":119},[1909],{"type":15,"value":1910},"VkResult ",{"type":10,"tag":101,"props":1912,"children":1913},{"style":230},[1914],{"type":15,"value":1915},"vkGetPhysicalDeviceFragmentShadingRatesKHR",{"type":10,"tag":101,"props":1917,"children":1918},{"style":119},[1919],{"type":15,"value":238},{"type":10,"tag":101,"props":1921,"children":1922},{"class":103,"line":125},[1923,1928,1933],{"type":10,"tag":101,"props":1924,"children":1925},{"style":119},[1926],{"type":15,"value":1927}," VkPhysicalDevice ",{"type":10,"tag":101,"props":1929,"children":1930},{"style":171},[1931],{"type":15,"value":1932},"physicalDevice",{"type":10,"tag":101,"props":1934,"children":1935},{"style":119},[1936],{"type":15,"value":256},{"type":10,"tag":101,"props":1938,"children":1939},{"class":103,"line":134},[1940,1945,1950],{"type":10,"tag":101,"props":1941,"children":1942},{"style":108},[1943],{"type":15,"value":1944}," uint32_t*",{"type":10,"tag":101,"props":1946,"children":1947},{"style":171},[1948],{"type":15,"value":1949}," pFragmentShadingRateCount",{"type":10,"tag":101,"props":1951,"children":1952},{"style":119},[1953],{"type":15,"value":256},{"type":10,"tag":101,"props":1955,"children":1956},{"class":103,"line":153},[1957,1962,1966,1971],{"type":10,"tag":101,"props":1958,"children":1959},{"style":119},[1960],{"type":15,"value":1961}," VkPhysicalDeviceFragmentShadingRateKHR",{"type":10,"tag":101,"props":1963,"children":1964},{"style":108},[1965],{"type":15,"value":273},{"type":10,"tag":101,"props":1967,"children":1968},{"style":171},[1969],{"type":15,"value":1970}," pFragmentShadingRates",{"type":10,"tag":101,"props":1972,"children":1973},{"style":119},[1974],{"type":15,"value":1975},");\n",{"type":10,"tag":101,"props":1977,"children":1978},{"class":103,"line":162},[1979],{"type":10,"tag":101,"props":1980,"children":1982},{"emptyLinePlaceholder":1981},true,[1983],{"type":15,"value":1984},"\n",{"type":10,"tag":101,"props":1986,"children":1987},{"class":103,"line":193},[1988,1992,1996],{"type":10,"tag":101,"props":1989,"children":1990},{"style":108},[1991],{"type":15,"value":111},{"type":10,"tag":101,"props":1993,"children":1994},{"style":108},[1995],{"type":15,"value":116},{"type":10,"tag":101,"props":1997,"children":1998},{"style":119},[1999],{"type":15,"value":2000}," VkPhysicalDeviceFragmentShadingRateKHR {\n",{"type":10,"tag":101,"props":2002,"children":2003},{"class":103,"line":468},[2004],{"type":10,"tag":101,"props":2005,"children":2006},{"style":119},[2007],{"type":15,"value":2008}," VkStructureType sType;\n",{"type":10,"tag":101,"props":2010,"children":2011},{"class":103,"line":1420},[2012,2016],{"type":10,"tag":101,"props":2013,"children":2014},{"style":108},[2015],{"type":15,"value":1375},{"type":10,"tag":101,"props":2017,"children":2018},{"style":119},[2019],{"type":15,"value":2020}," pNext;\n",{"type":10,"tag":101,"props":2022,"children":2023},{"class":103,"line":1429},[2024],{"type":10,"tag":101,"props":2025,"children":2026},{"style":119},[2027],{"type":15,"value":2028}," VkSampleCountFlags sampleCounts;\n",{"type":10,"tag":101,"props":2030,"children":2031},{"class":103,"line":1438},[2032],{"type":10,"tag":101,"props":2033,"children":2034},{"style":119},[2035],{"type":15,"value":2036}," VkExtent2D fragmentSize;\n",{"type":10,"tag":101,"props":2038,"children":2039},{"class":103,"line":1447},[2040],{"type":10,"tag":101,"props":2041,"children":2042},{"style":119},[2043],{"type":15,"value":2044},"} VkPhysicalDeviceFragmentShadingRateKHR;\n",{"type":10,"tag":11,"props":2046,"children":2047},{},[2048],{"type":15,"value":2049},"This function returns the full list of supported fragment shading rates ordered from largest fragment size to smallest, with all valid sample rates.\nImplementations must support the following rates:",{"type":10,"tag":613,"props":2051,"children":2054},{"className":2052},[616,617,618,2053],"fit-content",[2055,2064,2089],{"type":10,"tag":622,"props":2056,"children":2057},{},[2058,2061],{"type":10,"tag":626,"props":2059,"children":2060},{},[],{"type":10,"tag":626,"props":2062,"children":2063},{},[],{"type":10,"tag":640,"props":2065,"children":2066},{},[2067],{"type":10,"tag":644,"props":2068,"children":2069},{},[2070,2080],{"type":10,"tag":648,"props":2071,"children":2073},{"className":2072},[616,651,652],[2074],{"type":10,"tag":2075,"props":2076,"children":2077},"literal",{},[2078],{"type":15,"value":2079},"sampleCounts",{"type":10,"tag":648,"props":2081,"children":2083},{"className":2082},[616,651,652],[2084],{"type":10,"tag":2075,"props":2085,"children":2086},{},[2087],{"type":15,"value":2088},"fragmentSize",{"type":10,"tag":669,"props":2090,"children":2091},{},[2092,2118,2143],{"type":10,"tag":644,"props":2093,"children":2094},{},[2095,2108],{"type":10,"tag":676,"props":2096,"children":2098},{"className":2097},[616,651,652],[2099],{"type":10,"tag":11,"props":2100,"children":2102},{"className":2101},[616],[2103],{"type":10,"tag":2075,"props":2104,"children":2105},{},[2106],{"type":15,"value":2107},"VK_SAMPLE_COUNT_1_BIT | VK_SAMPLE_COUNT_4_BIT",{"type":10,"tag":676,"props":2109,"children":2111},{"className":2110},[616,651,652],[2112],{"type":10,"tag":11,"props":2113,"children":2115},{"className":2114},[616],[2116],{"type":15,"value":2117},"{2,2}",{"type":10,"tag":644,"props":2119,"children":2120},{},[2121,2133],{"type":10,"tag":676,"props":2122,"children":2124},{"className":2123},[616,651,652],[2125],{"type":10,"tag":11,"props":2126,"children":2128},{"className":2127},[616],[2129],{"type":10,"tag":2075,"props":2130,"children":2131},{},[2132],{"type":15,"value":2107},{"type":10,"tag":676,"props":2134,"children":2136},{"className":2135},[616,651,652],[2137],{"type":10,"tag":11,"props":2138,"children":2140},{"className":2139},[616],[2141],{"type":15,"value":2142},"{2,1}",{"type":10,"tag":644,"props":2144,"children":2145},{},[2146,2156],{"type":10,"tag":676,"props":2147,"children":2149},{"className":2148},[616,651,652],[2150],{"type":10,"tag":11,"props":2151,"children":2153},{"className":2152},[616],[2154],{"type":15,"value":2155},"~0",{"type":10,"tag":676,"props":2157,"children":2159},{"className":2158},[616,651,652],[2160],{"type":10,"tag":11,"props":2161,"children":2163},{"className":2162},[616],[2164],{"type":15,"value":2165},"{1,1}",{"type":10,"tag":11,"props":2167,"children":2168},{},[2169],{"type":15,"value":2170},"(1,1) is included for completeness only.\nEven if a shading rate advertises a given sample rate, valid sample rates are still subject to usual constraints on multisampling.",{"type":10,"tag":66,"props":2172,"children":2174},{"id":2173},"_features",[2175],{"type":15,"value":2176},"Features",{"type":10,"tag":11,"props":2178,"children":2179},{},[2180],{"type":15,"value":2181},"Each of the three rates is enabled by an independent feature:",{"type":10,"tag":89,"props":2183,"children":2185},{"className":91,"code":2184,"language":93,"meta":94,"style":94},"typedef struct VkPhysicalDeviceFragmentShadingRateFeaturesKHR {\n VkStructureType sType;\n void* pNext;\n VkBool32 pipelineFragmentShadingRate;\n VkBool32 primitiveFragmentShadingRate;\n VkBool32 attachmentFragmentShadingRate;\n} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;\n",[2186],{"type":10,"tag":97,"props":2187,"children":2188},{"__ignoreMap":94},[2189,2205,2213,2225,2233,2241,2249],{"type":10,"tag":101,"props":2190,"children":2191},{"class":103,"line":104},[2192,2196,2200],{"type":10,"tag":101,"props":2193,"children":2194},{"style":108},[2195],{"type":15,"value":111},{"type":10,"tag":101,"props":2197,"children":2198},{"style":108},[2199],{"type":15,"value":116},{"type":10,"tag":101,"props":2201,"children":2202},{"style":119},[2203],{"type":15,"value":2204}," VkPhysicalDeviceFragmentShadingRateFeaturesKHR {\n",{"type":10,"tag":101,"props":2206,"children":2207},{"class":103,"line":125},[2208],{"type":10,"tag":101,"props":2209,"children":2210},{"style":119},[2211],{"type":15,"value":2212}," VkStructureType sType;\n",{"type":10,"tag":101,"props":2214,"children":2215},{"class":103,"line":134},[2216,2220],{"type":10,"tag":101,"props":2217,"children":2218},{"style":108},[2219],{"type":15,"value":1375},{"type":10,"tag":101,"props":2221,"children":2222},{"style":119},[2223],{"type":15,"value":2224}," pNext;\n",{"type":10,"tag":101,"props":2226,"children":2227},{"class":103,"line":153},[2228],{"type":10,"tag":101,"props":2229,"children":2230},{"style":119},[2231],{"type":15,"value":2232}," VkBool32 pipelineFragmentShadingRate;\n",{"type":10,"tag":101,"props":2234,"children":2235},{"class":103,"line":162},[2236],{"type":10,"tag":101,"props":2237,"children":2238},{"style":119},[2239],{"type":15,"value":2240}," VkBool32 primitiveFragmentShadingRate;\n",{"type":10,"tag":101,"props":2242,"children":2243},{"class":103,"line":193},[2244],{"type":10,"tag":101,"props":2245,"children":2246},{"style":119},[2247],{"type":15,"value":2248}," VkBool32 attachmentFragmentShadingRate;\n",{"type":10,"tag":101,"props":2250,"children":2251},{"class":103,"line":468},[2252],{"type":10,"tag":101,"props":2253,"children":2254},{"style":119},[2255],{"type":15,"value":2256},"} VkPhysicalDeviceFragmentShadingRateFeaturesKHR;\n",{"type":10,"tag":1618,"props":2258,"children":2259},{},[2260,2271,2282],{"type":10,"tag":1622,"props":2261,"children":2262},{},[2263,2269],{"type":10,"tag":97,"props":2264,"children":2266},{"className":2265},[],[2267],{"type":15,"value":2268},"pipelineFragmentShadingRate",{"type":15,"value":2270}," indicates support for the per-draw fragment shading rate, both dynamic and pipeline state. This feature must be supported to support the extension.",{"type":10,"tag":1622,"props":2272,"children":2273},{},[2274,2280],{"type":10,"tag":97,"props":2275,"children":2277},{"className":2276},[],[2278],{"type":15,"value":2279},"primitiveFragmentShadingRate",{"type":15,"value":2281}," indicates support for the per-triangle fragment shading rate.",{"type":10,"tag":1622,"props":2283,"children":2284},{},[2285,2291],{"type":10,"tag":97,"props":2286,"children":2288},{"className":2287},[],[2289],{"type":15,"value":2290},"attachmentFragmentShadingRate",{"type":15,"value":2292}," indicates support for the per-screen-region fragment shading rate.",{"type":10,"tag":17,"props":2294,"children":2296},{"id":2295},"_examples",[2297],{"type":15,"value":2298},"Examples",{"type":10,"tag":11,"props":2300,"children":2301},{},[2302,2304,2311],{"type":15,"value":2303},"Two concrete samples are available in the ",{"type":10,"tag":78,"props":2305,"children":2308},{"href":2306,"rel":2307},"https://github.com/KhronosGroup/Vulkan-Samples",[82],[2309],{"type":15,"value":2310},"KhronosGroup/Vulkan-Samples",{"type":15,"value":2312}," repository:",{"type":10,"tag":1618,"props":2314,"children":2315},{},[2316,2325],{"type":10,"tag":1622,"props":2317,"children":2318},{},[2319],{"type":10,"tag":78,"props":2320,"children":2323},{"href":2321,"rel":2322},"https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/extensions/fragment_shading_rate",[82],[2324],{"type":15,"value":2321},{"type":10,"tag":1622,"props":2326,"children":2327},{},[2328],{"type":10,"tag":78,"props":2329,"children":2332},{"href":2330,"rel":2331},"https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/extensions/fragment_shading_rate_dynamic",[82],[2333],{"type":15,"value":2330},{"type":10,"tag":17,"props":2335,"children":2337},{"id":2336},"_issues",[2338],{"type":15,"value":2339},"Issues",{"type":10,"tag":11,"props":2341,"children":2342},{},[2343],{"type":15,"value":2344},"This section describes issues with the existing proposal – including both open issues that you have not addressed, and closed issues that are not self-evident from the proposal description.",{"type":10,"tag":66,"props":2346,"children":2348},{"id":2347},"_resolved_should_the_result_of_combiners_be_required_to_be_a_valid_rate",[2349],{"type":15,"value":2350},"RESOLVED: Should the result of combiners be required to be a valid rate?",{"type":10,"tag":11,"props":2352,"children":2353},{},[2354],{"type":15,"value":2355},"This makes a number of combinations nigh impossible to use, so instead combined values are clamped, with strict rules on how they are clamped.",{"type":10,"tag":66,"props":2357,"children":2359},{"id":2358},"_resolved_should_the_various_limits_on_state_setting_be_validated",[2360],{"type":15,"value":2361},"RESOLVED: Should the various limits on state setting be validated?",{"type":10,"tag":11,"props":2363,"children":2364},{},[2365],{"type":15,"value":2366},"Convention suggests they should be, but this makes the extension much harder to use - by asking implementations to clamp the rate to (1,1) instead, applications can ship the same functionality everywhere without having to modify their algorithm or assets.",{"type":10,"tag":66,"props":2368,"children":2370},{"id":2369},"_resolved_should_we_describe_the_final_combiner_operation_as_a_multiplication_or_addition_related_should_the_per_draw_fragment_shading_rate_be_set_as_flags_or_raw_values",[2371],{"type":15,"value":2372},"RESOLVED: Should we describe the final combiner operation as a multiplication or addition? Related, should the per-draw fragment shading rate be set as flags or raw values?",{"type":10,"tag":11,"props":2374,"children":2375},{},[2376],{"type":15,"value":2377},"The primitive and image rates have to be bit flags to maintain compatibility with other APIs. There was significant confusion about the meaning of the final combiner operation as an addition of log2 values, so the choice was made to describe this as a multiplication of raw values, and the API values were set as real values to make this clearer.",{"type":10,"tag":66,"props":2379,"children":2381},{"id":2380},"_resolved_when_no_fragment_shading_rate_is_provided_should_the_default_rate_1_1_take_part_in_combination_operation",[2382],{"type":15,"value":2383},"RESOLVED: When no fragment shading rate is provided, should the default rate {1, 1} take part in combination operation?",{"type":10,"tag":11,"props":2385,"children":2386},{},[2387,2389,2394,2396,2401,2403,2408,2410,2415],{"type":15,"value":2388},"Yes.\nWhen no fragment shading rate is given in a certain stage, the default rate {1, 1} is used and participates in combination operations.\nFor example, if per-draw/per-triangle/per-region shading rates are all enabled and ",{"type":10,"tag":97,"props":2390,"children":2392},{"className":2391},[],[2393],{"type":15,"value":174},{"type":15,"value":2395}," are ",{"type":10,"tag":97,"props":2397,"children":2399},{"className":2398},[],[2400],{"type":15,"value":491},{"type":15,"value":2402},"/",{"type":10,"tag":97,"props":2404,"children":2406},{"className":2405},[],[2407],{"type":15,"value":483},{"type":15,"value":2409},", with a per-draw rate of {4, 2}, a per-region rate of {2, 2}, and no declaration of ",{"type":10,"tag":97,"props":2411,"children":2413},{"className":2412},[],[2414],{"type":15,"value":736},{"type":15,"value":2416}," in the fragment shader (so it takes a default of {1, 1}), the final fragment size is {1, 1}.",{"type":10,"tag":2418,"props":2419,"children":2420},"style",{},[2421],{"type":15,"value":2422},"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":94,"searchDepth":125,"depth":125,"links":2424},[2425,2426,2427,2436,2437],{"id":19,"depth":125,"text":22},{"id":35,"depth":125,"text":38},{"id":56,"depth":125,"text":59,"children":2428},[2429,2430,2431,2432,2433,2434,2435],{"id":68,"depth":134,"text":71},{"id":603,"depth":134,"text":606},{"id":1065,"depth":134,"text":1068},{"id":1216,"depth":134,"text":1219},{"id":1328,"depth":134,"text":1331},{"id":1887,"depth":134,"text":1890},{"id":2173,"depth":134,"text":2176},{"id":2295,"depth":125,"text":2298},{"id":2336,"depth":125,"text":2339,"children":2438},[2439,2440,2441,2442],{"id":2347,"depth":134,"text":2350},{"id":2358,"depth":134,"text":2361},{"id":2369,"depth":134,"text":2372},{"id":2380,"depth":134,"text":2383},"markdown",[2445,2450,2453,2456,2459,2462,2465,2468,2471,2474,2477,2480,2483,2486,2489,2492,2495,2498,2501,2504,2507,2510,2513,2517,2521,2525,2529,2533,2537,2541,2545,2549,2553,2557,2561,2565,2569,2573,2577,2581,2585,2589,2593,2597,2601,2605,2608,2612,2616,2620,2624,2627,2630,2633,2636,2639,2642,2645,2648],{"index":2446,"title":2447,"id":2448,"appendix":2449},0,"Preamble","preamble",false,{"index":104,"title":2451,"id":2452,"appendix":2449},"Introduction","introduction",{"index":125,"title":2454,"id":2455,"appendix":2449},"Fundamentals","fundamentals",{"index":134,"title":2457,"id":2458,"appendix":2449},"Initialization","initialization",{"index":153,"title":2460,"id":2461,"appendix":2449},"Devices and Queues","devsandqueues",{"index":162,"title":2463,"id":2464,"appendix":2449},"Command Buffers","commandbuffers",{"index":193,"title":2466,"id":2467,"appendix":2449},"Synchronization and Cache Control","synchronization",{"index":468,"title":2469,"id":2470,"appendix":2449},"Render Pass","renderpass",{"index":1420,"title":2472,"id":2473,"appendix":2449},"Shaders","shaders",{"index":1429,"title":2475,"id":2476,"appendix":2449},"Pipelines","pipelines",{"index":1438,"title":2478,"id":2479,"appendix":2449},"Memory Allocation","memory",{"index":1447,"title":2481,"id":2482,"appendix":2449},"Resource Creation","resources",{"index":1460,"title":2484,"id":2485,"appendix":2449},"Samplers","samplers",{"index":1473,"title":2487,"id":2488,"appendix":2449},"Resource Descriptors","descriptorsets",{"index":1482,"title":2490,"id":2491,"appendix":2449},"Shader Interfaces","interfaces",{"index":1491,"title":2493,"id":2494,"appendix":2449},"Image Operations","textures",{"index":1500,"title":2496,"id":2497,"appendix":2449},"Fragment Density Map Operations","fragmentdensitymapops",{"index":1509,"title":2499,"id":2500,"appendix":2449},"Queries","queries",{"index":1518,"title":2502,"id":2503,"appendix":2449},"Clear Commands","clears",{"index":1527,"title":2505,"id":2506,"appendix":2449},"Copy Commands","copies",{"index":1536,"title":2508,"id":2509,"appendix":2449},"Drawing Commands","drawing",{"index":1545,"title":2511,"id":2512,"appendix":2449},"Fixed-Function Vertex Processing","fxvertex",{"index":2514,"title":2515,"id":2516,"appendix":2449},22,"Tessellation","tessellation",{"index":2518,"title":2519,"id":2520,"appendix":2449},23,"Geometry Shading","geometry",{"index":2522,"title":2523,"id":2524,"appendix":2449},24,"Mesh Shading","mesh",{"index":2526,"title":2527,"id":2528,"appendix":2449},25,"Cluster Culling Shading","cluster-culling",{"index":2530,"title":2531,"id":2532,"appendix":2449},26,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":2534,"title":2535,"id":2536,"appendix":2449},27,"Rasterization","primsrast",{"index":2538,"title":2539,"id":2540,"appendix":2449},28,"Fragment Operations","fragops",{"index":2542,"title":2543,"id":2544,"appendix":2449},29,"The Framebuffer","framebuffer",{"index":2546,"title":2547,"id":2548,"appendix":2449},30,"Dispatching Commands","dispatch",{"index":2550,"title":2551,"id":2552,"appendix":2449},31,"Device-Generated Commands","device-generated-commands",{"index":2554,"title":2555,"id":2556,"appendix":2449},32,"Sparse Resources","sparsememory",{"index":2558,"title":2559,"id":2560,"appendix":2449},33,"Window System Integration (WSI)","wsi",{"index":2562,"title":2563,"id":2564,"appendix":2449},34,"Deferred Host Operations","deferred-host-operations",{"index":2566,"title":2567,"id":2568,"appendix":2449},35,"Private Data","private-data",{"index":2570,"title":2571,"id":2572,"appendix":2449},36,"Acceleration Structures","acceleration-structure",{"index":2574,"title":2575,"id":2576,"appendix":2449},37,"Micromap","micromap",{"index":2578,"title":2579,"id":2580,"appendix":2449},38,"Ray Traversal","ray-traversal",{"index":2582,"title":2583,"id":2584,"appendix":2449},39,"Ray Tracing","ray-tracing",{"index":2586,"title":2587,"id":2588,"appendix":2449},40,"Memory Decompression","memory-decompression",{"index":2590,"title":2591,"id":2592,"appendix":2449},41,"Video Coding","video-coding",{"index":2594,"title":2595,"id":2596,"appendix":2449},42,"Optical Flow","opticalflow",{"index":2598,"title":2599,"id":2600,"appendix":2449},43,"Execution Graphs","executiongraphs",{"index":2602,"title":2603,"id":2604,"appendix":2449},44,"Extending Vulkan","extendingvulkan",{"index":2606,"title":2176,"id":2607,"appendix":2449},45,"features",{"index":2609,"title":2610,"id":2611,"appendix":2449},46,"Limits","limits",{"index":2613,"title":2614,"id":2615,"appendix":2449},47,"Formats","formats",{"index":2617,"title":2618,"id":2619,"appendix":2449},48,"Additional Capabilities","capabilities",{"index":2621,"title":2622,"id":2623,"appendix":2449},49,"Debugging","debugging",{"index":2446,"title":2625,"id":2626,"appendix":1981},"Vulkan Environment for SPIR-V","spirvenv",{"index":104,"title":2628,"id":2629,"appendix":1981},"Memory Model","memory-model",{"index":125,"title":2631,"id":2632,"appendix":1981},"Compressed Image Formats","compressed_image_formats",{"index":134,"title":2634,"id":2635,"appendix":1981},"Core Revisions (Informative)","versions",{"index":153,"title":2637,"id":2638,"appendix":1981},"Layers & Extensions (Informative)","extensions",{"index":162,"title":2640,"id":2641,"appendix":1981},"API Boilerplate","boilerplate",{"index":193,"title":2643,"id":2644,"appendix":1981},"Invariance","invariance",{"index":468,"title":2646,"id":2647,"appendix":1981},"Lexicon","lexicon",{"index":1420,"title":2649,"id":2650,"appendix":1981},"Credits (Informative)","credits",[2652,2660,2664,2669,2673,2678,2681,2684,2687,2691,2695,2698,2701,2704,2706,2708,2711,2714,2718,2720,2724,2726,2729,2731,2734,2742,2746,2752,2756,2761,2763,2767,2773,2779,2785,2787,2790,2796,2799,2803,2809,2813,2817,2822,2826,2829,2832,2838,2841,2844,2848,2852,2856,2859,2861,2865,2870,2876,2879,2883,2886,2892,2895,2899,2902,2906,2909,2913,2916,2921,2925,2928,2933,2936,2939,2942,2946,2951,2956,2960,2964,2968,2972,2976,2980,2984,2987,2990,2994,2997,3000,3003,3007,3012,3016,3019,3023,3028,3032,3037,3040,3043,3048,3053,3057,3060,3064,3069,3072,3077,3082,3085,3088,3092,3096,3100,3105,3109,3112,3117,3121,3124,3128,3132,3136,3139,3141,3145,3148,3151,3154,3157,3160,3163,3166,3169,3172,3176,3180,3183,3186,3189,3192,3195,3198,3202,3206,3210,3213,3217,3220,3223,3226,3228,3232,3237,3241,3245,3247,3251,3254,3261,3265,3269,3273,3279,3282,3286,3290,3293,3296,3300,3305,3311,3315,3317,3322,3325,3330,3334,3339,3343,3347,3349,3352,3355,3357,3362,3365,3368,3373,3377,3381,3386,3390,3394,3396,3398,3401,3403,3406,3409,3413,3417,3419,3423,3426,3430,3433,3435,3438,3442,3444,3448,3451,3454,3457,3461,3464,3467,3469,3472,3474,3477,3481,3484,3486,3488,3490,3492,3496,3498,3501,3506,3510,3513,3515,3518,3520,3524,3527,3530,3533,3537,3540,3545,3549,3552,3556,3559,3562,3566,3570,3572,3577,3580,3584,3587,3590,3593,3595,3598,3602,3605,3609,3612,3616,3620,3623,3626,3629,3632,3636,3638,3641,3643,3648,3649,3653,3656,3659,3662,3665,3667,3671,3674,3677,3680,3684,3686,3688,3692,3694,3697,3701,3705,3707,3711,3714,3717,3720,3723,3727,3732,3737,3741,3747,3751,3754,3758,3762,3765,3769,3773,3776,3780,3783,3788,3792,3794,3800,3803,3806,3809,3813,3816,3820,3824,3828,3830,3833,3835,3838,3840,3842,3845,3848,3851,3854,3857,3860,3862,3866,3870,3874,3878,3881,3884,3888,3891,3895,3897,3901,3905,3908,3911,3914,3917,3920,3923,3926,3929,3932,3935,3938,3941,3944,3947,3951,3954,3958,3962,3965,3968,3971,3974,3977,3980,3984,3987,3990,3996,4000,4004,4008],{"number":2653,"type":2654,"author":2655,"provisional":1981,"depends":2656,"platform":2657,"contact":2658,"extension":2659,"proposal":1981},135,"device","AMD","(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":2661,"type":2654,"author":2655,"provisional":2449,"contact":2662,"extension":2663,"proposal":1981},477,"Stu Smith","VK_AMD_anti_lag",{"number":2665,"type":2654,"author":2655,"provisional":2449,"specialuse":2666,"contact":2667,"extension":2668,"proposal":2449},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":2670,"type":2654,"author":2655,"provisional":2449,"depends":2671,"contact":2658,"extension":2672,"proposal":2449},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":2674,"type":2654,"author":2655,"provisional":2449,"depends":2675,"contact":2676,"extension":2677,"proposal":2449},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":2562,"type":2654,"author":2655,"promotedto":2679,"provisional":2449,"contact":2667,"extension":2680,"proposal":2449},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":2530,"type":2654,"author":2655,"provisional":2449,"contact":2682,"extension":2683,"proposal":2449},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":2574,"type":2654,"author":2655,"deprecatedby":2685,"provisional":2449,"contact":2682,"extension":2686,"proposal":2449},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":2688,"type":2654,"author":2655,"deprecatedby":2685,"provisional":2449,"contact":2689,"extension":2690,"proposal":2449},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":2692,"type":2654,"author":2655,"provisional":2449,"contact":2693,"extension":2694,"proposal":2449},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":2696,"type":2654,"author":2655,"provisional":2449,"contact":2676,"extension":2697,"proposal":2449},137,"VK_AMD_mixed_attachment_samples",{"number":2570,"type":2654,"author":2655,"obsoletedby":2699,"provisional":2449,"contact":2676,"extension":2700,"proposal":2449},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":2702,"type":2654,"author":2655,"provisional":2449,"contact":2676,"extension":2703,"proposal":2449},184,"VK_AMD_pipeline_compiler_control",{"number":1527,"type":2654,"author":2655,"provisional":2449,"contact":2667,"extension":2705,"proposal":2449},"VK_AMD_rasterization_order",{"number":2578,"type":2654,"author":2655,"provisional":2449,"contact":2682,"extension":2707,"proposal":2449},"VK_AMD_shader_ballot",{"number":2709,"type":2654,"author":2655,"provisional":2449,"depends":2671,"contact":2693,"extension":2710,"proposal":2449},186,"VK_AMD_shader_core_properties",{"number":2712,"type":2654,"author":2655,"provisional":2449,"depends":2710,"contact":2676,"extension":2713,"proposal":2449},228,"VK_AMD_shader_core_properties2",{"number":2715,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2658,"extension":2717,"proposal":1981},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":2514,"type":2654,"author":2655,"provisional":2449,"contact":2689,"extension":2719,"proposal":2449},"VK_AMD_shader_explicit_vertex_parameter",{"number":2721,"type":2654,"author":2655,"provisional":2449,"contact":2722,"extension":2723,"proposal":2449},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":2613,"type":2654,"author":2655,"provisional":2449,"contact":2682,"extension":2725,"proposal":2449},"VK_AMD_shader_image_load_store_lod",{"number":2598,"type":2654,"author":2655,"provisional":2449,"specialuse":2666,"contact":2727,"extension":2728,"proposal":2449},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":1545,"type":2654,"author":2655,"provisional":2449,"contact":2689,"extension":2730,"proposal":2449},"VK_AMD_shader_trinary_minmax",{"number":2594,"type":2654,"author":2655,"provisional":2449,"depends":2671,"contact":2732,"extension":2733,"proposal":2449},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":2735,"type":2654,"author":2736,"provisional":2449,"depends":2737,"platform":2738,"specialuse":2739,"contact":2740,"extension":2741,"proposal":1981},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":2743,"type":2654,"author":2736,"provisional":2449,"depends":2744,"platform":2738,"contact":2745,"extension":2737,"proposal":2449},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":2747,"type":2654,"author":2748,"promotedto":2749,"provisional":2449,"depends":2671,"contact":2750,"extension":2751,"proposal":2449},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":2753,"type":2654,"author":2748,"provisional":2449,"depends":2754,"contact":2750,"extension":2755,"proposal":1981},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":2757,"type":2654,"author":2748,"provisional":2449,"depends":2758,"contact":2759,"extension":2760,"proposal":2449},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":2762,"type":2654,"author":2748,"provisional":2449,"depends":2671,"contact":2759,"extension":2758,"proposal":2449},498,{"number":2764,"type":2654,"author":2748,"provisional":2449,"depends":2765,"contact":2750,"extension":2766,"proposal":2449},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":2768,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2771,"extension":2772,"proposal":2449},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":2774,"type":2775,"author":2716,"provisional":2449,"depends":2776,"contact":2777,"extension":2778,"proposal":2449},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":2780,"type":2775,"author":2781,"provisional":2449,"depends":2776,"platform":2782,"contact":2783,"extension":2784,"proposal":2449},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":2786,"proposal":2449},"VK_EXT_application_parameters",{"number":2788,"type":2654,"author":2748,"provisional":2449,"depends":2671,"contact":2750,"extension":2789,"proposal":2449},68,"VK_EXT_astc_decode_mode",{"number":2791,"type":2654,"author":2716,"provisional":2449,"depends":2792,"ratified":2793,"contact":2794,"extension":2795,"proposal":1981},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":2797,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2771,"extension":2798,"proposal":1981},340,"VK_EXT_attachment_feedback_loop_layout",{"number":2800,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":2802,"proposal":2449},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":2804,"type":2654,"author":2716,"provisional":2449,"depends":2805,"specialuse":2806,"contact":2807,"extension":2808,"proposal":2449},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":2810,"type":2654,"author":2781,"deprecatedby":2811,"provisional":2449,"depends":2671,"contact":2801,"extension":2812,"proposal":2449},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":2814,"type":2654,"author":2716,"promotedto":2815,"provisional":2449,"depends":2671,"contact":2667,"extension":2816,"proposal":1981},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":2818,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2819,"contact":2820,"extension":2821,"proposal":2449},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":2823,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":2824,"extension":2825,"proposal":2449},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":2827,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2793,"contact":2807,"extension":2828,"proposal":2449},102,"VK_EXT_conservative_rasterization",{"number":2830,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2819,"specialuse":2806,"contact":2831,"extension":2805,"proposal":2449},288,"Liam Middlebrook @liam-middlebrook",{"number":2518,"type":2654,"author":2833,"promotedto":2834,"provisional":2449,"depends":2835,"specialuse":2623,"contact":2836,"extension":2837,"proposal":2449},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":1460,"type":2775,"author":2839,"deprecatedby":2834,"provisional":2449,"specialuse":2623,"contact":2840,"extension":2835,"proposal":2449},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":2842,"type":2775,"author":2716,"provisional":2449,"specialuse":2623,"contact":2843,"extension":2834,"proposal":2449},129,"Mark Young @marky-lunarg",{"number":2845,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2846,"contact":2771,"extension":2847,"proposal":1981},284,"d3demulation","VK_EXT_depth_bias_control",{"number":2849,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2850,"extension":2851,"proposal":2449},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":2853,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2739,"contact":2854,"extension":2855,"proposal":2449},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":2857,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2819,"specialuse":2846,"contact":2807,"extension":2858,"proposal":2449},103,"VK_EXT_depth_clip_enable",{"number":1482,"type":2654,"author":2781,"provisional":2449,"ratified":2819,"contact":2807,"extension":2860,"proposal":2449},"VK_EXT_depth_range_unrestricted",{"number":2862,"type":2654,"author":2716,"provisional":2449,"depends":2863,"contact":2658,"extension":2864,"proposal":1981},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":2866,"type":2654,"author":2781,"promotedto":2867,"provisional":2449,"depends":2868,"contact":2801,"extension":2869,"proposal":2449},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":2871,"type":2654,"author":2716,"provisional":2449,"depends":2872,"specialuse":2873,"contact":2874,"extension":2875,"proposal":2449},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":2877,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2874,"extension":2878,"proposal":1981},342,"VK_EXT_device_fault",{"number":2880,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2666,"contact":2881,"extension":2882,"proposal":2449},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":2884,"type":2775,"author":2781,"provisional":2449,"depends":2885,"contact":2783,"extension":2776,"proposal":2449},89,"VK_KHR_display",{"number":2887,"type":2775,"author":2716,"provisional":2449,"depends":2888,"platform":2889,"contact":2890,"extension":2891,"proposal":2449},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":2893,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2819,"contact":2807,"extension":2894,"proposal":2449},100,"VK_EXT_discard_rectangles",{"number":2896,"type":2654,"author":2781,"provisional":2449,"depends":2897,"ratified":2793,"contact":2783,"extension":2898,"proposal":2449},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":2900,"type":2775,"author":2781,"provisional":2449,"depends":2885,"ratified":2793,"contact":2783,"extension":2901,"proposal":2449},91,"VK_EXT_display_surface_counter",{"number":2903,"type":2654,"author":2716,"provisional":2449,"depends":2904,"ratified":2793,"contact":2807,"extension":2905,"proposal":1981},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":2907,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2807,"extension":2908,"proposal":2449},268,"VK_EXT_extended_dynamic_state",{"number":2910,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2911,"extension":2912,"proposal":2449},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":2914,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2793,"contact":2807,"extension":2915,"proposal":1981},456,"VK_EXT_extended_dynamic_state3",{"number":2917,"type":2654,"author":2716,"provisional":2449,"depends":2918,"ratified":2793,"contact":2919,"extension":2920,"proposal":1981},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":2922,"type":2654,"author":2716,"provisional":2449,"depends":2923,"ratified":2819,"contact":2919,"extension":2924,"proposal":2449},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":2926,"type":2654,"author":2716,"provisional":2449,"depends":2918,"ratified":2819,"contact":2667,"extension":2927,"proposal":2449},179,"VK_EXT_external_memory_host",{"number":2929,"type":2654,"author":2930,"provisional":2449,"ratified":2793,"contact":2931,"extension":2932,"proposal":2449},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":2934,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2931,"extension":2935,"proposal":2449},219,"VK_EXT_fragment_density_map",{"number":2937,"type":2654,"author":2716,"provisional":2449,"depends":2935,"contact":2931,"extension":2938,"proposal":2449},333,"VK_EXT_fragment_density_map2",{"number":2940,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2807,"extension":2941,"proposal":2449},252,"VK_EXT_fragment_shader_interlock",{"number":2943,"type":2654,"author":2716,"provisional":2449,"ratified":2793,"contact":2944,"extension":2945,"proposal":1981},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":2947,"type":2654,"author":2716,"provisional":2449,"depends":2948,"platform":2949,"ratified":2793,"contact":2783,"extension":2950,"proposal":2449},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":2952,"type":2654,"author":2716,"promotedto":2953,"provisional":2449,"contact":2954,"extension":2955,"proposal":2449},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":2957,"type":2654,"author":2716,"promotedto":2953,"provisional":2449,"depends":2958,"contact":2881,"extension":2959,"proposal":2449},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":2961,"type":2654,"author":2655,"provisional":2449,"depends":2962,"contact":2658,"extension":2963,"proposal":1981},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":2965,"type":2654,"author":2839,"provisional":2449,"depends":2966,"ratified":2819,"contact":2840,"extension":2967,"proposal":2449},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":2969,"type":2775,"author":2716,"provisional":2449,"depends":2888,"contact":2970,"extension":2971,"proposal":2449},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":2973,"type":2654,"author":2716,"provisional":2449,"depends":2974,"ratified":2793,"contact":2854,"extension":2975,"proposal":1981},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":2977,"type":2654,"author":2716,"promotedto":2867,"provisional":2449,"depends":2671,"contact":2978,"extension":2979,"proposal":2449},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":2981,"type":2654,"author":2716,"provisional":2449,"depends":2982,"specialuse":2739,"contact":2794,"extension":2983,"proposal":2449},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":2985,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2750,"extension":2986,"proposal":1981},339,"VK_EXT_image_compression_control",{"number":2988,"type":2654,"author":2716,"provisional":2449,"depends":2986,"contact":2750,"extension":2989,"proposal":2449},438,"VK_EXT_image_compression_control_swapchain",{"number":2991,"type":2654,"author":2716,"provisional":2449,"depends":2992,"ratified":2793,"contact":2919,"extension":2993,"proposal":2449},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":2995,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2850,"extension":2996,"proposal":2449},336,"VK_EXT_image_robustness",{"number":2998,"type":2654,"author":2716,"provisional":2449,"depends":2982,"specialuse":2846,"contact":2794,"extension":2999,"proposal":1981},419,"VK_EXT_image_sliced_view_of_3d",{"number":3001,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2771,"extension":3002,"proposal":2449},392,"VK_EXT_image_view_min_lod",{"number":3004,"type":2654,"author":2716,"promotedto":3005,"provisional":2449,"depends":2671,"contact":2807,"extension":3006,"proposal":2449},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":3008,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":3009,"contact":3010,"extension":3011,"proposal":2449},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":3013,"type":2775,"author":2716,"provisional":2449,"ratified":2793,"contact":3014,"extension":3015,"proposal":1981},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":3017,"type":2654,"author":2716,"provisional":2449,"depends":2671,"specialuse":2739,"contact":2854,"extension":3018,"proposal":1981},466,"VK_EXT_legacy_dithering",{"number":3020,"type":2654,"author":2716,"provisional":2449,"depends":3021,"ratified":2793,"specialuse":2739,"contact":2794,"extension":3022,"proposal":1981},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":3024,"type":2654,"author":2716,"promotedto":3025,"provisional":2449,"depends":2671,"specialuse":3026,"contact":2801,"extension":3027,"proposal":2449},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":3029,"type":2654,"author":2716,"promotedto":3030,"provisional":2449,"ratified":2793,"contact":2854,"extension":3031,"proposal":2449},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":3033,"type":2654,"author":2716,"provisional":2449,"depends":3034,"ratified":2793,"contact":3035,"extension":3036,"proposal":1981},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":3038,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3039,"proposal":2449},238,"VK_EXT_memory_budget",{"number":3041,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3042,"proposal":2449},239,"VK_EXT_memory_priority",{"number":3044,"type":2654,"author":2716,"provisional":2449,"depends":3045,"contact":3046,"extension":3047,"proposal":1981},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":3049,"type":2654,"author":2716,"provisional":2449,"platform":3050,"contact":3051,"extension":3052,"proposal":1981},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":3054,"type":2775,"author":2716,"provisional":2449,"depends":2888,"platform":3050,"contact":3055,"extension":3056,"proposal":2449},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":3058,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2794,"extension":3059,"proposal":2449},393,"VK_EXT_multi_draw",{"number":3061,"type":2654,"author":2716,"provisional":2449,"depends":3062,"contact":2854,"extension":3063,"proposal":1981},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":3065,"type":2654,"author":2716,"provisional":2449,"depends":3066,"specialuse":2846,"contact":3067,"extension":3068,"proposal":1981},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":3070,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2807,"extension":3071,"proposal":2449},452,"VK_EXT_nested_command_buffer",{"number":3073,"type":2654,"author":2716,"provisional":2449,"depends":2671,"specialuse":3074,"contact":3075,"extension":3076,"proposal":1981},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":3078,"type":2654,"author":2716,"provisional":2449,"depends":3079,"ratified":2793,"contact":3080,"extension":3081,"proposal":1981},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":3083,"type":2654,"author":2716,"provisional":2449,"depends":3042,"contact":2807,"extension":3084,"proposal":2449},413,"VK_EXT_pageable_device_local_memory",{"number":3086,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2819,"contact":2676,"extension":3087,"proposal":2449},213,"VK_EXT_pci_bus_info",{"number":3089,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":3090,"extension":3091,"proposal":2449},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":3093,"type":2654,"author":2655,"promotedto":2769,"provisional":2449,"depends":2671,"contact":3094,"extension":3095,"proposal":2449},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":3097,"type":2654,"author":2839,"promotedto":2769,"provisional":2449,"specialuse":2666,"contact":3098,"extension":3099,"proposal":2449},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":3101,"type":2654,"author":2716,"provisional":2449,"depends":3102,"contact":3103,"extension":3104,"proposal":1981},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":3106,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":3107,"extension":3108,"proposal":2449},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":3110,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":2854,"extension":3111,"proposal":1981},467,"VK_EXT_pipeline_protected_access",{"number":3113,"type":2654,"author":3114,"provisional":2449,"depends":2671,"contact":3115,"extension":3116,"proposal":2449},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":3118,"type":2654,"author":2781,"provisional":2449,"ratified":2793,"contact":3119,"extension":3120,"proposal":2449},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":3122,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2739,"contact":2854,"extension":3123,"proposal":2449},357,"VK_EXT_primitive_topology_list_restart",{"number":3125,"type":2654,"author":2716,"provisional":2449,"depends":3126,"specialuse":2739,"contact":2854,"extension":3127,"proposal":1981},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":3129,"type":2654,"author":2781,"promotedto":2769,"provisional":2449,"depends":2671,"contact":3130,"extension":3131,"proposal":2449},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":3133,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2739,"contact":3134,"extension":3135,"proposal":2449},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":3137,"type":2654,"author":2716,"provisional":2449,"depends":2918,"ratified":2819,"contact":2919,"extension":3138,"proposal":2449},127,"VK_EXT_queue_family_foreign",{"number":3140,"type":2654,"author":2748,"provisional":2449,"depends":2671,"contact":2750,"extension":2749,"proposal":1981},464,{"number":3142,"type":2654,"author":2716,"provisional":2449,"depends":3143,"contact":2750,"extension":3144,"proposal":2449},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":3146,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2819,"contact":2831,"extension":3147,"proposal":2449},287,"VK_EXT_robustness2",{"number":3149,"type":2654,"author":2655,"provisional":2449,"depends":2671,"ratified":2819,"contact":2667,"extension":3150,"proposal":2449},144,"VK_EXT_sample_locations",{"number":3152,"type":2654,"author":2781,"promotedto":2867,"provisional":2449,"depends":2671,"contact":2801,"extension":3153,"proposal":2449},131,"VK_EXT_sampler_filter_minmax",{"number":3155,"type":2654,"author":2716,"promotedto":2867,"provisional":2449,"depends":2671,"contact":2658,"extension":3156,"proposal":2449},222,"VK_EXT_scalar_block_layout",{"number":3158,"type":2654,"author":2716,"promotedto":2867,"provisional":2449,"contact":2667,"extension":3159,"proposal":2449},247,"VK_EXT_separate_stencil_usage",{"number":3161,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2819,"contact":2911,"extension":3162,"proposal":2449},261,"VK_EXT_shader_atomic_float",{"number":3164,"type":2654,"author":2716,"provisional":2449,"depends":3162,"ratified":2793,"contact":3035,"extension":3165,"proposal":2449},274,"VK_EXT_shader_atomic_float2",{"number":3167,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2801,"extension":3168,"proposal":2449},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":3170,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2658,"extension":3171,"proposal":2449},235,"VK_EXT_shader_image_atomic_int64",{"number":3173,"type":2654,"author":2716,"provisional":2449,"depends":3174,"contact":3103,"extension":3175,"proposal":1981},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":3177,"type":2654,"author":2716,"provisional":2449,"depends":2904,"ratified":2793,"contact":3178,"extension":3179,"proposal":1981},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":3181,"type":2654,"author":2716,"provisional":2449,"ratified":2793,"contact":2759,"extension":3182,"proposal":1981},565,"VK_EXT_shader_replicated_composites",{"number":3184,"type":2654,"author":2716,"provisional":2449,"ratified":2819,"contact":2682,"extension":3185,"proposal":2449},141,"VK_EXT_shader_stencil_export",{"number":3187,"type":2654,"author":2781,"deprecatedby":2867,"provisional":2449,"contact":3119,"extension":3188,"proposal":2449},65,"VK_EXT_shader_subgroup_ballot",{"number":3190,"type":2654,"author":2781,"deprecatedby":2765,"provisional":2449,"contact":3119,"extension":3191,"proposal":2449},66,"VK_EXT_shader_subgroup_vote",{"number":3193,"type":2654,"author":2716,"provisional":2449,"depends":2769,"ratified":2793,"contact":2750,"extension":3194,"proposal":1981},396,"VK_EXT_shader_tile_image",{"number":3196,"type":2654,"author":2781,"promotedto":2867,"provisional":2449,"contact":3119,"extension":3197,"proposal":2449},163,"VK_EXT_shader_viewport_index_layer",{"number":3199,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2765,"ratified":2770,"contact":3200,"extension":3201,"proposal":2449},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":3203,"type":2654,"author":2716,"provisional":2449,"depends":2671,"contact":3204,"extension":3205,"proposal":1981},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":3207,"type":2775,"author":2716,"provisional":2449,"depends":3208,"contact":2854,"extension":3209,"proposal":1981},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":3211,"type":2775,"author":2839,"provisional":2449,"depends":2888,"contact":2840,"extension":3212,"proposal":2449},105,"VK_EXT_swapchain_colorspace",{"number":3214,"type":2654,"author":2716,"provisional":2449,"depends":3215,"contact":2854,"extension":3216,"proposal":1981},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":3218,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2801,"extension":3219,"proposal":2449},282,"VK_EXT_texel_buffer_alignment",{"number":3221,"type":2654,"author":2748,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2770,"contact":2750,"extension":3222,"proposal":2449},67,"VK_EXT_texture_compression_astc_hdr",{"number":3224,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"contact":2658,"extension":3225,"proposal":2449},246,"VK_EXT_tooling_info",{"number":2542,"type":2654,"author":2781,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":3227,"contact":2807,"extension":3126,"proposal":2449},"glemulation,d3demulation,devtools",{"number":3229,"type":2654,"author":2839,"provisional":2449,"contact":3230,"extension":3231,"proposal":2449},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":3233,"type":2775,"author":3234,"deprecatedby":3015,"provisional":2449,"specialuse":2623,"contact":3235,"extension":3236,"proposal":2449},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":3238,"type":2775,"author":2839,"deprecatedby":3015,"provisional":2449,"specialuse":2623,"contact":3239,"extension":3240,"proposal":2449},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":3242,"type":2654,"author":2781,"promotedto":3243,"provisional":2449,"depends":2671,"contact":2824,"extension":3244,"proposal":2449},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":3246,"type":2654,"author":2716,"provisional":2449,"depends":2671,"ratified":2793,"contact":2807,"extension":3021,"proposal":2449},353,{"number":3248,"type":2654,"author":2716,"promotedto":2769,"provisional":2449,"depends":3143,"ratified":2770,"contact":3249,"extension":3250,"proposal":2449},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":3252,"type":2654,"author":2716,"provisional":2449,"depends":3143,"ratified":2819,"contact":2807,"extension":3253,"proposal":2449},253,"VK_EXT_ycbcr_image_arrays",{"number":3255,"type":2654,"author":3256,"provisional":2449,"depends":3257,"platform":3258,"contact":3259,"extension":3260,"proposal":2449},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":3262,"type":2654,"author":3256,"provisional":2449,"depends":3263,"platform":3258,"contact":3259,"extension":3264,"proposal":2449},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":3266,"type":2654,"author":3256,"provisional":2449,"depends":3267,"platform":3258,"contact":3259,"extension":3268,"proposal":2449},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":3270,"type":2775,"author":3256,"provisional":2449,"depends":2888,"platform":3258,"contact":3271,"extension":3272,"proposal":2449},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":3274,"type":2654,"author":3275,"provisional":2449,"depends":3276,"platform":3277,"contact":3098,"extension":3278,"proposal":2449},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":3280,"type":2775,"author":3275,"provisional":2449,"depends":2888,"platform":3277,"contact":3098,"extension":3281,"proposal":2449},50,"VK_GGP_stream_descriptor_surface",{"number":3283,"type":2654,"author":2839,"provisional":2449,"contact":3284,"extension":3285,"proposal":2449},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":3287,"type":2654,"author":2839,"provisional":2449,"depends":2966,"contact":3288,"extension":3289,"proposal":2449},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":3291,"type":2654,"author":2839,"provisional":2449,"contact":3284,"extension":3292,"proposal":2449},224,"VK_GOOGLE_hlsl_functionality1",{"number":3294,"type":2775,"author":2839,"provisional":2449,"depends":2888,"specialuse":2739,"contact":2854,"extension":3295,"proposal":1981},434,"VK_GOOGLE_surfaceless_query",{"number":3297,"type":2654,"author":2839,"provisional":2449,"contact":3298,"extension":3299,"proposal":2449},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":3301,"type":2654,"author":3302,"provisional":2449,"depends":2671,"contact":3303,"extension":3304,"proposal":1981},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":3306,"type":2654,"author":3307,"provisional":2449,"depends":3308,"contact":3309,"extension":3310,"proposal":1981},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":3312,"type":2654,"author":3302,"provisional":2449,"depends":3313,"contact":3309,"extension":3314,"proposal":2449},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":1500,"type":2654,"author":3114,"provisional":2449,"contact":2658,"extension":3316,"proposal":2449},"VK_IMG_filter_cubic",{"number":3318,"type":2654,"author":3114,"deprecatedby":3319,"provisional":2449,"contact":3320,"extension":3321,"proposal":2449},55,null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":3323,"type":2654,"author":3114,"provisional":2449,"depends":2671,"specialuse":2739,"contact":2944,"extension":3324,"proposal":2449},111,"VK_IMG_relaxed_line_rasterization",{"number":3326,"type":2654,"author":3327,"provisional":2449,"specialuse":2666,"contact":3328,"extension":3329,"proposal":2449},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":3331,"type":2654,"author":3327,"provisional":2449,"depends":2671,"contact":3332,"extension":3333,"proposal":2449},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":3335,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3337,"ratified":2793,"contact":2750,"extension":3338,"proposal":2449},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":3340,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3337,"ratified":2793,"contact":3341,"extension":3342,"proposal":2449},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":3344,"type":2654,"author":3336,"provisional":2449,"depends":3345,"ratified":2793,"contact":3119,"extension":3346,"proposal":2449},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":1429,"type":2775,"author":3336,"provisional":2449,"depends":2888,"platform":2738,"ratified":2793,"contact":2745,"extension":3348,"proposal":2449},"VK_KHR_android_surface",{"number":3350,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":2658,"extension":3351,"proposal":2449},158,"VK_KHR_bind_memory2",{"number":3353,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3354,"ratified":2793,"contact":2801,"extension":2811,"proposal":2449},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":3356,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":3010,"extension":2815,"proposal":2449},544,{"number":3358,"type":2654,"author":3336,"provisional":2449,"depends":3359,"ratified":2793,"contact":3360,"extension":3361,"proposal":1981},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":3363,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"contact":2759,"extension":3364,"proposal":1981},507,"VK_KHR_cooperative_matrix",{"number":3366,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2819,"contact":2931,"extension":3367,"proposal":2449},338,"VK_KHR_copy_commands2",{"number":3369,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3370,"ratified":2793,"contact":3371,"extension":3372,"proposal":2449},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":3374,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3375,"ratified":2793,"contact":2783,"extension":3376,"proposal":2449},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":3378,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":3379,"extension":3380,"proposal":2449},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":3382,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3383,"ratified":2793,"contact":3384,"extension":3385,"proposal":2449},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":3387,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3388,"extension":3389,"proposal":2449},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":3391,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3392,"ratified":2793,"contact":2801,"extension":3393,"proposal":2449},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":3395,"type":2775,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":2801,"extension":3392,"proposal":2449},71,{"number":134,"type":2775,"author":3336,"provisional":2449,"depends":2888,"ratified":2819,"contact":3397,"extension":2885,"proposal":2449},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":153,"type":2654,"author":3336,"provisional":2449,"depends":3399,"ratified":2819,"contact":2783,"extension":3400,"proposal":2449},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":3402,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"ratified":2793,"contact":2807,"extension":2679,"proposal":2449},170,{"number":3404,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":2667,"extension":3405,"proposal":2449},197,"VK_KHR_driver_properties",{"number":2606,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":3407,"ratified":2793,"contact":2658,"extension":3408,"proposal":1981},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":3410,"type":2654,"author":2655,"provisional":2449,"depends":3411,"ratified":2793,"contact":2658,"extension":3412,"proposal":1981},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":3414,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3415,"ratified":2793,"contact":2745,"extension":3416,"proposal":2449},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":3418,"type":2775,"author":3336,"promotedto":2765,"provisional":2449,"depends":2671,"ratified":2793,"contact":2745,"extension":3415,"proposal":2449},113,{"number":3420,"type":2654,"author":3336,"provisional":2449,"depends":3421,"ratified":2819,"contact":2745,"extension":3422,"proposal":2449},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":3424,"type":2654,"author":3336,"provisional":2449,"depends":3416,"platform":2949,"ratified":2793,"contact":2745,"extension":3425,"proposal":2449},115,"VK_KHR_external_fence_win32",{"number":3427,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3428,"ratified":2793,"contact":2783,"extension":3429,"proposal":2449},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":3431,"type":2775,"author":3336,"promotedto":2765,"provisional":2449,"depends":2671,"ratified":2793,"contact":2783,"extension":3432,"proposal":2449},72,"VK_KHR_external_memory_capabilities",{"number":3434,"type":2654,"author":3336,"provisional":2449,"depends":2918,"ratified":2819,"contact":2783,"extension":2923,"proposal":2449},75,{"number":3436,"type":2654,"author":3336,"provisional":2449,"depends":2918,"platform":2949,"ratified":2793,"contact":2783,"extension":3437,"proposal":2449},74,"VK_KHR_external_memory_win32",{"number":3439,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3440,"ratified":2793,"contact":2783,"extension":3441,"proposal":2449},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":3443,"type":2775,"author":3336,"promotedto":2765,"provisional":2449,"depends":2671,"ratified":2793,"contact":2783,"extension":3440,"proposal":2449},77,{"number":3445,"type":2654,"author":3336,"provisional":2449,"depends":3446,"ratified":2819,"contact":2783,"extension":3447,"proposal":2449},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":3449,"type":2654,"author":3336,"provisional":2449,"depends":3441,"platform":2949,"ratified":2793,"contact":2783,"extension":3450,"proposal":2449},79,"VK_KHR_external_semaphore_win32",{"number":3452,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2793,"contact":3328,"extension":3453,"proposal":2449},361,"VK_KHR_format_feature_flags2",{"number":3455,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"contact":2662,"extension":3456,"proposal":1981},323,"VK_KHR_fragment_shader_barycentric",{"number":3458,"type":2654,"author":3336,"provisional":2449,"depends":3459,"ratified":2819,"contact":2658,"extension":3460,"proposal":1981},227,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_create_renderpass2),VK_VERSION_1_2","VK_KHR_fragment_shading_rate",{"number":3462,"type":2775,"author":3336,"provisional":2449,"depends":2885,"ratified":2819,"contact":2783,"extension":3463,"proposal":2449},122,"VK_KHR_get_display_properties2",{"number":3465,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3035,"extension":3466,"proposal":2449},147,"VK_KHR_get_memory_requirements2",{"number":3468,"type":2775,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":2801,"extension":3359,"proposal":2449},60,{"number":3470,"type":2775,"author":3336,"provisional":2449,"depends":2888,"ratified":2819,"contact":2783,"extension":3471,"proposal":2449},120,"VK_KHR_get_surface_capabilities2",{"number":3473,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":2658,"extension":2953,"proposal":2449},189,{"number":3475,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"ratified":2793,"contact":3035,"extension":3476,"proposal":2449},148,"VK_KHR_image_format_list",{"number":3478,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3479,"ratified":2793,"contact":3371,"extension":3480,"proposal":2449},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":3482,"type":2654,"author":3336,"provisional":2449,"depends":2966,"ratified":2819,"contact":3288,"extension":3483,"proposal":2449},85,"VK_KHR_incremental_present",{"number":3485,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":2807,"extension":3005,"proposal":2449},534,{"number":3487,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":2807,"extension":3025,"proposal":2449},535,{"number":3489,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":2854,"extension":3030,"proposal":1981},527,{"number":3491,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":2807,"extension":2699,"proposal":2449},70,{"number":3493,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3494,"extension":3495,"proposal":2449},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":3497,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3066,"proposal":2449},169,{"number":3499,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2765,"ratified":2793,"contact":2807,"extension":3500,"proposal":2449},414,"VK_KHR_maintenance4",{"number":3502,"type":2654,"author":3336,"provisional":2449,"depends":3503,"ratified":2793,"contact":3504,"extension":3505,"proposal":1981},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":3507,"type":2654,"author":3336,"provisional":2449,"depends":2765,"ratified":2793,"contact":3508,"extension":3509,"proposal":1981},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":3511,"type":2654,"author":3336,"provisional":2449,"depends":2765,"ratified":2793,"contact":2794,"extension":3512,"proposal":1981},563,"VK_KHR_maintenance7",{"number":3514,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":3035,"extension":3034,"proposal":1981},272,{"number":3516,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3517,"proposal":2449},54,"VK_KHR_multiview",{"extension":3519,"proposal":2449},"VK_KHR_object_refresh",{"number":3521,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"specialuse":2666,"contact":3522,"extension":3523,"proposal":2449},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":3525,"type":2654,"author":3336,"provisional":2449,"depends":3505,"ratified":2793,"contact":3504,"extension":3526,"proposal":1981},484,"VK_KHR_pipeline_binary",{"number":3528,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"specialuse":2666,"contact":3035,"extension":3529,"proposal":2449},270,"VK_KHR_pipeline_executable_properties",{"number":3531,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":3046,"extension":3532,"proposal":2449},291,"VK_KHR_pipeline_library",{"number":3534,"type":2775,"author":3336,"provisional":2449,"ratified":2793,"contact":3535,"extension":3536,"proposal":2449},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":3538,"type":2654,"author":3336,"provisional":1981,"depends":2671,"platform":2657,"ratified":2793,"contact":3051,"extension":3539,"proposal":2449},164,"VK_KHR_portability_subset",{"number":3541,"type":2654,"author":3336,"provisional":2449,"depends":3542,"ratified":2793,"contact":3543,"extension":3544,"proposal":2449},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":3546,"type":2654,"author":3336,"provisional":2449,"depends":3547,"ratified":2793,"contact":3543,"extension":3548,"proposal":2449},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":3550,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3551,"proposal":2449},81,"VK_KHR_push_descriptor",{"number":3553,"type":2654,"author":3336,"provisional":2449,"depends":3554,"ratified":2793,"contact":3119,"extension":3555,"proposal":2449},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":3557,"type":2654,"author":3336,"provisional":2449,"depends":3346,"ratified":2793,"contact":3119,"extension":3558,"proposal":2449},387,"VK_KHR_ray_tracing_maintenance1",{"number":3560,"type":2654,"author":3336,"provisional":2449,"depends":3554,"ratified":2793,"contact":3119,"extension":3561,"proposal":2449},348,"VK_KHR_ray_tracing_pipeline",{"number":3563,"type":2654,"author":3336,"provisional":2449,"depends":3346,"ratified":2793,"contact":3564,"extension":3565,"proposal":1981},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":3567,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3568,"extension":3569,"proposal":2449},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":1491,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"ratified":2793,"contact":2658,"extension":3571,"proposal":2449},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":3573,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3574,"ratified":2793,"contact":3575,"extension":3576,"proposal":2449},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":3578,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3459,"ratified":2793,"contact":2807,"extension":3579,"proposal":2449},242,"VK_KHR_separate_depth_stencil_layouts",{"number":3581,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":3582,"extension":3583,"proposal":2449},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":3585,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":3582,"extension":3586,"proposal":2449},182,"VK_KHR_shader_clock",{"number":3588,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3119,"extension":3589,"proposal":2449},64,"VK_KHR_shader_draw_parameters",{"number":3591,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"contact":2759,"extension":3592,"proposal":1981},545,"VK_KHR_shader_expect_assume",{"number":3594,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":3341,"extension":2685,"proposal":2449},83,{"number":3596,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":3341,"extension":3597,"proposal":2449},198,"VK_KHR_shader_float_controls",{"number":3599,"type":2654,"author":3336,"provisional":2449,"depends":3600,"ratified":2793,"contact":2850,"extension":3601,"proposal":1981},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":3603,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2793,"contact":2759,"extension":3604,"proposal":1981},281,"VK_KHR_shader_integer_dot_product",{"number":3606,"type":2654,"author":3336,"provisional":2449,"depends":2765,"ratified":2793,"contact":3607,"extension":3608,"proposal":1981},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":3610,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"ratified":2793,"contact":2836,"extension":3611,"proposal":2449},294,"VK_KHR_shader_non_semantic_info",{"number":3613,"type":2654,"author":3336,"provisional":2449,"depends":3614,"ratified":2793,"contact":2658,"extension":3615,"proposal":1981},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":3617,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":3618,"extension":3619,"proposal":1981},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":3621,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2765,"ratified":2793,"contact":3200,"extension":3622,"proposal":2449},176,"VK_KHR_shader_subgroup_extended_types",{"number":3624,"type":2654,"author":3336,"provisional":2449,"ratified":2793,"contact":2759,"extension":3625,"proposal":1981},417,"VK_KHR_shader_subgroup_rotate",{"number":3627,"type":2654,"author":3336,"provisional":2449,"depends":2765,"ratified":2793,"contact":3607,"extension":3628,"proposal":2449},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":3630,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2819,"contact":2745,"extension":3631,"proposal":2449},216,"VK_KHR_shader_terminate_invocation",{"number":3633,"type":2654,"author":3336,"provisional":2449,"depends":3634,"ratified":2819,"contact":3522,"extension":3635,"proposal":2449},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":3637,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":3600,"ratified":2793,"contact":2745,"extension":3045,"proposal":2449},237,{"number":3639,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"ratified":2793,"contact":3341,"extension":3640,"proposal":2449},132,"VK_KHR_storage_buffer_storage_class",{"number":104,"type":2775,"author":3336,"provisional":2449,"ratified":2819,"contact":3642,"extension":2888,"proposal":2449},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":3644,"type":2775,"author":3336,"provisional":2449,"depends":3645,"ratified":2793,"contact":3646,"extension":3647,"proposal":2449},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":125,"type":2654,"author":3336,"provisional":2449,"depends":2888,"ratified":2819,"contact":3642,"extension":2966,"proposal":2449},{"number":3650,"type":2654,"author":3336,"provisional":2449,"depends":3651,"ratified":2819,"contact":2667,"extension":3652,"proposal":2449},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":3654,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2819,"contact":2658,"extension":3655,"proposal":2449},315,"VK_KHR_synchronization2",{"number":3657,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":3035,"extension":3658,"proposal":2449},208,"VK_KHR_timeline_semaphore",{"number":3660,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":2850,"extension":3661,"proposal":2449},254,"VK_KHR_uniform_buffer_standard_layout",{"number":3663,"type":2654,"author":3336,"promotedto":2765,"provisional":2449,"depends":3337,"ratified":2793,"contact":2745,"extension":3664,"proposal":2449},121,"VK_KHR_variable_pointers",{"number":3666,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2819,"contact":2854,"extension":3243,"proposal":1981},526,{"number":3668,"type":2654,"author":3336,"provisional":2449,"depends":3669,"ratified":2793,"contact":3010,"extension":3670,"proposal":1981},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":2590,"type":2654,"author":3336,"provisional":2449,"depends":3669,"ratified":2793,"contact":3672,"extension":3673,"proposal":1981},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":3675,"type":2654,"author":3336,"provisional":2449,"depends":3669,"ratified":2793,"contact":3672,"extension":3676,"proposal":1981},188,"VK_KHR_video_decode_h265",{"number":2526,"type":2654,"author":3336,"provisional":2449,"depends":3678,"ratified":2793,"contact":3679,"extension":3669,"proposal":1981},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":2582,"type":2654,"author":3336,"provisional":2449,"depends":3681,"ratified":2793,"contact":3682,"extension":3683,"proposal":1981},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":2586,"type":2654,"author":3336,"provisional":2449,"depends":3681,"ratified":2793,"contact":3682,"extension":3685,"proposal":1981},"VK_KHR_video_encode_h265",{"number":3687,"type":2654,"author":3336,"provisional":2449,"depends":3678,"ratified":2793,"contact":3682,"extension":3681,"proposal":1981},300,{"number":3689,"type":2654,"author":3336,"provisional":2449,"depends":3690,"ratified":2793,"contact":3010,"extension":3691,"proposal":1981},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":2522,"type":2654,"author":3336,"provisional":2449,"depends":3693,"ratified":2793,"contact":3249,"extension":3690,"proposal":1981},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":3695,"type":2654,"author":3336,"promotedto":2867,"provisional":2449,"depends":2671,"ratified":2793,"contact":2801,"extension":3696,"proposal":2449},212,"VK_KHR_vulkan_memory_model",{"number":468,"type":2775,"author":3336,"provisional":2449,"depends":2888,"platform":3698,"ratified":2793,"contact":3699,"extension":3700,"proposal":2449},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":3702,"type":2654,"author":3336,"provisional":2449,"depends":3437,"platform":2949,"ratified":2793,"contact":3703,"extension":3704,"proposal":2449},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":1438,"type":2775,"author":3336,"provisional":2449,"depends":2888,"platform":2949,"ratified":2793,"contact":3699,"extension":3706,"proposal":2449},"VK_KHR_win32_surface",{"number":3708,"type":2654,"author":3336,"provisional":2449,"depends":2671,"ratified":2793,"contact":3709,"extension":3710,"proposal":2449},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":193,"type":2775,"author":3336,"provisional":2449,"depends":2888,"platform":3712,"ratified":2793,"contact":3699,"extension":3713,"proposal":2449},"xcb","VK_KHR_xcb_surface",{"number":162,"type":2775,"author":3336,"provisional":2449,"depends":2888,"platform":3715,"ratified":2793,"contact":3699,"extension":3716,"proposal":2449},"xlib","VK_KHR_xlib_surface",{"number":3718,"type":2654,"author":3336,"promotedto":2769,"provisional":2449,"depends":2671,"ratified":2793,"contact":3607,"extension":3719,"proposal":2449},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":3721,"type":2775,"author":3234,"provisional":2449,"contact":3535,"extension":3722,"proposal":1981},460,"VK_LUNARG_direct_driver_loading",{"number":3724,"type":2654,"author":3725,"provisional":2449,"depends":2671,"specialuse":2846,"contact":3103,"extension":3726,"proposal":2449},576,"MESA","VK_MESA_image_alignment_control",{"number":3728,"type":2654,"author":3729,"provisional":2449,"depends":2671,"contact":3730,"extension":3731,"proposal":1981},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":3733,"type":2775,"author":3734,"deprecatedby":3056,"provisional":2449,"depends":2888,"platform":3735,"contact":3051,"extension":3736,"proposal":2449},123,"MVK","ios","VK_MVK_ios_surface",{"number":3738,"type":2775,"author":3734,"deprecatedby":3056,"provisional":2449,"depends":2888,"platform":3739,"contact":3051,"extension":3740,"proposal":2449},124,"macos","VK_MVK_macos_surface",{"number":3742,"type":2775,"author":3743,"provisional":2449,"depends":2888,"platform":3744,"contact":3745,"extension":3746,"proposal":2449},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":2546,"type":2654,"author":3748,"provisional":2449,"contact":3749,"extension":3750,"proposal":2449},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":2550,"type":2654,"author":3748,"provisional":2449,"contact":3752,"extension":3753,"proposal":2449},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":3755,"type":2654,"author":3748,"provisional":2449,"depends":3756,"contact":2801,"extension":3757,"proposal":2449},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":3759,"type":2654,"author":2781,"provisional":2449,"depends":2776,"platform":2949,"contact":3760,"extension":3761,"proposal":2449},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":3763,"type":2654,"author":2781,"provisional":2449,"contact":3752,"extension":3764,"proposal":2449},88,"VK_NV_clip_space_w_scaling",{"number":3766,"type":2654,"author":2781,"provisional":2449,"contact":3767,"extension":3768,"proposal":2449},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":3770,"type":2654,"author":2781,"promotedto":3361,"provisional":2449,"depends":2671,"contact":3771,"extension":3772,"proposal":2449},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":3774,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":2801,"extension":3775,"proposal":2449},250,"VK_NV_cooperative_matrix",{"number":3777,"type":2654,"author":2781,"provisional":2449,"depends":3778,"contact":2911,"extension":3779,"proposal":2449},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":3781,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3119,"extension":3782,"proposal":2449},51,"VK_NV_corner_sampled_image",{"number":3784,"type":2654,"author":2781,"provisional":2449,"depends":3785,"contact":3786,"extension":3787,"proposal":2449},251,"VK_NV_framebuffer_mixed_samples+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Kedarnath Thangudu @kthangudu","VK_NV_coverage_reduction_mode",{"number":3789,"type":2654,"author":2781,"provisional":1981,"contact":3790,"extension":3791,"proposal":2449},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":2534,"type":2654,"author":2781,"deprecatedby":3376,"provisional":2449,"contact":2801,"extension":3793,"proposal":2449},"VK_NV_dedicated_allocation",{"number":3795,"type":2654,"author":3796,"provisional":2449,"depends":3797,"contact":3798,"extension":3799,"proposal":2449},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":3801,"type":2654,"author":2781,"provisional":2449,"depends":2765,"contact":2807,"extension":3802,"proposal":2449},547,"VK_NV_descriptor_pool_overallocation",{"number":3804,"type":2654,"author":3796,"provisional":2449,"depends":2671,"contact":3798,"extension":3805,"proposal":2449},207,"VK_NV_device_diagnostic_checkpoints",{"number":3807,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3786,"extension":3808,"proposal":2449},301,"VK_NV_device_diagnostics_config",{"number":3810,"type":2654,"author":2781,"provisional":2449,"depends":3811,"contact":3046,"extension":3812,"proposal":2449},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":3814,"type":2654,"author":2781,"provisional":2449,"depends":3812,"contact":2911,"extension":3815,"proposal":2449},429,"VK_NV_device_generated_commands_compute",{"number":3817,"type":2654,"author":2781,"provisional":1981,"depends":3081,"platform":2657,"contact":3818,"extension":3819,"proposal":2449},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":3821,"type":2654,"author":2781,"provisional":2449,"contact":3822,"extension":3823,"proposal":2449},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":3825,"type":2654,"author":2781,"deprecatedby":3429,"provisional":2449,"depends":3826,"contact":2783,"extension":3827,"proposal":2449},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":3829,"type":2775,"author":2781,"deprecatedby":3432,"provisional":2449,"contact":2783,"extension":3826,"proposal":2449},56,{"number":3831,"type":2654,"author":2781,"provisional":2449,"depends":2918,"contact":3703,"extension":3832,"proposal":2449},372,"VK_NV_external_memory_rdma",{"extension":3834,"proposal":2449},"VK_NV_external_memory_sci_buf",{"number":3836,"type":2654,"author":2781,"deprecatedby":3437,"provisional":2449,"depends":3827,"platform":2949,"contact":2783,"extension":3837,"proposal":2449},58,"VK_NV_external_memory_win32",{"extension":3839,"proposal":2449},"VK_NV_external_sci_sync",{"extension":3841,"proposal":2449},"VK_NV_external_sci_sync2",{"number":3843,"type":2654,"author":2781,"provisional":2449,"contact":2801,"extension":3844,"proposal":2449},154,"VK_NV_fill_rectangle",{"number":3846,"type":2654,"author":2781,"provisional":2449,"contact":2801,"extension":3847,"proposal":2449},150,"VK_NV_fragment_coverage_to_color",{"number":3849,"type":2654,"author":2781,"promotedto":3456,"provisional":2449,"depends":2671,"contact":3771,"extension":3850,"proposal":2449},204,"VK_NV_fragment_shader_barycentric",{"number":3852,"type":2654,"author":2781,"provisional":2449,"depends":3460,"contact":3771,"extension":3853,"proposal":2449},327,"VK_NV_fragment_shading_rate_enums",{"number":3855,"type":2654,"author":2781,"provisional":2449,"contact":2801,"extension":3856,"proposal":2449},153,"VK_NV_framebuffer_mixed_samples",{"number":3858,"type":2654,"author":2781,"provisional":2449,"contact":3119,"extension":3859,"proposal":2449},96,"VK_NV_geometry_shader_passthrough",{"number":1473,"type":2654,"author":2781,"deprecatedby":3319,"provisional":2449,"contact":2807,"extension":3861,"proposal":2449},"VK_NV_glsl_shader",{"number":3863,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3864,"extension":3865,"proposal":2449},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":3867,"type":2654,"author":3796,"provisional":2449,"depends":2671,"contact":3868,"extension":3869,"proposal":2449},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":3871,"type":2654,"author":2781,"provisional":2449,"contact":3872,"extension":3873,"proposal":2449},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":3875,"type":2654,"author":2781,"provisional":2449,"depends":3876,"contact":3872,"extension":3877,"proposal":2449},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":3879,"type":2654,"author":2781,"provisional":2449,"depends":3778,"contact":2911,"extension":3880,"proposal":2449},428,"VK_NV_memory_decompression",{"number":3882,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3046,"extension":3883,"proposal":2449},203,"VK_NV_mesh_shader",{"number":3885,"type":2654,"author":2781,"provisional":2449,"depends":3886,"contact":3703,"extension":3887,"proposal":2449},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":3889,"type":2654,"author":2781,"provisional":2449,"depends":3509,"contact":2807,"extension":3890,"proposal":2449},517,"VK_NV_per_stage_descriptor_set",{"number":3892,"type":2654,"author":2781,"provisional":2449,"depends":2948,"contact":3893,"extension":3894,"proposal":2449},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":3896,"proposal":2449},"VK_NV_private_vendor_info",{"number":3898,"type":2654,"author":2781,"provisional":2449,"contact":3899,"extension":3900,"proposal":2449},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":3902,"type":2654,"author":2781,"deprecatedby":3561,"provisional":2449,"depends":3903,"contact":3752,"extension":3904,"proposal":2449},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":3906,"type":2654,"author":2781,"provisional":2449,"depends":3561,"contact":3752,"extension":3907,"proposal":2449},491,"VK_NV_ray_tracing_invocation_reorder",{"number":3909,"type":2654,"author":2781,"provisional":2449,"depends":3561,"contact":3564,"extension":3910,"proposal":2449},328,"VK_NV_ray_tracing_motion_blur",{"number":3912,"type":2654,"author":2781,"provisional":2449,"contact":2911,"extension":3913,"proposal":1981},569,"VK_NV_ray_tracing_validation",{"number":3915,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3786,"extension":3916,"proposal":2449},167,"VK_NV_representative_fragment_test",{"number":3918,"type":2654,"author":2781,"provisional":2449,"contact":2807,"extension":3919,"proposal":2449},95,"VK_NV_sample_mask_override_coverage",{"number":3921,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3771,"extension":3922,"proposal":2449},206,"VK_NV_scissor_exclusive",{"number":3924,"type":2654,"author":2781,"provisional":2449,"contact":2801,"extension":3925,"proposal":2449},564,"VK_NV_shader_atomic_float16_vector",{"number":3927,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3771,"extension":3928,"proposal":2449},205,"VK_NV_shader_image_footprint",{"number":3930,"type":2654,"author":2781,"provisional":2449,"depends":2765,"contact":3119,"extension":3931,"proposal":2449},155,"VK_NV_shader_sm_builtins",{"number":3933,"type":2654,"author":2781,"provisional":2449,"depends":2765,"contact":2801,"extension":3934,"proposal":2449},199,"VK_NV_shader_subgroup_partitioned",{"number":3936,"type":2654,"author":2781,"provisional":2449,"depends":2671,"contact":3771,"extension":3937,"proposal":2449},165,"VK_NV_shading_rate_image",{"number":3939,"type":2654,"author":2781,"provisional":2449,"contact":3119,"extension":3940,"proposal":2449},97,"VK_NV_viewport_array2",{"number":3942,"type":2654,"author":2781,"provisional":2449,"contact":2807,"extension":3943,"proposal":2449},99,"VK_NV_viewport_swizzle",{"number":3945,"type":2654,"author":2781,"promotedto":3704,"provisional":2449,"depends":3837,"platform":2949,"contact":3703,"extension":3946,"proposal":2449},59,"VK_NV_win32_keyed_mutex",{"number":3948,"type":2654,"author":2930,"provisional":2449,"depends":3949,"contact":2931,"extension":3950,"proposal":2449},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":3952,"type":2654,"author":2930,"provisional":2449,"depends":2932,"contact":2931,"extension":3953,"proposal":2449},520,"VK_QCOM_filter_cubic_weights",{"number":3955,"type":2654,"author":2930,"provisional":2449,"depends":3956,"contact":2931,"extension":3957,"proposal":2449},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":3959,"type":2654,"author":2930,"provisional":2449,"depends":3960,"contact":2931,"extension":3961,"proposal":1981},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":3963,"type":2654,"author":2930,"provisional":2449,"depends":3961,"contact":2931,"extension":3964,"proposal":2449},519,"VK_QCOM_image_processing2",{"number":3966,"type":2654,"author":2930,"provisional":2449,"contact":2931,"extension":3967,"proposal":2449},511,"VK_QCOM_multiview_per_view_render_areas",{"number":3969,"type":2654,"author":2930,"provisional":2449,"depends":2671,"contact":2931,"extension":3970,"proposal":2449},489,"VK_QCOM_multiview_per_view_viewports",{"number":3972,"type":2654,"author":2930,"provisional":2449,"contact":2931,"extension":3973,"proposal":2449},172,"VK_QCOM_render_pass_shader_resolve",{"number":3975,"type":2654,"author":2930,"provisional":2449,"contact":2931,"extension":3976,"proposal":2449},302,"VK_QCOM_render_pass_store_ops",{"number":3978,"type":2654,"author":2930,"provisional":2449,"contact":2931,"extension":3979,"proposal":2449},283,"VK_QCOM_render_pass_transform",{"number":3981,"type":2654,"author":2930,"provisional":2449,"depends":3982,"contact":2931,"extension":3983,"proposal":2449},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":3985,"type":2654,"author":2930,"provisional":2449,"depends":2671,"contact":2931,"extension":3986,"proposal":1981},485,"VK_QCOM_tile_properties",{"number":3988,"type":2654,"author":2930,"provisional":2449,"contact":2931,"extension":3989,"proposal":2449},521,"VK_QCOM_ycbcr_degamma",{"number":3991,"type":2654,"author":3992,"provisional":2449,"depends":2744,"platform":3993,"contact":3994,"extension":3995,"proposal":2449},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":3997,"type":2775,"author":3992,"provisional":2449,"depends":2888,"platform":3993,"contact":3998,"extension":3999,"proposal":2449},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":4001,"type":2654,"author":4002,"provisional":2449,"depends":2671,"contact":2874,"extension":4003,"proposal":2449},486,"SEC","VK_SEC_amigo_profiling",{"number":4005,"type":2654,"author":4006,"provisional":2449,"depends":2671,"specialuse":2846,"contact":3103,"extension":4007,"proposal":2449},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":4009,"type":2654,"author":4006,"promotedto":3068,"provisional":2449,"depends":3066,"specialuse":2846,"contact":3067,"extension":4010,"proposal":2449},352,"VK_VALVE_mutable_descriptor_type",1725732667468]