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