[{"data":1,"prerenderedAt":3719},["ShallowReactive",2],{"W27c8icXUs":3,"VyF3Mmj32r":2141,"N9m89Rcq0G":2368},{"title":4,"description":5,"number":6,"type":7,"author":8,"provisional":9,"depends":10,"ratified":11,"contact":12,"extension":4,"proposal":9,"body":13,"_type":2140,"_id":4},"VK_EXT_image_drm_format_modifier","",159,"device","EXT",false,"(((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","vulkan","Lina Versace @versalinyaa",{"type":14,"children":15,"toc":2123},"root",[16,24,31,42,48,57,62,71,116,122,134,156,162,246,263,289,339,463,469,517,534,545,551,556,963,969,990,1020,1037,1056,1109,1115,1125,1131,1222,1242,1275,1281,1457,1471,1495,1501,1514,1519,1535,1600,1618,1622,1654,1681,1686,1763,1768,1843,1848,1866,1913,1947,1980,1987,2077,2083],{"type":17,"tag":18,"props":19,"children":21},"element","h1",{"id":20},"_vk_ext_image_drm_format_modifier",[22],{"type":23,"value":4},"text",{"type":17,"tag":25,"props":26,"children":28},"h2",{"id":27},"_other_extension_metadata",[29],{"type":23,"value":30},"Other Extension Metadata",{"type":17,"tag":32,"props":33,"children":35},"h6",{"id":34},"last-modified-date",[36],{"type":17,"tag":37,"props":38,"children":39},"em",{},[40],{"type":23,"value":41},"Last Modified Date",{"type":17,"tag":43,"props":44,"children":45},"p",{},[46],{"type":23,"value":47},"2021-09-30",{"type":17,"tag":32,"props":49,"children":51},{"id":50},"ip-status",[52],{"type":17,"tag":37,"props":53,"children":54},{},[55],{"type":23,"value":56},"IP Status",{"type":17,"tag":43,"props":58,"children":59},{},[60],{"type":23,"value":61},"No known IP claims.",{"type":17,"tag":32,"props":63,"children":65},{"id":64},"contributors",[66],{"type":17,"tag":37,"props":67,"children":68},{},[69],{"type":23,"value":70},"Contributors",{"type":17,"tag":72,"props":73,"children":74},"ul",{},[75,81,86,91,96,101,106,111],{"type":17,"tag":76,"props":77,"children":78},"li",{},[79],{"type":23,"value":80},"Antoine Labour, Google",{"type":17,"tag":76,"props":82,"children":83},{},[84],{"type":23,"value":85},"Bas Nieuwenhuizen, Google",{"type":17,"tag":76,"props":87,"children":88},{},[89],{"type":23,"value":90},"Lina Versace, Google",{"type":17,"tag":76,"props":92,"children":93},{},[94],{"type":23,"value":95},"James Jones, NVIDIA",{"type":17,"tag":76,"props":97,"children":98},{},[99],{"type":23,"value":100},"Faith Ekstrand, Intel",{"type":17,"tag":76,"props":102,"children":103},{},[104],{"type":23,"value":105},"Jőrg Wagner, ARM",{"type":17,"tag":76,"props":107,"children":108},{},[109],{"type":23,"value":110},"Kristian Høgsberg Kristensen, Google",{"type":17,"tag":76,"props":112,"children":113},{},[114],{"type":23,"value":115},"Ray Smith, ARM",{"type":17,"tag":25,"props":117,"children":119},{"id":118},"_description",[120],{"type":23,"value":121},"Description",{"type":17,"tag":43,"props":123,"children":124},{},[125,127,132],{"type":23,"value":126},"This extension provides the ability to use ",{"type":17,"tag":37,"props":128,"children":129},{},[130],{"type":23,"value":131},"DRM format modifiers",{"type":23,"value":133}," with\nimages, enabling Vulkan to better integrate with the Linux ecosystem of\ngraphics, video, and display APIs.",{"type":17,"tag":43,"props":135,"children":136},{},[137,139,146,148,154],{"type":23,"value":138},"Its functionality closely overlaps with\n",{"type":17,"tag":140,"props":141,"children":143},"code",{"className":142},[],[144],{"type":23,"value":145},"EGL_EXT_image_dma_buf_import_modifiers",{"type":23,"value":147},"\nand\n",{"type":17,"tag":140,"props":149,"children":151},{"className":150},[],[152],{"type":23,"value":153},"EGL_MESA_image_dma_buf_export",{"type":23,"value":155},".\nUnlike the EGL extensions, this extension does not require the use of a\nspecific handle type (such as a dma_buf) for external memory and provides\nmore explicit control of image creation.",{"type":17,"tag":25,"props":157,"children":159},{"id":158},"_introduction_to_drm_format_modifiers",[160],{"type":23,"value":161},"Introduction to DRM Format Modifiers",{"type":17,"tag":43,"props":163,"children":164},{},[165,167,172,174,179,181,187,189,195,197,202,204,210,212,217,219,223,225,238,240,244],{"type":23,"value":166},"A ",{"type":17,"tag":37,"props":168,"children":169},{},[170],{"type":23,"value":171},"DRM format modifier",{"type":23,"value":173}," is a 64-bit, vendor-prefixed, semi-opaque unsigned\ninteger.\nMost ",{"type":17,"tag":37,"props":175,"children":176},{},[177],{"type":23,"value":178},"modifiers",{"type":23,"value":180}," represent a concrete, vendor-specific tiling format for\nimages.\nSome exceptions are ",{"type":17,"tag":140,"props":182,"children":184},{"className":183},[],[185],{"type":23,"value":186},"DRM_FORMAT_MOD_LINEAR",{"type":23,"value":188}," (which is not\nvendor-specific); ",{"type":17,"tag":140,"props":190,"children":192},{"className":191},[],[193],{"type":23,"value":194},"DRM_FORMAT_MOD_NONE",{"type":23,"value":196}," (which is an alias of\n",{"type":17,"tag":140,"props":198,"children":200},{"className":199},[],[201],{"type":23,"value":186},{"type":23,"value":203}," due to historical accident); and\n",{"type":17,"tag":140,"props":205,"children":207},{"className":206},[],[208],{"type":23,"value":209},"DRM_FORMAT_MOD_INVALID",{"type":23,"value":211}," (which does not represent a tiling format).\nThe ",{"type":17,"tag":37,"props":213,"children":214},{},[215],{"type":23,"value":216},"modifier’s",{"type":23,"value":218}," vendor prefix consists of the 8 most significant bits.\nThe canonical list of ",{"type":17,"tag":37,"props":220,"children":221},{},[222],{"type":23,"value":178},{"type":23,"value":224}," and vendor prefixes is found in\n",{"type":17,"tag":226,"props":227,"children":231},"a",{"href":228,"rel":229},"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/drm/drm_fourcc.h",[230],"nofollow",[232],{"type":17,"tag":140,"props":233,"children":235},{"className":234},[],[236],{"type":23,"value":237},"drm_fourcc.h",{"type":23,"value":239},"\nin the Linux kernel source.\nThe other dominant source of ",{"type":17,"tag":37,"props":241,"children":242},{},[243],{"type":23,"value":178},{"type":23,"value":245}," are vendor kernel trees.",{"type":17,"tag":43,"props":247,"children":248},{},[249,251,255,257,261],{"type":23,"value":250},"One goal of ",{"type":17,"tag":37,"props":252,"children":253},{},[254],{"type":23,"value":178},{"type":23,"value":256}," in the Linux ecosystem is to enumerate for each\nvendor a reasonably sized set of tiling formats that are appropriate for\nimages shared across processes, APIs, and/or devices, where each\nparticipating component may possibly be from different vendors.\nA non-goal is to enumerate all tiling formats supported by all vendors.\nSome tiling formats used internally by vendors are inappropriate for\nsharing; no ",{"type":17,"tag":37,"props":258,"children":259},{},[260],{"type":23,"value":178},{"type":23,"value":262}," should be assigned to such tiling formats.",{"type":17,"tag":43,"props":264,"children":265},{},[266,268,273,275,280,282,287],{"type":23,"value":267},"Modifier values typically do not ",{"type":17,"tag":37,"props":269,"children":270},{},[271],{"type":23,"value":272},"describe",{"type":23,"value":274}," memory layouts.\nMore precisely, a ",{"type":17,"tag":37,"props":276,"children":277},{},[278],{"type":23,"value":279},"modifier",{"type":23,"value":281},"'s lower 56 bits usually have no structure.\nInstead, modifiers ",{"type":17,"tag":37,"props":283,"children":284},{},[285],{"type":23,"value":286},"name",{"type":23,"value":288}," memory layouts; they name a small set of\nvendor-preferred layouts for image sharing.\nAs a consequence, in each vendor namespace the modifier values are often\nsequentially allocated starting at 1.",{"type":17,"tag":43,"props":290,"children":291},{},[292,294,298,300,306,308,314,316,322,324,330,332,337],{"type":23,"value":293},"Each ",{"type":17,"tag":37,"props":295,"children":296},{},[297],{"type":23,"value":279},{"type":23,"value":299}," is usually supported by a single vendor and its name matches\nthe pattern ",{"type":17,"tag":140,"props":301,"children":303},{"className":302},[],[304],{"type":23,"value":305},"{VENDOR}_FORMAT_MOD_*",{"type":23,"value":307}," or ",{"type":17,"tag":140,"props":309,"children":311},{"className":310},[],[312],{"type":23,"value":313},"DRM_FORMAT_MOD_{VENDOR}_*",{"type":23,"value":315},".\nExamples are ",{"type":17,"tag":140,"props":317,"children":319},{"className":318},[],[320],{"type":23,"value":321},"I915_FORMAT_MOD_X_TILED",{"type":23,"value":323}," and\n",{"type":17,"tag":140,"props":325,"children":327},{"className":326},[],[328],{"type":23,"value":329},"DRM_FORMAT_MOD_BROADCOM_VC4_T_TILED",{"type":23,"value":331},".\nAn exception is ",{"type":17,"tag":140,"props":333,"children":335},{"className":334},[],[336],{"type":23,"value":186},{"type":23,"value":338},", which is supported by most\nvendors.",{"type":17,"tag":43,"props":340,"children":341},{},[342,344,348,350,354,356,362,364,370,372,377,379,383,385,391,393,398,400,406,408,412,414,420,422,427,429,433,434,440,442,447,449,453,455,461],{"type":23,"value":343},"Many APIs in Linux use ",{"type":17,"tag":37,"props":345,"children":346},{},[347],{"type":23,"value":178},{"type":23,"value":349}," to negotiate and specify the memory\nlayout of shared images.\nFor example, a Wayland compositor and Wayland client may, by relaying\n",{"type":17,"tag":37,"props":351,"children":352},{},[353],{"type":23,"value":178},{"type":23,"value":355}," over the Wayland protocol ",{"type":17,"tag":140,"props":357,"children":359},{"className":358},[],[360],{"type":23,"value":361},"zwp_linux_dmabuf_v1",{"type":23,"value":363},", negotiate a\nvendor-specific tiling format for a shared ",{"type":17,"tag":140,"props":365,"children":367},{"className":366},[],[368],{"type":23,"value":369},"wl_buffer",{"type":23,"value":371},".\nThe client may allocate the underlying memory for the ",{"type":17,"tag":140,"props":373,"children":375},{"className":374},[],[376],{"type":23,"value":369},{"type":23,"value":378}," with\nGBM, providing the chosen ",{"type":17,"tag":37,"props":380,"children":381},{},[382],{"type":23,"value":279},{"type":23,"value":384}," to ",{"type":17,"tag":140,"props":386,"children":388},{"className":387},[],[389],{"type":23,"value":390},"gbm_bo_create_with_modifiers",{"type":23,"value":392},".\nThe client may then import the ",{"type":17,"tag":140,"props":394,"children":396},{"className":395},[],[397],{"type":23,"value":369},{"type":23,"value":399}," into Vulkan for producing\nimage content, providing the resource’s dma_buf to\n",{"type":17,"tag":226,"props":401,"children":403},{"href":402},"/man/VkImportMemoryFdInfoKHR",[404],{"type":23,"value":405},"VkImportMemoryFdInfoKHR",{"type":23,"value":407}," and its ",{"type":17,"tag":37,"props":409,"children":410},{},[411],{"type":23,"value":279},{"type":23,"value":413}," to\n",{"type":17,"tag":226,"props":415,"children":417},{"href":416},"/man/VkImageDrmFormatModifierExplicitCreateInfoEXT",[418],{"type":23,"value":419},"VkImageDrmFormatModifierExplicitCreateInfoEXT",{"type":23,"value":421},".\nThe compositor may then import the ",{"type":17,"tag":140,"props":423,"children":425},{"className":424},[],[426],{"type":23,"value":369},{"type":23,"value":428}," into OpenGL for sampling,\nproviding the resource’s dma_buf and ",{"type":17,"tag":37,"props":430,"children":431},{},[432],{"type":23,"value":279},{"type":23,"value":384},{"type":17,"tag":140,"props":435,"children":437},{"className":436},[],[438],{"type":23,"value":439},"eglCreateImage",{"type":23,"value":441},".\nThe compositor may also bypass OpenGL and submit the ",{"type":17,"tag":140,"props":443,"children":445},{"className":444},[],[446],{"type":23,"value":369},{"type":23,"value":448}," directly\nto the kernel’s display API, providing the dma_buf and ",{"type":17,"tag":37,"props":450,"children":451},{},[452],{"type":23,"value":279},{"type":23,"value":454}," through\n",{"type":17,"tag":140,"props":456,"children":458},{"className":457},[],[459],{"type":23,"value":460},"drm_mode_fb_cmd2",{"type":23,"value":462},".",{"type":17,"tag":25,"props":464,"children":466},{"id":465},"_format_translation",[467],{"type":23,"value":468},"Format Translation",{"type":17,"tag":43,"props":470,"children":471},{},[472,477,479,483,485,494,496,501,503,509,511,515],{"type":17,"tag":37,"props":473,"children":474},{},[475],{"type":23,"value":476},"Modifier",{"type":23,"value":478},"-capable APIs often pair ",{"type":17,"tag":37,"props":480,"children":481},{},[482],{"type":23,"value":178},{"type":23,"value":484}," with DRM formats, which are\ndefined in\n",{"type":17,"tag":226,"props":486,"children":488},{"href":228,"rel":487},[230],[489],{"type":17,"tag":140,"props":490,"children":492},{"className":491},[],[493],{"type":23,"value":237},{"type":23,"value":495},".\nHowever, ",{"type":17,"tag":140,"props":497,"children":499},{"className":498},[],[500],{"type":23,"value":4},{"type":23,"value":502}," uses ",{"type":17,"tag":226,"props":504,"children":506},{"href":505},"/man/VkFormat",[507],{"type":23,"value":508},"VkFormat",{"type":23,"value":510}," instead of\nDRM formats.\nThe application must convert between ",{"type":17,"tag":226,"props":512,"children":513},{"href":505},[514],{"type":23,"value":508},{"type":23,"value":516}," and DRM format when it\nsends or receives a DRM format to or from an external API.",{"type":17,"tag":43,"props":518,"children":519},{},[520,522,526,528,532],{"type":23,"value":521},"The mapping from ",{"type":17,"tag":226,"props":523,"children":524},{"href":505},[525],{"type":23,"value":508},{"type":23,"value":527}," to DRM format is lossy.\nTherefore, when receiving a DRM format from an external API, often the\napplication must use information from the external API to accurately map the\nDRM format to a ",{"type":17,"tag":226,"props":529,"children":530},{"href":505},[531],{"type":23,"value":508},{"type":23,"value":533},".\nFor example, DRM formats do not distinguish between RGB and sRGB (as of\n2018-03-28); external information is required to identify the image’s color\nspace.",{"type":17,"tag":43,"props":535,"children":536},{},[537,539,543],{"type":23,"value":538},"The mapping between ",{"type":17,"tag":226,"props":540,"children":541},{"href":505},[542],{"type":23,"value":508},{"type":23,"value":544}," and DRM format is also incomplete.\nFor some DRM formats there exist no corresponding Vulkan format, and for\nsome Vulkan formats there exist no corresponding DRM format.",{"type":17,"tag":25,"props":546,"children":548},{"id":547},"_usage_patterns",[549],{"type":23,"value":550},"Usage Patterns",{"type":17,"tag":43,"props":552,"children":553},{},[554],{"type":23,"value":555},"Three primary usage patterns are intended for this extension:",{"type":17,"tag":72,"props":557,"children":558},{},[559,629,742],{"type":17,"tag":76,"props":560,"children":561},{},[562,567,569,573,575,579,581,586,588,591,593,596,598,604,606,612,614,620,621,627],{"type":17,"tag":37,"props":563,"children":564},{},[565],{"type":23,"value":566},"Negotiation.",{"type":23,"value":568}," The application negotiates with ",{"type":17,"tag":37,"props":570,"children":571},{},[572],{"type":23,"value":279},{"type":23,"value":574},"-aware,\nexternal components to determine sets of image creation parameters\nsupported among all components.",{"type":17,"tag":576,"props":577,"children":578},"br",{},[],{"type":23,"value":580},"In the Linux ecosystem, the negotiation usually assumes the image is a 2D,\nsingle-sampled, non-mipmapped, non-array image; this extension permits that\nassumption but does not require it.\nThe result of the negotiation usually resembles a set of tuples such as\n",{"type":17,"tag":37,"props":582,"children":583},{},[584],{"type":23,"value":585},"(drmFormat, drmFormatModifier)",{"type":23,"value":587},", where each participating component\nsupports all tuples in the set.",{"type":17,"tag":576,"props":589,"children":590},{},[],{"type":23,"value":592},"Many details of this negotiation - such as the protocol used during\nnegotiation, the set of image creation parameters expressible in the\nprotocol, and how the protocol chooses which process and which API will\ncreate the image - are outside the scope of this specification.",{"type":17,"tag":576,"props":594,"children":595},{},[],{"type":23,"value":597},"In this extension, ",{"type":17,"tag":226,"props":599,"children":601},{"href":600},"/man/vkGetPhysicalDeviceFormatProperties2",[602],{"type":23,"value":603},"vkGetPhysicalDeviceFormatProperties2",{"type":23,"value":605}," with\n",{"type":17,"tag":226,"props":607,"children":609},{"href":608},"/man/VkDrmFormatModifierPropertiesListEXT",[610],{"type":23,"value":611},"VkDrmFormatModifierPropertiesListEXT",{"type":23,"value":613}," serves a primary role during the\nnegotiation, and ",{"type":17,"tag":226,"props":615,"children":617},{"href":616},"/man/vkGetPhysicalDeviceImageFormatProperties2",[618],{"type":23,"value":619},"vkGetPhysicalDeviceImageFormatProperties2",{"type":23,"value":605},{"type":17,"tag":226,"props":622,"children":624},{"href":623},"/man/VkPhysicalDeviceImageDrmFormatModifierInfoEXT",[625],{"type":23,"value":626},"VkPhysicalDeviceImageDrmFormatModifierInfoEXT",{"type":23,"value":628}," serves a secondary role.",{"type":17,"tag":76,"props":630,"children":631},{},[632,637,639,643,644,647,649,655,657,663,665,671,673,679,681,687,689,695,696,699,701,705,706,710,711,715,716,720,722,726,727,733,735,741],{"type":17,"tag":37,"props":633,"children":634},{},[635],{"type":23,"value":636},"Import.",{"type":23,"value":638}," The application imports an image with a ",{"type":17,"tag":37,"props":640,"children":641},{},[642],{"type":23,"value":279},{"type":23,"value":462},{"type":17,"tag":576,"props":645,"children":646},{},[],{"type":23,"value":648},"In this pattern, the application receives from an external source the\nimage’s memory and its creation parameters, which are often the result of\nthe negotiation described above.\nSome image creation parameters are implicitly defined by the external\nsource; for example, ",{"type":17,"tag":140,"props":650,"children":652},{"className":651},[],[653],{"type":23,"value":654},"VK_IMAGE_TYPE_2D",{"type":23,"value":656}," is often assumed.\nSome image creation parameters are usually explicit, such as the image’s\n",{"type":17,"tag":140,"props":658,"children":660},{"className":659},[],[661],{"type":23,"value":662},"format",{"type":23,"value":664},", ",{"type":17,"tag":140,"props":666,"children":668},{"className":667},[],[669],{"type":23,"value":670},"drmFormatModifier",{"type":23,"value":672},", and ",{"type":17,"tag":140,"props":674,"children":676},{"className":675},[],[677],{"type":23,"value":678},"extent",{"type":23,"value":680},"; and each plane’s\n",{"type":17,"tag":140,"props":682,"children":684},{"className":683},[],[685],{"type":23,"value":686},"offset",{"type":23,"value":688}," and ",{"type":17,"tag":140,"props":690,"children":692},{"className":691},[],[693],{"type":23,"value":694},"rowPitch",{"type":23,"value":462},{"type":17,"tag":576,"props":697,"children":698},{},[],{"type":23,"value":700},"Before creating the image, the application first verifies that the physical\ndevice supports the received creation parameters by querying\n",{"type":17,"tag":226,"props":702,"children":703},{"href":600},[704],{"type":23,"value":603},{"type":23,"value":605},{"type":17,"tag":226,"props":707,"children":708},{"href":608},[709],{"type":23,"value":611},{"type":23,"value":323},{"type":17,"tag":226,"props":712,"children":713},{"href":616},[714],{"type":23,"value":619},{"type":23,"value":605},{"type":17,"tag":226,"props":717,"children":718},{"href":623},[719],{"type":23,"value":626},{"type":23,"value":721},".\nThen the application creates the image by chaining\n",{"type":17,"tag":226,"props":723,"children":724},{"href":416},[725],{"type":23,"value":419},{"type":23,"value":323},{"type":17,"tag":226,"props":728,"children":730},{"href":729},"/man/VkExternalMemoryImageCreateInfo",[731],{"type":23,"value":732},"VkExternalMemoryImageCreateInfo",{"type":23,"value":734}," onto ",{"type":17,"tag":226,"props":736,"children":738},{"href":737},"/man/VkImageCreateInfo",[739],{"type":23,"value":740},"VkImageCreateInfo",{"type":23,"value":462},{"type":17,"tag":76,"props":743,"children":744},{},[745,750,752,756,758,762,764,773,775,784,786,794,796,801,802,805,807,812,814,818,820,824,826,830,831,837,839,845,847,852,854,858,860,863,865,869,870,874,875,879,881,885,886,892,894,898,900,904,905,910,912,916,917,923,925,931,932,935,937,943,945,951,952,955,957,961],{"type":17,"tag":37,"props":746,"children":747},{},[748],{"type":23,"value":749},"Export.",{"type":23,"value":751}," The application creates an image and allocates its memory.\nThen the application exports to ",{"type":17,"tag":37,"props":753,"children":754},{},[755],{"type":23,"value":279},{"type":23,"value":757},"-aware consumers the image’s\nmemory handles; its creation parameters; its ",{"type":17,"tag":37,"props":759,"children":760},{},[761],{"type":23,"value":279},{"type":23,"value":763},"; and the\n",{"type":17,"tag":226,"props":765,"children":767},{"href":766},"/man/VkSubresourceLayout#VkSubresourceLayout",[768],{"type":17,"tag":140,"props":769,"children":771},{"className":770},[],[772],{"type":23,"value":686},{"type":23,"value":774},",\n",{"type":17,"tag":226,"props":776,"children":777},{"href":766},[778],{"type":17,"tag":140,"props":779,"children":781},{"className":780},[],[782],{"type":23,"value":783},"size",{"type":23,"value":785},", and\n",{"type":17,"tag":226,"props":787,"children":788},{"href":766},[789],{"type":17,"tag":140,"props":790,"children":792},{"className":791},[],[793],{"type":23,"value":694},{"type":23,"value":795}," of each ",{"type":17,"tag":37,"props":797,"children":798},{},[799],{"type":23,"value":800},"memory plane",{"type":23,"value":462},{"type":17,"tag":576,"props":803,"children":804},{},[],{"type":23,"value":806},"In this pattern, the Vulkan device is the authority for the image; it is the\nallocator of the image’s memory and the decider of the image’s creation\nparameters.\nWhen choosing the image’s creation parameters, the application usually\nchooses a tuple ",{"type":17,"tag":37,"props":808,"children":809},{},[810],{"type":23,"value":811},"(format, drmFormatModifier)",{"type":23,"value":813}," from the result of the\nnegotiation described above.\nThe negotiation’s result often contains multiple tuples that share the same\nformat but differ in their ",{"type":17,"tag":37,"props":815,"children":816},{},[817],{"type":23,"value":279},{"type":23,"value":819},".\nIn this case, the application should defer the choice of the image’s\n",{"type":17,"tag":37,"props":821,"children":822},{},[823],{"type":23,"value":279},{"type":23,"value":825}," to the Vulkan implementation by providing all such ",{"type":17,"tag":37,"props":827,"children":828},{},[829],{"type":23,"value":178},{"type":23,"value":413},{"type":17,"tag":226,"props":832,"children":834},{"href":833},"/man/VkImageDrmFormatModifierListCreateInfoEXT",[835],{"type":23,"value":836},"VkImageDrmFormatModifierListCreateInfoEXT",{"type":23,"value":838},"::",{"type":17,"tag":140,"props":840,"children":842},{"className":841},[],[843],{"type":23,"value":844},"pDrmFormatModifiers",{"type":23,"value":846},";\nand the implementation should choose from ",{"type":17,"tag":140,"props":848,"children":850},{"className":849},[],[851],{"type":23,"value":844},{"type":23,"value":853}," the\noptimal ",{"type":17,"tag":37,"props":855,"children":856},{},[857],{"type":23,"value":279},{"type":23,"value":859}," in consideration with the other image parameters.",{"type":17,"tag":576,"props":861,"children":862},{},[],{"type":23,"value":864},"The application creates the image by chaining\n",{"type":17,"tag":226,"props":866,"children":867},{"href":833},[868],{"type":23,"value":836},{"type":23,"value":323},{"type":17,"tag":226,"props":871,"children":872},{"href":729},[873],{"type":23,"value":732},{"type":23,"value":734},{"type":17,"tag":226,"props":876,"children":877},{"href":737},[878],{"type":23,"value":740},{"type":23,"value":880},".\nThe protocol and APIs by which the application will share the image with\nexternal consumers will likely determine the value of\n",{"type":17,"tag":226,"props":882,"children":883},{"href":729},[884],{"type":23,"value":732},{"type":23,"value":838},{"type":17,"tag":140,"props":887,"children":889},{"className":888},[],[890],{"type":23,"value":891},"handleTypes",{"type":23,"value":893},".\nThe implementation chooses for the image an optimal ",{"type":17,"tag":37,"props":895,"children":896},{},[897],{"type":23,"value":279},{"type":23,"value":899}," from\n",{"type":17,"tag":226,"props":901,"children":902},{"href":833},[903],{"type":23,"value":836},{"type":23,"value":838},{"type":17,"tag":140,"props":906,"children":908},{"className":907},[],[909],{"type":23,"value":844},{"type":23,"value":911},".\nThe application then queries the implementation-chosen ",{"type":17,"tag":37,"props":913,"children":914},{},[915],{"type":23,"value":279},{"type":23,"value":605},{"type":17,"tag":226,"props":918,"children":920},{"href":919},"/man/vkGetImageDrmFormatModifierPropertiesEXT",[921],{"type":23,"value":922},"vkGetImageDrmFormatModifierPropertiesEXT",{"type":23,"value":924},", and queries the memory\nlayout of each plane with ",{"type":17,"tag":226,"props":926,"children":928},{"href":927},"/man/vkGetImageSubresourceLayout",[929],{"type":23,"value":930},"vkGetImageSubresourceLayout",{"type":23,"value":462},{"type":17,"tag":576,"props":933,"children":934},{},[],{"type":23,"value":936},"The application then allocates the image’s memory with\n",{"type":17,"tag":226,"props":938,"children":940},{"href":939},"/man/VkMemoryAllocateInfo",[941],{"type":23,"value":942},"VkMemoryAllocateInfo",{"type":23,"value":944},", adding chained extending structures for external\nmemory; binds it to the image; and exports the memory, for example, with\n",{"type":17,"tag":226,"props":946,"children":948},{"href":947},"/man/vkGetMemoryFdKHR",[949],{"type":23,"value":950},"vkGetMemoryFdKHR",{"type":23,"value":462},{"type":17,"tag":576,"props":953,"children":954},{},[],{"type":23,"value":956},"Finally, the application sends the image’s creation parameters, its\n",{"type":17,"tag":37,"props":958,"children":959},{},[960],{"type":23,"value":279},{"type":23,"value":962},", its per-plane memory layout, and the exported memory handle to\nthe external consumers.\nThe details of how the application transmits this information to external\nconsumers is outside the scope of this specification.",{"type":17,"tag":25,"props":964,"children":966},{"id":965},"_prior_art",[967],{"type":23,"value":968},"Prior Art",{"type":17,"tag":43,"props":970,"children":971},{},[972,974,980,982,988],{"type":23,"value":973},"Extension\n",{"type":17,"tag":140,"props":975,"children":977},{"className":976},[],[978],{"type":23,"value":979},"EGL_EXT_image_dma_buf_import",{"type":23,"value":981},"\nintroduced the ability to create an ",{"type":17,"tag":140,"props":983,"children":985},{"className":984},[],[986],{"type":23,"value":987},"EGLImage",{"type":23,"value":989}," by importing for each\nplane a dma_buf, offset, and row pitch.",{"type":17,"tag":43,"props":991,"children":992},{},[993,995,1000,1002,1006,1008,1012,1014,1019],{"type":23,"value":994},"Later, extension\n",{"type":17,"tag":140,"props":996,"children":998},{"className":997},[],[999],{"type":23,"value":145},{"type":23,"value":1001},"\nintroduced the ability to query which combination of formats and ",{"type":17,"tag":37,"props":1003,"children":1004},{},[1005],{"type":23,"value":178},{"type":23,"value":1007},"\nthe implementation supports and to specify ",{"type":17,"tag":37,"props":1009,"children":1010},{},[1011],{"type":23,"value":178},{"type":23,"value":1013}," during creation of\nthe ",{"type":17,"tag":140,"props":1015,"children":1017},{"className":1016},[],[1018],{"type":23,"value":987},{"type":23,"value":462},{"type":17,"tag":43,"props":1021,"children":1022},{},[1023,1024,1029,1031,1036],{"type":23,"value":973},{"type":17,"tag":140,"props":1025,"children":1027},{"className":1026},[],[1028],{"type":23,"value":153},{"type":23,"value":1030},"\nis the inverse of ",{"type":17,"tag":140,"props":1032,"children":1034},{"className":1033},[],[1035],{"type":23,"value":145},{"type":23,"value":462},{"type":17,"tag":43,"props":1038,"children":1039},{},[1040,1042,1048,1050,1054],{"type":23,"value":1041},"The Linux kernel modesetting API (KMS), when configuring the display’s\nframebuffer with ",{"type":17,"tag":140,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":23,"value":1047},"struct drm_mode_fb_cmd2",{"type":23,"value":1049},", allows one to\nspecify the framebuffer’s ",{"type":17,"tag":37,"props":1051,"children":1052},{},[1053],{"type":23,"value":279},{"type":23,"value":1055}," as well as a per-plane memory handle,\noffset, and row pitch.",{"type":17,"tag":43,"props":1057,"children":1058},{},[1059,1061,1067,1069,1074,1076,1081,1083,1088,1090,1094,1095,1100,1102,1108],{"type":23,"value":1060},"GBM, a graphics buffer manager for Linux, allows creation of a ",{"type":17,"tag":140,"props":1062,"children":1064},{"className":1063},[],[1065],{"type":23,"value":1066},"gbm_bo",{"type":23,"value":1068},"\n(that is, a graphics ",{"type":17,"tag":37,"props":1070,"children":1071},{},[1072],{"type":23,"value":1073},"buffer object",{"type":23,"value":1075},") by importing data similar to that in\n",{"type":17,"tag":140,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":23,"value":145},{"type":23,"value":1082},";\nand symmetrically allows exporting the same data from the ",{"type":17,"tag":140,"props":1084,"children":1086},{"className":1085},[],[1087],{"type":23,"value":1066},{"type":23,"value":1089},".\nSee the references to ",{"type":17,"tag":37,"props":1091,"children":1092},{},[1093],{"type":23,"value":279},{"type":23,"value":688},{"type":17,"tag":37,"props":1096,"children":1097},{},[1098],{"type":23,"value":1099},"plane",{"type":23,"value":1101}," in\n",{"type":17,"tag":140,"props":1103,"children":1105},{"className":1104},[],[1106],{"type":23,"value":1107},"gbm.h",{"type":23,"value":462},{"type":17,"tag":25,"props":1110,"children":1112},{"id":1111},"_new_commands",[1113],{"type":23,"value":1114},"New Commands",{"type":17,"tag":72,"props":1116,"children":1117},{},[1118],{"type":17,"tag":76,"props":1119,"children":1120},{},[1121],{"type":17,"tag":226,"props":1122,"children":1123},{"href":919},[1124],{"type":23,"value":922},{"type":17,"tag":25,"props":1126,"children":1128},{"id":1127},"_new_structures",[1129],{"type":23,"value":1130},"New Structures",{"type":17,"tag":72,"props":1132,"children":1133},{},[1134,1143,1152,1175,1201],{"type":17,"tag":76,"props":1135,"children":1136},{},[1137],{"type":17,"tag":226,"props":1138,"children":1140},{"href":1139},"/man/VkDrmFormatModifierPropertiesEXT",[1141],{"type":23,"value":1142},"VkDrmFormatModifierPropertiesEXT",{"type":17,"tag":76,"props":1144,"children":1145},{},[1146],{"type":17,"tag":226,"props":1147,"children":1149},{"href":1148},"/man/VkImageDrmFormatModifierPropertiesEXT",[1150],{"type":23,"value":1151},"VkImageDrmFormatModifierPropertiesEXT",{"type":17,"tag":76,"props":1153,"children":1154},{},[1155,1157,1163,1165],{"type":23,"value":1156},"Extending ",{"type":17,"tag":226,"props":1158,"children":1160},{"href":1159},"/man/VkFormatProperties2",[1161],{"type":23,"value":1162},"VkFormatProperties2",{"type":23,"value":1164},":",{"type":17,"tag":72,"props":1166,"children":1167},{},[1168],{"type":17,"tag":76,"props":1169,"children":1170},{},[1171],{"type":17,"tag":226,"props":1172,"children":1173},{"href":608},[1174],{"type":23,"value":611},{"type":17,"tag":76,"props":1176,"children":1177},{},[1178,1179,1183,1184],{"type":23,"value":1156},{"type":17,"tag":226,"props":1180,"children":1181},{"href":737},[1182],{"type":23,"value":740},{"type":23,"value":1164},{"type":17,"tag":72,"props":1185,"children":1186},{},[1187,1194],{"type":17,"tag":76,"props":1188,"children":1189},{},[1190],{"type":17,"tag":226,"props":1191,"children":1192},{"href":416},[1193],{"type":23,"value":419},{"type":17,"tag":76,"props":1195,"children":1196},{},[1197],{"type":17,"tag":226,"props":1198,"children":1199},{"href":833},[1200],{"type":23,"value":836},{"type":17,"tag":76,"props":1202,"children":1203},{},[1204,1205,1211,1212],{"type":23,"value":1156},{"type":17,"tag":226,"props":1206,"children":1208},{"href":1207},"/man/VkPhysicalDeviceImageFormatInfo2",[1209],{"type":23,"value":1210},"VkPhysicalDeviceImageFormatInfo2",{"type":23,"value":1164},{"type":17,"tag":72,"props":1213,"children":1214},{},[1215],{"type":17,"tag":76,"props":1216,"children":1217},{},[1218],{"type":17,"tag":226,"props":1219,"children":1220},{"href":623},[1221],{"type":23,"value":626},{"type":17,"tag":43,"props":1223,"children":1224},{},[1225,1227,1233,1234,1240],{"type":23,"value":1226},"If ",{"type":17,"tag":226,"props":1228,"children":1230},{"href":1229},"/extensions/VK_KHR_format_feature_flags2",[1231],{"type":23,"value":1232},"VK_KHR_format_feature_flags2",{"type":23,"value":307},{"type":17,"tag":226,"props":1235,"children":1237},{"href":1236},"/404#versions-1.3",[1238],{"type":23,"value":1239},"Vulkan Version 1.3",{"type":23,"value":1241}," is supported:",{"type":17,"tag":72,"props":1243,"children":1244},{},[1245,1254],{"type":17,"tag":76,"props":1246,"children":1247},{},[1248],{"type":17,"tag":226,"props":1249,"children":1251},{"href":1250},"/man/VkDrmFormatModifierProperties2EXT",[1252],{"type":23,"value":1253},"VkDrmFormatModifierProperties2EXT",{"type":17,"tag":76,"props":1255,"children":1256},{},[1257,1258,1262,1263],{"type":23,"value":1156},{"type":17,"tag":226,"props":1259,"children":1260},{"href":1159},[1261],{"type":23,"value":1162},{"type":23,"value":1164},{"type":17,"tag":72,"props":1264,"children":1265},{},[1266],{"type":17,"tag":76,"props":1267,"children":1268},{},[1269],{"type":17,"tag":226,"props":1270,"children":1272},{"href":1271},"/man/VkDrmFormatModifierPropertiesList2EXT",[1273],{"type":23,"value":1274},"VkDrmFormatModifierPropertiesList2EXT",{"type":17,"tag":25,"props":1276,"children":1278},{"id":1277},"_new_enum_constants",[1279],{"type":23,"value":1280},"New Enum Constants",{"type":17,"tag":72,"props":1282,"children":1283},{},[1284,1293,1302,1352,1375,1398],{"type":17,"tag":76,"props":1285,"children":1286},{},[1287],{"type":17,"tag":140,"props":1288,"children":1290},{"className":1289},[],[1291],{"type":23,"value":1292},"VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME",{"type":17,"tag":76,"props":1294,"children":1295},{},[1296],{"type":17,"tag":140,"props":1297,"children":1299},{"className":1298},[],[1300],{"type":23,"value":1301},"VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION",{"type":17,"tag":76,"props":1303,"children":1304},{},[1305,1306,1312,1313],{"type":23,"value":1156},{"type":17,"tag":226,"props":1307,"children":1309},{"href":1308},"/man/VkImageAspectFlagBits",[1310],{"type":23,"value":1311},"VkImageAspectFlagBits",{"type":23,"value":1164},{"type":17,"tag":72,"props":1314,"children":1315},{},[1316,1325,1334,1343],{"type":17,"tag":76,"props":1317,"children":1318},{},[1319],{"type":17,"tag":140,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":23,"value":1324},"VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT",{"type":17,"tag":76,"props":1326,"children":1327},{},[1328],{"type":17,"tag":140,"props":1329,"children":1331},{"className":1330},[],[1332],{"type":23,"value":1333},"VK_IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT",{"type":17,"tag":76,"props":1335,"children":1336},{},[1337],{"type":17,"tag":140,"props":1338,"children":1340},{"className":1339},[],[1341],{"type":23,"value":1342},"VK_IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT",{"type":17,"tag":76,"props":1344,"children":1345},{},[1346],{"type":17,"tag":140,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":23,"value":1351},"VK_IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT",{"type":17,"tag":76,"props":1353,"children":1354},{},[1355,1356,1362,1363],{"type":23,"value":1156},{"type":17,"tag":226,"props":1357,"children":1359},{"href":1358},"/man/VkImageTiling",[1360],{"type":23,"value":1361},"VkImageTiling",{"type":23,"value":1164},{"type":17,"tag":72,"props":1364,"children":1365},{},[1366],{"type":17,"tag":76,"props":1367,"children":1368},{},[1369],{"type":17,"tag":140,"props":1370,"children":1372},{"className":1371},[],[1373],{"type":23,"value":1374},"VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT",{"type":17,"tag":76,"props":1376,"children":1377},{},[1378,1379,1385,1386],{"type":23,"value":1156},{"type":17,"tag":226,"props":1380,"children":1382},{"href":1381},"/man/VkResult",[1383],{"type":23,"value":1384},"VkResult",{"type":23,"value":1164},{"type":17,"tag":72,"props":1387,"children":1388},{},[1389],{"type":17,"tag":76,"props":1390,"children":1391},{},[1392],{"type":17,"tag":140,"props":1393,"children":1395},{"className":1394},[],[1396],{"type":23,"value":1397},"VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT",{"type":17,"tag":76,"props":1399,"children":1400},{},[1401,1402,1408,1409],{"type":23,"value":1156},{"type":17,"tag":226,"props":1403,"children":1405},{"href":1404},"/man/VkStructureType",[1406],{"type":23,"value":1407},"VkStructureType",{"type":23,"value":1164},{"type":17,"tag":72,"props":1410,"children":1411},{},[1412,1421,1430,1439,1448],{"type":17,"tag":76,"props":1413,"children":1414},{},[1415],{"type":17,"tag":140,"props":1416,"children":1418},{"className":1417},[],[1419],{"type":23,"value":1420},"VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT",{"type":17,"tag":76,"props":1422,"children":1423},{},[1424],{"type":17,"tag":140,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":23,"value":1429},"VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT",{"type":17,"tag":76,"props":1431,"children":1432},{},[1433],{"type":17,"tag":140,"props":1434,"children":1436},{"className":1435},[],[1437],{"type":23,"value":1438},"VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT",{"type":17,"tag":76,"props":1440,"children":1441},{},[1442],{"type":17,"tag":140,"props":1443,"children":1445},{"className":1444},[],[1446],{"type":23,"value":1447},"VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT",{"type":17,"tag":76,"props":1449,"children":1450},{},[1451],{"type":17,"tag":140,"props":1452,"children":1454},{"className":1453},[],[1455],{"type":23,"value":1456},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT",{"type":17,"tag":43,"props":1458,"children":1459},{},[1460,1461,1465,1466,1470],{"type":23,"value":1226},{"type":17,"tag":226,"props":1462,"children":1463},{"href":1229},[1464],{"type":23,"value":1232},{"type":23,"value":307},{"type":17,"tag":226,"props":1467,"children":1468},{"href":1236},[1469],{"type":23,"value":1239},{"type":23,"value":1241},{"type":17,"tag":72,"props":1472,"children":1473},{},[1474],{"type":17,"tag":76,"props":1475,"children":1476},{},[1477,1478,1482,1483],{"type":23,"value":1156},{"type":17,"tag":226,"props":1479,"children":1480},{"href":1404},[1481],{"type":23,"value":1407},{"type":23,"value":1164},{"type":17,"tag":72,"props":1484,"children":1485},{},[1486],{"type":17,"tag":76,"props":1487,"children":1488},{},[1489],{"type":17,"tag":140,"props":1490,"children":1492},{"className":1491},[],[1493],{"type":23,"value":1494},"VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT",{"type":17,"tag":25,"props":1496,"children":1498},{"id":1497},"_issues",[1499],{"type":23,"value":1500},"Issues",{"type":17,"tag":43,"props":1502,"children":1503},{},[1504,1506,1512],{"type":23,"value":1505},"1) Should this extension define a single DRM format modifier per\n",{"type":17,"tag":140,"props":1507,"children":1509},{"className":1508},[],[1510],{"type":23,"value":1511},"VkImage",{"type":23,"value":1513},"? Or define one per plane?",{"type":17,"tag":43,"props":1515,"children":1516},{},[1517],{"type":23,"value":1518},"+",{"type":17,"tag":43,"props":1520,"children":1521},{},[1522,1527,1529,1534],{"type":17,"tag":37,"props":1523,"children":1524},{},[1525],{"type":23,"value":1526},"RESOLVED",{"type":23,"value":1528},": There exists a single DRM format modifier per ",{"type":17,"tag":140,"props":1530,"children":1532},{"className":1531},[],[1533],{"type":23,"value":1511},{"type":23,"value":462},{"type":17,"tag":43,"props":1536,"children":1537},{},[1538,1543,1545,1550,1551,1556,1557,1563,1565,1569,1571,1575,1577,1584,1586,1592,1594,1598],{"type":17,"tag":37,"props":1539,"children":1540},{},[1541],{"type":23,"value":1542},"DISCUSSION",{"type":23,"value":1544},": Prior art, such as\n",{"type":17,"tag":140,"props":1546,"children":1548},{"className":1547},[],[1549],{"type":23,"value":145},{"type":23,"value":774},{"type":17,"tag":140,"props":1552,"children":1554},{"className":1553},[],[1555],{"type":23,"value":1047},{"type":23,"value":785},{"type":17,"tag":140,"props":1558,"children":1560},{"className":1559},[],[1561],{"type":23,"value":1562},"struct gbm_import_fd_modifier_data",{"type":23,"value":1564},",\nallows defining one ",{"type":17,"tag":37,"props":1566,"children":1567},{},[1568],{"type":23,"value":279},{"type":23,"value":1570}," per plane.\nHowever, developers of the GBM and kernel APIs concede it was a mistake.\nBeginning in Linux 4.10, the kernel requires that the application provide\nthe same DRM format ",{"type":17,"tag":37,"props":1572,"children":1573},{},[1574],{"type":23,"value":279},{"type":23,"value":1576}," for each plane.\n(See Linux commit\n",{"type":17,"tag":226,"props":1578,"children":1581},{"href":1579,"rel":1580},"https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bae781b259269590109e8a4a8227331362b88212",[230],[1582],{"type":23,"value":1583},"bae781b259269590109e8a4a8227331362b88212",{"type":23,"value":1585},").\nAnd GBM provides an entry point, ",{"type":17,"tag":140,"props":1587,"children":1589},{"className":1588},[],[1590],{"type":23,"value":1591},"gbm_bo_get_modifier",{"type":23,"value":1593},", for querying the\n",{"type":17,"tag":37,"props":1595,"children":1596},{},[1597],{"type":23,"value":279},{"type":23,"value":1599}," of the image but does not provide one to query the modifier of\nindividual planes.",{"type":17,"tag":43,"props":1601,"children":1602},{},[1603,1605,1609,1611,1616],{"type":23,"value":1604},"2) When creating an image with\n",{"type":17,"tag":226,"props":1606,"children":1607},{"href":416},[1608],{"type":23,"value":419},{"type":23,"value":1610},", which is typically used\nwhen ",{"type":17,"tag":37,"props":1612,"children":1613},{},[1614],{"type":23,"value":1615},"importing",{"type":23,"value":1617}," an image, should the application explicitly provide the\nsize of each plane?",{"type":17,"tag":43,"props":1619,"children":1620},{},[1621],{"type":23,"value":1518},{"type":17,"tag":43,"props":1623,"children":1624},{},[1625,1629,1631,1636,1638,1642,1643,1649,1652],{"type":17,"tag":37,"props":1626,"children":1627},{},[1628],{"type":23,"value":1526},{"type":23,"value":1630},": No.\nThe application ",{"type":17,"tag":1632,"props":1633,"children":1635},"normative",{"type":1634},"must",[],{"type":23,"value":1637}," not provide the size.\nTo enforce this, the API requires that\n",{"type":17,"tag":226,"props":1639,"children":1640},{"href":416},[1641],{"type":23,"value":419},{"type":23,"value":838},{"type":17,"tag":140,"props":1644,"children":1646},{"className":1645},[],[1647],{"type":23,"value":1648},"pPlaneLayouts→size",{"type":17,"tag":1632,"props":1650,"children":1651},{"type":1634},[],{"type":23,"value":1653}," be 0.",{"type":17,"tag":43,"props":1655,"children":1656},{},[1657,1661,1662,1667,1668,1673,1674,1679],{"type":17,"tag":37,"props":1658,"children":1659},{},[1660],{"type":23,"value":1542},{"type":23,"value":1544},{"type":17,"tag":140,"props":1663,"children":1665},{"className":1664},[],[1666],{"type":23,"value":145},{"type":23,"value":774},{"type":17,"tag":140,"props":1669,"children":1671},{"className":1670},[],[1672],{"type":23,"value":1047},{"type":23,"value":785},{"type":17,"tag":140,"props":1675,"children":1677},{"className":1676},[],[1678],{"type":23,"value":1562},{"type":23,"value":1680},",\nomits from the API the size of each plane.\nInstead, the APIs infer each plane’s size from the import parameters, which\ninclude the image’s pixel format and a dma_buf, offset, and row pitch for\neach plane.",{"type":17,"tag":43,"props":1682,"children":1683},{},[1684],{"type":23,"value":1685},"However, Vulkan differs from EGL and GBM with regards to image creation in\nthe following ways:",{"type":17,"tag":72,"props":1687,"children":1688},{},[1689,1733],{"type":17,"tag":76,"props":1690,"children":1691},{},[1692,1697,1699,1704,1705,1710,1712,1718,1720,1725,1727,1732],{"type":17,"tag":37,"props":1693,"children":1694},{},[1695],{"type":23,"value":1696},"Undedicated allocation by default.",{"type":23,"value":1698}," When importing or exporting a set\nof dma_bufs as an ",{"type":17,"tag":140,"props":1700,"children":1702},{"className":1701},[],[1703],{"type":23,"value":987},{"type":23,"value":307},{"type":17,"tag":140,"props":1706,"children":1708},{"className":1707},[],[1709],{"type":23,"value":1066},{"type":23,"value":1711},", common practice mandates\nthat each dma_buf’s memory be dedicated (in the sense of\n",{"type":17,"tag":140,"props":1713,"children":1715},{"className":1714},[],[1716],{"type":23,"value":1717},"VK_KHR_dedicated_allocation",{"type":23,"value":1719},") to the image (though not necessarily\ndedicated to a single plane).\nIn particular, neither the GBM documentation nor the EGL extension\nspecifications explicitly state this requirement, but in light of common\npractice this is likely due to under-specification rather than\nintentional omission.\nIn contrast, ",{"type":17,"tag":140,"props":1721,"children":1723},{"className":1722},[],[1724],{"type":23,"value":4},{"type":23,"value":1726}," permits, but does not\nrequire, the implementation to require dedicated allocations for images\ncreated with ",{"type":17,"tag":140,"props":1728,"children":1730},{"className":1729},[],[1731],{"type":23,"value":1374},{"type":23,"value":462},{"type":17,"tag":76,"props":1734,"children":1735},{},[1736,1741,1743,1748,1749,1754,1756,1761],{"type":17,"tag":37,"props":1737,"children":1738},{},[1739],{"type":23,"value":1740},"Separation of image creation and memory allocation.",{"type":23,"value":1742}," When importing a\nset of dma_bufs as an ",{"type":17,"tag":140,"props":1744,"children":1746},{"className":1745},[],[1747],{"type":23,"value":987},{"type":23,"value":307},{"type":17,"tag":140,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":23,"value":1066},{"type":23,"value":1755},", EGL and GBM create\nthe image resource and bind it to memory (the dma_bufs) simultaneously.\nThis allows EGL and GBM to query each dma_buf’s size during image\ncreation.\nIn Vulkan, image creation and memory allocation are independent unless a\ndedicated allocation is used (as in ",{"type":17,"tag":140,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":23,"value":1717},{"type":23,"value":1762},").\nTherefore, without requiring dedicated allocation, Vulkan cannot query\nthe size of each dma_buf (or other external handle) when calculating the\nimage’s memory layout.\nEven if dedication allocation were required, Vulkan cannot calculate the\nimage’s memory layout until after the image is bound to its dma_ufs.",{"type":17,"tag":43,"props":1764,"children":1765},{},[1766],{"type":23,"value":1767},"The above differences complicate the potential inference of plane size in\nVulkan.\nConsider the following problematic cases:",{"type":17,"tag":72,"props":1769,"children":1770},{},[1771,1781,1797],{"type":17,"tag":76,"props":1772,"children":1773},{},[1774,1779],{"type":17,"tag":37,"props":1775,"children":1776},{},[1777],{"type":23,"value":1778},"Padding.",{"type":23,"value":1780}," Some plane of the image may require implementation-dependent\npadding.",{"type":17,"tag":76,"props":1782,"children":1783},{},[1784,1789,1791,1795],{"type":17,"tag":37,"props":1785,"children":1786},{},[1787],{"type":23,"value":1788},"Metadata.",{"type":23,"value":1790}," For some ",{"type":17,"tag":37,"props":1792,"children":1793},{},[1794],{"type":23,"value":178},{"type":23,"value":1796},", the image may have a metadata plane\nwhich requires a non-trivial calculation to determine its size.",{"type":17,"tag":76,"props":1798,"children":1799},{},[1800,1805,1807,1812,1814,1820,1821,1827,1829,1835,1837,1841],{"type":17,"tag":37,"props":1801,"children":1802},{},[1803],{"type":23,"value":1804},"Mipmapped, array, and 3D images.",{"type":23,"value":1806}," The implementation may support\n",{"type":17,"tag":140,"props":1808,"children":1810},{"className":1809},[],[1811],{"type":23,"value":1374},{"type":23,"value":1813}," for images whose\n",{"type":17,"tag":140,"props":1815,"children":1817},{"className":1816},[],[1818],{"type":23,"value":1819},"mipLevels",{"type":23,"value":664},{"type":17,"tag":140,"props":1822,"children":1824},{"className":1823},[],[1825],{"type":23,"value":1826},"arrayLayers",{"type":23,"value":1828},", or ",{"type":17,"tag":140,"props":1830,"children":1832},{"className":1831},[],[1833],{"type":23,"value":1834},"depth",{"type":23,"value":1836}," is greater than 1.\nFor such images with certain ",{"type":17,"tag":37,"props":1838,"children":1839},{},[1840],{"type":23,"value":178},{"type":23,"value":1842},", the calculation of each\nplane’s size may be non-trivial.",{"type":17,"tag":43,"props":1844,"children":1845},{},[1846],{"type":23,"value":1847},"However, an application-provided plane size solves none of the above\nproblems.",{"type":17,"tag":43,"props":1849,"children":1850},{},[1851,1853,1859,1861,1865],{"type":23,"value":1852},"For simplicity, consider an external image with a single memory plane.\nThe implementation is obviously capable calculating the image’s size when\nits tiling is ",{"type":17,"tag":140,"props":1854,"children":1856},{"className":1855},[],[1857],{"type":23,"value":1858},"VK_IMAGE_TILING_OPTIMAL",{"type":23,"value":1860},".\nLikewise, any reasonable implementation is capable of calculating the\nimage’s size when its tiling uses a supported ",{"type":17,"tag":37,"props":1862,"children":1863},{},[1864],{"type":23,"value":279},{"type":23,"value":462},{"type":17,"tag":43,"props":1867,"children":1868},{},[1869,1871,1877,1879,1883,1885,1890,1892,1896,1898,1904,1906,1911],{"type":23,"value":1870},"Suppose that the external image’s size is smaller than the\nimplementation-calculated size.\nIf the application provided the external image’s size to\n",{"type":17,"tag":226,"props":1872,"children":1874},{"href":1873},"/man/vkCreateImage",[1875],{"type":23,"value":1876},"vkCreateImage",{"type":23,"value":1878},", the implementation would observe the mismatched size\nand recognize its inability to comprehend the external image’s layout\n(unless the implementation used the application-provided size to select a\nrefinement of the tiling layout indicated by the ",{"type":17,"tag":37,"props":1880,"children":1881},{},[1882],{"type":23,"value":279},{"type":23,"value":1884},", which is\nstrongly discouraged).\nThe implementation would observe the conflict, and reject image creation\nwith ",{"type":17,"tag":140,"props":1886,"children":1888},{"className":1887},[],[1889],{"type":23,"value":1397},{"type":23,"value":1891},".\nOn the other hand, if the application did not provide the external image’s\nsize to ",{"type":17,"tag":226,"props":1893,"children":1894},{"href":1873},[1895],{"type":23,"value":1876},{"type":23,"value":1897},", then the application would observe after\ncalling ",{"type":17,"tag":226,"props":1899,"children":1901},{"href":1900},"/man/vkGetImageMemoryRequirements",[1902],{"type":23,"value":1903},"vkGetImageMemoryRequirements",{"type":23,"value":1905}," that the external image’s size is\nless than the size required by the implementation.\nThe application would observe the conflict and refuse to bind the\n",{"type":17,"tag":140,"props":1907,"children":1909},{"className":1908},[],[1910],{"type":23,"value":1511},{"type":23,"value":1912}," to the external memory.\nIn both cases, the result is explicit failure.",{"type":17,"tag":43,"props":1914,"children":1915},{},[1916,1918,1922,1924,1929,1930,1934,1935,1939,1941,1946],{"type":23,"value":1917},"Suppose that the external image’s size is larger than the\nimplementation-calculated size.\nIf the application provided the external image’s size to\n",{"type":17,"tag":226,"props":1919,"children":1920},{"href":1873},[1921],{"type":23,"value":1876},{"type":23,"value":1923},", for reasons similar to above the implementation would\nobserve the mismatched size and recognize its inability to comprehend the\nimage data residing in the extra size.\nThe implementation, however, must assume that image data resides in the\nentire size provided by the application.\nThe implementation would observe the conflict and reject image creation with\n",{"type":17,"tag":140,"props":1925,"children":1927},{"className":1926},[],[1928],{"type":23,"value":1397},{"type":23,"value":1891},{"type":17,"tag":226,"props":1931,"children":1932},{"href":1873},[1933],{"type":23,"value":1876},{"type":23,"value":1897},{"type":17,"tag":226,"props":1936,"children":1937},{"href":1900},[1938],{"type":23,"value":1903},{"type":23,"value":1940}," that the external image’s size is\nlarger than the implementation-usable size.\nThe application would observe the conflict and refuse to bind the\n",{"type":17,"tag":140,"props":1942,"children":1944},{"className":1943},[],[1945],{"type":23,"value":1511},{"type":23,"value":1912},{"type":17,"tag":43,"props":1948,"children":1949},{},[1950,1952,1958,1959,1964,1966,1971,1973,1978],{"type":23,"value":1951},"Therefore, an application-provided size provides no benefit, and this\nextension should not require it.\nThis decision renders ",{"type":17,"tag":226,"props":1953,"children":1955},{"href":1954},"/man/VkSubresourceLayout",[1956],{"type":23,"value":1957},"VkSubresourceLayout",{"type":23,"value":838},{"type":17,"tag":140,"props":1960,"children":1962},{"className":1961},[],[1963],{"type":23,"value":783},{"type":23,"value":1965}," an unused field\nduring image creation, and thus introduces a risk that implementations may\nrequire applications to submit sideband creation parameters in the unused\nfield.\nTo prevent implementations from relying on sideband data, this extension\n",{"type":17,"tag":37,"props":1967,"children":1968},{},[1969],{"type":23,"value":1970},"requires",{"type":23,"value":1972}," the application to set ",{"type":17,"tag":140,"props":1974,"children":1976},{"className":1975},[],[1977],{"type":23,"value":783},{"type":23,"value":1979}," to 0.",{"type":17,"tag":1981,"props":1982,"children":1984},"h3",{"id":1983},"_references",[1985],{"type":23,"value":1986},"References",{"type":17,"tag":1988,"props":1989,"children":1990},"ol",{},[1991,2009,2026,2043,2060],{"type":17,"tag":76,"props":1992,"children":1993},{},[1994,1999],{"type":17,"tag":1995,"props":1996,"children":1998},"anchor",{"id":1997},"VK\\_EXT\\_image\\_drm\\_format\\_modifier-fn1",[],{"type":17,"tag":226,"props":2000,"children":2003},{"href":2001,"rel":2002},"https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt",[230],[2004],{"type":17,"tag":140,"props":2005,"children":2007},{"className":2006},[],[2008],{"type":23,"value":979},{"type":17,"tag":76,"props":2010,"children":2011},{},[2012,2016],{"type":17,"tag":1995,"props":2013,"children":2015},{"id":2014},"VK\\_EXT\\_image\\_drm\\_format\\_modifier-fn2",[],{"type":17,"tag":226,"props":2017,"children":2020},{"href":2018,"rel":2019},"https://registry.khronos.org/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import_modifiers.txt",[230],[2021],{"type":17,"tag":140,"props":2022,"children":2024},{"className":2023},[],[2025],{"type":23,"value":145},{"type":17,"tag":76,"props":2027,"children":2028},{},[2029,2033],{"type":17,"tag":1995,"props":2030,"children":2032},{"id":2031},"VK\\_EXT\\_image\\_drm\\_format\\_modifier-fn3",[],{"type":17,"tag":226,"props":2034,"children":2037},{"href":2035,"rel":2036},"https://registry.khronos.org/EGL/extensions/MESA/EGL_MESA_image_dma_buf_export.txt",[230],[2038],{"type":17,"tag":140,"props":2039,"children":2041},{"className":2040},[],[2042],{"type":23,"value":153},{"type":17,"tag":76,"props":2044,"children":2045},{},[2046,2050],{"type":17,"tag":1995,"props":2047,"children":2049},{"id":2048},"VK\\_EXT\\_image\\_drm\\_format\\_modifier-fn4",[],{"type":17,"tag":226,"props":2051,"children":2054},{"href":2052,"rel":2053},"https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/drm/drm_mode.h?id=refs/tags/v4.10#n392",[230],[2055],{"type":17,"tag":140,"props":2056,"children":2058},{"className":2057},[],[2059],{"type":23,"value":1047},{"type":17,"tag":76,"props":2061,"children":2062},{},[2063,2067],{"type":17,"tag":1995,"props":2064,"children":2066},{"id":2065},"VK\\_EXT\\_image\\_drm\\_format\\_modifier-fn5",[],{"type":17,"tag":226,"props":2068,"children":2071},{"href":2069,"rel":2070},"https://cgit.freedesktop.org/mesa/mesa/tree/src/gbm/main/gbm.h?id=refs/tags/mesa-18.0.0-rc1",[230],[2072],{"type":17,"tag":140,"props":2073,"children":2075},{"className":2074},[],[2076],{"type":23,"value":1107},{"type":17,"tag":1981,"props":2078,"children":2080},{"id":2079},"_version_history",[2081],{"type":23,"value":2082},"Version History",{"type":17,"tag":72,"props":2084,"children":2085},{},[2086,2099],{"type":17,"tag":76,"props":2087,"children":2088},{},[2089,2091],{"type":23,"value":2090},"Revision 1, 2018-08-29 (Lina Versace)",{"type":17,"tag":72,"props":2092,"children":2093},{},[2094],{"type":17,"tag":76,"props":2095,"children":2096},{},[2097],{"type":23,"value":2098},"First stable revision",{"type":17,"tag":76,"props":2100,"children":2101},{},[2102,2104],{"type":23,"value":2103},"Revision 2, 2021-09-30 (Jon Leech)",{"type":17,"tag":72,"props":2105,"children":2106},{},[2107],{"type":17,"tag":76,"props":2108,"children":2109},{},[2110,2112,2116,2117],{"type":23,"value":2111},"Add interaction with ",{"type":17,"tag":226,"props":2113,"children":2114},{"href":1229},[2115],{"type":23,"value":1232},{"type":23,"value":384},{"type":17,"tag":140,"props":2118,"children":2120},{"className":2119},[],[2121],{"type":23,"value":2122},"vk.xml",{"title":5,"searchDepth":2124,"depth":2124,"links":2125},2,[2126,2127,2128,2129,2130,2131,2132,2133,2134,2135],{"id":27,"depth":2124,"text":30},{"id":118,"depth":2124,"text":121},{"id":158,"depth":2124,"text":161},{"id":465,"depth":2124,"text":468},{"id":547,"depth":2124,"text":550},{"id":965,"depth":2124,"text":968},{"id":1111,"depth":2124,"text":1114},{"id":1127,"depth":2124,"text":1130},{"id":1277,"depth":2124,"text":1280},{"id":1497,"depth":2124,"text":1500,"children":2136},[2137,2139],{"id":1983,"depth":2138,"text":1986},3,{"id":2079,"depth":2138,"text":2082},"markdown",[2142,2146,2150,2153,2156,2160,2164,2168,2172,2176,2180,2184,2188,2192,2196,2200,2204,2208,2212,2216,2220,2224,2228,2232,2236,2240,2244,2248,2252,2256,2260,2264,2268,2272,2276,2280,2284,2288,2292,2296,2300,2304,2308,2312,2316,2320,2324,2328,2332,2336,2340,2344,2347,2350,2353,2356,2359,2362,2365],{"index":2143,"title":2144,"id":2145,"appendix":9},0,"Preamble","preamble",{"index":2147,"title":2148,"id":2149,"appendix":9},1,"Introduction","introduction",{"index":2124,"title":2151,"id":2152,"appendix":9},"Fundamentals","fundamentals",{"index":2138,"title":2154,"id":2155,"appendix":9},"Initialization","initialization",{"index":2157,"title":2158,"id":2159,"appendix":9},4,"Devices and Queues","devsandqueues",{"index":2161,"title":2162,"id":2163,"appendix":9},5,"Command Buffers","commandbuffers",{"index":2165,"title":2166,"id":2167,"appendix":9},6,"Synchronization and Cache Control","synchronization",{"index":2169,"title":2170,"id":2171,"appendix":9},7,"Render Pass","renderpass",{"index":2173,"title":2174,"id":2175,"appendix":9},8,"Shaders","shaders",{"index":2177,"title":2178,"id":2179,"appendix":9},9,"Pipelines","pipelines",{"index":2181,"title":2182,"id":2183,"appendix":9},10,"Memory Allocation","memory",{"index":2185,"title":2186,"id":2187,"appendix":9},11,"Resource Creation","resources",{"index":2189,"title":2190,"id":2191,"appendix":9},12,"Samplers","samplers",{"index":2193,"title":2194,"id":2195,"appendix":9},13,"Resource Descriptors","descriptorsets",{"index":2197,"title":2198,"id":2199,"appendix":9},14,"Shader Interfaces","interfaces",{"index":2201,"title":2202,"id":2203,"appendix":9},15,"Image Operations","textures",{"index":2205,"title":2206,"id":2207,"appendix":9},16,"Fragment Density Map Operations","fragmentdensitymapops",{"index":2209,"title":2210,"id":2211,"appendix":9},17,"Queries","queries",{"index":2213,"title":2214,"id":2215,"appendix":9},18,"Clear Commands","clears",{"index":2217,"title":2218,"id":2219,"appendix":9},19,"Copy Commands","copies",{"index":2221,"title":2222,"id":2223,"appendix":9},20,"Drawing Commands","drawing",{"index":2225,"title":2226,"id":2227,"appendix":9},21,"Fixed-Function Vertex Processing","fxvertex",{"index":2229,"title":2230,"id":2231,"appendix":9},22,"Tessellation","tessellation",{"index":2233,"title":2234,"id":2235,"appendix":9},23,"Geometry Shading","geometry",{"index":2237,"title":2238,"id":2239,"appendix":9},24,"Mesh Shading","mesh",{"index":2241,"title":2242,"id":2243,"appendix":9},25,"Cluster Culling Shading","cluster-culling",{"index":2245,"title":2246,"id":2247,"appendix":9},26,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":2249,"title":2250,"id":2251,"appendix":9},27,"Rasterization","primsrast",{"index":2253,"title":2254,"id":2255,"appendix":9},28,"Fragment Operations","fragops",{"index":2257,"title":2258,"id":2259,"appendix":9},29,"The Framebuffer","framebuffer",{"index":2261,"title":2262,"id":2263,"appendix":9},30,"Dispatching Commands","dispatch",{"index":2265,"title":2266,"id":2267,"appendix":9},31,"Device-Generated Commands","device-generated-commands",{"index":2269,"title":2270,"id":2271,"appendix":9},32,"Sparse Resources","sparsememory",{"index":2273,"title":2274,"id":2275,"appendix":9},33,"Window System Integration (WSI)","wsi",{"index":2277,"title":2278,"id":2279,"appendix":9},34,"Deferred Host Operations","deferred-host-operations",{"index":2281,"title":2282,"id":2283,"appendix":9},35,"Private Data","private-data",{"index":2285,"title":2286,"id":2287,"appendix":9},36,"Acceleration Structures","acceleration-structure",{"index":2289,"title":2290,"id":2291,"appendix":9},37,"Micromap","micromap",{"index":2293,"title":2294,"id":2295,"appendix":9},38,"Ray Traversal","ray-traversal",{"index":2297,"title":2298,"id":2299,"appendix":9},39,"Ray Tracing","ray-tracing",{"index":2301,"title":2302,"id":2303,"appendix":9},40,"Memory Decompression","memory-decompression",{"index":2305,"title":2306,"id":2307,"appendix":9},41,"Video Coding","video-coding",{"index":2309,"title":2310,"id":2311,"appendix":9},42,"Optical Flow","opticalflow",{"index":2313,"title":2314,"id":2315,"appendix":9},43,"Execution Graphs","executiongraphs",{"index":2317,"title":2318,"id":2319,"appendix":9},44,"Extending Vulkan","extendingvulkan",{"index":2321,"title":2322,"id":2323,"appendix":9},45,"Features","features",{"index":2325,"title":2326,"id":2327,"appendix":9},46,"Limits","limits",{"index":2329,"title":2330,"id":2331,"appendix":9},47,"Formats","formats",{"index":2333,"title":2334,"id":2335,"appendix":9},48,"Additional Capabilities","capabilities",{"index":2337,"title":2338,"id":2339,"appendix":9},49,"Debugging","debugging",{"index":2143,"title":2341,"id":2342,"appendix":2343},"Vulkan Environment for SPIR-V","spirvenv",true,{"index":2147,"title":2345,"id":2346,"appendix":2343},"Memory Model","memory-model",{"index":2124,"title":2348,"id":2349,"appendix":2343},"Compressed Image Formats","compressed_image_formats",{"index":2138,"title":2351,"id":2352,"appendix":2343},"Core Revisions (Informative)","versions",{"index":2157,"title":2354,"id":2355,"appendix":2343},"Layers & Extensions (Informative)","extensions",{"index":2161,"title":2357,"id":2358,"appendix":2343},"API Boilerplate","boilerplate",{"index":2165,"title":2360,"id":2361,"appendix":2343},"Invariance","invariance",{"index":2169,"title":2363,"id":2364,"appendix":2343},"Lexicon","lexicon",{"index":2173,"title":2366,"id":2367,"appendix":2343},"Credits (Informative)","credits",[2369,2376,2380,2385,2389,2394,2397,2400,2403,2407,2411,2414,2417,2420,2422,2424,2427,2430,2433,2435,2439,2441,2444,2446,2449,2457,2461,2467,2471,2476,2478,2482,2488,2494,2500,2502,2505,2510,2513,2517,2523,2527,2531,2536,2540,2543,2546,2552,2555,2558,2562,2566,2570,2573,2575,2579,2584,2590,2593,2597,2600,2606,2609,2613,2616,2620,2623,2627,2630,2634,2638,2641,2646,2649,2652,2655,2659,2664,2669,2673,2677,2681,2685,2689,2693,2697,2700,2703,2704,2707,2710,2713,2717,2722,2726,2729,2733,2738,2742,2747,2750,2753,2758,2763,2767,2770,2774,2779,2782,2787,2792,2795,2798,2802,2806,2810,2815,2819,2822,2827,2831,2834,2838,2842,2846,2849,2851,2855,2858,2861,2864,2867,2870,2873,2876,2879,2882,2886,2890,2893,2896,2899,2902,2905,2908,2912,2916,2920,2923,2927,2930,2933,2936,2938,2942,2947,2951,2955,2957,2961,2964,2971,2975,2979,2983,2989,2992,2996,3000,3003,3006,3010,3015,3021,3025,3027,3032,3035,3040,3044,3049,3053,3057,3059,3062,3065,3067,3072,3075,3078,3083,3086,3090,3095,3099,3103,3105,3107,3110,3112,3115,3118,3122,3126,3128,3132,3135,3139,3142,3144,3147,3151,3153,3157,3160,3162,3165,3169,3172,3175,3177,3180,3182,3185,3189,3192,3194,3196,3198,3200,3204,3206,3209,3214,3218,3221,3223,3226,3228,3232,3235,3238,3241,3245,3248,3253,3257,3260,3264,3267,3270,3274,3278,3280,3285,3288,3292,3295,3298,3301,3303,3306,3310,3313,3317,3320,3324,3328,3331,3334,3337,3340,3344,3346,3349,3351,3356,3357,3361,3364,3367,3370,3373,3375,3379,3382,3385,3388,3392,3394,3396,3400,3402,3405,3409,3413,3415,3419,3422,3425,3428,3431,3435,3440,3445,3449,3455,3459,3462,3466,3470,3473,3477,3481,3484,3488,3491,3496,3500,3502,3508,3511,3514,3517,3521,3524,3528,3532,3536,3538,3541,3543,3546,3548,3550,3553,3556,3559,3562,3565,3568,3570,3574,3578,3582,3586,3589,3592,3596,3599,3603,3605,3609,3613,3616,3619,3622,3625,3628,3631,3634,3637,3640,3643,3646,3649,3652,3655,3659,3662,3666,3670,3673,3676,3679,3682,3685,3688,3692,3695,3698,3704,3708,3712,3716],{"number":2370,"type":7,"author":2371,"provisional":2343,"depends":2372,"platform":2373,"contact":2374,"extension":2375,"proposal":2343},135,"AMD","(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":2377,"type":7,"author":2371,"provisional":9,"contact":2378,"extension":2379,"proposal":2343},477,"Stu Smith","VK_AMD_anti_lag",{"number":2381,"type":7,"author":2371,"provisional":9,"specialuse":2382,"contact":2383,"extension":2384,"proposal":9},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":2386,"type":7,"author":2371,"provisional":9,"depends":2387,"contact":2374,"extension":2388,"proposal":9},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":2390,"type":7,"author":2371,"provisional":9,"depends":2391,"contact":2392,"extension":2393,"proposal":9},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":2277,"type":7,"author":2371,"promotedto":2395,"provisional":9,"contact":2383,"extension":2396,"proposal":9},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":2245,"type":7,"author":2371,"provisional":9,"contact":2398,"extension":2399,"proposal":9},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":2289,"type":7,"author":2371,"deprecatedby":2401,"provisional":9,"contact":2398,"extension":2402,"proposal":9},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":2404,"type":7,"author":2371,"deprecatedby":2401,"provisional":9,"contact":2405,"extension":2406,"proposal":9},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":2408,"type":7,"author":2371,"provisional":9,"contact":2409,"extension":2410,"proposal":9},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":2412,"type":7,"author":2371,"provisional":9,"contact":2392,"extension":2413,"proposal":9},137,"VK_AMD_mixed_attachment_samples",{"number":2285,"type":7,"author":2371,"obsoletedby":2415,"provisional":9,"contact":2392,"extension":2416,"proposal":9},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":2418,"type":7,"author":2371,"provisional":9,"contact":2392,"extension":2419,"proposal":9},184,"VK_AMD_pipeline_compiler_control",{"number":2217,"type":7,"author":2371,"provisional":9,"contact":2383,"extension":2421,"proposal":9},"VK_AMD_rasterization_order",{"number":2293,"type":7,"author":2371,"provisional":9,"contact":2398,"extension":2423,"proposal":9},"VK_AMD_shader_ballot",{"number":2425,"type":7,"author":2371,"provisional":9,"depends":2387,"contact":2409,"extension":2426,"proposal":9},186,"VK_AMD_shader_core_properties",{"number":2428,"type":7,"author":2371,"provisional":9,"depends":2426,"contact":2392,"extension":2429,"proposal":9},228,"VK_AMD_shader_core_properties2",{"number":2431,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2374,"extension":2432,"proposal":2343},322,"VK_AMD_shader_early_and_late_fragment_tests",{"number":2229,"type":7,"author":2371,"provisional":9,"contact":2405,"extension":2434,"proposal":9},"VK_AMD_shader_explicit_vertex_parameter",{"number":2436,"type":7,"author":2371,"provisional":9,"contact":2437,"extension":2438,"proposal":9},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":2329,"type":7,"author":2371,"provisional":9,"contact":2398,"extension":2440,"proposal":9},"VK_AMD_shader_image_load_store_lod",{"number":2313,"type":7,"author":2371,"provisional":9,"specialuse":2382,"contact":2442,"extension":2443,"proposal":9},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":2225,"type":7,"author":2371,"provisional":9,"contact":2405,"extension":2445,"proposal":9},"VK_AMD_shader_trinary_minmax",{"number":2309,"type":7,"author":2371,"provisional":9,"depends":2387,"contact":2447,"extension":2448,"proposal":9},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":2450,"type":7,"author":2451,"provisional":9,"depends":2452,"platform":2453,"specialuse":2454,"contact":2455,"extension":2456,"proposal":2343},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":2458,"type":7,"author":2451,"provisional":9,"depends":2459,"platform":2453,"contact":2460,"extension":2452,"proposal":9},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":2462,"type":7,"author":2463,"promotedto":2464,"provisional":9,"depends":2387,"contact":2465,"extension":2466,"proposal":9},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":2468,"type":7,"author":2463,"provisional":9,"depends":2469,"contact":2465,"extension":2470,"proposal":2343},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":2472,"type":7,"author":2463,"provisional":9,"depends":2473,"contact":2474,"extension":2475,"proposal":9},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":2477,"type":7,"author":2463,"provisional":9,"depends":2387,"contact":2474,"extension":2473,"proposal":9},498,{"number":2479,"type":7,"author":2463,"provisional":9,"depends":2480,"contact":2465,"extension":2481,"proposal":9},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":2483,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2486,"extension":2487,"proposal":9},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":2489,"type":2490,"author":8,"provisional":9,"depends":2491,"contact":2492,"extension":2493,"proposal":9},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":2495,"type":2490,"author":2496,"provisional":9,"depends":2491,"platform":2497,"contact":2498,"extension":2499,"proposal":9},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":2501,"proposal":9},"VK_EXT_application_parameters",{"number":2503,"type":7,"author":2463,"provisional":9,"depends":2387,"contact":2465,"extension":2504,"proposal":9},68,"VK_EXT_astc_decode_mode",{"number":2506,"type":7,"author":8,"provisional":9,"depends":2507,"ratified":11,"contact":2508,"extension":2509,"proposal":2343},525,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_attachment_feedback_loop_layout","Mike Blumenkrantz @zmike","VK_EXT_attachment_feedback_loop_dynamic_state",{"number":2511,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2486,"extension":2512,"proposal":2343},340,"VK_EXT_attachment_feedback_loop_layout",{"number":2514,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":2516,"proposal":9},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":2518,"type":7,"author":8,"provisional":9,"depends":2519,"specialuse":2520,"contact":2521,"extension":2522,"proposal":9},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":2524,"type":7,"author":2496,"deprecatedby":2525,"provisional":9,"depends":2387,"contact":2515,"extension":2526,"proposal":9},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":2528,"type":7,"author":8,"promotedto":2529,"provisional":9,"depends":2387,"contact":2383,"extension":2530,"proposal":2343},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":2532,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":2533,"contact":2534,"extension":2535,"proposal":9},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":2537,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":2538,"extension":2539,"proposal":9},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":2541,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":11,"contact":2521,"extension":2542,"proposal":9},102,"VK_EXT_conservative_rasterization",{"number":2544,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":2533,"specialuse":2520,"contact":2545,"extension":2519,"proposal":9},288,"Liam Middlebrook @liam-middlebrook",{"number":2233,"type":7,"author":2547,"promotedto":2548,"provisional":9,"depends":2549,"specialuse":2339,"contact":2550,"extension":2551,"proposal":9},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":2189,"type":2490,"author":2553,"deprecatedby":2548,"provisional":9,"specialuse":2339,"contact":2554,"extension":2549,"proposal":9},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":2556,"type":2490,"author":8,"provisional":9,"specialuse":2339,"contact":2557,"extension":2548,"proposal":9},129,"Mark Young @marky-lunarg",{"number":2559,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"specialuse":2560,"contact":2486,"extension":2561,"proposal":2343},284,"d3demulation","VK_EXT_depth_bias_control",{"number":2563,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2564,"extension":2565,"proposal":9},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":2567,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"specialuse":2454,"contact":2568,"extension":2569,"proposal":9},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":2571,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":2533,"specialuse":2560,"contact":2521,"extension":2572,"proposal":9},103,"VK_EXT_depth_clip_enable",{"number":2197,"type":7,"author":2496,"provisional":9,"ratified":2533,"contact":2521,"extension":2574,"proposal":9},"VK_EXT_depth_range_unrestricted",{"number":2576,"type":7,"author":8,"provisional":9,"depends":2577,"contact":2374,"extension":2578,"proposal":2343},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":2580,"type":7,"author":2496,"promotedto":2581,"provisional":9,"depends":2582,"contact":2515,"extension":2583,"proposal":9},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":2585,"type":7,"author":8,"provisional":9,"depends":2586,"specialuse":2587,"contact":2588,"extension":2589,"proposal":9},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":2591,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2588,"extension":2592,"proposal":2343},342,"VK_EXT_device_fault",{"number":2594,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"specialuse":2382,"contact":2595,"extension":2596,"proposal":9},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":2598,"type":2490,"author":2496,"provisional":9,"depends":2599,"contact":2498,"extension":2491,"proposal":9},89,"VK_KHR_display",{"number":2601,"type":2490,"author":8,"provisional":9,"depends":2602,"platform":2603,"contact":2604,"extension":2605,"proposal":9},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":2607,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":2533,"contact":2521,"extension":2608,"proposal":9},100,"VK_EXT_discard_rectangles",{"number":2610,"type":7,"author":2496,"provisional":9,"depends":2611,"ratified":11,"contact":2498,"extension":2612,"proposal":9},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":2614,"type":2490,"author":2496,"provisional":9,"depends":2599,"ratified":11,"contact":2498,"extension":2615,"proposal":9},91,"VK_EXT_display_surface_counter",{"number":2617,"type":7,"author":8,"provisional":9,"depends":2618,"ratified":11,"contact":2521,"extension":2619,"proposal":2343},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":2621,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2521,"extension":2622,"proposal":9},268,"VK_EXT_extended_dynamic_state",{"number":2624,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2625,"extension":2626,"proposal":9},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":2628,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":11,"contact":2521,"extension":2629,"proposal":2343},456,"VK_EXT_extended_dynamic_state3",{"number":2631,"type":7,"author":8,"provisional":9,"depends":2632,"ratified":11,"contact":12,"extension":2633,"proposal":2343},454,"VK_KHR_external_memory,VK_VERSION_1_1","VK_EXT_external_memory_acquire_unmodified",{"number":2635,"type":7,"author":8,"provisional":9,"depends":2636,"ratified":2533,"contact":12,"extension":2637,"proposal":9},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":2639,"type":7,"author":8,"provisional":9,"depends":2632,"ratified":2533,"contact":2383,"extension":2640,"proposal":9},179,"VK_EXT_external_memory_host",{"number":2642,"type":7,"author":2643,"provisional":9,"ratified":11,"contact":2644,"extension":2645,"proposal":9},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":2647,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2644,"extension":2648,"proposal":9},219,"VK_EXT_fragment_density_map",{"number":2650,"type":7,"author":8,"provisional":9,"depends":2648,"contact":2644,"extension":2651,"proposal":9},333,"VK_EXT_fragment_density_map2",{"number":2653,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2521,"extension":2654,"proposal":9},252,"VK_EXT_fragment_shader_interlock",{"number":2656,"type":7,"author":8,"provisional":9,"ratified":11,"contact":2657,"extension":2658,"proposal":2343},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":2660,"type":7,"author":8,"provisional":9,"depends":2661,"platform":2662,"ratified":11,"contact":2498,"extension":2663,"proposal":9},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":2665,"type":7,"author":8,"promotedto":2666,"provisional":9,"contact":2667,"extension":2668,"proposal":9},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":2670,"type":7,"author":8,"promotedto":2666,"provisional":9,"depends":2671,"contact":2595,"extension":2672,"proposal":9},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":2674,"type":7,"author":2371,"provisional":9,"depends":2675,"contact":2374,"extension":2676,"proposal":2343},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":2678,"type":7,"author":2553,"provisional":9,"depends":2679,"ratified":2533,"contact":2554,"extension":2680,"proposal":9},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":2682,"type":2490,"author":8,"provisional":9,"depends":2602,"contact":2683,"extension":2684,"proposal":9},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":2686,"type":7,"author":8,"provisional":9,"depends":2687,"ratified":11,"contact":2568,"extension":2688,"proposal":2343},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":2690,"type":7,"author":8,"promotedto":2581,"provisional":9,"depends":2387,"contact":2691,"extension":2692,"proposal":9},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":2694,"type":7,"author":8,"provisional":9,"depends":2695,"specialuse":2454,"contact":2508,"extension":2696,"proposal":9},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":2698,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2465,"extension":2699,"proposal":2343},339,"VK_EXT_image_compression_control",{"number":2701,"type":7,"author":8,"provisional":9,"depends":2699,"contact":2465,"extension":2702,"proposal":9},438,"VK_EXT_image_compression_control_swapchain",{"number":6,"type":7,"author":8,"provisional":9,"depends":10,"ratified":11,"contact":12,"extension":4,"proposal":9},{"number":2705,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2564,"extension":2706,"proposal":9},336,"VK_EXT_image_robustness",{"number":2708,"type":7,"author":8,"provisional":9,"depends":2695,"specialuse":2560,"contact":2508,"extension":2709,"proposal":2343},419,"VK_EXT_image_sliced_view_of_3d",{"number":2711,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2486,"extension":2712,"proposal":9},392,"VK_EXT_image_view_min_lod",{"number":2714,"type":7,"author":8,"promotedto":2715,"provisional":9,"depends":2387,"contact":2521,"extension":2716,"proposal":9},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":2718,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2719,"contact":2720,"extension":2721,"proposal":9},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":2723,"type":2490,"author":8,"provisional":9,"ratified":11,"contact":2724,"extension":2725,"proposal":2343},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":2727,"type":7,"author":8,"provisional":9,"depends":2387,"specialuse":2454,"contact":2568,"extension":2728,"proposal":2343},466,"VK_EXT_legacy_dithering",{"number":2730,"type":7,"author":8,"provisional":9,"depends":2731,"ratified":11,"specialuse":2454,"contact":2508,"extension":2732,"proposal":2343},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":2734,"type":7,"author":8,"promotedto":2735,"provisional":9,"depends":2387,"specialuse":2736,"contact":2515,"extension":2737,"proposal":9},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":2739,"type":7,"author":8,"promotedto":2740,"provisional":9,"ratified":11,"contact":2568,"extension":2741,"proposal":9},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":2743,"type":7,"author":8,"provisional":9,"depends":2744,"ratified":11,"contact":2745,"extension":2746,"proposal":2343},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":2748,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":2749,"proposal":9},238,"VK_EXT_memory_budget",{"number":2751,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":2752,"proposal":9},239,"VK_EXT_memory_priority",{"number":2754,"type":7,"author":8,"provisional":9,"depends":2755,"contact":2756,"extension":2757,"proposal":2343},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":2759,"type":7,"author":8,"provisional":9,"platform":2760,"contact":2761,"extension":2762,"proposal":2343},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":2764,"type":2490,"author":8,"provisional":9,"depends":2602,"platform":2760,"contact":2765,"extension":2766,"proposal":9},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":2768,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2508,"extension":2769,"proposal":9},393,"VK_EXT_multi_draw",{"number":2771,"type":7,"author":8,"provisional":9,"depends":2772,"contact":2568,"extension":2773,"proposal":2343},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":2775,"type":7,"author":8,"provisional":9,"depends":2776,"specialuse":2560,"contact":2777,"extension":2778,"proposal":2343},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":2780,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2521,"extension":2781,"proposal":9},452,"VK_EXT_nested_command_buffer",{"number":2783,"type":7,"author":8,"provisional":9,"depends":2387,"specialuse":2784,"contact":2785,"extension":2786,"proposal":2343},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":2788,"type":7,"author":8,"provisional":9,"depends":2789,"ratified":11,"contact":2790,"extension":2791,"proposal":2343},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":2793,"type":7,"author":8,"provisional":9,"depends":2752,"contact":2521,"extension":2794,"proposal":9},413,"VK_EXT_pageable_device_local_memory",{"number":2796,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":2533,"contact":2392,"extension":2797,"proposal":9},213,"VK_EXT_pci_bus_info",{"number":2799,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2800,"extension":2801,"proposal":9},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":2803,"type":7,"author":2371,"promotedto":2484,"provisional":9,"depends":2387,"contact":2804,"extension":2805,"proposal":9},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":2807,"type":7,"author":2553,"promotedto":2484,"provisional":9,"specialuse":2382,"contact":2808,"extension":2809,"proposal":9},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":2811,"type":7,"author":8,"provisional":9,"depends":2812,"contact":2813,"extension":2814,"proposal":2343},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":2816,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2817,"extension":2818,"proposal":9},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":2820,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2568,"extension":2821,"proposal":2343},467,"VK_EXT_pipeline_protected_access",{"number":2823,"type":7,"author":2824,"provisional":9,"depends":2387,"contact":2825,"extension":2826,"proposal":9},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":2828,"type":7,"author":2496,"provisional":9,"ratified":11,"contact":2829,"extension":2830,"proposal":9},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":2832,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"specialuse":2454,"contact":2568,"extension":2833,"proposal":9},357,"VK_EXT_primitive_topology_list_restart",{"number":2835,"type":7,"author":8,"provisional":9,"depends":2836,"specialuse":2454,"contact":2568,"extension":2837,"proposal":2343},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":2839,"type":7,"author":2496,"promotedto":2484,"provisional":9,"depends":2387,"contact":2840,"extension":2841,"proposal":9},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":2843,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"specialuse":2454,"contact":2844,"extension":2845,"proposal":9},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":2847,"type":7,"author":8,"provisional":9,"depends":2632,"ratified":2533,"contact":12,"extension":2848,"proposal":9},127,"VK_EXT_queue_family_foreign",{"number":2850,"type":7,"author":2463,"provisional":9,"depends":2387,"contact":2465,"extension":2464,"proposal":2343},464,{"number":2852,"type":7,"author":8,"provisional":9,"depends":2853,"contact":2465,"extension":2854,"proposal":9},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":2856,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":2533,"contact":2545,"extension":2857,"proposal":9},287,"VK_EXT_robustness2",{"number":2859,"type":7,"author":2371,"provisional":9,"depends":2387,"ratified":2533,"contact":2383,"extension":2860,"proposal":9},144,"VK_EXT_sample_locations",{"number":2862,"type":7,"author":2496,"promotedto":2581,"provisional":9,"depends":2387,"contact":2515,"extension":2863,"proposal":9},131,"VK_EXT_sampler_filter_minmax",{"number":2865,"type":7,"author":8,"promotedto":2581,"provisional":9,"depends":2387,"contact":2374,"extension":2866,"proposal":9},222,"VK_EXT_scalar_block_layout",{"number":2868,"type":7,"author":8,"promotedto":2581,"provisional":9,"contact":2383,"extension":2869,"proposal":9},247,"VK_EXT_separate_stencil_usage",{"number":2871,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":2533,"contact":2625,"extension":2872,"proposal":9},261,"VK_EXT_shader_atomic_float",{"number":2874,"type":7,"author":8,"provisional":9,"depends":2872,"ratified":11,"contact":2745,"extension":2875,"proposal":9},274,"VK_EXT_shader_atomic_float2",{"number":2877,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2515,"extension":2878,"proposal":9},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":2880,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2374,"extension":2881,"proposal":9},235,"VK_EXT_shader_image_atomic_int64",{"number":2883,"type":7,"author":8,"provisional":9,"depends":2884,"contact":2813,"extension":2885,"proposal":2343},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":2887,"type":7,"author":8,"provisional":9,"depends":2618,"ratified":11,"contact":2888,"extension":2889,"proposal":2343},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":2891,"type":7,"author":8,"provisional":9,"ratified":11,"contact":2474,"extension":2892,"proposal":2343},565,"VK_EXT_shader_replicated_composites",{"number":2894,"type":7,"author":8,"provisional":9,"ratified":2533,"contact":2398,"extension":2895,"proposal":9},141,"VK_EXT_shader_stencil_export",{"number":2897,"type":7,"author":2496,"deprecatedby":2581,"provisional":9,"contact":2829,"extension":2898,"proposal":9},65,"VK_EXT_shader_subgroup_ballot",{"number":2900,"type":7,"author":2496,"deprecatedby":2480,"provisional":9,"contact":2829,"extension":2901,"proposal":9},66,"VK_EXT_shader_subgroup_vote",{"number":2903,"type":7,"author":8,"provisional":9,"depends":2484,"ratified":11,"contact":2465,"extension":2904,"proposal":2343},396,"VK_EXT_shader_tile_image",{"number":2906,"type":7,"author":2496,"promotedto":2581,"provisional":9,"contact":2829,"extension":2907,"proposal":9},163,"VK_EXT_shader_viewport_index_layer",{"number":2909,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2480,"ratified":2485,"contact":2910,"extension":2911,"proposal":9},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":2913,"type":7,"author":8,"provisional":9,"depends":2387,"contact":2914,"extension":2915,"proposal":2343},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":2917,"type":2490,"author":8,"provisional":9,"depends":2918,"contact":2568,"extension":2919,"proposal":2343},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":2921,"type":2490,"author":2553,"provisional":9,"depends":2602,"contact":2554,"extension":2922,"proposal":9},105,"VK_EXT_swapchain_colorspace",{"number":2924,"type":7,"author":8,"provisional":9,"depends":2925,"contact":2568,"extension":2926,"proposal":2343},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":2928,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2515,"extension":2929,"proposal":9},282,"VK_EXT_texel_buffer_alignment",{"number":2931,"type":7,"author":2463,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2485,"contact":2465,"extension":2932,"proposal":9},67,"VK_EXT_texture_compression_astc_hdr",{"number":2934,"type":7,"author":8,"promotedto":2484,"provisional":9,"contact":2374,"extension":2935,"proposal":9},246,"VK_EXT_tooling_info",{"number":2257,"type":7,"author":2496,"provisional":9,"depends":2387,"ratified":11,"specialuse":2937,"contact":2521,"extension":2836,"proposal":9},"glemulation,d3demulation,devtools",{"number":2939,"type":7,"author":2553,"provisional":9,"contact":2940,"extension":2941,"proposal":9},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":2943,"type":2490,"author":2944,"deprecatedby":2725,"provisional":9,"specialuse":2339,"contact":2945,"extension":2946,"proposal":9},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":2948,"type":2490,"author":2553,"deprecatedby":2725,"provisional":9,"specialuse":2339,"contact":2949,"extension":2950,"proposal":9},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":2952,"type":7,"author":2496,"promotedto":2953,"provisional":9,"depends":2387,"contact":2538,"extension":2954,"proposal":9},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":2956,"type":7,"author":8,"provisional":9,"depends":2387,"ratified":11,"contact":2521,"extension":2731,"proposal":9},353,{"number":2958,"type":7,"author":8,"promotedto":2484,"provisional":9,"depends":2853,"ratified":2485,"contact":2959,"extension":2960,"proposal":9},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":2962,"type":7,"author":8,"provisional":9,"depends":2853,"ratified":2533,"contact":2521,"extension":2963,"proposal":9},253,"VK_EXT_ycbcr_image_arrays",{"number":2965,"type":7,"author":2966,"provisional":9,"depends":2967,"platform":2968,"contact":2969,"extension":2970,"proposal":9},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":2972,"type":7,"author":2966,"provisional":9,"depends":2973,"platform":2968,"contact":2969,"extension":2974,"proposal":9},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":2976,"type":7,"author":2966,"provisional":9,"depends":2977,"platform":2968,"contact":2969,"extension":2978,"proposal":9},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":2980,"type":2490,"author":2966,"provisional":9,"depends":2602,"platform":2968,"contact":2981,"extension":2982,"proposal":9},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":2984,"type":7,"author":2985,"provisional":9,"depends":2986,"platform":2987,"contact":2808,"extension":2988,"proposal":9},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":2990,"type":2490,"author":2985,"provisional":9,"depends":2602,"platform":2987,"contact":2808,"extension":2991,"proposal":9},50,"VK_GGP_stream_descriptor_surface",{"number":2993,"type":7,"author":2553,"provisional":9,"contact":2994,"extension":2995,"proposal":9},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":2997,"type":7,"author":2553,"provisional":9,"depends":2679,"contact":2998,"extension":2999,"proposal":9},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":3001,"type":7,"author":2553,"provisional":9,"contact":2994,"extension":3002,"proposal":9},224,"VK_GOOGLE_hlsl_functionality1",{"number":3004,"type":2490,"author":2553,"provisional":9,"depends":2602,"specialuse":2454,"contact":2568,"extension":3005,"proposal":2343},434,"VK_GOOGLE_surfaceless_query",{"number":3007,"type":7,"author":2553,"provisional":9,"contact":3008,"extension":3009,"proposal":9},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":3011,"type":7,"author":3012,"provisional":9,"depends":2387,"contact":3013,"extension":3014,"proposal":2343},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":3016,"type":7,"author":3017,"provisional":9,"depends":3018,"contact":3019,"extension":3020,"proposal":2343},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":3022,"type":7,"author":3012,"provisional":9,"depends":3023,"contact":3019,"extension":3024,"proposal":9},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":2205,"type":7,"author":2824,"provisional":9,"contact":2374,"extension":3026,"proposal":9},"VK_IMG_filter_cubic",{"number":3028,"type":7,"author":2824,"deprecatedby":3029,"provisional":9,"contact":3030,"extension":3031,"proposal":9},55,null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":3033,"type":7,"author":2824,"provisional":9,"depends":2387,"specialuse":2454,"contact":2657,"extension":3034,"proposal":9},111,"VK_IMG_relaxed_line_rasterization",{"number":3036,"type":7,"author":3037,"provisional":9,"specialuse":2382,"contact":3038,"extension":3039,"proposal":9},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":3041,"type":7,"author":3037,"provisional":9,"depends":2387,"contact":3042,"extension":3043,"proposal":9},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":3045,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3047,"ratified":11,"contact":2465,"extension":3048,"proposal":9},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":3050,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3047,"ratified":11,"contact":3051,"extension":3052,"proposal":9},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":3054,"type":7,"author":3046,"provisional":9,"depends":3055,"ratified":11,"contact":2829,"extension":3056,"proposal":9},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":2177,"type":2490,"author":3046,"provisional":9,"depends":2602,"platform":2453,"ratified":11,"contact":2460,"extension":3058,"proposal":9},"VK_KHR_android_surface",{"number":3060,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2374,"extension":3061,"proposal":9},158,"VK_KHR_bind_memory2",{"number":3063,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3064,"ratified":11,"contact":2515,"extension":2525,"proposal":9},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":3066,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":2720,"extension":2529,"proposal":9},544,{"number":3068,"type":7,"author":3046,"provisional":9,"depends":3069,"ratified":11,"contact":3070,"extension":3071,"proposal":2343},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":3073,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"contact":2474,"extension":3074,"proposal":2343},507,"VK_KHR_cooperative_matrix",{"number":3076,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2533,"contact":2644,"extension":3077,"proposal":9},338,"VK_KHR_copy_commands2",{"number":3079,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3080,"ratified":11,"contact":3081,"extension":3082,"proposal":9},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":3084,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3085,"ratified":11,"contact":2498,"extension":1717,"proposal":9},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1",{"number":3087,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":3088,"extension":3089,"proposal":9},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":3091,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3092,"ratified":11,"contact":3093,"extension":3094,"proposal":9},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":3096,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":3097,"extension":3098,"proposal":9},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":3100,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3101,"ratified":11,"contact":2515,"extension":3102,"proposal":9},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":3104,"type":2490,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2515,"extension":3101,"proposal":9},71,{"number":2138,"type":2490,"author":3046,"provisional":9,"depends":2602,"ratified":2533,"contact":3106,"extension":2599,"proposal":9},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":2157,"type":7,"author":3046,"provisional":9,"depends":3108,"ratified":2533,"contact":2498,"extension":3109,"proposal":9},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":3111,"type":7,"author":3046,"promotedto":2581,"provisional":9,"ratified":11,"contact":2521,"extension":2395,"proposal":9},170,{"number":3113,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":2383,"extension":3114,"proposal":9},197,"VK_KHR_driver_properties",{"number":2321,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":3116,"ratified":11,"contact":2374,"extension":3117,"proposal":2343},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":3119,"type":7,"author":2371,"provisional":9,"depends":3120,"ratified":11,"contact":2374,"extension":3121,"proposal":2343},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":3123,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3124,"ratified":11,"contact":2460,"extension":3125,"proposal":9},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":3127,"type":2490,"author":3046,"promotedto":2480,"provisional":9,"depends":2387,"ratified":11,"contact":2460,"extension":3124,"proposal":9},113,{"number":3129,"type":7,"author":3046,"provisional":9,"depends":3130,"ratified":2533,"contact":2460,"extension":3131,"proposal":9},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":3133,"type":7,"author":3046,"provisional":9,"depends":3125,"platform":2662,"ratified":11,"contact":2460,"extension":3134,"proposal":9},115,"VK_KHR_external_fence_win32",{"number":3136,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3137,"ratified":11,"contact":2498,"extension":3138,"proposal":9},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":3140,"type":2490,"author":3046,"promotedto":2480,"provisional":9,"depends":2387,"ratified":11,"contact":2498,"extension":3141,"proposal":9},72,"VK_KHR_external_memory_capabilities",{"number":3143,"type":7,"author":3046,"provisional":9,"depends":2632,"ratified":2533,"contact":2498,"extension":2636,"proposal":9},75,{"number":3145,"type":7,"author":3046,"provisional":9,"depends":2632,"platform":2662,"ratified":11,"contact":2498,"extension":3146,"proposal":9},74,"VK_KHR_external_memory_win32",{"number":3148,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3149,"ratified":11,"contact":2498,"extension":3150,"proposal":9},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":3152,"type":2490,"author":3046,"promotedto":2480,"provisional":9,"depends":2387,"ratified":11,"contact":2498,"extension":3149,"proposal":9},77,{"number":3154,"type":7,"author":3046,"provisional":9,"depends":3155,"ratified":2533,"contact":2498,"extension":3156,"proposal":9},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":3158,"type":7,"author":3046,"provisional":9,"depends":3150,"platform":2662,"ratified":11,"contact":2498,"extension":3159,"proposal":9},79,"VK_KHR_external_semaphore_win32",{"number":3161,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":11,"contact":3038,"extension":1232,"proposal":9},361,{"number":3163,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"contact":2378,"extension":3164,"proposal":2343},323,"VK_KHR_fragment_shader_barycentric",{"number":3166,"type":7,"author":3046,"provisional":9,"depends":3167,"ratified":2533,"contact":2374,"extension":3168,"proposal":2343},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":3170,"type":2490,"author":3046,"provisional":9,"depends":2599,"ratified":2533,"contact":2498,"extension":3171,"proposal":9},122,"VK_KHR_get_display_properties2",{"number":3173,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2745,"extension":3174,"proposal":9},147,"VK_KHR_get_memory_requirements2",{"number":3176,"type":2490,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2515,"extension":3069,"proposal":9},60,{"number":3178,"type":2490,"author":3046,"provisional":9,"depends":2602,"ratified":2533,"contact":2498,"extension":3179,"proposal":9},120,"VK_KHR_get_surface_capabilities2",{"number":3181,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":2374,"extension":2666,"proposal":9},189,{"number":3183,"type":7,"author":3046,"promotedto":2581,"provisional":9,"ratified":11,"contact":2745,"extension":3184,"proposal":9},148,"VK_KHR_image_format_list",{"number":3186,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3187,"ratified":11,"contact":3081,"extension":3188,"proposal":9},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":3190,"type":7,"author":3046,"provisional":9,"depends":2679,"ratified":2533,"contact":2998,"extension":3191,"proposal":9},85,"VK_KHR_incremental_present",{"number":3193,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":2521,"extension":2715,"proposal":9},534,{"number":3195,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":2521,"extension":2735,"proposal":9},535,{"number":3197,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":2568,"extension":2740,"proposal":2343},527,{"number":3199,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2521,"extension":2415,"proposal":9},70,{"number":3201,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":3202,"extension":3203,"proposal":9},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":3205,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":2776,"proposal":9},169,{"number":3207,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2480,"ratified":11,"contact":2521,"extension":3208,"proposal":9},414,"VK_KHR_maintenance4",{"number":3210,"type":7,"author":3046,"provisional":9,"depends":3211,"ratified":11,"contact":3212,"extension":3213,"proposal":2343},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":3215,"type":7,"author":3046,"provisional":9,"depends":2480,"ratified":11,"contact":3216,"extension":3217,"proposal":2343},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":3219,"type":7,"author":3046,"provisional":9,"depends":2480,"ratified":11,"contact":2508,"extension":3220,"proposal":2343},563,"VK_KHR_maintenance7",{"number":3222,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":2745,"extension":2744,"proposal":2343},272,{"number":3224,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":3225,"proposal":9},54,"VK_KHR_multiview",{"extension":3227,"proposal":9},"VK_KHR_object_refresh",{"number":3229,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"specialuse":2382,"contact":3230,"extension":3231,"proposal":9},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":3233,"type":7,"author":3046,"provisional":9,"depends":3213,"ratified":11,"contact":3212,"extension":3234,"proposal":2343},484,"VK_KHR_pipeline_binary",{"number":3236,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"specialuse":2382,"contact":2745,"extension":3237,"proposal":9},270,"VK_KHR_pipeline_executable_properties",{"number":3239,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":2756,"extension":3240,"proposal":9},291,"VK_KHR_pipeline_library",{"number":3242,"type":2490,"author":3046,"provisional":9,"ratified":11,"contact":3243,"extension":3244,"proposal":9},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":3246,"type":7,"author":3046,"provisional":2343,"depends":2387,"platform":2373,"ratified":11,"contact":2761,"extension":3247,"proposal":9},164,"VK_KHR_portability_subset",{"number":3249,"type":7,"author":3046,"provisional":9,"depends":3250,"ratified":11,"contact":3251,"extension":3252,"proposal":9},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":3254,"type":7,"author":3046,"provisional":9,"depends":3255,"ratified":11,"contact":3251,"extension":3256,"proposal":9},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":3258,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":3259,"proposal":9},81,"VK_KHR_push_descriptor",{"number":3261,"type":7,"author":3046,"provisional":9,"depends":3262,"ratified":11,"contact":2829,"extension":3263,"proposal":9},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":3265,"type":7,"author":3046,"provisional":9,"depends":3056,"ratified":11,"contact":2829,"extension":3266,"proposal":9},387,"VK_KHR_ray_tracing_maintenance1",{"number":3268,"type":7,"author":3046,"provisional":9,"depends":3262,"ratified":11,"contact":2829,"extension":3269,"proposal":9},348,"VK_KHR_ray_tracing_pipeline",{"number":3271,"type":7,"author":3046,"provisional":9,"depends":3056,"ratified":11,"contact":3272,"extension":3273,"proposal":2343},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":3275,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":3276,"extension":3277,"proposal":9},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":2201,"type":7,"author":3046,"promotedto":2581,"provisional":9,"ratified":11,"contact":2374,"extension":3279,"proposal":9},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":3281,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3282,"ratified":11,"contact":3283,"extension":3284,"proposal":9},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":3286,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3167,"ratified":11,"contact":2521,"extension":3287,"proposal":9},242,"VK_KHR_separate_depth_stencil_layouts",{"number":3289,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":3290,"extension":3291,"proposal":9},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":3293,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":3290,"extension":3294,"proposal":9},182,"VK_KHR_shader_clock",{"number":3296,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":2829,"extension":3297,"proposal":9},64,"VK_KHR_shader_draw_parameters",{"number":3299,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"contact":2474,"extension":3300,"proposal":2343},545,"VK_KHR_shader_expect_assume",{"number":3302,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":3051,"extension":2401,"proposal":9},83,{"number":3304,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":3051,"extension":3305,"proposal":9},198,"VK_KHR_shader_float_controls",{"number":3307,"type":7,"author":3046,"provisional":9,"depends":3308,"ratified":11,"contact":2564,"extension":3309,"proposal":2343},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":3311,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":11,"contact":2474,"extension":3312,"proposal":2343},281,"VK_KHR_shader_integer_dot_product",{"number":3314,"type":7,"author":3046,"provisional":9,"depends":2480,"ratified":11,"contact":3315,"extension":3316,"proposal":2343},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":3318,"type":7,"author":3046,"promotedto":2484,"provisional":9,"ratified":11,"contact":2550,"extension":3319,"proposal":9},294,"VK_KHR_shader_non_semantic_info",{"number":3321,"type":7,"author":3046,"provisional":9,"depends":3322,"ratified":11,"contact":2374,"extension":3323,"proposal":2343},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":3325,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":3326,"extension":3327,"proposal":2343},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":3329,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2480,"ratified":11,"contact":2910,"extension":3330,"proposal":9},176,"VK_KHR_shader_subgroup_extended_types",{"number":3332,"type":7,"author":3046,"provisional":9,"ratified":11,"contact":2474,"extension":3333,"proposal":2343},417,"VK_KHR_shader_subgroup_rotate",{"number":3335,"type":7,"author":3046,"provisional":9,"depends":2480,"ratified":11,"contact":3315,"extension":3336,"proposal":9},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":3338,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2533,"contact":2460,"extension":3339,"proposal":9},216,"VK_KHR_shader_terminate_invocation",{"number":3341,"type":7,"author":3046,"provisional":9,"depends":3342,"ratified":2533,"contact":3230,"extension":3343,"proposal":9},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":3345,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":3308,"ratified":11,"contact":2460,"extension":2755,"proposal":9},237,{"number":3347,"type":7,"author":3046,"promotedto":2480,"provisional":9,"ratified":11,"contact":3051,"extension":3348,"proposal":9},132,"VK_KHR_storage_buffer_storage_class",{"number":2147,"type":2490,"author":3046,"provisional":9,"ratified":2533,"contact":3350,"extension":2602,"proposal":9},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":3352,"type":2490,"author":3046,"provisional":9,"depends":3353,"ratified":11,"contact":3354,"extension":3355,"proposal":9},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":2124,"type":7,"author":3046,"provisional":9,"depends":2602,"ratified":2533,"contact":3350,"extension":2679,"proposal":9},{"number":3358,"type":7,"author":3046,"provisional":9,"depends":3359,"ratified":2533,"contact":2383,"extension":3360,"proposal":9},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":3362,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":2533,"contact":2374,"extension":3363,"proposal":9},315,"VK_KHR_synchronization2",{"number":3365,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":2745,"extension":3366,"proposal":9},208,"VK_KHR_timeline_semaphore",{"number":3368,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":2564,"extension":3369,"proposal":9},254,"VK_KHR_uniform_buffer_standard_layout",{"number":3371,"type":7,"author":3046,"promotedto":2480,"provisional":9,"depends":3047,"ratified":11,"contact":2460,"extension":3372,"proposal":9},121,"VK_KHR_variable_pointers",{"number":3374,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":2533,"contact":2568,"extension":2953,"proposal":2343},526,{"number":3376,"type":7,"author":3046,"provisional":9,"depends":3377,"ratified":11,"contact":2720,"extension":3378,"proposal":2343},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":2305,"type":7,"author":3046,"provisional":9,"depends":3377,"ratified":11,"contact":3380,"extension":3381,"proposal":2343},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":3383,"type":7,"author":3046,"provisional":9,"depends":3377,"ratified":11,"contact":3380,"extension":3384,"proposal":2343},188,"VK_KHR_video_decode_h265",{"number":2241,"type":7,"author":3046,"provisional":9,"depends":3386,"ratified":11,"contact":3387,"extension":3377,"proposal":2343},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":2297,"type":7,"author":3046,"provisional":9,"depends":3389,"ratified":11,"contact":3390,"extension":3391,"proposal":2343},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":2301,"type":7,"author":3046,"provisional":9,"depends":3389,"ratified":11,"contact":3390,"extension":3393,"proposal":2343},"VK_KHR_video_encode_h265",{"number":3395,"type":7,"author":3046,"provisional":9,"depends":3386,"ratified":11,"contact":3390,"extension":3389,"proposal":2343},300,{"number":3397,"type":7,"author":3046,"provisional":9,"depends":3398,"ratified":11,"contact":2720,"extension":3399,"proposal":2343},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":2237,"type":7,"author":3046,"provisional":9,"depends":3401,"ratified":11,"contact":2959,"extension":3398,"proposal":2343},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":3403,"type":7,"author":3046,"promotedto":2581,"provisional":9,"depends":2387,"ratified":11,"contact":2515,"extension":3404,"proposal":9},212,"VK_KHR_vulkan_memory_model",{"number":2169,"type":2490,"author":3046,"provisional":9,"depends":2602,"platform":3406,"ratified":11,"contact":3407,"extension":3408,"proposal":9},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":3410,"type":7,"author":3046,"provisional":9,"depends":3146,"platform":2662,"ratified":11,"contact":3411,"extension":3412,"proposal":9},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":2181,"type":2490,"author":3046,"provisional":9,"depends":2602,"platform":2662,"ratified":11,"contact":3407,"extension":3414,"proposal":9},"VK_KHR_win32_surface",{"number":3416,"type":7,"author":3046,"provisional":9,"depends":2387,"ratified":11,"contact":3417,"extension":3418,"proposal":9},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":2165,"type":2490,"author":3046,"provisional":9,"depends":2602,"platform":3420,"ratified":11,"contact":3407,"extension":3421,"proposal":9},"xcb","VK_KHR_xcb_surface",{"number":2161,"type":2490,"author":3046,"provisional":9,"depends":2602,"platform":3423,"ratified":11,"contact":3407,"extension":3424,"proposal":9},"xlib","VK_KHR_xlib_surface",{"number":3426,"type":7,"author":3046,"promotedto":2484,"provisional":9,"depends":2387,"ratified":11,"contact":3315,"extension":3427,"proposal":9},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":3429,"type":2490,"author":2944,"provisional":9,"contact":3243,"extension":3430,"proposal":2343},460,"VK_LUNARG_direct_driver_loading",{"number":3432,"type":7,"author":3433,"provisional":9,"depends":2387,"specialuse":2560,"contact":2813,"extension":3434,"proposal":9},576,"MESA","VK_MESA_image_alignment_control",{"number":3436,"type":7,"author":3437,"provisional":9,"depends":2387,"contact":3438,"extension":3439,"proposal":2343},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":3441,"type":2490,"author":3442,"deprecatedby":2766,"provisional":9,"depends":2602,"platform":3443,"contact":2761,"extension":3444,"proposal":9},123,"MVK","ios","VK_MVK_ios_surface",{"number":3446,"type":2490,"author":3442,"deprecatedby":2766,"provisional":9,"depends":2602,"platform":3447,"contact":2761,"extension":3448,"proposal":9},124,"macos","VK_MVK_macos_surface",{"number":3450,"type":2490,"author":3451,"provisional":9,"depends":2602,"platform":3452,"contact":3453,"extension":3454,"proposal":9},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":2261,"type":7,"author":3456,"provisional":9,"contact":3457,"extension":3458,"proposal":9},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":2265,"type":7,"author":3456,"provisional":9,"contact":3460,"extension":3461,"proposal":9},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":3463,"type":7,"author":3456,"provisional":9,"depends":3464,"contact":2515,"extension":3465,"proposal":9},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":3467,"type":7,"author":2496,"provisional":9,"depends":2491,"platform":2662,"contact":3468,"extension":3469,"proposal":9},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":3471,"type":7,"author":2496,"provisional":9,"contact":3460,"extension":3472,"proposal":9},88,"VK_NV_clip_space_w_scaling",{"number":3474,"type":7,"author":2496,"provisional":9,"contact":3475,"extension":3476,"proposal":9},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":3478,"type":7,"author":2496,"promotedto":3071,"provisional":9,"depends":2387,"contact":3479,"extension":3480,"proposal":9},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":3482,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":2515,"extension":3483,"proposal":9},250,"VK_NV_cooperative_matrix",{"number":3485,"type":7,"author":2496,"provisional":9,"depends":3486,"contact":2625,"extension":3487,"proposal":9},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":3489,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":2829,"extension":3490,"proposal":9},51,"VK_NV_corner_sampled_image",{"number":3492,"type":7,"author":2496,"provisional":9,"depends":3493,"contact":3494,"extension":3495,"proposal":9},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":3497,"type":7,"author":2496,"provisional":2343,"contact":3498,"extension":3499,"proposal":9},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":2249,"type":7,"author":2496,"deprecatedby":1717,"provisional":9,"contact":2515,"extension":3501,"proposal":9},"VK_NV_dedicated_allocation",{"number":3503,"type":7,"author":3504,"provisional":9,"depends":3505,"contact":3506,"extension":3507,"proposal":9},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":3509,"type":7,"author":2496,"provisional":9,"depends":2480,"contact":2521,"extension":3510,"proposal":9},547,"VK_NV_descriptor_pool_overallocation",{"number":3512,"type":7,"author":3504,"provisional":9,"depends":2387,"contact":3506,"extension":3513,"proposal":9},207,"VK_NV_device_diagnostic_checkpoints",{"number":3515,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3494,"extension":3516,"proposal":9},301,"VK_NV_device_diagnostics_config",{"number":3518,"type":7,"author":2496,"provisional":9,"depends":3519,"contact":2756,"extension":3520,"proposal":9},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":3522,"type":7,"author":2496,"provisional":9,"depends":3520,"contact":2625,"extension":3523,"proposal":9},429,"VK_NV_device_generated_commands_compute",{"number":3525,"type":7,"author":2496,"provisional":2343,"depends":2791,"platform":2373,"contact":3526,"extension":3527,"proposal":9},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":3529,"type":7,"author":2496,"provisional":9,"contact":3530,"extension":3531,"proposal":9},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":3533,"type":7,"author":2496,"deprecatedby":3138,"provisional":9,"depends":3534,"contact":2498,"extension":3535,"proposal":9},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":3537,"type":2490,"author":2496,"deprecatedby":3141,"provisional":9,"contact":2498,"extension":3534,"proposal":9},56,{"number":3539,"type":7,"author":2496,"provisional":9,"depends":2632,"contact":3411,"extension":3540,"proposal":9},372,"VK_NV_external_memory_rdma",{"extension":3542,"proposal":9},"VK_NV_external_memory_sci_buf",{"number":3544,"type":7,"author":2496,"deprecatedby":3146,"provisional":9,"depends":3535,"platform":2662,"contact":2498,"extension":3545,"proposal":9},58,"VK_NV_external_memory_win32",{"extension":3547,"proposal":9},"VK_NV_external_sci_sync",{"extension":3549,"proposal":9},"VK_NV_external_sci_sync2",{"number":3551,"type":7,"author":2496,"provisional":9,"contact":2515,"extension":3552,"proposal":9},154,"VK_NV_fill_rectangle",{"number":3554,"type":7,"author":2496,"provisional":9,"contact":2515,"extension":3555,"proposal":9},150,"VK_NV_fragment_coverage_to_color",{"number":3557,"type":7,"author":2496,"promotedto":3164,"provisional":9,"depends":2387,"contact":3479,"extension":3558,"proposal":9},204,"VK_NV_fragment_shader_barycentric",{"number":3560,"type":7,"author":2496,"provisional":9,"depends":3168,"contact":3479,"extension":3561,"proposal":9},327,"VK_NV_fragment_shading_rate_enums",{"number":3563,"type":7,"author":2496,"provisional":9,"contact":2515,"extension":3564,"proposal":9},153,"VK_NV_framebuffer_mixed_samples",{"number":3566,"type":7,"author":2496,"provisional":9,"contact":2829,"extension":3567,"proposal":9},96,"VK_NV_geometry_shader_passthrough",{"number":2193,"type":7,"author":2496,"deprecatedby":3029,"provisional":9,"contact":2521,"extension":3569,"proposal":9},"VK_NV_glsl_shader",{"number":3571,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3572,"extension":3573,"proposal":9},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":3575,"type":7,"author":3504,"provisional":9,"depends":2387,"contact":3576,"extension":3577,"proposal":9},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":3579,"type":7,"author":2496,"provisional":9,"contact":3580,"extension":3581,"proposal":9},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":3583,"type":7,"author":2496,"provisional":9,"depends":3584,"contact":3580,"extension":3585,"proposal":9},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":3587,"type":7,"author":2496,"provisional":9,"depends":3486,"contact":2625,"extension":3588,"proposal":9},428,"VK_NV_memory_decompression",{"number":3590,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":2756,"extension":3591,"proposal":9},203,"VK_NV_mesh_shader",{"number":3593,"type":7,"author":2496,"provisional":9,"depends":3594,"contact":3411,"extension":3595,"proposal":9},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":3597,"type":7,"author":2496,"provisional":9,"depends":3217,"contact":2521,"extension":3598,"proposal":9},517,"VK_NV_per_stage_descriptor_set",{"number":3600,"type":7,"author":2496,"provisional":9,"depends":2661,"contact":3601,"extension":3602,"proposal":9},293,"Liya Li @liyli","VK_NV_present_barrier",{"extension":3604,"proposal":9},"VK_NV_private_vendor_info",{"number":3606,"type":7,"author":2496,"provisional":9,"contact":3607,"extension":3608,"proposal":9},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":3610,"type":7,"author":2496,"deprecatedby":3269,"provisional":9,"depends":3611,"contact":3460,"extension":3612,"proposal":9},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":3614,"type":7,"author":2496,"provisional":9,"depends":3269,"contact":3460,"extension":3615,"proposal":9},491,"VK_NV_ray_tracing_invocation_reorder",{"number":3617,"type":7,"author":2496,"provisional":9,"depends":3269,"contact":3272,"extension":3618,"proposal":9},328,"VK_NV_ray_tracing_motion_blur",{"number":3620,"type":7,"author":2496,"provisional":9,"contact":2625,"extension":3621,"proposal":2343},569,"VK_NV_ray_tracing_validation",{"number":3623,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3494,"extension":3624,"proposal":9},167,"VK_NV_representative_fragment_test",{"number":3626,"type":7,"author":2496,"provisional":9,"contact":2521,"extension":3627,"proposal":9},95,"VK_NV_sample_mask_override_coverage",{"number":3629,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3479,"extension":3630,"proposal":9},206,"VK_NV_scissor_exclusive",{"number":3632,"type":7,"author":2496,"provisional":9,"contact":2515,"extension":3633,"proposal":9},564,"VK_NV_shader_atomic_float16_vector",{"number":3635,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3479,"extension":3636,"proposal":9},205,"VK_NV_shader_image_footprint",{"number":3638,"type":7,"author":2496,"provisional":9,"depends":2480,"contact":2829,"extension":3639,"proposal":9},155,"VK_NV_shader_sm_builtins",{"number":3641,"type":7,"author":2496,"provisional":9,"depends":2480,"contact":2515,"extension":3642,"proposal":9},199,"VK_NV_shader_subgroup_partitioned",{"number":3644,"type":7,"author":2496,"provisional":9,"depends":2387,"contact":3479,"extension":3645,"proposal":9},165,"VK_NV_shading_rate_image",{"number":3647,"type":7,"author":2496,"provisional":9,"contact":2829,"extension":3648,"proposal":9},97,"VK_NV_viewport_array2",{"number":3650,"type":7,"author":2496,"provisional":9,"contact":2521,"extension":3651,"proposal":9},99,"VK_NV_viewport_swizzle",{"number":3653,"type":7,"author":2496,"promotedto":3412,"provisional":9,"depends":3545,"platform":2662,"contact":3411,"extension":3654,"proposal":9},59,"VK_NV_win32_keyed_mutex",{"number":3656,"type":7,"author":2643,"provisional":9,"depends":3657,"contact":2644,"extension":3658,"proposal":9},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":3660,"type":7,"author":2643,"provisional":9,"depends":2645,"contact":2644,"extension":3661,"proposal":9},520,"VK_QCOM_filter_cubic_weights",{"number":3663,"type":7,"author":2643,"provisional":9,"depends":3664,"contact":2644,"extension":3665,"proposal":9},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":3667,"type":7,"author":2643,"provisional":9,"depends":3668,"contact":2644,"extension":3669,"proposal":2343},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":3671,"type":7,"author":2643,"provisional":9,"depends":3669,"contact":2644,"extension":3672,"proposal":9},519,"VK_QCOM_image_processing2",{"number":3674,"type":7,"author":2643,"provisional":9,"contact":2644,"extension":3675,"proposal":9},511,"VK_QCOM_multiview_per_view_render_areas",{"number":3677,"type":7,"author":2643,"provisional":9,"depends":2387,"contact":2644,"extension":3678,"proposal":9},489,"VK_QCOM_multiview_per_view_viewports",{"number":3680,"type":7,"author":2643,"provisional":9,"contact":2644,"extension":3681,"proposal":9},172,"VK_QCOM_render_pass_shader_resolve",{"number":3683,"type":7,"author":2643,"provisional":9,"contact":2644,"extension":3684,"proposal":9},302,"VK_QCOM_render_pass_store_ops",{"number":3686,"type":7,"author":2643,"provisional":9,"contact":2644,"extension":3687,"proposal":9},283,"VK_QCOM_render_pass_transform",{"number":3689,"type":7,"author":2643,"provisional":9,"depends":3690,"contact":2644,"extension":3691,"proposal":9},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":3693,"type":7,"author":2643,"provisional":9,"depends":2387,"contact":2644,"extension":3694,"proposal":2343},485,"VK_QCOM_tile_properties",{"number":3696,"type":7,"author":2643,"provisional":9,"contact":2644,"extension":3697,"proposal":9},521,"VK_QCOM_ycbcr_degamma",{"number":3699,"type":7,"author":3700,"provisional":9,"depends":2459,"platform":3701,"contact":3702,"extension":3703,"proposal":9},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":3705,"type":2490,"author":3700,"provisional":9,"depends":2602,"platform":3701,"contact":3706,"extension":3707,"proposal":9},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":3709,"type":7,"author":3710,"provisional":9,"depends":2387,"contact":2588,"extension":3711,"proposal":9},486,"SEC","VK_SEC_amigo_profiling",{"number":3713,"type":7,"author":3714,"provisional":9,"depends":2387,"specialuse":2560,"contact":2813,"extension":3715,"proposal":9},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":3717,"type":7,"author":3714,"promotedto":2778,"provisional":9,"depends":2776,"specialuse":2560,"contact":2777,"extension":3718,"proposal":9},352,"VK_VALVE_mutable_descriptor_type",1725732648869]