[{"data":1,"prerenderedAt":7026},["ShallowReactive",2],{"jVIaui68W9":3,"VyF3Mmj32r":5448,"N9m89Rcq0G":5674},{"title":4,"description":5,"body":6,"_type":5446,"_id":5447},"Window System Integration (WSI)","This chapter discusses the window system integration (WSI) between the\nVulkan API and the various forms of displaying the results of rendering to a\nuser.\nSince the Vulkan API be used without displaying results, WSI is\nprovided through the use of optional Vulkan extensions.\nThis chapter provides an overview of WSI.\nSee the appendix for additional details of each WSI extension, including\nwhich extensions be enabled in order to use each of the functions\ndescribed in this chapter.",{"type":7,"children":8,"toc":5388},"root",[9,17,36,43,54,68,78,116,129,147,153,164,171,188,198,208,218,224,238,247,313,495,511,519,525,534,543,572,605,659,667,673,687,696,723,750,791,814,827,835,841,855,864,891,918,959,990,1002,1020,1028,1034,1048,1057,1085,1093,1099,1113,1122,1134,1142,1148,1162,1171,1197,1245,1253,1259,1268,1277,1285,1291,1300,1309,1317,1323,1337,1346,1354,1360,1369,1378,1387,1395,1401,1415,1424,1432,1438,1463,1506,1515,1521,1551,1557,1566,1575,1584,1592,1600,1607,1612,1621,1630,1639,1648,1657,1666,1675,1681,1690,1699,1708,1717,1726,1731,1737,1746,1755,1764,1772,1781,1790,1799,1808,1817,1826,1835,1843,1852,1861,1867,1876,1885,1895,1901,1915,1924,1932,1941,1950,1956,1961,1974,1989,1998,2017,2025,2031,2046,2055,2060,2070,2075,2084,2089,2098,2103,2112,2117,2126,2131,2140,2145,2155,2160,2186,2191,2201,2206,2216,2221,2231,2236,2245,2251,2261,2277,2283,2292,2300,2309,2318,2327,2336,2345,2353,2362,2371,2380,2389,2398,2407,2416,2425,2434,2443,2452,2461,2469,2477,2486,2495,2504,2513,2522,2531,2537,2546,2555,2563,2572,2593,2602,2608,2616,2624,2633,2639,2664,2673,2682,2688,2697,2706,2715,2724,2733,2742,2751,2757,2770,2775,2788,2793,2802,2811,2917,2926,2934,2996,3233,3239,3244,3255,3260,3302,3308,3316,3321,3360,3421,3436,3451,3460,3476,3531,3567,3576,3585,3594,3603,3611,3620,3629,3670,3679,3688,3714,3723,3731,3740,3745,3754,3763,3787,3827,3844,3910,3918,3964,4083,4111,4153,4157,4233,4273,4288,4331,4348,4378,4405,4420,4446,4482,4505,4583,4595,4626,4644,4722,4735,4753,4789,4802,4810,4819,4827,4836,4845,4854,4863,4867,4905,4913,4922,4931,4939,4947,4955,4964,4973,4982,4991,5000,5006,5011,5020,5029,5038,5044,5049,5055,5067,5076,5085,5094,5103,5112,5118,5127,5136,5145,5154,5163,5172,5181,5190,5199,5208,5217,5226,5235,5244,5253,5262,5268,5327,5338,5369,5380],{"type":10,"tag":11,"props":12,"children":14},"element","h1",{"id":13},"wsi",[15],{"type":16,"value":4},"text",{"type":10,"tag":18,"props":19,"children":20},"p",{},[21,23,28,30,34],{"type":16,"value":22},"This chapter discusses the window system integration (WSI) between the\nVulkan API and the various forms of displaying the results of rendering to a\nuser.\nSince the Vulkan API ",{"type":10,"tag":24,"props":25,"children":27},"normative",{"type":26},"can",[],{"type":16,"value":29}," be used without displaying results, WSI is\nprovided through the use of optional Vulkan extensions.\nThis chapter provides an overview of WSI.\nSee the appendix for additional details of each WSI extension, including\nwhich extensions ",{"type":10,"tag":24,"props":31,"children":33},{"type":32},"must",[],{"type":16,"value":35}," be enabled in order to use each of the functions\ndescribed in this chapter.",{"type":10,"tag":37,"props":38,"children":40},"h2",{"id":39},"_wsi_platform",[41],{"type":16,"value":42},"WSI Platform",{"type":10,"tag":18,"props":44,"children":45},{},[46,48,52],{"type":16,"value":47},"A platform is an abstraction for a window system, OS, etc.\nSome examples include MS Windows, Android, and Wayland.\nThe Vulkan API ",{"type":10,"tag":24,"props":49,"children":51},{"type":50},"may",[],{"type":16,"value":53}," be integrated in a unique manner for each platform.",{"type":10,"tag":18,"props":55,"children":56},{},[57,59,66],{"type":16,"value":58},"The Vulkan API does not define any type of platform object.\nPlatform-specific WSI extensions are defined, each containing\nplatform-specific functions for using WSI.\nUse of these extensions is guarded by preprocessor symbols as defined in the\n",{"type":10,"tag":60,"props":61,"children":63},"a",{"href":62},"/chapters/boilerplate#boilerplate-wsi-header",[64],{"type":16,"value":65},"Window System-Specific Header Control",{"type":16,"value":67}," appendix.",{"type":10,"tag":18,"props":69,"children":70},{},[71,73,76],{"type":16,"value":72},"In order for an application to be compiled to use WSI with a given platform,\nit ",{"type":10,"tag":24,"props":74,"children":75},{"type":32},[],{"type":16,"value":77}," either:",{"type":10,"tag":79,"props":80,"children":81},"ul",{},[82,103],{"type":10,"tag":83,"props":84,"children":85},"li",{},[86,93,95,101],{"type":10,"tag":87,"props":88,"children":90},"code",{"className":89},[],[91],{"type":16,"value":92},"#define",{"type":16,"value":94}," the appropriate preprocessor symbol prior to including the\n",{"type":10,"tag":87,"props":96,"children":98},{"className":97},[],[99],{"type":16,"value":100},"vulkan.h",{"type":16,"value":102}," header file, or",{"type":10,"tag":83,"props":104,"children":105},{},[106,108,114],{"type":16,"value":107},"include ",{"type":10,"tag":87,"props":109,"children":111},{"className":110},[],[112],{"type":16,"value":113},"vulkan_core.h",{"type":16,"value":115}," and any native platform headers, followed by the\nappropriate platform-specific header.",{"type":10,"tag":18,"props":117,"children":118},{},[119,121,127],{"type":16,"value":120},"The preprocessor symbols and platform-specific headers are defined in the\n",{"type":10,"tag":60,"props":122,"children":124},{"href":123},"/man/WSIheaders#boilerplate-wsi-header-table",[125],{"type":16,"value":126},"Window System Extensions and Headers",{"type":16,"value":128},"\ntable.",{"type":10,"tag":18,"props":130,"children":131},{},[132,134,137,139,145],{"type":16,"value":133},"Each platform-specific extension is an instance extension.\nThe application ",{"type":10,"tag":24,"props":135,"children":136},{"type":32},[],{"type":16,"value":138}," enable instance extensions with ",{"type":10,"tag":87,"props":140,"children":142},{"className":141},[],[143],{"type":16,"value":144},"vkCreateInstance",{"type":16,"value":146},"\nbefore using them.",{"type":10,"tag":37,"props":148,"children":150},{"id":149},"_wsi_surface",[151],{"type":16,"value":152},"WSI Surface",{"type":10,"tag":154,"props":155,"children":158},"refpage",{"name":156,"type":157},"VkSurfaceKHR","handles",[159],{"type":10,"tag":18,"props":160,"children":161},{},[162],{"type":16,"value":163},"Opaque handle to a surface object",{"type":10,"tag":165,"props":166,"children":168},"h3",{"id":167},"platformCreateSurface_android",[169],{"type":16,"value":170},"Android Platform",{"type":10,"tag":154,"props":172,"children":175},{"name":173,"type":174},"vkCreateAndroidSurfaceKHR","protos",[176],{"type":10,"tag":18,"props":177,"children":178},{},[179,181,186],{"type":16,"value":180},"Create a ",{"type":10,"tag":60,"props":182,"children":184},{"href":183},"/man/VkSurfaceKHR",[185],{"type":16,"value":156},{"type":16,"value":187}," object for an Android native window",{"type":10,"tag":154,"props":189,"children":192},{"name":190,"type":191},"VkAndroidSurfaceCreateInfoKHR","structs",[193],{"type":10,"tag":18,"props":194,"children":195},{},[196],{"type":16,"value":197},"Structure specifying parameters of a newly created Android surface object",{"type":10,"tag":154,"props":199,"children":202},{"name":200,"type":201},"ANativeWindow","basetypes",[203],{"type":10,"tag":18,"props":204,"children":205},{},[206],{"type":16,"value":207},"Android native window type",{"type":10,"tag":154,"props":209,"children":212},{"name":210,"type":211},"VkAndroidSurfaceCreateFlagsKHR","flags",[213],{"type":10,"tag":18,"props":214,"children":215},{},[216],{"type":16,"value":217},"Reserved for future use",{"type":10,"tag":165,"props":219,"children":221},{"id":220},"platformCreateSurface_wayland",[222],{"type":16,"value":223},"Wayland Platform",{"type":10,"tag":154,"props":225,"children":227},{"name":226,"type":174},"vkCreateWaylandSurfaceKHR",[228],{"type":10,"tag":18,"props":229,"children":230},{},[231,232,236],{"type":16,"value":180},{"type":10,"tag":60,"props":233,"children":234},{"href":183},[235],{"type":16,"value":156},{"type":16,"value":237}," object for a Wayland window",{"type":10,"tag":154,"props":239,"children":241},{"name":240,"type":191},"VkWaylandSurfaceCreateInfoKHR",[242],{"type":10,"tag":18,"props":243,"children":244},{},[245],{"type":16,"value":246},"Structure specifying parameters of a newly created Wayland surface object",{"type":10,"tag":18,"props":248,"children":249},{},[250,252,258,260,266,268,274,276,282,284,290,292,297,299,303,305,311],{"type":16,"value":251},"On Wayland, ",{"type":10,"tag":87,"props":253,"children":255},{"className":254},[],[256],{"type":16,"value":257},"currentExtent",{"type":16,"value":259}," is the special value (0xFFFFFFFF,\n0xFFFFFFFF), indicating that the surface size will be determined by the\nextent of a swapchain targeting the surface.\nWhatever the application sets a swapchain’s ",{"type":10,"tag":87,"props":261,"children":263},{"className":262},[],[264],{"type":16,"value":265},"imageExtent",{"type":16,"value":267}," to will be the\nsize of the window, after the first image is presented.\n",{"type":10,"tag":87,"props":269,"children":271},{"className":270},[],[272],{"type":16,"value":273},"minImageExtent",{"type":16,"value":275}," is (1,1), and ",{"type":10,"tag":87,"props":277,"children":279},{"className":278},[],[280],{"type":16,"value":281},"maxImageExtent",{"type":16,"value":283}," is the maximum\nsupported surface size.\nAny calls to ",{"type":10,"tag":60,"props":285,"children":287},{"href":286},"/man/vkGetPhysicalDeviceSurfacePresentModesKHR",[288],{"type":16,"value":289},"vkGetPhysicalDeviceSurfacePresentModesKHR",{"type":16,"value":291}," on a surface\ncreated with ",{"type":10,"tag":87,"props":293,"children":295},{"className":294},[],[296],{"type":16,"value":226},{"type":16,"value":298}," are ",{"type":10,"tag":24,"props":300,"children":302},{"type":301},"required",[],{"type":16,"value":304}," to return\n",{"type":10,"tag":87,"props":306,"children":308},{"className":307},[],[309],{"type":16,"value":310},"VK_PRESENT_MODE_MAILBOX_KHR",{"type":16,"value":312}," as one of the valid present modes.",{"type":10,"tag":18,"props":314,"children":315},{},[316,318,321,323,329,331,336,338,344,346,349,351,356,358,363,365,371,373,378,380,385,387,393,395,401,403,408,410,416,418,424,426,431,433,436,438,442,443,446,448,452,454,458,460,465,467,473,476,478,483,485,488,490,493],{"type":16,"value":317},"Some Vulkan functions ",{"type":10,"tag":24,"props":319,"children":320},{"type":50},[],{"type":16,"value":322}," send protocol over the specified ",{"type":10,"tag":87,"props":324,"children":326},{"className":325},[],[327],{"type":16,"value":328},"wl_display",{"type":16,"value":330},"\nconnection when using a swapchain or presentable images created from a\n",{"type":10,"tag":87,"props":332,"children":334},{"className":333},[],[335],{"type":16,"value":156},{"type":16,"value":337}," referring to a ",{"type":10,"tag":87,"props":339,"children":341},{"className":340},[],[342],{"type":16,"value":343},"wl_surface",{"type":16,"value":345},".\nApplications ",{"type":10,"tag":24,"props":347,"children":348},{"type":32},[],{"type":16,"value":350}," therefore ensure that both the ",{"type":10,"tag":87,"props":352,"children":354},{"className":353},[],[355],{"type":16,"value":328},{"type":16,"value":357}," and the\n",{"type":10,"tag":87,"props":359,"children":361},{"className":360},[],[362],{"type":16,"value":343},{"type":16,"value":364}," remain valid for the lifetime of any ",{"type":10,"tag":87,"props":366,"children":368},{"className":367},[],[369],{"type":16,"value":370},"VkSwapchainKHR",{"type":16,"value":372},"\nobjects created from a particular ",{"type":10,"tag":87,"props":374,"children":376},{"className":375},[],[377],{"type":16,"value":328},{"type":16,"value":379}," and ",{"type":10,"tag":87,"props":381,"children":383},{"className":382},[],[384],{"type":16,"value":343},{"type":16,"value":386},".\nAlso, calling ",{"type":10,"tag":60,"props":388,"children":390},{"href":389},"/man/vkQueuePresentKHR",[391],{"type":16,"value":392},"vkQueuePresentKHR",{"type":16,"value":394}," will result in Vulkan sending\n",{"type":10,"tag":87,"props":396,"children":398},{"className":397},[],[399],{"type":16,"value":400},"wl_surface.commit",{"type":16,"value":402}," requests to the underlying ",{"type":10,"tag":87,"props":404,"children":406},{"className":405},[],[407],{"type":16,"value":343},{"type":16,"value":409}," of each\nThe ",{"type":10,"tag":87,"props":411,"children":413},{"className":412},[],[414],{"type":16,"value":415},"wl_surface.attach",{"type":16,"value":417},", ",{"type":10,"tag":87,"props":419,"children":421},{"className":420},[],[422],{"type":16,"value":423},"wl_surface.damage",{"type":16,"value":425},", and\n",{"type":10,"tag":87,"props":427,"children":429},{"className":428},[],[430],{"type":16,"value":400},{"type":16,"value":432}," requests ",{"type":10,"tag":24,"props":434,"children":435},{"type":32},[],{"type":16,"value":437}," be issued by the implementation during\nthe call to ",{"type":10,"tag":60,"props":439,"children":440},{"href":389},[441],{"type":16,"value":392},{"type":16,"value":379},{"type":10,"tag":24,"props":444,"children":445},{"type":32},[],{"type":16,"value":447}," not be issued by the\nimplementation outside of ",{"type":10,"tag":60,"props":449,"children":450},{"href":389},[451],{"type":16,"value":392},{"type":16,"value":453},".\nThis ensures that any Wayland requests sent by the client after the call to\n",{"type":10,"tag":60,"props":455,"children":456},{"href":389},[457],{"type":16,"value":392},{"type":16,"value":459}," returns will be received by the compositor after the\n",{"type":10,"tag":87,"props":461,"children":463},{"className":462},[],[464],{"type":16,"value":400},{"type":16,"value":466},".\nRegardless of the mode of swapchain creation, a new ",{"type":10,"tag":87,"props":468,"children":470},{"className":469},[],[471],{"type":16,"value":472},"wl_event_queue",{"type":10,"tag":24,"props":474,"children":475},{"type":32},[],{"type":16,"value":477}," be created for each successful ",{"type":10,"tag":60,"props":479,"children":481},{"href":480},"/man/vkCreateWaylandSurfaceKHR",[482],{"type":16,"value":226},{"type":16,"value":484}," call,\nand every Wayland object created by the implementation ",{"type":10,"tag":24,"props":486,"children":487},{"type":32},[],{"type":16,"value":489}," be assigned to\nthis event queue.\nIf the platform provides Wayland 1.11 or greater, this ",{"type":10,"tag":24,"props":491,"children":492},{"type":32},[],{"type":16,"value":494}," be implemented\nby the use of Wayland proxy object wrappers, to avoid race conditions.",{"type":10,"tag":18,"props":496,"children":497},{},[498,500,503,505,509],{"type":16,"value":499},"If the application wishes to synchronize any window changes with a\nparticular frame, such requests ",{"type":10,"tag":24,"props":501,"children":502},{"type":32},[],{"type":16,"value":504}," be sent to the Wayland display server\nprior to calling ",{"type":10,"tag":60,"props":506,"children":507},{"href":389},[508],{"type":16,"value":392},{"type":16,"value":510},".",{"type":10,"tag":154,"props":512,"children":514},{"name":513,"type":211},"VkWaylandSurfaceCreateFlagsKHR",[515],{"type":10,"tag":18,"props":516,"children":517},{},[518],{"type":16,"value":217},{"type":10,"tag":165,"props":520,"children":522},{"id":521},"platformCreateSurface_win32",[523],{"type":16,"value":524},"Win32 Platform",{"type":10,"tag":154,"props":526,"children":528},{"name":527,"type":174},"vkCreateWin32SurfaceKHR",[529],{"type":10,"tag":18,"props":530,"children":531},{},[532],{"type":16,"value":533},"Create a VkSurfaceKHR object for a Win32 native window",{"type":10,"tag":154,"props":535,"children":537},{"name":536,"type":191},"VkWin32SurfaceCreateInfoKHR",[538],{"type":10,"tag":18,"props":539,"children":540},{},[541],{"type":16,"value":542},"Structure specifying parameters of a newly created Win32 surface object",{"type":10,"tag":18,"props":544,"children":545},{},[546,548,553,554,559,560,565,567,570],{"type":16,"value":547},"With Win32, ",{"type":10,"tag":87,"props":549,"children":551},{"className":550},[],[552],{"type":16,"value":273},{"type":16,"value":417},{"type":10,"tag":87,"props":555,"children":557},{"className":556},[],[558],{"type":16,"value":281},{"type":16,"value":425},{"type":10,"tag":87,"props":561,"children":563},{"className":562},[],[564],{"type":16,"value":257},{"type":16,"value":566}," ",{"type":10,"tag":24,"props":568,"children":569},{"type":32},[],{"type":16,"value":571}," always equal the window size.",{"type":10,"tag":18,"props":573,"children":574},{},[575,577,582,584,587,589,595,597,603],{"type":16,"value":576},"The ",{"type":10,"tag":87,"props":578,"children":580},{"className":579},[],[581],{"type":16,"value":257},{"type":16,"value":583}," of a Win32 surface ",{"type":10,"tag":24,"props":585,"children":586},{"type":32},[],{"type":16,"value":588}," have both ",{"type":10,"tag":87,"props":590,"children":592},{"className":591},[],[593],{"type":16,"value":594},"width",{"type":16,"value":596}," and\n",{"type":10,"tag":87,"props":598,"children":600},{"className":599},[],[601],{"type":16,"value":602},"height",{"type":16,"value":604}," greater than 0, or both of them 0.",{"type":10,"tag":606,"props":607,"children":608},"note",{},[609,643],{"type":10,"tag":18,"props":610,"children":611},{},[612,614,620,622,627,629,635,637,642],{"type":16,"value":613},"Due to above restrictions,\nunless ",{"type":10,"tag":60,"props":615,"children":617},{"href":616},"/man/VkSwapchainPresentScalingCreateInfoEXT",[618],{"type":16,"value":619},"VkSwapchainPresentScalingCreateInfoEXT",{"type":16,"value":621}," is used to specify\nhandling of disparities between surface and swapchain dimensions,\nit is only possible to create a new swapchain on this platform with\n",{"type":10,"tag":87,"props":623,"children":625},{"className":624},[],[626],{"type":16,"value":265},{"type":16,"value":628}," being equal to the current size of the window, as reported\nin ",{"type":10,"tag":60,"props":630,"children":632},{"href":631},"/man/VkSurfaceCapabilitiesKHR",[633],{"type":16,"value":634},"VkSurfaceCapabilitiesKHR",{"type":16,"value":636},"::",{"type":10,"tag":87,"props":638,"children":640},{"className":639},[],[641],{"type":16,"value":257},{"type":16,"value":510},{"type":10,"tag":18,"props":644,"children":645},{},[646,648,651,653,657],{"type":16,"value":647},"The window size ",{"type":10,"tag":24,"props":649,"children":650},{"type":50},[],{"type":16,"value":652}," become (0, 0) on this platform (e.g. when the\nwindow is minimized), and so a swapchain ",{"type":10,"tag":24,"props":654,"children":656},{"type":655},"cannot",[],{"type":16,"value":658}," be created until the size\nchanges.",{"type":10,"tag":154,"props":660,"children":662},{"name":661,"type":211},"VkWin32SurfaceCreateFlagsKHR",[663],{"type":10,"tag":18,"props":664,"children":665},{},[666],{"type":16,"value":217},{"type":10,"tag":165,"props":668,"children":670},{"id":669},"platformCreateSurface_xcb",[671],{"type":16,"value":672},"XCB Platform",{"type":10,"tag":154,"props":674,"children":676},{"name":675,"type":174},"vkCreateXcbSurfaceKHR",[677],{"type":10,"tag":18,"props":678,"children":679},{},[680,681,685],{"type":16,"value":180},{"type":10,"tag":60,"props":682,"children":683},{"href":183},[684],{"type":16,"value":156},{"type":16,"value":686}," object for a X11 window, using the XCB client-side library",{"type":10,"tag":154,"props":688,"children":690},{"name":689,"type":191},"VkXcbSurfaceCreateInfoKHR",[691],{"type":10,"tag":18,"props":692,"children":693},{},[694],{"type":16,"value":695},"Structure specifying parameters of a newly created Xcb surface object",{"type":10,"tag":18,"props":697,"children":698},{},[699,701,706,707,712,713,718,719,722],{"type":16,"value":700},"With Xcb, ",{"type":10,"tag":87,"props":702,"children":704},{"className":703},[],[705],{"type":16,"value":273},{"type":16,"value":417},{"type":10,"tag":87,"props":708,"children":710},{"className":709},[],[711],{"type":16,"value":281},{"type":16,"value":425},{"type":10,"tag":87,"props":714,"children":716},{"className":715},[],[717],{"type":16,"value":257},{"type":16,"value":566},{"type":10,"tag":24,"props":720,"children":721},{"type":32},[],{"type":16,"value":571},{"type":10,"tag":18,"props":724,"children":725},{},[726,727,732,734,737,738,743,744,749],{"type":16,"value":576},{"type":10,"tag":87,"props":728,"children":730},{"className":729},[],[731],{"type":16,"value":257},{"type":16,"value":733}," of an Xcb surface ",{"type":10,"tag":24,"props":735,"children":736},{"type":32},[],{"type":16,"value":588},{"type":10,"tag":87,"props":739,"children":741},{"className":740},[],[742],{"type":16,"value":594},{"type":16,"value":596},{"type":10,"tag":87,"props":745,"children":747},{"className":746},[],[748],{"type":16,"value":602},{"type":16,"value":604},{"type":10,"tag":606,"props":751,"children":752},{},[753,779],{"type":10,"tag":18,"props":754,"children":755},{},[756,757,761,762,767,768,772,773,778],{"type":16,"value":613},{"type":10,"tag":60,"props":758,"children":759},{"href":616},[760],{"type":16,"value":619},{"type":16,"value":621},{"type":10,"tag":87,"props":763,"children":765},{"className":764},[],[766],{"type":16,"value":265},{"type":16,"value":628},{"type":10,"tag":60,"props":769,"children":770},{"href":631},[771],{"type":16,"value":634},{"type":16,"value":636},{"type":10,"tag":87,"props":774,"children":776},{"className":775},[],[777],{"type":16,"value":257},{"type":16,"value":510},{"type":10,"tag":18,"props":780,"children":781},{},[782,783,786,787,790],{"type":16,"value":647},{"type":10,"tag":24,"props":784,"children":785},{"type":50},[],{"type":16,"value":652},{"type":10,"tag":24,"props":788,"children":789},{"type":655},[],{"type":16,"value":658},{"type":10,"tag":18,"props":792,"children":793},{},[794,795,798,800,804,806,809,811],{"type":16,"value":317},{"type":10,"tag":24,"props":796,"children":797},{"type":50},[],{"type":16,"value":799}," send protocol over the specified xcb connection\nwhen using a swapchain or presentable images created from a\n",{"type":10,"tag":60,"props":801,"children":802},{"href":183},[803],{"type":16,"value":156},{"type":16,"value":805}," referring to an xcb window.\nApplications ",{"type":10,"tag":24,"props":807,"children":808},{"type":32},[],{"type":16,"value":810}," therefore ensure the xcb connection is available to\nVulkan for the duration of any functions that manipulate such swapchains or\ntheir presentable images, and any functions that build or queue command\nbuffers that operate on such presentable images.\nSpecifically, applications using Vulkan with xcb-based swapchains ",{"type":10,"tag":24,"props":812,"children":813},{"type":32},[],{"type":10,"tag":79,"props":815,"children":816},{},[817],{"type":10,"tag":83,"props":818,"children":819},{},[820,822,825],{"type":16,"value":821},"Avoid holding a server grab on an xcb connection while waiting for\nVulkan operations to complete using a swapchain derived from a different\nxcb connection referring to the same X server instance.\nFailing to do so ",{"type":10,"tag":24,"props":823,"children":824},{"type":50},[],{"type":16,"value":826}," result in deadlock.",{"type":10,"tag":154,"props":828,"children":830},{"name":829,"type":211},"VkXcbSurfaceCreateFlagsKHR",[831],{"type":10,"tag":18,"props":832,"children":833},{},[834],{"type":16,"value":217},{"type":10,"tag":165,"props":836,"children":838},{"id":837},"platformCreateSurface_xlib",[839],{"type":16,"value":840},"Xlib Platform",{"type":10,"tag":154,"props":842,"children":844},{"name":843,"type":174},"vkCreateXlibSurfaceKHR",[845],{"type":10,"tag":18,"props":846,"children":847},{},[848,849,853],{"type":16,"value":180},{"type":10,"tag":60,"props":850,"children":851},{"href":183},[852],{"type":16,"value":156},{"type":16,"value":854}," object for an X11 window, using the Xlib client-side library",{"type":10,"tag":154,"props":856,"children":858},{"name":857,"type":191},"VkXlibSurfaceCreateInfoKHR",[859],{"type":10,"tag":18,"props":860,"children":861},{},[862],{"type":16,"value":863},"Structure specifying parameters of a newly created Xlib surface object",{"type":10,"tag":18,"props":865,"children":866},{},[867,869,874,875,880,881,886,887,890],{"type":16,"value":868},"With Xlib, ",{"type":10,"tag":87,"props":870,"children":872},{"className":871},[],[873],{"type":16,"value":273},{"type":16,"value":417},{"type":10,"tag":87,"props":876,"children":878},{"className":877},[],[879],{"type":16,"value":281},{"type":16,"value":425},{"type":10,"tag":87,"props":882,"children":884},{"className":883},[],[885],{"type":16,"value":257},{"type":16,"value":566},{"type":10,"tag":24,"props":888,"children":889},{"type":32},[],{"type":16,"value":571},{"type":10,"tag":18,"props":892,"children":893},{},[894,895,900,902,905,906,911,912,917],{"type":16,"value":576},{"type":10,"tag":87,"props":896,"children":898},{"className":897},[],[899],{"type":16,"value":257},{"type":16,"value":901}," of an Xlib surface ",{"type":10,"tag":24,"props":903,"children":904},{"type":32},[],{"type":16,"value":588},{"type":10,"tag":87,"props":907,"children":909},{"className":908},[],[910],{"type":16,"value":594},{"type":16,"value":596},{"type":10,"tag":87,"props":913,"children":915},{"className":914},[],[916],{"type":16,"value":602},{"type":16,"value":604},{"type":10,"tag":606,"props":919,"children":920},{},[921,947],{"type":10,"tag":18,"props":922,"children":923},{},[924,925,929,930,935,936,940,941,946],{"type":16,"value":613},{"type":10,"tag":60,"props":926,"children":927},{"href":616},[928],{"type":16,"value":619},{"type":16,"value":621},{"type":10,"tag":87,"props":931,"children":933},{"className":932},[],[934],{"type":16,"value":265},{"type":16,"value":628},{"type":10,"tag":60,"props":937,"children":938},{"href":631},[939],{"type":16,"value":634},{"type":16,"value":636},{"type":10,"tag":87,"props":942,"children":944},{"className":943},[],[945],{"type":16,"value":257},{"type":16,"value":510},{"type":10,"tag":18,"props":948,"children":949},{},[950,951,954,955,958],{"type":16,"value":647},{"type":10,"tag":24,"props":952,"children":953},{"type":50},[],{"type":16,"value":652},{"type":10,"tag":24,"props":956,"children":957},{"type":655},[],{"type":16,"value":658},{"type":10,"tag":18,"props":960,"children":961},{},[962,963,966,968,974,976,980,982,985,987],{"type":16,"value":317},{"type":10,"tag":24,"props":964,"children":965},{"type":50},[],{"type":16,"value":967}," send protocol over the specified Xlib\n",{"type":10,"tag":87,"props":969,"children":971},{"className":970},[],[972],{"type":16,"value":973},"Display",{"type":16,"value":975}," connection when using a swapchain or presentable images created\nfrom a ",{"type":10,"tag":60,"props":977,"children":978},{"href":183},[979],{"type":16,"value":156},{"type":16,"value":981}," referring to an Xlib window.\nApplications ",{"type":10,"tag":24,"props":983,"children":984},{"type":32},[],{"type":16,"value":986}," therefore ensure the display connection is available to\nVulkan for the duration of any functions that manipulate such swapchains or\ntheir presentable images, and any functions that build or queue command\nbuffers that operate on such presentable images.\nSpecifically, applications using Vulkan with Xlib-based swapchains ",{"type":10,"tag":24,"props":988,"children":989},{"type":32},[],{"type":10,"tag":79,"props":991,"children":992},{},[993],{"type":10,"tag":83,"props":994,"children":995},{},[996,998,1001],{"type":16,"value":997},"Avoid holding a server grab on a display connection while waiting for\nVulkan operations to complete using a swapchain derived from a different\ndisplay connection referring to the same X server instance.\nFailing to do so ",{"type":10,"tag":24,"props":999,"children":1000},{"type":50},[],{"type":16,"value":826},{"type":10,"tag":18,"props":1003,"children":1004},{},[1005,1007,1010,1012,1018],{"type":16,"value":1006},"Some implementations may require threads to implement some presentation\nmodes so applications ",{"type":10,"tag":24,"props":1008,"children":1009},{"type":32},[],{"type":16,"value":1011}," call ",{"type":10,"tag":87,"props":1013,"children":1015},{"className":1014},[],[1016],{"type":16,"value":1017},"XInitThreads",{"type":16,"value":1019},"() before calling any\nother Xlib functions.",{"type":10,"tag":154,"props":1021,"children":1023},{"name":1022,"type":211},"VkXlibSurfaceCreateFlagsKHR",[1024],{"type":10,"tag":18,"props":1025,"children":1026},{},[1027],{"type":16,"value":217},{"type":10,"tag":165,"props":1029,"children":1031},{"id":1030},"platformCreateSurface_directfb",[1032],{"type":16,"value":1033},"DirectFB Platform",{"type":10,"tag":154,"props":1035,"children":1037},{"name":1036,"type":174},"vkCreateDirectFBSurfaceEXT",[1038],{"type":10,"tag":18,"props":1039,"children":1040},{},[1041,1042,1046],{"type":16,"value":180},{"type":10,"tag":60,"props":1043,"children":1044},{"href":183},[1045],{"type":16,"value":156},{"type":16,"value":1047}," object for a DirectFB surface",{"type":10,"tag":154,"props":1049,"children":1051},{"name":1050,"type":191},"VkDirectFBSurfaceCreateInfoEXT",[1052],{"type":10,"tag":18,"props":1053,"children":1054},{},[1055],{"type":16,"value":1056},"Structure specifying parameters of a newly created DirectFB surface object",{"type":10,"tag":18,"props":1058,"children":1059},{},[1060,1062,1067,1068,1073,1074,1079,1080,1083],{"type":16,"value":1061},"With DirectFB, ",{"type":10,"tag":87,"props":1063,"children":1065},{"className":1064},[],[1066],{"type":16,"value":273},{"type":16,"value":417},{"type":10,"tag":87,"props":1069,"children":1071},{"className":1070},[],[1072],{"type":16,"value":281},{"type":16,"value":425},{"type":10,"tag":87,"props":1075,"children":1077},{"className":1076},[],[1078],{"type":16,"value":257},{"type":16,"value":566},{"type":10,"tag":24,"props":1081,"children":1082},{"type":32},[],{"type":16,"value":1084}," always equal the surface size.",{"type":10,"tag":154,"props":1086,"children":1088},{"name":1087,"type":211},"VkDirectFBSurfaceCreateFlagsEXT",[1089],{"type":10,"tag":18,"props":1090,"children":1091},{},[1092],{"type":16,"value":217},{"type":10,"tag":165,"props":1094,"children":1096},{"id":1095},"platformCreateSurface_imagepipe",[1097],{"type":16,"value":1098},"Fuchsia Platform",{"type":10,"tag":154,"props":1100,"children":1102},{"name":1101,"type":174},"vkCreateImagePipeSurfaceFUCHSIA",[1103],{"type":10,"tag":18,"props":1104,"children":1105},{},[1106,1107,1111],{"type":16,"value":180},{"type":10,"tag":60,"props":1108,"children":1109},{"href":183},[1110],{"type":16,"value":156},{"type":16,"value":1112}," object for a Fuchsia ImagePipe",{"type":10,"tag":154,"props":1114,"children":1116},{"name":1115,"type":191},"VkImagePipeSurfaceCreateInfoFUCHSIA",[1117],{"type":10,"tag":18,"props":1118,"children":1119},{},[1120],{"type":16,"value":1121},"Structure specifying parameters of a newly created ImagePipe surface object",{"type":10,"tag":18,"props":1123,"children":1124},{},[1125,1127,1132],{"type":16,"value":1126},"On Fuchsia, the surface ",{"type":10,"tag":87,"props":1128,"children":1130},{"className":1129},[],[1131],{"type":16,"value":257},{"type":16,"value":1133}," is the special value\n(0xFFFFFFFF, 0xFFFFFFFF), indicating that the surface size will be\ndetermined by the extent of a swapchain targeting the surface.",{"type":10,"tag":154,"props":1135,"children":1137},{"name":1136,"type":211},"VkImagePipeSurfaceCreateFlagsFUCHSIA",[1138],{"type":10,"tag":18,"props":1139,"children":1140},{},[1141],{"type":16,"value":217},{"type":10,"tag":165,"props":1143,"children":1145},{"id":1144},"platformCreateSurface_streamdescriptor",[1146],{"type":16,"value":1147},"Google Games Platform",{"type":10,"tag":154,"props":1149,"children":1151},{"name":1150,"type":174},"vkCreateStreamDescriptorSurfaceGGP",[1152],{"type":10,"tag":18,"props":1153,"children":1154},{},[1155,1156,1160],{"type":16,"value":180},{"type":10,"tag":60,"props":1157,"children":1158},{"href":183},[1159],{"type":16,"value":156},{"type":16,"value":1161}," object for a Google Games Platform stream",{"type":10,"tag":154,"props":1163,"children":1165},{"name":1164,"type":191},"VkStreamDescriptorSurfaceCreateInfoGGP",[1166],{"type":10,"tag":18,"props":1167,"children":1168},{},[1169],{"type":16,"value":1170},"Structure specifying parameters of a newly created Google Games Platform stream surface object",{"type":10,"tag":18,"props":1172,"children":1173},{},[1174,1176,1181,1183,1188,1190,1195],{"type":16,"value":1175},"On Google Games Platform, the surface extents are dynamic.\nThe ",{"type":10,"tag":87,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":16,"value":273},{"type":16,"value":1182}," will never be greater than 1080p and the\n",{"type":10,"tag":87,"props":1184,"children":1186},{"className":1185},[],[1187],{"type":16,"value":281},{"type":16,"value":1189}," will never be less than 1080p.\nThe ",{"type":10,"tag":87,"props":1191,"children":1193},{"className":1192},[],[1194],{"type":16,"value":257},{"type":16,"value":1196}," will reflect the current optimal resolution.",{"type":10,"tag":18,"props":1198,"children":1199},{},[1200,1202,1207,1209,1214,1216,1221,1223,1228,1230,1236,1238,1244],{"type":16,"value":1201},"Applications are expected to choose an appropriate size for the swapchain’s\n",{"type":10,"tag":87,"props":1203,"children":1205},{"className":1204},[],[1206],{"type":16,"value":265},{"type":16,"value":1208},", within the bounds of the surface.\nUsing the surface’s ",{"type":10,"tag":87,"props":1210,"children":1212},{"className":1211},[],[1213],{"type":16,"value":257},{"type":16,"value":1215}," will offer the best performance and\nquality.\nWhen a swapchain’s ",{"type":10,"tag":87,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":16,"value":265},{"type":16,"value":1222}," does not match the surface’s\n",{"type":10,"tag":87,"props":1224,"children":1226},{"className":1225},[],[1227],{"type":16,"value":257},{"type":16,"value":1229},", the presentable images are scaled to the surface’s\ndimensions during presentation if possible and ",{"type":10,"tag":87,"props":1231,"children":1233},{"className":1232},[],[1234],{"type":16,"value":1235},"VK_SUBOPTIMAL_KHR",{"type":16,"value":1237}," is\nreturned, otherwise presentation fails with ",{"type":10,"tag":87,"props":1239,"children":1241},{"className":1240},[],[1242],{"type":16,"value":1243},"VK_ERROR_OUT_OF_DATE_KHR",{"type":16,"value":510},{"type":10,"tag":154,"props":1246,"children":1248},{"name":1247,"type":211},"VkStreamDescriptorSurfaceCreateFlagsGGP",[1249],{"type":10,"tag":18,"props":1250,"children":1251},{},[1252],{"type":16,"value":217},{"type":10,"tag":165,"props":1254,"children":1256},{"id":1255},"platformCreateSurface_ios",[1257],{"type":16,"value":1258},"iOS Platform",{"type":10,"tag":154,"props":1260,"children":1262},{"name":1261,"type":174},"vkCreateIOSSurfaceMVK",[1263],{"type":10,"tag":18,"props":1264,"children":1265},{},[1266],{"type":16,"value":1267},"Create a VkSurfaceKHR object for an iOS UIView",{"type":10,"tag":154,"props":1269,"children":1271},{"name":1270,"type":191},"VkIOSSurfaceCreateInfoMVK",[1272],{"type":10,"tag":18,"props":1273,"children":1274},{},[1275],{"type":16,"value":1276},"Structure specifying parameters of a newly created iOS surface object",{"type":10,"tag":154,"props":1278,"children":1280},{"name":1279,"type":211},"VkIOSSurfaceCreateFlagsMVK",[1281],{"type":10,"tag":18,"props":1282,"children":1283},{},[1284],{"type":16,"value":217},{"type":10,"tag":165,"props":1286,"children":1288},{"id":1287},"platformCreateSurface_macos",[1289],{"type":16,"value":1290},"macOS Platform",{"type":10,"tag":154,"props":1292,"children":1294},{"name":1293,"type":174},"vkCreateMacOSSurfaceMVK",[1295],{"type":10,"tag":18,"props":1296,"children":1297},{},[1298],{"type":16,"value":1299},"Create a VkSurfaceKHR object for a macOS NSView",{"type":10,"tag":154,"props":1301,"children":1303},{"name":1302,"type":191},"VkMacOSSurfaceCreateInfoMVK",[1304],{"type":10,"tag":18,"props":1305,"children":1306},{},[1307],{"type":16,"value":1308},"Structure specifying parameters of a newly created macOS surface object",{"type":10,"tag":154,"props":1310,"children":1312},{"name":1311,"type":211},"VkMacOSSurfaceCreateFlagsMVK",[1313],{"type":10,"tag":18,"props":1314,"children":1315},{},[1316],{"type":16,"value":217},{"type":10,"tag":165,"props":1318,"children":1320},{"id":1319},"platformCreateSurface_vi",[1321],{"type":16,"value":1322},"VI Platform",{"type":10,"tag":154,"props":1324,"children":1326},{"name":1325,"type":174},"vkCreateViSurfaceNN",[1327],{"type":10,"tag":18,"props":1328,"children":1329},{},[1330,1331,1335],{"type":16,"value":180},{"type":10,"tag":60,"props":1332,"children":1333},{"href":183},[1334],{"type":16,"value":156},{"type":16,"value":1336}," object for a VI layer",{"type":10,"tag":154,"props":1338,"children":1340},{"name":1339,"type":191},"VkViSurfaceCreateInfoNN",[1341],{"type":10,"tag":18,"props":1342,"children":1343},{},[1344],{"type":16,"value":1345},"Structure specifying parameters of a newly created VI surface object",{"type":10,"tag":154,"props":1347,"children":1349},{"name":1348,"type":211},"VkViSurfaceCreateFlagsNN",[1350],{"type":10,"tag":18,"props":1351,"children":1352},{},[1353],{"type":16,"value":217},{"type":10,"tag":165,"props":1355,"children":1357},{"id":1356},"platformCreateSurface_metal",[1358],{"type":16,"value":1359},"Metal Platform",{"type":10,"tag":154,"props":1361,"children":1363},{"name":1362,"type":174},"vkCreateMetalSurfaceEXT",[1364],{"type":10,"tag":18,"props":1365,"children":1366},{},[1367],{"type":16,"value":1368},"Create a VkSurfaceKHR object for CAMetalLayer",{"type":10,"tag":154,"props":1370,"children":1372},{"name":1371,"type":191},"VkMetalSurfaceCreateInfoEXT",[1373],{"type":10,"tag":18,"props":1374,"children":1375},{},[1376],{"type":16,"value":1377},"Structure specifying parameters of a newly created Metal surface object",{"type":10,"tag":154,"props":1379,"children":1381},{"name":1380,"type":201},"CAMetalLayer",[1382],{"type":10,"tag":18,"props":1383,"children":1384},{},[1385],{"type":16,"value":1386},"CoreAnimation native layer type for Metal",{"type":10,"tag":154,"props":1388,"children":1390},{"name":1389,"type":211},"VkMetalSurfaceCreateFlagsEXT",[1391],{"type":10,"tag":18,"props":1392,"children":1393},{},[1394],{"type":16,"value":217},{"type":10,"tag":165,"props":1396,"children":1398},{"id":1397},"platformCreateSurface_screen",[1399],{"type":16,"value":1400},"QNX Screen Platform",{"type":10,"tag":154,"props":1402,"children":1404},{"name":1403,"type":174},"vkCreateScreenSurfaceQNX",[1405],{"type":10,"tag":18,"props":1406,"children":1407},{},[1408,1409,1413],{"type":16,"value":180},{"type":10,"tag":60,"props":1410,"children":1411},{"href":183},[1412],{"type":16,"value":156},{"type":16,"value":1414}," object for a QNX Screen window",{"type":10,"tag":154,"props":1416,"children":1418},{"name":1417,"type":191},"VkScreenSurfaceCreateInfoQNX",[1419],{"type":10,"tag":18,"props":1420,"children":1421},{},[1422],{"type":16,"value":1423},"Structure specifying parameters of a newly created QNX Screen surface object",{"type":10,"tag":154,"props":1425,"children":1427},{"name":1426,"type":211},"VkScreenSurfaceCreateFlagsQNX",[1428],{"type":10,"tag":18,"props":1429,"children":1430},{},[1431],{"type":16,"value":217},{"type":10,"tag":165,"props":1433,"children":1435},{"id":1434},"_platform_independent_information",[1436],{"type":16,"value":1437},"Platform-Independent Information",{"type":10,"tag":18,"props":1439,"children":1440},{},[1441,1443,1448,1450,1453,1455,1461],{"type":16,"value":1442},"Once created, ",{"type":10,"tag":87,"props":1444,"children":1446},{"className":1445},[],[1447],{"type":16,"value":156},{"type":16,"value":1449}," objects ",{"type":10,"tag":24,"props":1451,"children":1452},{"type":26},[],{"type":16,"value":1454}," be used in this and other\nextensions, in particular the ",{"type":10,"tag":60,"props":1456,"children":1458},{"href":1457},"/extensions/VK_KHR_swapchain",[1459],{"type":16,"value":1460},"VK_KHR_swapchain",{"type":16,"value":1462}," extension.",{"type":10,"tag":18,"props":1464,"children":1465},{},[1466,1468,1474,1476,1480,1482,1485,1487,1492,1494,1497,1499,1505],{"type":16,"value":1467},"Several WSI functions return ",{"type":10,"tag":87,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":16,"value":1473},"VK_ERROR_SURFACE_LOST_KHR",{"type":16,"value":1475}," if the surface\nbecomes no longer available.\nAfter such an error, the surface (and any child swapchain, if one exists)\n",{"type":10,"tag":24,"props":1477,"children":1479},{"type":1478},"should",[],{"type":16,"value":1481}," be destroyed, as there is no way to restore them to a not-lost\nstate.\nApplications ",{"type":10,"tag":24,"props":1483,"children":1484},{"type":50},[],{"type":16,"value":1486}," attempt to create a new ",{"type":10,"tag":87,"props":1488,"children":1490},{"className":1489},[],[1491],{"type":16,"value":156},{"type":16,"value":1493}," using the same\nnative platform window object, but whether such re-creation will succeed is\nplatform-dependent and ",{"type":10,"tag":24,"props":1495,"children":1496},{"type":50},[],{"type":16,"value":1498}," depend on the reason the surface became\nunavailable.\nA lost surface does not otherwise cause devices to be\n",{"type":10,"tag":60,"props":1500,"children":1502},{"href":1501},"/chapters/devsandqueues#devsandqueues-lost-device",[1503],{"type":16,"value":1504},"lost",{"type":16,"value":510},{"type":10,"tag":154,"props":1507,"children":1509},{"name":1508,"type":174},"vkDestroySurfaceKHR",[1510],{"type":10,"tag":18,"props":1511,"children":1512},{},[1513],{"type":16,"value":1514},"Destroy a VkSurfaceKHR object",{"type":10,"tag":37,"props":1516,"children":1518},{"id":1517},"display",[1519],{"type":16,"value":1520},"Presenting Directly to Display Devices",{"type":10,"tag":18,"props":1522,"children":1523},{},[1524,1526,1529,1531,1534,1536,1542,1544,1549],{"type":16,"value":1525},"In some environments applications ",{"type":10,"tag":24,"props":1527,"children":1528},{"type":26},[],{"type":16,"value":1530}," also present Vulkan rendering\ndirectly to display devices without using an intermediate windowing system.\nThis ",{"type":10,"tag":24,"props":1532,"children":1533},{"type":26},[],{"type":16,"value":1535}," be useful for embedded applications, or implementing the\nrendering/presentation backend of a windowing system using Vulkan.\nThe ",{"type":10,"tag":60,"props":1537,"children":1539},{"href":1538},"/extensions/VK_KHR_display",[1540],{"type":16,"value":1541},"VK_KHR_display",{"type":16,"value":1543}," extension provides the functionality necessary\nto enumerate display devices and create ",{"type":10,"tag":87,"props":1545,"children":1547},{"className":1546},[],[1548],{"type":16,"value":156},{"type":16,"value":1550}," objects that\ntarget displays.",{"type":10,"tag":165,"props":1552,"children":1554},{"id":1553},"_display_enumeration",[1555],{"type":16,"value":1556},"Display Enumeration",{"type":10,"tag":154,"props":1558,"children":1560},{"name":1559,"type":157},"VkDisplayKHR",[1561],{"type":10,"tag":18,"props":1562,"children":1563},{},[1564],{"type":16,"value":1565},"Opaque handle to a display object",{"type":10,"tag":154,"props":1567,"children":1569},{"name":1568,"type":174},"vkGetPhysicalDeviceDisplayPropertiesKHR",[1570],{"type":10,"tag":18,"props":1571,"children":1572},{},[1573],{"type":16,"value":1574},"Query information about the available displays",{"type":10,"tag":154,"props":1576,"children":1578},{"name":1577,"type":191},"VkDisplayPropertiesKHR",[1579],{"type":10,"tag":18,"props":1580,"children":1581},{},[1582],{"type":16,"value":1583},"Structure describing an available display device",{"type":10,"tag":154,"props":1585,"children":1587},{"name":1586,"type":174},"vkGetPhysicalDeviceDisplayProperties2KHR",[1588],{"type":10,"tag":18,"props":1589,"children":1590},{},[1591],{"type":16,"value":1574},{"type":10,"tag":154,"props":1593,"children":1595},{"name":1594,"type":191},"VkDisplayProperties2KHR",[1596],{"type":10,"tag":18,"props":1597,"children":1598},{},[1599],{"type":16,"value":1583},{"type":10,"tag":1601,"props":1602,"children":1604},"h4",{"id":1603},"_acquiring_and_releasing_displays",[1605],{"type":16,"value":1606},"Acquiring and Releasing Displays",{"type":10,"tag":18,"props":1608,"children":1609},{},[1610],{"type":16,"value":1611},"On some platforms, access to displays is limited to a single process or\nnative driver instance.\nOn such platforms, some or all of the displays may not be available to\nVulkan if they are already in use by a native windowing system or other\napplication.",{"type":10,"tag":154,"props":1613,"children":1615},{"name":1614,"type":174},"vkAcquireXlibDisplayEXT",[1616],{"type":10,"tag":18,"props":1617,"children":1618},{},[1619],{"type":16,"value":1620},"Acquire access to a VkDisplayKHR using Xlib",{"type":10,"tag":154,"props":1622,"children":1624},{"name":1623,"type":174},"vkGetRandROutputDisplayEXT",[1625],{"type":10,"tag":18,"props":1626,"children":1627},{},[1628],{"type":16,"value":1629},"Query the VkDisplayKHR corresponding to an X11 RandR Output",{"type":10,"tag":154,"props":1631,"children":1633},{"name":1632,"type":174},"vkAcquireWinrtDisplayNV",[1634],{"type":10,"tag":18,"props":1635,"children":1636},{},[1637],{"type":16,"value":1638},"Acquire access to a VkDisplayKHR",{"type":10,"tag":154,"props":1640,"children":1642},{"name":1641,"type":174},"vkGetWinrtDisplayNV",[1643],{"type":10,"tag":18,"props":1644,"children":1645},{},[1646],{"type":16,"value":1647},"Query the VkDisplayKHR corresponding to a WinRT DisplayTarget",{"type":10,"tag":154,"props":1649,"children":1651},{"name":1650,"type":174},"vkAcquireDrmDisplayEXT",[1652],{"type":10,"tag":18,"props":1653,"children":1654},{},[1655],{"type":16,"value":1656},"Acquire access to a VkDisplayKHR using DRM",{"type":10,"tag":154,"props":1658,"children":1660},{"name":1659,"type":174},"vkGetDrmDisplayEXT",[1661],{"type":10,"tag":18,"props":1662,"children":1663},{},[1664],{"type":16,"value":1665},"Query the VkDisplayKHR corresponding to a DRM connector ID",{"type":10,"tag":154,"props":1667,"children":1669},{"name":1668,"type":174},"vkReleaseDisplayEXT",[1670],{"type":10,"tag":18,"props":1671,"children":1672},{},[1673],{"type":16,"value":1674},"Release access to an acquired VkDisplayKHR",{"type":10,"tag":1601,"props":1676,"children":1678},{"id":1677},"_display_planes",[1679],{"type":16,"value":1680},"Display Planes",{"type":10,"tag":154,"props":1682,"children":1684},{"name":1683,"type":174},"vkGetPhysicalDeviceDisplayPlanePropertiesKHR",[1685],{"type":10,"tag":18,"props":1686,"children":1687},{},[1688],{"type":16,"value":1689},"Query the plane properties",{"type":10,"tag":154,"props":1691,"children":1693},{"name":1692,"type":191},"VkDisplayPlanePropertiesKHR",[1694],{"type":10,"tag":18,"props":1695,"children":1696},{},[1697],{"type":16,"value":1698},"Structure describing display plane properties",{"type":10,"tag":154,"props":1700,"children":1702},{"name":1701,"type":174},"vkGetPhysicalDeviceDisplayPlaneProperties2KHR",[1703],{"type":10,"tag":18,"props":1704,"children":1705},{},[1706],{"type":16,"value":1707},"Query information about the available display planes.",{"type":10,"tag":154,"props":1709,"children":1711},{"name":1710,"type":191},"VkDisplayPlaneProperties2KHR",[1712],{"type":10,"tag":18,"props":1713,"children":1714},{},[1715],{"type":16,"value":1716},"Structure describing an available display plane",{"type":10,"tag":154,"props":1718,"children":1720},{"name":1719,"type":174},"vkGetDisplayPlaneSupportedDisplaysKHR",[1721],{"type":10,"tag":18,"props":1722,"children":1723},{},[1724],{"type":16,"value":1725},"Query the list of displays a plane supports",{"type":10,"tag":18,"props":1727,"children":1728},{},[1729],{"type":16,"value":1730},"Additional properties of displays are queried using specialized query\nfunctions.",{"type":10,"tag":1601,"props":1732,"children":1734},{"id":1733},"_display_modes",[1735],{"type":16,"value":1736},"Display Modes",{"type":10,"tag":154,"props":1738,"children":1740},{"name":1739,"type":157},"VkDisplayModeKHR",[1741],{"type":10,"tag":18,"props":1742,"children":1743},{},[1744],{"type":16,"value":1745},"Opaque handle to a display mode object",{"type":10,"tag":154,"props":1747,"children":1749},{"name":1748,"type":174},"vkGetDisplayModePropertiesKHR",[1750],{"type":10,"tag":18,"props":1751,"children":1752},{},[1753],{"type":16,"value":1754},"Query the set of mode properties supported by the display",{"type":10,"tag":154,"props":1756,"children":1758},{"name":1757,"type":191},"VkDisplayModePropertiesKHR",[1759],{"type":10,"tag":18,"props":1760,"children":1761},{},[1762],{"type":16,"value":1763},"Structure describing display mode properties",{"type":10,"tag":154,"props":1765,"children":1767},{"name":1766,"type":211},"VkDisplayModeCreateFlagsKHR",[1768],{"type":10,"tag":18,"props":1769,"children":1770},{},[1771],{"type":16,"value":217},{"type":10,"tag":154,"props":1773,"children":1775},{"name":1774,"type":174},"vkGetDisplayModeProperties2KHR",[1776],{"type":10,"tag":18,"props":1777,"children":1778},{},[1779],{"type":16,"value":1780},"Query information about the available display modes.",{"type":10,"tag":154,"props":1782,"children":1784},{"name":1783,"type":191},"VkDisplayModeProperties2KHR",[1785],{"type":10,"tag":18,"props":1786,"children":1787},{},[1788],{"type":16,"value":1789},"Structure describing an available display mode",{"type":10,"tag":154,"props":1791,"children":1793},{"name":1792,"type":191},"VkDisplayModeParametersKHR",[1794],{"type":10,"tag":18,"props":1795,"children":1796},{},[1797],{"type":16,"value":1798},"Structure describing display parameters associated with a display mode",{"type":10,"tag":154,"props":1800,"children":1802},{"name":1801,"type":174},"vkCreateDisplayModeKHR",[1803],{"type":10,"tag":18,"props":1804,"children":1805},{},[1806],{"type":16,"value":1807},"Create a display mode",{"type":10,"tag":154,"props":1809,"children":1811},{"name":1810,"type":191},"VkDisplayModeCreateInfoKHR",[1812],{"type":10,"tag":18,"props":1813,"children":1814},{},[1815],{"type":16,"value":1816},"Structure specifying parameters of a newly created display mode object",{"type":10,"tag":154,"props":1818,"children":1820},{"name":1819,"type":174},"vkGetDisplayPlaneCapabilitiesKHR",[1821],{"type":10,"tag":18,"props":1822,"children":1823},{},[1824],{"type":16,"value":1825},"Query capabilities of a mode and plane combination",{"type":10,"tag":154,"props":1827,"children":1829},{"name":1828,"type":191},"VkDisplayPlaneCapabilitiesKHR",[1830],{"type":10,"tag":18,"props":1831,"children":1832},{},[1833],{"type":16,"value":1834},"Structure describing capabilities of a mode and plane combination",{"type":10,"tag":154,"props":1836,"children":1838},{"name":1837,"type":174},"vkGetDisplayPlaneCapabilities2KHR",[1839],{"type":10,"tag":18,"props":1840,"children":1841},{},[1842],{"type":16,"value":1825},{"type":10,"tag":154,"props":1844,"children":1846},{"name":1845,"type":191},"VkDisplayPlaneInfo2KHR",[1847],{"type":10,"tag":18,"props":1848,"children":1849},{},[1850],{"type":16,"value":1851},"Structure defining the intended configuration of a display plane",{"type":10,"tag":154,"props":1853,"children":1855},{"name":1854,"type":191},"VkDisplayPlaneCapabilities2KHR",[1856],{"type":10,"tag":18,"props":1857,"children":1858},{},[1859],{"type":16,"value":1860},"Structure describing the capabilities of a mode and plane combination",{"type":10,"tag":165,"props":1862,"children":1864},{"id":1863},"_display_control",[1865],{"type":16,"value":1866},"Display Control",{"type":10,"tag":154,"props":1868,"children":1870},{"name":1869,"type":174},"vkDisplayPowerControlEXT",[1871],{"type":10,"tag":18,"props":1872,"children":1873},{},[1874],{"type":16,"value":1875},"Set the power state of a display",{"type":10,"tag":154,"props":1877,"children":1879},{"name":1878,"type":191},"VkDisplayPowerInfoEXT",[1880],{"type":10,"tag":18,"props":1881,"children":1882},{},[1883],{"type":16,"value":1884},"Describe the power state of a display",{"type":10,"tag":154,"props":1886,"children":1889},{"name":1887,"type":1888},"VkDisplayPowerStateEXT","enums",[1890],{"type":10,"tag":18,"props":1891,"children":1892},{},[1893],{"type":16,"value":1894},"Possible power states for a display",{"type":10,"tag":165,"props":1896,"children":1898},{"id":1897},"wsi-display-surfaces",[1899],{"type":16,"value":1900},"Display Surfaces",{"type":10,"tag":154,"props":1902,"children":1904},{"name":1903,"type":174},"vkCreateDisplayPlaneSurfaceKHR",[1905],{"type":10,"tag":18,"props":1906,"children":1907},{},[1908,1909,1913],{"type":16,"value":180},{"type":10,"tag":60,"props":1910,"children":1911},{"href":183},[1912],{"type":16,"value":156},{"type":16,"value":1914}," structure representing a display plane and mode",{"type":10,"tag":154,"props":1916,"children":1918},{"name":1917,"type":191},"VkDisplaySurfaceCreateInfoKHR",[1919],{"type":10,"tag":18,"props":1920,"children":1921},{},[1922],{"type":16,"value":1923},"Structure specifying parameters of a newly created display plane surface object",{"type":10,"tag":154,"props":1925,"children":1927},{"name":1926,"type":211},"VkDisplaySurfaceCreateFlagsKHR",[1928],{"type":10,"tag":18,"props":1929,"children":1930},{},[1931],{"type":16,"value":217},{"type":10,"tag":154,"props":1933,"children":1935},{"name":1934,"type":1888},"VkDisplayPlaneAlphaFlagBitsKHR",[1936],{"type":10,"tag":18,"props":1937,"children":1938},{},[1939],{"type":16,"value":1940},"Alpha blending type",{"type":10,"tag":154,"props":1942,"children":1944},{"name":1943,"type":211},"VkDisplayPlaneAlphaFlagsKHR",[1945],{"type":10,"tag":18,"props":1946,"children":1947},{},[1948],{"type":16,"value":1949},"Bitmask of VkDisplayPlaneAlphaFlagBitsKHR",{"type":10,"tag":165,"props":1951,"children":1953},{"id":1952},"headless",[1954],{"type":16,"value":1955},"Presenting to Headless Surfaces",{"type":10,"tag":18,"props":1957,"children":1958},{},[1959],{"type":16,"value":1960},"Vulkan rendering can be presented to a headless surface, where the\npresentation operation is a no-op producing no externally-visible result.",{"type":10,"tag":606,"props":1962,"children":1963},{},[1964,1969],{"type":10,"tag":18,"props":1965,"children":1966},{},[1967],{"type":16,"value":1968},"Because there is no real presentation target, the headless presentation\nengine may be extended to impose an arbitrary or customizable set of\nrestrictions and features.\nThis makes it a useful portable test target for applications targeting a\nwide range of presentation engines where the actual target presentation\nengines might be scarce, unavailable or otherwise undesirable or\ninconvenient to use for general Vulkan application development.",{"type":10,"tag":18,"props":1970,"children":1971},{},[1972],{"type":16,"value":1973},"The usual surface query mechanisms must be used to determine the actual\nrestrictions and features of the implementation.",{"type":10,"tag":154,"props":1975,"children":1977},{"name":1976,"type":174},"vkCreateHeadlessSurfaceEXT",[1978],{"type":10,"tag":18,"props":1979,"children":1980},{},[1981,1983,1987],{"type":16,"value":1982},"Create a headless ",{"type":10,"tag":60,"props":1984,"children":1985},{"href":183},[1986],{"type":16,"value":156},{"type":16,"value":1988}," object",{"type":10,"tag":154,"props":1990,"children":1992},{"name":1991,"type":191},"VkHeadlessSurfaceCreateInfoEXT",[1993],{"type":10,"tag":18,"props":1994,"children":1995},{},[1996],{"type":16,"value":1997},"Structure specifying parameters of a newly created headless surface object",{"type":10,"tag":18,"props":1999,"children":2000},{},[2001,2003,2008,2010,2015],{"type":16,"value":2002},"For headless surfaces, ",{"type":10,"tag":87,"props":2004,"children":2006},{"className":2005},[],[2007],{"type":16,"value":257},{"type":16,"value":2009}," is the reserved value\n(0xFFFFFFFF, 0xFFFFFFFF).\nWhatever the application sets a swapchain’s ",{"type":10,"tag":87,"props":2011,"children":2013},{"className":2012},[],[2014],{"type":16,"value":265},{"type":16,"value":2016}," to will be the\nsize of the surface, after the first image is presented.",{"type":10,"tag":154,"props":2018,"children":2020},{"name":2019,"type":211},"VkHeadlessSurfaceCreateFlagsEXT",[2021],{"type":10,"tag":18,"props":2022,"children":2023},{},[2024],{"type":16,"value":217},{"type":10,"tag":37,"props":2026,"children":2028},{"id":2027},"_querying_for_wsi_support",[2029],{"type":16,"value":2030},"Querying for WSI Support",{"type":10,"tag":18,"props":2032,"children":2033},{},[2034,2036,2039,2041,2044],{"type":16,"value":2035},"Not all physical devices will include WSI support.\nWithin a physical device, not all queue families will support presentation.\nWSI support and compatibility ",{"type":10,"tag":24,"props":2037,"children":2038},{"type":26},[],{"type":16,"value":2040}," be determined in a platform-neutral\nmanner (which determines support for presentation to a particular surface\nobject) and additionally ",{"type":10,"tag":24,"props":2042,"children":2043},{"type":50},[],{"type":16,"value":2045}," be determined in platform-specific manners\n(which determine support for presentation on the specified physical device\nbut do not guarantee support for presentation to a particular surface\nobject).",{"type":10,"tag":154,"props":2047,"children":2049},{"name":2048,"type":174},"vkGetPhysicalDeviceSurfaceSupportKHR",[2050],{"type":10,"tag":18,"props":2051,"children":2052},{},[2053],{"type":16,"value":2054},"Query if presentation is supported",{"type":10,"tag":165,"props":2056,"children":2058},{"id":2057},"platformQuerySupport_android",[2059],{"type":16,"value":170},{"type":10,"tag":18,"props":2061,"children":2062},{},[2063,2065,2068],{"type":16,"value":2064},"On Android, all physical devices and queue families ",{"type":10,"tag":24,"props":2066,"children":2067},{"type":32},[],{"type":16,"value":2069}," be capable of\npresentation with any native window.\nAs a result there is no Android-specific query for these capabilities.",{"type":10,"tag":165,"props":2071,"children":2073},{"id":2072},"platformQuerySupport_walyand",[2074],{"type":16,"value":223},{"type":10,"tag":154,"props":2076,"children":2078},{"name":2077,"type":174},"vkGetPhysicalDeviceWaylandPresentationSupportKHR",[2079],{"type":10,"tag":18,"props":2080,"children":2081},{},[2082],{"type":16,"value":2083},"Query physical device for presentation to Wayland",{"type":10,"tag":165,"props":2085,"children":2087},{"id":2086},"platformQuerySupport_win32",[2088],{"type":16,"value":524},{"type":10,"tag":154,"props":2090,"children":2092},{"name":2091,"type":174},"vkGetPhysicalDeviceWin32PresentationSupportKHR",[2093],{"type":10,"tag":18,"props":2094,"children":2095},{},[2096],{"type":16,"value":2097},"Query queue family support for presentation on a Win32 display",{"type":10,"tag":165,"props":2099,"children":2101},{"id":2100},"platformQuerySupport_xcb",[2102],{"type":16,"value":672},{"type":10,"tag":154,"props":2104,"children":2106},{"name":2105,"type":174},"vkGetPhysicalDeviceXcbPresentationSupportKHR",[2107],{"type":10,"tag":18,"props":2108,"children":2109},{},[2110],{"type":16,"value":2111},"Query physical device for presentation to X11 server using XCB",{"type":10,"tag":165,"props":2113,"children":2115},{"id":2114},"platformQuerySupport_xlib",[2116],{"type":16,"value":840},{"type":10,"tag":154,"props":2118,"children":2120},{"name":2119,"type":174},"vkGetPhysicalDeviceXlibPresentationSupportKHR",[2121],{"type":10,"tag":18,"props":2122,"children":2123},{},[2124],{"type":16,"value":2125},"Query physical device for presentation to X11 server using Xlib",{"type":10,"tag":165,"props":2127,"children":2129},{"id":2128},"platformQuerySupport_directfb",[2130],{"type":16,"value":1033},{"type":10,"tag":154,"props":2132,"children":2134},{"name":2133,"type":174},"vkGetPhysicalDeviceDirectFBPresentationSupportEXT",[2135],{"type":10,"tag":18,"props":2136,"children":2137},{},[2138],{"type":16,"value":2139},"Query physical device for presentation with DirectFB",{"type":10,"tag":165,"props":2141,"children":2143},{"id":2142},"platformQuerySupport_fuchsia",[2144],{"type":16,"value":1098},{"type":10,"tag":18,"props":2146,"children":2147},{},[2148,2150,2153],{"type":16,"value":2149},"On Fuchsia, all physical devices and queue families ",{"type":10,"tag":24,"props":2151,"children":2152},{"type":32},[],{"type":16,"value":2154}," be capable of\npresentation with any ImagePipe.\nAs a result there is no Fuchsia-specific query for these capabilities.",{"type":10,"tag":165,"props":2156,"children":2158},{"id":2157},"platformQuerySupport_streamdescriptor",[2159],{"type":16,"value":1147},{"type":10,"tag":18,"props":2161,"children":2162},{},[2163,2165,2171,2173,2179,2181,2184],{"type":16,"value":2164},"On Google Games Platform, all physical devices and queue families with the\n",{"type":10,"tag":87,"props":2166,"children":2168},{"className":2167},[],[2169],{"type":16,"value":2170},"VK_QUEUE_GRAPHICS_BIT",{"type":16,"value":2172}," or ",{"type":10,"tag":87,"props":2174,"children":2176},{"className":2175},[],[2177],{"type":16,"value":2178},"VK_QUEUE_COMPUTE_BIT",{"type":16,"value":2180}," capabilities ",{"type":10,"tag":24,"props":2182,"children":2183},{"type":32},[],{"type":16,"value":2185},"\nbe capable of presentation with any Google Games Platform stream descriptor.\nAs a result, there is no query specific to Google Games Platform for these\ncapabilities.",{"type":10,"tag":165,"props":2187,"children":2189},{"id":2188},"platformQuerySupport_ios",[2190],{"type":16,"value":1258},{"type":10,"tag":18,"props":2192,"children":2193},{},[2194,2196,2199],{"type":16,"value":2195},"On iOS, all physical devices and queue families ",{"type":10,"tag":24,"props":2197,"children":2198},{"type":32},[],{"type":16,"value":2200}," be capable of\npresentation with any layer.\nAs a result there is no iOS-specific query for these capabilities.",{"type":10,"tag":165,"props":2202,"children":2204},{"id":2203},"platformQuerySupport_macos",[2205],{"type":16,"value":1290},{"type":10,"tag":18,"props":2207,"children":2208},{},[2209,2211,2214],{"type":16,"value":2210},"On macOS, all physical devices and queue families ",{"type":10,"tag":24,"props":2212,"children":2213},{"type":32},[],{"type":16,"value":2215}," be capable of\npresentation with any layer.\nAs a result there is no macOS-specific query for these capabilities.",{"type":10,"tag":165,"props":2217,"children":2219},{"id":2218},"platformQuerySupport_vi",[2220],{"type":16,"value":1322},{"type":10,"tag":18,"props":2222,"children":2223},{},[2224,2226,2229],{"type":16,"value":2225},"On VI, all physical devices and queue families ",{"type":10,"tag":24,"props":2227,"children":2228},{"type":32},[],{"type":16,"value":2230}," be capable of\npresentation with any layer.\nAs a result there is no VI-specific query for these capabilities.",{"type":10,"tag":165,"props":2232,"children":2234},{"id":2233},"platformQuerySupport_screen",[2235],{"type":16,"value":1400},{"type":10,"tag":154,"props":2237,"children":2239},{"name":2238,"type":174},"vkGetPhysicalDeviceScreenPresentationSupportQNX",[2240],{"type":10,"tag":18,"props":2241,"children":2242},{},[2243],{"type":16,"value":2244},"Query physical device for presentation to QNX Screen",{"type":10,"tag":37,"props":2246,"children":2248},{"id":2247},"_surface_queries",[2249],{"type":16,"value":2250},"Surface Queries",{"type":10,"tag":18,"props":2252,"children":2253},{},[2254,2256,2259],{"type":16,"value":2255},"The capabilities of a swapchain targeting a surface are the intersection of\nthe capabilities of the WSI platform, the native window or display, and the\nphysical device.\nThe resulting capabilities ",{"type":10,"tag":24,"props":2257,"children":2258},{"type":26},[],{"type":16,"value":2260}," be obtained with the queries listed below in\nthis section.",{"type":10,"tag":606,"props":2262,"children":2263},{},[2264],{"type":10,"tag":18,"props":2265,"children":2266},{},[2267,2269,2275],{"type":16,"value":2268},"In addition to the surface capabilities as obtained by surface queries\nbelow, swapchain images are also subject to ordinary image creation limits\nas reported by ",{"type":10,"tag":60,"props":2270,"children":2272},{"href":2271},"/man/vkGetPhysicalDeviceImageFormatProperties",[2273],{"type":16,"value":2274},"vkGetPhysicalDeviceImageFormatProperties",{"type":16,"value":2276},".\nAs an application is instructed by the appropriate Valid Usage sections,\nboth the surface capabilities and the image creation limits have to be\nsatisfied whenever swapchain images are created.",{"type":10,"tag":165,"props":2278,"children":2280},{"id":2279},"_surface_capabilities",[2281],{"type":16,"value":2282},"Surface Capabilities",{"type":10,"tag":154,"props":2284,"children":2286},{"name":2285,"type":174},"vkGetPhysicalDeviceSurfaceCapabilitiesKHR",[2287],{"type":10,"tag":18,"props":2288,"children":2289},{},[2290],{"type":16,"value":2291},"Query surface capabilities",{"type":10,"tag":154,"props":2293,"children":2294},{"name":634,"type":191},[2295],{"type":10,"tag":18,"props":2296,"children":2297},{},[2298],{"type":16,"value":2299},"Structure describing capabilities of a surface",{"type":10,"tag":154,"props":2301,"children":2303},{"name":2302,"type":174},"vkGetPhysicalDeviceSurfaceCapabilities2KHR",[2304],{"type":10,"tag":18,"props":2305,"children":2306},{},[2307],{"type":16,"value":2308},"Reports capabilities of a surface on a physical device",{"type":10,"tag":154,"props":2310,"children":2312},{"name":2311,"type":191},"VkPhysicalDeviceSurfaceInfo2KHR",[2313],{"type":10,"tag":18,"props":2314,"children":2315},{},[2316],{"type":16,"value":2317},"Structure specifying a surface and related swapchain creation parameters",{"type":10,"tag":154,"props":2319,"children":2321},{"name":2320,"type":191},"VkSurfaceFullScreenExclusiveInfoEXT",[2322],{"type":10,"tag":18,"props":2323,"children":2324},{},[2325],{"type":16,"value":2326},"Structure specifying the preferred full-screen transition behavior",{"type":10,"tag":154,"props":2328,"children":2330},{"name":2329,"type":1888},"VkFullScreenExclusiveEXT",[2331],{"type":10,"tag":18,"props":2332,"children":2333},{},[2334],{"type":16,"value":2335},"Hint values an application can specify affecting full-screen transition behavior",{"type":10,"tag":154,"props":2337,"children":2339},{"name":2338,"type":191},"VkSurfaceFullScreenExclusiveWin32InfoEXT",[2340],{"type":10,"tag":18,"props":2341,"children":2342},{},[2343],{"type":16,"value":2344},"Structure specifying additional creation parameters specific to Win32 fullscreen exclusive mode",{"type":10,"tag":154,"props":2346,"children":2348},{"name":2347,"type":191},"VkSurfaceCapabilities2KHR",[2349],{"type":10,"tag":18,"props":2350,"children":2351},{},[2352],{"type":16,"value":2299},{"type":10,"tag":154,"props":2354,"children":2356},{"name":2355,"type":191},"VkSurfaceProtectedCapabilitiesKHR",[2357],{"type":10,"tag":18,"props":2358,"children":2359},{},[2360],{"type":16,"value":2361},"Structure describing capability of a surface to be protected",{"type":10,"tag":154,"props":2363,"children":2365},{"name":2364,"type":191},"VkSurfacePresentScalingCapabilitiesEXT",[2366],{"type":10,"tag":18,"props":2367,"children":2368},{},[2369],{"type":16,"value":2370},"Structure describing the presentation scaling capabilities of the surface",{"type":10,"tag":154,"props":2372,"children":2374},{"name":2373,"type":1888},"VkPresentScalingFlagBitsEXT",[2375],{"type":10,"tag":18,"props":2376,"children":2377},{},[2378],{"type":16,"value":2379},"Bitmask specifying presentation scaling methods",{"type":10,"tag":154,"props":2381,"children":2383},{"name":2382,"type":211},"VkPresentScalingFlagsEXT",[2384],{"type":10,"tag":18,"props":2385,"children":2386},{},[2387],{"type":16,"value":2388},"Bitmask of VkPresentScalingFlagBitsEXT",{"type":10,"tag":154,"props":2390,"children":2392},{"name":2391,"type":1888},"VkPresentGravityFlagBitsEXT",[2393],{"type":10,"tag":18,"props":2394,"children":2395},{},[2396],{"type":16,"value":2397},"Bitmask specifying presentation pixel gravity on either the x or y axis",{"type":10,"tag":154,"props":2399,"children":2401},{"name":2400,"type":211},"VkPresentGravityFlagsEXT",[2402],{"type":10,"tag":18,"props":2403,"children":2404},{},[2405],{"type":16,"value":2406},"Bitmask of VkPresentGravityFlagBitsEXT",{"type":10,"tag":154,"props":2408,"children":2410},{"name":2409,"type":191},"VkSurfacePresentModeEXT",[2411],{"type":10,"tag":18,"props":2412,"children":2413},{},[2414],{"type":16,"value":2415},"Structure describing present mode of a surface",{"type":10,"tag":154,"props":2417,"children":2419},{"name":2418,"type":191},"VkSurfacePresentModeCompatibilityEXT",[2420],{"type":10,"tag":18,"props":2421,"children":2422},{},[2423],{"type":16,"value":2424},"Structure describing the subset of compatible presentation modes for the purposes of switching without swapchain recreation",{"type":10,"tag":154,"props":2426,"children":2428},{"name":2427,"type":191},"VkSharedPresentSurfaceCapabilitiesKHR",[2429],{"type":10,"tag":18,"props":2430,"children":2431},{},[2432],{"type":16,"value":2433},"Structure describing capabilities of a surface for shared presentation",{"type":10,"tag":154,"props":2435,"children":2437},{"name":2436,"type":191},"VkDisplayNativeHdrSurfaceCapabilitiesAMD",[2438],{"type":10,"tag":18,"props":2439,"children":2440},{},[2441],{"type":16,"value":2442},"Structure describing display native HDR specific capabilities of a surface",{"type":10,"tag":154,"props":2444,"children":2446},{"name":2445,"type":191},"VkSurfaceCapabilitiesFullScreenExclusiveEXT",[2447],{"type":10,"tag":18,"props":2448,"children":2449},{},[2450],{"type":16,"value":2451},"Structure describing full screen exclusive capabilities of a surface",{"type":10,"tag":154,"props":2453,"children":2455},{"name":2454,"type":191},"VkSurfaceCapabilitiesPresentBarrierNV",[2456],{"type":10,"tag":18,"props":2457,"children":2458},{},[2459],{"type":16,"value":2460},"Structure describing present barrier capabilities of a surface",{"type":10,"tag":154,"props":2462,"children":2464},{"name":2463,"type":174},"vkGetPhysicalDeviceSurfaceCapabilities2EXT",[2465],{"type":10,"tag":18,"props":2466,"children":2467},{},[2468],{"type":16,"value":2291},{"type":10,"tag":154,"props":2470,"children":2472},{"name":2471,"type":191},"VkSurfaceCapabilities2EXT",[2473],{"type":10,"tag":18,"props":2474,"children":2475},{},[2476],{"type":16,"value":2299},{"type":10,"tag":154,"props":2478,"children":2480},{"name":2479,"type":1888},"VkSurfaceCounterFlagBitsEXT",[2481],{"type":10,"tag":18,"props":2482,"children":2483},{},[2484],{"type":16,"value":2485},"Surface-relative counter types",{"type":10,"tag":154,"props":2487,"children":2489},{"name":2488,"type":211},"VkSurfaceCounterFlagsEXT",[2490],{"type":10,"tag":18,"props":2491,"children":2492},{},[2493],{"type":16,"value":2494},"Bitmask of VkSurfaceCounterFlagBitsEXT",{"type":10,"tag":154,"props":2496,"children":2498},{"name":2497,"type":1888},"VkSurfaceTransformFlagBitsKHR",[2499],{"type":10,"tag":18,"props":2500,"children":2501},{},[2502],{"type":16,"value":2503},"Presentation transforms supported on a device",{"type":10,"tag":154,"props":2505,"children":2507},{"name":2506,"type":211},"VkSurfaceTransformFlagsKHR",[2508],{"type":10,"tag":18,"props":2509,"children":2510},{},[2511],{"type":16,"value":2512},"Bitmask of VkSurfaceTransformFlagBitsKHR",{"type":10,"tag":154,"props":2514,"children":2516},{"name":2515,"type":1888},"VkCompositeAlphaFlagBitsKHR",[2517],{"type":10,"tag":18,"props":2518,"children":2519},{},[2520],{"type":16,"value":2521},"Alpha compositing modes supported on a device",{"type":10,"tag":154,"props":2523,"children":2525},{"name":2524,"type":211},"VkCompositeAlphaFlagsKHR",[2526],{"type":10,"tag":18,"props":2527,"children":2528},{},[2529],{"type":16,"value":2530},"Bitmask of VkCompositeAlphaFlagBitsKHR",{"type":10,"tag":165,"props":2532,"children":2534},{"id":2533},"_surface_format_support",[2535],{"type":16,"value":2536},"Surface Format Support",{"type":10,"tag":154,"props":2538,"children":2540},{"name":2539,"type":174},"vkGetPhysicalDeviceSurfaceFormatsKHR",[2541],{"type":10,"tag":18,"props":2542,"children":2543},{},[2544],{"type":16,"value":2545},"Query color formats supported by surface",{"type":10,"tag":154,"props":2547,"children":2549},{"name":2548,"type":191},"VkSurfaceFormatKHR",[2550],{"type":10,"tag":18,"props":2551,"children":2552},{},[2553],{"type":16,"value":2554},"Structure describing a supported swapchain format-color space pair",{"type":10,"tag":154,"props":2556,"children":2558},{"name":2557,"type":174},"vkGetPhysicalDeviceSurfaceFormats2KHR",[2559],{"type":10,"tag":18,"props":2560,"children":2561},{},[2562],{"type":16,"value":2545},{"type":10,"tag":154,"props":2564,"children":2566},{"name":2565,"type":191},"VkSurfaceFormat2KHR",[2567],{"type":10,"tag":18,"props":2568,"children":2569},{},[2570],{"type":16,"value":2571},"Structure describing a supported swapchain format tuple",{"type":10,"tag":18,"props":2573,"children":2574},{},[2575,2577,2583,2585,2591],{"type":16,"value":2576},"While the ",{"type":10,"tag":87,"props":2578,"children":2580},{"className":2579},[],[2581],{"type":16,"value":2582},"format",{"type":16,"value":2584}," of a presentable image refers to the encoding of each\npixel, the ",{"type":10,"tag":87,"props":2586,"children":2588},{"className":2587},[],[2589],{"type":16,"value":2590},"colorSpace",{"type":16,"value":2592}," determines how the presentation engine\ninterprets the pixel values.\nA color space in this document refers to a specific color space (defined by\nthe chromaticities of its primaries and a white point in CIE Lab), and\ntransfer functions indicating the mapping between the image data and the\ncolorimetry with respect to the given color space.",{"type":10,"tag":154,"props":2594,"children":2596},{"name":2595,"type":1888},"VkColorSpaceKHR",[2597],{"type":10,"tag":18,"props":2598,"children":2599},{},[2600],{"type":16,"value":2601},"Supported color space of the presentation engine",{"type":10,"tag":165,"props":2603,"children":2605},{"id":2604},"_surface_presentation_mode_support",[2606],{"type":16,"value":2607},"Surface Presentation Mode Support",{"type":10,"tag":154,"props":2609,"children":2610},{"name":289,"type":174},[2611],{"type":10,"tag":18,"props":2612,"children":2613},{},[2614],{"type":16,"value":2615},"Query supported presentation modes",{"type":10,"tag":154,"props":2617,"children":2619},{"name":2618,"type":174},"vkGetPhysicalDeviceSurfacePresentModes2EXT",[2620],{"type":10,"tag":18,"props":2621,"children":2622},{},[2623],{"type":16,"value":2615},{"type":10,"tag":154,"props":2625,"children":2627},{"name":2626,"type":1888},"VkPresentModeKHR",[2628],{"type":10,"tag":18,"props":2629,"children":2630},{},[2631],{"type":16,"value":2632},"Presentation mode supported for a surface",{"type":10,"tag":37,"props":2634,"children":2636},{"id":2635},"_full_screen_exclusive_control",[2637],{"type":16,"value":2638},"Full Screen Exclusive Control",{"type":10,"tag":18,"props":2640,"children":2641},{},[2642,2644,2650,2652,2658,2659,2662],{"type":16,"value":2643},"Swapchains created with ",{"type":10,"tag":87,"props":2645,"children":2647},{"className":2646},[],[2648],{"type":16,"value":2649},"fullScreenExclusive",{"type":16,"value":2651}," set to\n",{"type":10,"tag":87,"props":2653,"children":2655},{"className":2654},[],[2656],{"type":16,"value":2657},"VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT",{"type":16,"value":566},{"type":10,"tag":24,"props":2660,"children":2661},{"type":32},[],{"type":16,"value":2663}," acquire and\nrelease exclusive full-screen access explicitly, using the following\ncommands.",{"type":10,"tag":154,"props":2665,"children":2667},{"name":2666,"type":174},"vkAcquireFullScreenExclusiveModeEXT",[2668],{"type":10,"tag":18,"props":2669,"children":2670},{},[2671],{"type":16,"value":2672},"Acquire full-screen exclusive mode for a swapchain",{"type":10,"tag":154,"props":2674,"children":2676},{"name":2675,"type":174},"vkReleaseFullScreenExclusiveModeEXT",[2677],{"type":10,"tag":18,"props":2678,"children":2679},{},[2680],{"type":16,"value":2681},"Release full-screen exclusive mode from a swapchain",{"type":10,"tag":37,"props":2683,"children":2685},{"id":2684},"_device_group_queries",[2686],{"type":16,"value":2687},"Device Group Queries",{"type":10,"tag":154,"props":2689,"children":2691},{"name":2690,"type":174},"vkGetDeviceGroupPresentCapabilitiesKHR",[2692],{"type":10,"tag":18,"props":2693,"children":2694},{},[2695],{"type":16,"value":2696},"Query present capabilities from other physical devices",{"type":10,"tag":154,"props":2698,"children":2700},{"name":2699,"type":191},"VkDeviceGroupPresentCapabilitiesKHR",[2701],{"type":10,"tag":18,"props":2702,"children":2703},{},[2704],{"type":16,"value":2705},"Present capabilities from other physical devices",{"type":10,"tag":154,"props":2707,"children":2709},{"name":2708,"type":1888},"VkDeviceGroupPresentModeFlagBitsKHR",[2710],{"type":10,"tag":18,"props":2711,"children":2712},{},[2713],{"type":16,"value":2714},"Bitmask specifying supported device group present modes",{"type":10,"tag":154,"props":2716,"children":2718},{"name":2717,"type":211},"VkDeviceGroupPresentModeFlagsKHR",[2719],{"type":10,"tag":18,"props":2720,"children":2721},{},[2722],{"type":16,"value":2723},"Bitmask of VkDeviceGroupPresentModeFlagBitsKHR",{"type":10,"tag":154,"props":2725,"children":2727},{"name":2726,"type":174},"vkGetDeviceGroupSurfacePresentModesKHR",[2728],{"type":10,"tag":18,"props":2729,"children":2730},{},[2731],{"type":16,"value":2732},"Query present capabilities for a surface",{"type":10,"tag":154,"props":2734,"children":2736},{"name":2735,"type":174},"vkGetDeviceGroupSurfacePresentModes2EXT",[2737],{"type":10,"tag":18,"props":2738,"children":2739},{},[2740],{"type":16,"value":2741},"Query device group present capabilities for a surface",{"type":10,"tag":154,"props":2743,"children":2745},{"name":2744,"type":174},"vkGetPhysicalDevicePresentRectanglesKHR",[2746],{"type":10,"tag":18,"props":2747,"children":2748},{},[2749],{"type":16,"value":2750},"Query present rectangles for a surface on a physical device",{"type":10,"tag":37,"props":2752,"children":2754},{"id":2753},"_display_timing_queries",[2755],{"type":16,"value":2756},"Display Timing Queries",{"type":10,"tag":18,"props":2758,"children":2759},{},[2760,2762,2768],{"type":16,"value":2761},"Traditional game and real-time-animation applications frequently use\n",{"type":10,"tag":87,"props":2763,"children":2765},{"className":2764},[],[2766],{"type":16,"value":2767},"VK_PRESENT_MODE_FIFO_KHR",{"type":16,"value":2769}," so that presentable images are updated during\nthe vertical blanking period of a given refresh cycle (RC) of the\npresentation engine’s display.\nThis avoids the visual anomaly known as tearing.",{"type":10,"tag":18,"props":2771,"children":2772},{},[2773],{"type":16,"value":2774},"However, synchronizing the presentation of images with the RC does not\nprevent all forms of visual anomalies.\nStuttering occurs when the geometry for each presentable image is not\naccurately positioned for when that image will be displayed.\nThe geometry may appear to move too little some RCs, and too much for\nothers.\nSometimes the animation appears to freeze, when the same image is used for\nmore than one RC.",{"type":10,"tag":18,"props":2776,"children":2777},{},[2778,2780,2786],{"type":16,"value":2779},"In order to minimize stuttering, an application needs to correctly position\ntheir geometry for when the presentable image will be displayed to the user.\nTo accomplish this, applications need various timing information about the\npresentation engine’s display.\nThey need to know when presentable images were actually presented, and when\nthey could have been presented.\nApplications also need to tell the presentation engine to display an image\nno sooner than a given time.\nThis can allow the application’s animation to look smooth to the user, with\nno stuttering.\nThe ",{"type":10,"tag":60,"props":2781,"children":2783},{"href":2782},"/extensions/VK_GOOGLE_display_timing",[2784],{"type":16,"value":2785},"VK_GOOGLE_display_timing",{"type":16,"value":2787}," extension allows an application to\nsatisfy these needs.",{"type":10,"tag":18,"props":2789,"children":2790},{},[2791],{"type":16,"value":2792},"The presentation engine’s display typically refreshes the pixels that are\ndisplayed to the user on a periodic basis.\nThe period may be fixed or variable.\nIn many cases, the presentation engine is associated with fixed refresh rate\n(FRR) display technology, with a fixed refresh rate (RR, e.g. 60Hz).\nIn some cases, the presentation engine is associated with variable refresh\nrate (VRR) display technology, where each refresh cycle (RC) can vary in\nlength.\nThis extension treats VRR displays as if they are FRR.",{"type":10,"tag":154,"props":2794,"children":2796},{"name":2795,"type":174},"vkGetRefreshCycleDurationGOOGLE",[2797],{"type":10,"tag":18,"props":2798,"children":2799},{},[2800],{"type":16,"value":2801},"Obtain the RC duration of the PE’s display",{"type":10,"tag":154,"props":2803,"children":2805},{"name":2804,"type":191},"VkRefreshCycleDurationGOOGLE",[2806],{"type":10,"tag":18,"props":2807,"children":2808},{},[2809],{"type":16,"value":2810},"Structure containing the RC duration of a display",{"type":10,"tag":606,"props":2812,"children":2813},{},[2814,2855,2881],{"type":10,"tag":18,"props":2815,"children":2816},{},[2817,2819,2825,2827,2832,2834,2839,2841,2846,2848,2853],{"type":16,"value":2818},"The rate at which an application renders and presents new images is known as\nthe image present rate (IPR, aka frame rate).\nThe inverse of IPR, or the duration between each image present, is the image\npresent duration (IPD).\nIn order to provide a smooth, stutter-free animation, an application will\nwant its IPD to be a multiple of ",{"type":10,"tag":87,"props":2820,"children":2822},{"className":2821},[],[2823],{"type":16,"value":2824},"refreshDuration",{"type":16,"value":2826},".\nFor example, if a display has a 60Hz refresh rate, ",{"type":10,"tag":87,"props":2828,"children":2830},{"className":2829},[],[2831],{"type":16,"value":2824},{"type":16,"value":2833},"\nwill be a value in nanoseconds that is approximately equal to 16.67ms.\nIn such a case, an application will want an IPD of 16.67ms (1X multiplier of\n",{"type":10,"tag":87,"props":2835,"children":2837},{"className":2836},[],[2838],{"type":16,"value":2824},{"type":16,"value":2840},"), or 33.33ms (2X multiplier of ",{"type":10,"tag":87,"props":2842,"children":2844},{"className":2843},[],[2845],{"type":16,"value":2824},{"type":16,"value":2847},"),\nor 50.0ms (3X multiplier of ",{"type":10,"tag":87,"props":2849,"children":2851},{"className":2850},[],[2852],{"type":16,"value":2824},{"type":16,"value":2854},"), etc.",{"type":10,"tag":18,"props":2856,"children":2857},{},[2858,2860,2865,2867,2872,2874,2879],{"type":16,"value":2859},"In order to determine a target IPD for a display (i.e. a multiple of\n",{"type":10,"tag":87,"props":2861,"children":2863},{"className":2862},[],[2864],{"type":16,"value":2824},{"type":16,"value":2866},"), an application needs to determine when its images\nare actually displayed.\nSuppose an application has an initial target IPD of 16.67ms (1X multiplier\nof ",{"type":10,"tag":87,"props":2868,"children":2870},{"className":2869},[],[2871],{"type":16,"value":2824},{"type":16,"value":2873},").\nIt will therefore position the geometry of a new image 16.67ms later than\nthe previous image.\nBut suppose this application is running on slower hardware, so that it\nactually takes 20ms to render each new image.\nThis will create visual anomalies, because the images will not be displayed\nto the user every 16.67ms, nor every 20ms.\nIn this case, it is better for the application to adjust its target IPD to\n33.33ms (i.e. a 2X multiplier of ",{"type":10,"tag":87,"props":2875,"children":2877},{"className":2876},[],[2878],{"type":16,"value":2824},{"type":16,"value":2880},"), and tell the\npresentation engine to not present images any sooner than every 33.33ms.\nThis will allow the geometry to be correctly positioned for each presentable\nimage.",{"type":10,"tag":18,"props":2882,"children":2883},{},[2884,2886,2892,2893,2899,2901,2907,2909,2915],{"type":16,"value":2885},"Adjustments to an application’s IPD may be needed because different views of\nan application’s geometry can take different amounts of time to render.\nFor example, looking at the sky may take less time to render than looking at\nmultiple, complex items in a room.\nIn general, it is good to not frequently change IPD, as that can cause\nvisual anomalies.\nAdjustments to a larger IPD because of late images should happen quickly,\nbut adjustments to a smaller IPD should only happen if the\n",{"type":10,"tag":87,"props":2887,"children":2889},{"className":2888},[],[2890],{"type":16,"value":2891},"actualPresentTime",{"type":16,"value":379},{"type":10,"tag":87,"props":2894,"children":2896},{"className":2895},[],[2897],{"type":16,"value":2898},"earliestPresentTime",{"type":16,"value":2900}," members of the\n",{"type":10,"tag":60,"props":2902,"children":2904},{"href":2903},"/man/VkPastPresentationTimingGOOGLE",[2905],{"type":16,"value":2906},"VkPastPresentationTimingGOOGLE",{"type":16,"value":2908}," structure are consistently different,\nand if ",{"type":10,"tag":87,"props":2910,"children":2912},{"className":2911},[],[2913],{"type":16,"value":2914},"presentMargin",{"type":16,"value":2916}," is consistently large, over multiple images.",{"type":10,"tag":154,"props":2918,"children":2920},{"name":2919,"type":174},"vkGetPastPresentationTimingGOOGLE",[2921],{"type":10,"tag":18,"props":2922,"children":2923},{},[2924],{"type":16,"value":2925},"Obtain timing of a previously-presented image",{"type":10,"tag":154,"props":2927,"children":2928},{"name":2906,"type":191},[2929],{"type":10,"tag":18,"props":2930,"children":2931},{},[2932],{"type":16,"value":2933},"Structure containing timing information about a previously-presented image",{"type":10,"tag":18,"props":2935,"children":2936},{},[2937,2939,2943,2945,2950,2952,2958,2959,2965,2966,2969,2971,2976,2977,2980,2982,2987,2989,2994],{"type":16,"value":2938},"The full ",{"type":10,"tag":60,"props":2940,"children":2941},{"href":2782},[2942],{"type":16,"value":2785},{"type":16,"value":2944}," extension semantics are described\nfor swapchains created with ",{"type":10,"tag":87,"props":2946,"children":2948},{"className":2947},[],[2949],{"type":16,"value":2767},{"type":16,"value":2951},".\nFor example, non-zero values of\n",{"type":10,"tag":87,"props":2953,"children":2955},{"className":2954},[],[2956],{"type":16,"value":2957},"VkPresentTimeGOOGLE",{"type":16,"value":636},{"type":10,"tag":87,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":16,"value":2964},"desiredPresentTime",{"type":16,"value":566},{"type":10,"tag":24,"props":2967,"children":2968},{"type":32},[],{"type":16,"value":2970}," be honored, and\n",{"type":10,"tag":87,"props":2972,"children":2974},{"className":2973},[],[2975],{"type":16,"value":2919},{"type":16,"value":566},{"type":10,"tag":24,"props":2978,"children":2979},{"type":1478},[],{"type":16,"value":2981}," return a\n",{"type":10,"tag":87,"props":2983,"children":2985},{"className":2984},[],[2986],{"type":16,"value":2906},{"type":16,"value":2988}," structure with valid values for all\nimages presented with ",{"type":10,"tag":87,"props":2990,"children":2992},{"className":2991},[],[2993],{"type":16,"value":392},{"type":16,"value":2995},".\nThe semantics for other present modes are as follows:",{"type":10,"tag":79,"props":2997,"children":2998},{},[2999,3063,3193],{"type":10,"tag":83,"props":3000,"children":3001},{},[3002,3008,3010,3013,3015,3020,3021,3026,3028,3033,3034,3039,3040,3043,3045,3050,3051,3056,3058,3061],{"type":10,"tag":87,"props":3003,"children":3005},{"className":3004},[],[3006],{"type":16,"value":3007},"VK_PRESENT_MODE_IMMEDIATE_KHR",{"type":16,"value":3009},".\nThe presentation engine ",{"type":10,"tag":24,"props":3011,"children":3012},{"type":50},[],{"type":16,"value":3014}," ignore non-zero values of\n",{"type":10,"tag":87,"props":3016,"children":3018},{"className":3017},[],[3019],{"type":16,"value":2957},{"type":16,"value":636},{"type":10,"tag":87,"props":3022,"children":3024},{"className":3023},[],[3025],{"type":16,"value":2964},{"type":16,"value":3027}," in favor of\npresenting immediately.\nThe value of\n",{"type":10,"tag":87,"props":3029,"children":3031},{"className":3030},[],[3032],{"type":16,"value":2906},{"type":16,"value":636},{"type":10,"tag":87,"props":3035,"children":3037},{"className":3036},[],[3038],{"type":16,"value":2898},{"type":16,"value":566},{"type":10,"tag":24,"props":3041,"children":3042},{"type":32},[],{"type":16,"value":3044}," be\nthe same as\n",{"type":10,"tag":87,"props":3046,"children":3048},{"className":3047},[],[3049],{"type":16,"value":2906},{"type":16,"value":636},{"type":10,"tag":87,"props":3052,"children":3054},{"className":3053},[],[3055],{"type":16,"value":2891},{"type":16,"value":3057},", which\n",{"type":10,"tag":24,"props":3059,"children":3060},{"type":1478},[],{"type":16,"value":3062}," be when the presentation engine displayed the image.",{"type":10,"tag":83,"props":3064,"children":3065},{},[3066,3071,3073,3078,3079,3084,3085,3088,3090,3095,3096,3099,3101,3106,3108,3111,3112,3117,3119,3124,3125,3130,3132,3137,3138,3143,3145,3148,3150,3155,3156,3161,3163,3166,3168,3173,3174,3179,3181,3186,3188,3191],{"type":10,"tag":87,"props":3067,"children":3069},{"className":3068},[],[3070],{"type":16,"value":310},{"type":16,"value":3072},".\nThe intention of using this present mode with this extension is to\nhandle cases where an image is presented late, and the next image is\npresented soon enough to replace it at the next vertical blanking\nperiod.\nFor images that are displayed to the user, the value of\n",{"type":10,"tag":87,"props":3074,"children":3076},{"className":3075},[],[3077],{"type":16,"value":2906},{"type":16,"value":636},{"type":10,"tag":87,"props":3080,"children":3082},{"className":3081},[],[3083],{"type":16,"value":2891},{"type":16,"value":566},{"type":10,"tag":24,"props":3086,"children":3087},{"type":32},[],{"type":16,"value":3089}," be\nwhen the image was displayed.\nFor images that are not displayed to the user,\n",{"type":10,"tag":87,"props":3091,"children":3093},{"className":3092},[],[3094],{"type":16,"value":2919},{"type":16,"value":566},{"type":10,"tag":24,"props":3097,"children":3098},{"type":50},[],{"type":16,"value":3100}," not return a\n",{"type":10,"tag":87,"props":3102,"children":3104},{"className":3103},[],[3105],{"type":16,"value":2906},{"type":16,"value":3107}," structure, or it ",{"type":10,"tag":24,"props":3109,"children":3110},{"type":50},[],{"type":16,"value":2981},{"type":10,"tag":87,"props":3113,"children":3115},{"className":3114},[],[3116],{"type":16,"value":2906},{"type":16,"value":3118}," structure with the value of zero\nfor both ",{"type":10,"tag":87,"props":3120,"children":3122},{"className":3121},[],[3123],{"type":16,"value":2906},{"type":16,"value":636},{"type":10,"tag":87,"props":3126,"children":3128},{"className":3127},[],[3129],{"type":16,"value":2891},{"type":16,"value":3131},"\nand ",{"type":10,"tag":87,"props":3133,"children":3135},{"className":3134},[],[3136],{"type":16,"value":2906},{"type":16,"value":636},{"type":10,"tag":87,"props":3139,"children":3141},{"className":3140},[],[3142],{"type":16,"value":2898},{"type":16,"value":3144},".\nIt is possible that an application ",{"type":10,"tag":24,"props":3146,"children":3147},{"type":26},[],{"type":16,"value":3149}," submit images with\n",{"type":10,"tag":87,"props":3151,"children":3153},{"className":3152},[],[3154],{"type":16,"value":2957},{"type":16,"value":636},{"type":10,"tag":87,"props":3157,"children":3159},{"className":3158},[],[3160],{"type":16,"value":2964},{"type":16,"value":3162}," values such that new\nimages ",{"type":10,"tag":24,"props":3164,"children":3165},{"type":50},[],{"type":16,"value":3167}," not be displayed.\nFor example, if ",{"type":10,"tag":87,"props":3169,"children":3171},{"className":3170},[],[3172],{"type":16,"value":2957},{"type":16,"value":636},{"type":10,"tag":87,"props":3175,"children":3177},{"className":3176},[],[3178],{"type":16,"value":2964},{"type":16,"value":3180}," is\nfar enough in the future that an image is not presented before\n",{"type":10,"tag":87,"props":3182,"children":3184},{"className":3183},[],[3185],{"type":16,"value":392},{"type":16,"value":3187}," is called to present another image, the first\nimage will not be displayed to the user.\nIf the application continues to do that, the presentation ",{"type":10,"tag":24,"props":3189,"children":3190},{"type":50},[],{"type":16,"value":3192}," not\ndisplay new images.",{"type":10,"tag":83,"props":3194,"children":3195},{},[3196,3202,3204,3209,3211,3216,3217,3220,3222,3225,3227,3232],{"type":10,"tag":87,"props":3197,"children":3199},{"className":3198},[],[3200],{"type":16,"value":3201},"VK_PRESENT_MODE_FIFO_RELAXED_KHR",{"type":16,"value":3203},".\nFor images that are presented in time to be displayed at the next\nvertical blanking period, the semantics are identical as for\n",{"type":10,"tag":87,"props":3205,"children":3207},{"className":3206},[],[3208],{"type":16,"value":2767},{"type":16,"value":3210},".\nFor images that are presented late, and are displayed after the start of\nthe vertical blanking period (i.e. with tearing), the values of\n",{"type":10,"tag":87,"props":3212,"children":3214},{"className":3213},[],[3215],{"type":16,"value":2906},{"type":16,"value":566},{"type":10,"tag":24,"props":3218,"children":3219},{"type":50},[],{"type":16,"value":3221}," be treated as if the image was\ndisplayed at the start of the vertical blanking period, or ",{"type":10,"tag":24,"props":3223,"children":3224},{"type":50},[],{"type":16,"value":3226}," be\ntreated the same as for ",{"type":10,"tag":87,"props":3228,"children":3230},{"className":3229},[],[3231],{"type":16,"value":3007},{"type":16,"value":510},{"type":10,"tag":37,"props":3234,"children":3236},{"id":3235},"present-wait",[3237],{"type":16,"value":3238},"Present Wait",{"type":10,"tag":18,"props":3240,"children":3241},{},[3242],{"type":16,"value":3243},"Applications wanting to control the pacing of the application by monitoring\nwhen presentation processes have completed to limit the number of\noutstanding images queued for presentation, need to have a method of being\nsignaled during the presentation process.",{"type":10,"tag":18,"props":3245,"children":3246},{},[3247,3249,3253],{"type":16,"value":3248},"Using\nthe ",{"type":10,"tag":60,"props":3250,"children":3251},{"href":2782},[3252],{"type":16,"value":2785},{"type":16,"value":3254}," extension\napplications can discover when images were presented, but only\nasynchronously.",{"type":10,"tag":18,"props":3256,"children":3257},{},[3258],{"type":16,"value":3259},"Providing a mechanism which allows applications to block, waiting for a\nspecific step of the presentation process to complete allows them to control\nthe amount of outstanding work (and hence the potential lag in responding to\nuser input or changes in the rendering environment).",{"type":10,"tag":18,"props":3261,"children":3262},{},[3263,3264,3270,3272,3276,3278,3284,3286,3292,3294,3300],{"type":16,"value":576},{"type":10,"tag":60,"props":3265,"children":3267},{"href":3266},"/extensions/VK_KHR_present_wait",[3268],{"type":16,"value":3269},"VK_KHR_present_wait",{"type":16,"value":3271}," extension allows applications to tell the\npresentation engine at the ",{"type":10,"tag":60,"props":3273,"children":3274},{"href":389},[3275],{"type":16,"value":392},{"type":16,"value":3277}," call that it plans on\nwaiting for presentation by passing a ",{"type":10,"tag":60,"props":3279,"children":3281},{"href":3280},"/man/VkPresentIdKHR",[3282],{"type":16,"value":3283},"VkPresentIdKHR",{"type":16,"value":3285}," structure.\nThe ",{"type":10,"tag":87,"props":3287,"children":3289},{"className":3288},[],[3290],{"type":16,"value":3291},"presentId",{"type":16,"value":3293}," passed in that structure may then be passed to a future\n",{"type":10,"tag":60,"props":3295,"children":3297},{"href":3296},"/man/vkWaitForPresentKHR",[3298],{"type":16,"value":3299},"vkWaitForPresentKHR",{"type":16,"value":3301}," call to cause the application to block until that\npresentation is finished.",{"type":10,"tag":37,"props":3303,"children":3305},{"id":3304},"_wsi_swapchain",[3306],{"type":16,"value":3307},"WSI Swapchain",{"type":10,"tag":154,"props":3309,"children":3310},{"name":370,"type":157},[3311],{"type":10,"tag":18,"props":3312,"children":3313},{},[3314],{"type":16,"value":3315},"Opaque handle to a swapchain object",{"type":10,"tag":18,"props":3317,"children":3318},{},[3319],{"type":16,"value":3320},"How this all works is described below.",{"type":10,"tag":18,"props":3322,"children":3323},{},[3324,3326,3332,3334,3340,3342,3348,3350,3353,3355,3358],{"type":16,"value":3325},"If a swapchain is created with ",{"type":10,"tag":87,"props":3327,"children":3329},{"className":3328},[],[3330],{"type":16,"value":3331},"presentMode",{"type":16,"value":3333}," set to either\n",{"type":10,"tag":87,"props":3335,"children":3337},{"className":3336},[],[3338],{"type":16,"value":3339},"VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR",{"type":16,"value":3341}," or\n",{"type":10,"tag":87,"props":3343,"children":3345},{"className":3344},[],[3346],{"type":16,"value":3347},"VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR",{"type":16,"value":3349},", a single presentable\nimage ",{"type":10,"tag":24,"props":3351,"children":3352},{"type":26},[],{"type":16,"value":3354}," be acquired, referred to as a shared presentable image.\nA shared presentable image ",{"type":10,"tag":24,"props":3356,"children":3357},{"type":50},[],{"type":16,"value":3359}," be concurrently accessed by the application\nand the presentation engine, without transitioning the image’s layout after\nit is initially presented.",{"type":10,"tag":79,"props":3361,"children":3362},{},[3363,3391],{"type":10,"tag":83,"props":3364,"children":3365},{},[3366,3368,3373,3375,3378,3379,3384,3386,3389],{"type":16,"value":3367},"With ",{"type":10,"tag":87,"props":3369,"children":3371},{"className":3370},[],[3372],{"type":16,"value":3339},{"type":16,"value":3374},", the presentation\nengine is only required to update to the latest contents of a shared\npresentable image after a present.\nThe application ",{"type":10,"tag":24,"props":3376,"children":3377},{"type":32},[],{"type":16,"value":1011},{"type":10,"tag":87,"props":3380,"children":3382},{"className":3381},[],[3383],{"type":16,"value":392},{"type":16,"value":3385}," to guarantee an\nupdate.\nHowever, the presentation engine ",{"type":10,"tag":24,"props":3387,"children":3388},{"type":50},[],{"type":16,"value":3390}," update from it at any time.",{"type":10,"tag":83,"props":3392,"children":3393},{},[3394,3395,3400,3402,3407,3409,3412,3414,3419],{"type":16,"value":3367},{"type":10,"tag":87,"props":3396,"children":3398},{"className":3397},[],[3399],{"type":16,"value":3347},{"type":16,"value":3401},", the\npresentation engine will automatically present the latest contents of a\nshared presentable image during every refresh cycle.\nThe application is only required to make one initial call to\n",{"type":10,"tag":87,"props":3403,"children":3405},{"className":3404},[],[3406],{"type":16,"value":392},{"type":16,"value":3408},", after which the presentation engine will update\nfrom it without any need for further present calls.\nThe application ",{"type":10,"tag":24,"props":3410,"children":3411},{"type":26},[],{"type":16,"value":3413}," indicate the image contents have been updated by\ncalling ",{"type":10,"tag":87,"props":3415,"children":3417},{"className":3416},[],[3418],{"type":16,"value":392},{"type":16,"value":3420},", but this does not guarantee the timing\nof when updates will occur.",{"type":10,"tag":18,"props":3422,"children":3423},{},[3424,3426,3429,3431,3434],{"type":16,"value":3425},"The presentation engine ",{"type":10,"tag":24,"props":3427,"children":3428},{"type":50},[],{"type":16,"value":3430}," access a shared presentable image at any time\nafter it is first presented.\nTo avoid tearing, an application ",{"type":10,"tag":24,"props":3432,"children":3433},{"type":1478},[],{"type":16,"value":3435}," coordinate access with the\npresentation engine.\nThis requires presentation engine timing information through\nplatform-specific mechanisms and ensuring that color attachment writes are\nmade available during the portion of the presentation engine’s refresh cycle\nthey are intended for.",{"type":10,"tag":606,"props":3437,"children":3438},{},[3439],{"type":10,"tag":18,"props":3440,"children":3441},{},[3442,3443,3449],{"type":16,"value":576},{"type":10,"tag":60,"props":3444,"children":3446},{"href":3445},"/extensions/VK_KHR_shared_presentable_image",[3447],{"type":16,"value":3448},"VK_KHR_shared_presentable_image",{"type":16,"value":3450}," extension does not provide\nfunctionality for determining the timing of the presentation engine’s\nrefresh cycles.",{"type":10,"tag":154,"props":3452,"children":3454},{"name":3453,"type":174},"vkGetSwapchainStatusKHR",[3455],{"type":10,"tag":18,"props":3456,"children":3457},{},[3458],{"type":16,"value":3459},"Get a swapchain’s status",{"type":10,"tag":18,"props":3461,"children":3462},{},[3463,3465,3470,3471,3474],{"type":16,"value":3464},"The possible return values for ",{"type":10,"tag":87,"props":3466,"children":3468},{"className":3467},[],[3469],{"type":16,"value":3453},{"type":16,"value":566},{"type":10,"tag":24,"props":3472,"children":3473},{"type":1478},[],{"type":16,"value":3475}," be\ninterpreted as follows:",{"type":10,"tag":79,"props":3477,"children":3478},{},[3479,3496,3511,3521],{"type":10,"tag":83,"props":3480,"children":3481},{},[3482,3488,3490,3495],{"type":10,"tag":87,"props":3483,"children":3485},{"className":3484},[],[3486],{"type":16,"value":3487},"VK_SUCCESS",{"type":16,"value":3489}," specifies the presentation engine is presenting the\ncontents of the shared presentable image, as per the swapchain’s\n",{"type":10,"tag":60,"props":3491,"children":3493},{"href":3492},"/man/VkPresentModeKHR",[3494],{"type":16,"value":2626},{"type":16,"value":510},{"type":10,"tag":83,"props":3497,"children":3498},{},[3499,3504,3506,3510],{"type":10,"tag":87,"props":3500,"children":3502},{"className":3501},[],[3503],{"type":16,"value":1235},{"type":16,"value":3505}," the swapchain no longer matches the surface\nproperties exactly, but the presentation engine is presenting the\ncontents of the shared presentable image, as per the swapchain’s\n",{"type":10,"tag":60,"props":3507,"children":3508},{"href":3492},[3509],{"type":16,"value":2626},{"type":16,"value":510},{"type":10,"tag":83,"props":3512,"children":3513},{},[3514,3519],{"type":10,"tag":87,"props":3515,"children":3517},{"className":3516},[],[3518],{"type":16,"value":1243},{"type":16,"value":3520}," the surface has changed in such a way\nthat it is no longer compatible with the swapchain.",{"type":10,"tag":83,"props":3522,"children":3523},{},[3524,3529],{"type":10,"tag":87,"props":3525,"children":3527},{"className":3526},[],[3528],{"type":16,"value":1473},{"type":16,"value":3530}," the surface is no longer available.",{"type":10,"tag":606,"props":3532,"children":3533},{},[3534],{"type":10,"tag":18,"props":3535,"children":3536},{},[3537,3539,3542,3544,3547,3549,3554,3556,3560,3561,3566],{"type":16,"value":3538},"The swapchain state ",{"type":10,"tag":24,"props":3540,"children":3541},{"type":50},[],{"type":16,"value":3543}," be cached by implementations, so applications\n",{"type":10,"tag":24,"props":3545,"children":3546},{"type":1478},[],{"type":16,"value":3548}," regularly call ",{"type":10,"tag":87,"props":3550,"children":3552},{"className":3551},[],[3553],{"type":16,"value":3453},{"type":16,"value":3555}," when using a swapchain\nwith ",{"type":10,"tag":60,"props":3557,"children":3558},{"href":3492},[3559],{"type":16,"value":2626},{"type":16,"value":2651},{"type":10,"tag":87,"props":3562,"children":3564},{"className":3563},[],[3565],{"type":16,"value":3347},{"type":16,"value":510},{"type":10,"tag":154,"props":3568,"children":3570},{"name":3569,"type":174},"vkCreateSwapchainKHR",[3571],{"type":10,"tag":18,"props":3572,"children":3573},{},[3574],{"type":16,"value":3575},"Create a swapchain",{"type":10,"tag":154,"props":3577,"children":3579},{"name":3578,"type":191},"VkSwapchainCreateInfoKHR",[3580],{"type":10,"tag":18,"props":3581,"children":3582},{},[3583],{"type":16,"value":3584},"Structure specifying parameters of a newly created swapchain object",{"type":10,"tag":154,"props":3586,"children":3588},{"name":3587,"type":1888},"VkSwapchainCreateFlagBitsKHR",[3589],{"type":10,"tag":18,"props":3590,"children":3591},{},[3592],{"type":16,"value":3593},"Bitmask controlling swapchain creation",{"type":10,"tag":154,"props":3595,"children":3597},{"name":3596,"type":211},"VkSwapchainCreateFlagsKHR",[3598],{"type":10,"tag":18,"props":3599,"children":3600},{},[3601],{"type":16,"value":3602},"Bitmask of VkSwapchainCreateFlagBitsKHR",{"type":10,"tag":154,"props":3604,"children":3606},{"name":3605,"type":191},"VkDeviceGroupSwapchainCreateInfoKHR",[3607],{"type":10,"tag":18,"props":3608,"children":3609},{},[3610],{"type":16,"value":3584},{"type":10,"tag":154,"props":3612,"children":3614},{"name":3613,"type":191},"VkSwapchainDisplayNativeHdrCreateInfoAMD",[3615],{"type":10,"tag":18,"props":3616,"children":3617},{},[3618],{"type":16,"value":3619},"Structure specifying display native HDR parameters of a newly created swapchain object",{"type":10,"tag":154,"props":3621,"children":3623},{"name":3622,"type":174},"vkSetLocalDimmingAMD",[3624],{"type":10,"tag":18,"props":3625,"children":3626},{},[3627],{"type":16,"value":3628},"Set Local Dimming",{"type":10,"tag":18,"props":3630,"children":3631},{},[3632,3634,3640,3642,3647,3649,3654,3656,3661,3663,3669],{"type":16,"value":3633},"If the ",{"type":10,"tag":87,"props":3635,"children":3637},{"className":3636},[],[3638],{"type":16,"value":3639},"pNext",{"type":16,"value":3641}," chain of ",{"type":10,"tag":60,"props":3643,"children":3645},{"href":3644},"/man/VkSwapchainCreateInfoKHR",[3646],{"type":16,"value":3578},{"type":16,"value":3648}," includes a\n",{"type":10,"tag":60,"props":3650,"children":3652},{"href":3651},"/man/VkSurfaceFullScreenExclusiveInfoEXT",[3653],{"type":16,"value":2320},{"type":16,"value":3655}," structure, then that structure\nspecifies the application’s preferred full-screen presentation behavior.\nIf this structure is not present, ",{"type":10,"tag":87,"props":3657,"children":3659},{"className":3658},[],[3660],{"type":16,"value":2649},{"type":16,"value":3662}," is considered to\nbe ",{"type":10,"tag":87,"props":3664,"children":3666},{"className":3665},[],[3667],{"type":16,"value":3668},"VK_FULL_SCREEN_EXCLUSIVE_DEFAULT_EXT",{"type":16,"value":510},{"type":10,"tag":154,"props":3671,"children":3673},{"name":3672,"type":191},"VkSwapchainCounterCreateInfoEXT",[3674],{"type":10,"tag":18,"props":3675,"children":3676},{},[3677],{"type":16,"value":3678},"Specify the surface counters desired",{"type":10,"tag":154,"props":3680,"children":3682},{"name":3681,"type":174},"vkGetSwapchainCounterEXT",[3683],{"type":10,"tag":18,"props":3684,"children":3685},{},[3686],{"type":16,"value":3687},"Query the current value of a surface counter",{"type":10,"tag":18,"props":3689,"children":3690},{},[3691,3693,3699,3701,3706,3708,3712],{"type":16,"value":3692},"To specify compression properties for the swapchain images in this\nswapchain, add a ",{"type":10,"tag":60,"props":3694,"children":3696},{"href":3695},"/man/VkImageCompressionControlEXT",[3697],{"type":16,"value":3698},"VkImageCompressionControlEXT",{"type":16,"value":3700}," structure to the\n",{"type":10,"tag":87,"props":3702,"children":3704},{"className":3703},[],[3705],{"type":16,"value":3639},{"type":16,"value":3707}," chain of the ",{"type":10,"tag":60,"props":3709,"children":3710},{"href":3644},[3711],{"type":16,"value":3578},{"type":16,"value":3713}," structure.",{"type":10,"tag":154,"props":3715,"children":3717},{"name":3716,"type":191},"VkSwapchainPresentModesCreateInfoEXT",[3718],{"type":10,"tag":18,"props":3719,"children":3720},{},[3721],{"type":16,"value":3722},"All presentation modes usable by the swapchain",{"type":10,"tag":154,"props":3724,"children":3725},{"name":619,"type":191},[3726],{"type":10,"tag":18,"props":3727,"children":3728},{},[3729],{"type":16,"value":3730},"Scaling behavior when presenting to the surface",{"type":10,"tag":154,"props":3732,"children":3734},{"name":3733,"type":174},"vkDestroySwapchainKHR",[3735],{"type":10,"tag":18,"props":3736,"children":3737},{},[3738],{"type":16,"value":3739},"Destroy a swapchain object",{"type":10,"tag":3741,"props":3742,"children":3744},"anchor",{"id":3743},"create\\_shared\\_swapchains",[],{"type":10,"tag":154,"props":3746,"children":3748},{"name":3747,"type":174},"vkCreateSharedSwapchainsKHR",[3749],{"type":10,"tag":18,"props":3750,"children":3751},{},[3752],{"type":16,"value":3753},"Create multiple swapchains that share presentable images",{"type":10,"tag":154,"props":3755,"children":3757},{"name":3756,"type":174},"vkGetSwapchainImagesKHR",[3758],{"type":10,"tag":18,"props":3759,"children":3760},{},[3761],{"type":16,"value":3762},"Obtain the array of presentable images associated with a swapchain",{"type":10,"tag":606,"props":3764,"children":3765},{},[3766],{"type":10,"tag":18,"props":3767,"children":3768},{},[3769,3771,3777,3779,3785],{"type":16,"value":3770},"By knowing all presentable images used in the swapchain, the application can\ncreate command buffers that reference these images prior to entering its\nmain rendering loop.\nHowever, command buffers are not allowed to reference presentable images\ncreated with ",{"type":10,"tag":87,"props":3772,"children":3774},{"className":3773},[],[3775],{"type":16,"value":3776},"VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_EXT",{"type":16,"value":3778},"\nuntil their indices have been returned from ",{"type":10,"tag":60,"props":3780,"children":3782},{"href":3781},"/man/vkAcquireNextImageKHR",[3783],{"type":16,"value":3784},"vkAcquireNextImageKHR",{"type":16,"value":3786}," at\nleast once.",{"type":10,"tag":18,"props":3788,"children":3789},{},[3790,3792,3797,3799,3805,3807,3812,3814,3820,3822,3825],{"type":16,"value":3791},"Images returned by ",{"type":10,"tag":60,"props":3793,"children":3795},{"href":3794},"/man/vkGetSwapchainImagesKHR",[3796],{"type":16,"value":3756},{"type":16,"value":3798}," are fully backed by memory\nbefore they are passed to the application, as if they are each bound\ncompletely and contiguously to a single ",{"type":10,"tag":87,"props":3800,"children":3802},{"className":3801},[],[3803],{"type":16,"value":3804},"VkDeviceMemory",{"type":16,"value":3806}," object\n, unless the swapchain is created with the\n",{"type":10,"tag":87,"props":3808,"children":3810},{"className":3809},[],[3811],{"type":16,"value":3776},{"type":16,"value":3813}," flag\n.\nAll presentable images are initially in the ",{"type":10,"tag":87,"props":3815,"children":3817},{"className":3816},[],[3818],{"type":16,"value":3819},"VK_IMAGE_LAYOUT_UNDEFINED",{"type":16,"value":3821},"\nlayout, thus before using presentable images, the application ",{"type":10,"tag":24,"props":3823,"children":3824},{"type":32},[],{"type":16,"value":3826},"\ntransition them to a valid layout for the intended use.",{"type":10,"tag":18,"props":3828,"children":3829},{},[3830,3832,3835,3837,3842],{"type":16,"value":3831},"Further, the lifetime of presentable images is controlled by the\nimplementation, so applications ",{"type":10,"tag":24,"props":3833,"children":3834},{"type":32},[],{"type":16,"value":3836}," not destroy a presentable image.\nSee ",{"type":10,"tag":60,"props":3838,"children":3840},{"href":3839},"/man/vkDestroySwapchainKHR",[3841],{"type":16,"value":3733},{"type":16,"value":3843}," for further details on the lifetime of\npresentable images.",{"type":10,"tag":18,"props":3845,"children":3846},{},[3847,3849,3852,3854,3860,3862,3868,3870,3876,3878,3884,3886,3889,3891,3896,3898,3901,3903,3909],{"type":16,"value":3848},"Images ",{"type":10,"tag":24,"props":3850,"children":3851},{"type":26},[],{"type":16,"value":3853}," also be created by using ",{"type":10,"tag":60,"props":3855,"children":3857},{"href":3856},"/man/vkCreateImage",[3858],{"type":16,"value":3859},"vkCreateImage",{"type":16,"value":3861}," with\n",{"type":10,"tag":60,"props":3863,"children":3865},{"href":3864},"/man/VkImageSwapchainCreateInfoKHR",[3866],{"type":16,"value":3867},"VkImageSwapchainCreateInfoKHR",{"type":16,"value":3869}," and bound to swapchain memory using\n",{"type":10,"tag":60,"props":3871,"children":3873},{"href":3872},"/man/vkBindImageMemory2",[3874],{"type":16,"value":3875},"vkBindImageMemory2",{"type":16,"value":3877}," with ",{"type":10,"tag":60,"props":3879,"children":3881},{"href":3880},"/man/VkBindImageMemorySwapchainInfoKHR",[3882],{"type":16,"value":3883},"VkBindImageMemorySwapchainInfoKHR",{"type":16,"value":3885},".\nThese images ",{"type":10,"tag":24,"props":3887,"children":3888},{"type":26},[],{"type":16,"value":3890}," be used anywhere swapchain images are used, and are useful\nin logical devices with multiple physical devices to create peer memory\nbindings of swapchain memory.\nThese images and bindings have no effect on what memory is presented.\nUnlike images retrieved from ",{"type":10,"tag":87,"props":3892,"children":3894},{"className":3893},[],[3895],{"type":16,"value":3756},{"type":16,"value":3897},", these images\n",{"type":10,"tag":24,"props":3899,"children":3900},{"type":32},[],{"type":16,"value":3902}," be destroyed with ",{"type":10,"tag":60,"props":3904,"children":3906},{"href":3905},"/man/vkDestroyImage",[3907],{"type":16,"value":3908},"vkDestroyImage",{"type":16,"value":510},{"type":10,"tag":154,"props":3911,"children":3912},{"name":3784,"type":174},[3913],{"type":10,"tag":18,"props":3914,"children":3915},{},[3916],{"type":16,"value":3917},"Retrieve the index of the next available presentable image",{"type":10,"tag":18,"props":3919,"children":3920},{},[3921,3923,3928,3929,3932,3934,3939,3940,3945,3947,3950,3952,3957,3959,3962],{"type":16,"value":3922},"If an image is acquired successfully, ",{"type":10,"tag":87,"props":3924,"children":3926},{"className":3925},[],[3927],{"type":16,"value":3784},{"type":16,"value":566},{"type":10,"tag":24,"props":3930,"children":3931},{"type":32},[],{"type":16,"value":3933},"\neither return ",{"type":10,"tag":87,"props":3935,"children":3937},{"className":3936},[],[3938],{"type":16,"value":3487},{"type":16,"value":2172},{"type":10,"tag":87,"props":3941,"children":3943},{"className":3942},[],[3944],{"type":16,"value":1235},{"type":16,"value":3946},".\nThe implementation ",{"type":10,"tag":24,"props":3948,"children":3949},{"type":50},[],{"type":16,"value":3951}," return ",{"type":10,"tag":87,"props":3953,"children":3955},{"className":3954},[],[3956],{"type":16,"value":1235},{"type":16,"value":3958}," if the swapchain no\nlonger matches the surface properties exactly, but ",{"type":10,"tag":24,"props":3960,"children":3961},{"type":26},[],{"type":16,"value":3963}," still be used for\npresentation.",{"type":10,"tag":18,"props":3965,"children":3966},{},[3967,3969,3974,3976,3982,3984,3987,3989,3995,3997,4000,4002,4005,4007,4013,4015,4021,4023,4028,4030,4035,4037,4043,4045,4050,4052,4056,4058,4063,4065,4070,4071,4076,4078,4081],{"type":16,"value":3968},"When successful, ",{"type":10,"tag":87,"props":3970,"children":3972},{"className":3971},[],[3973],{"type":16,"value":3784},{"type":16,"value":3975}," acquires a presentable image\nfrom ",{"type":10,"tag":87,"props":3977,"children":3979},{"className":3978},[],[3980],{"type":16,"value":3981},"swapchain",{"type":16,"value":3983}," that an application ",{"type":10,"tag":24,"props":3985,"children":3986},{"type":26},[],{"type":16,"value":3988}," use, and sets\n",{"type":10,"tag":87,"props":3990,"children":3992},{"className":3991},[],[3993],{"type":16,"value":3994},"pImageIndex",{"type":16,"value":3996}," to the index of that image within the swapchain.\nThe presentation engine ",{"type":10,"tag":24,"props":3998,"children":3999},{"type":50},[],{"type":16,"value":4001}," not have finished reading from the image at the\ntime it is acquired, so the application ",{"type":10,"tag":24,"props":4003,"children":4004},{"type":32},[],{"type":16,"value":4006}," use ",{"type":10,"tag":87,"props":4008,"children":4010},{"className":4009},[],[4011],{"type":16,"value":4012},"semaphore",{"type":16,"value":4014}," and/or\n",{"type":10,"tag":87,"props":4016,"children":4018},{"className":4017},[],[4019],{"type":16,"value":4020},"fence",{"type":16,"value":4022}," to ensure that the image layout and contents are not modified\nuntil the presentation engine reads have completed.\nOnce ",{"type":10,"tag":87,"props":4024,"children":4026},{"className":4025},[],[4027],{"type":16,"value":3784},{"type":16,"value":4029}," successfully acquires an image, the\nsemaphore signal operation referenced by ",{"type":10,"tag":87,"props":4031,"children":4033},{"className":4032},[],[4034],{"type":16,"value":4012},{"type":16,"value":4036},", if not\n",{"type":10,"tag":60,"props":4038,"children":4040},{"href":4039},"/man/VK_NULL_HANDLE",[4041],{"type":16,"value":4042},"VK_NULL_HANDLE",{"type":16,"value":4044},", and the fence signal operation referenced by\n",{"type":10,"tag":87,"props":4046,"children":4048},{"className":4047},[],[4049],{"type":16,"value":4020},{"type":16,"value":4051},", if not ",{"type":10,"tag":60,"props":4053,"children":4054},{"href":4039},[4055],{"type":16,"value":4042},{"type":16,"value":4057},", are submitted for execution.\nIf ",{"type":10,"tag":87,"props":4059,"children":4061},{"className":4060},[],[4062],{"type":16,"value":3784},{"type":16,"value":4064}," does not successfully acquire an image,\n",{"type":10,"tag":87,"props":4066,"children":4068},{"className":4067},[],[4069],{"type":16,"value":4012},{"type":16,"value":379},{"type":10,"tag":87,"props":4072,"children":4074},{"className":4073},[],[4075],{"type":16,"value":4020},{"type":16,"value":4077}," are unaffected.\nThe order in which images are acquired is implementation-dependent, and ",{"type":10,"tag":24,"props":4079,"children":4080},{"type":50},[],{"type":16,"value":4082},"\nbe different than the order the images were presented.",{"type":10,"tag":18,"props":4084,"children":4085},{},[4086,4088,4094,4096,4101,4103,4109],{"type":16,"value":4087},"If ",{"type":10,"tag":87,"props":4089,"children":4091},{"className":4090},[],[4092],{"type":16,"value":4093},"timeout",{"type":16,"value":4095}," is zero, then ",{"type":10,"tag":87,"props":4097,"children":4099},{"className":4098},[],[4100],{"type":16,"value":3784},{"type":16,"value":4102}," does not wait,\nand will either successfully acquire an image, or fail and return\n",{"type":10,"tag":87,"props":4104,"children":4106},{"className":4105},[],[4107],{"type":16,"value":4108},"VK_NOT_READY",{"type":16,"value":4110}," if no image is available.",{"type":10,"tag":18,"props":4112,"children":4113},{},[4114,4116,4121,4123,4129,4131,4136,4138,4144,4146,4151],{"type":16,"value":4115},"If the specified timeout period expires before an image is acquired,\n",{"type":10,"tag":87,"props":4117,"children":4119},{"className":4118},[],[4120],{"type":16,"value":3784},{"type":16,"value":4122}," returns ",{"type":10,"tag":87,"props":4124,"children":4126},{"className":4125},[],[4127],{"type":16,"value":4128},"VK_TIMEOUT",{"type":16,"value":4130},".\nIf ",{"type":10,"tag":87,"props":4132,"children":4134},{"className":4133},[],[4135],{"type":16,"value":4093},{"type":16,"value":4137}," is ",{"type":10,"tag":87,"props":4139,"children":4141},{"className":4140},[],[4142],{"type":16,"value":4143},"UINT64_MAX",{"type":16,"value":4145},", the timeout period is treated as\ninfinite, and ",{"type":10,"tag":87,"props":4147,"children":4149},{"className":4148},[],[4150],{"type":16,"value":3784},{"type":16,"value":4152}," will block until an image is\nacquired or an error occurs.",{"type":10,"tag":3741,"props":4154,"children":4156},{"id":4155},"swapchain-acquire-forward-progress",[],{"type":10,"tag":18,"props":4158,"children":4159},{},[4160,4162,4167,4168,4173,4175,4180,4182,4186,4187,4193,4195,4199,4200,4206,4208,4213,4215,4219,4220,4225,4227,4231],{"type":16,"value":4161},"Let S be the number of images in ",{"type":10,"tag":87,"props":4163,"children":4165},{"className":4164},[],[4166],{"type":16,"value":3981},{"type":16,"value":4130},{"type":10,"tag":87,"props":4169,"children":4171},{"className":4170},[],[4172],{"type":16,"value":3981},{"type":16,"value":4174}," is created with\n",{"type":10,"tag":60,"props":4176,"children":4178},{"href":4177},"/man/VkSwapchainPresentModesCreateInfoEXT",[4179],{"type":16,"value":3716},{"type":16,"value":4181},", let M be the maximum of\nthe values in ",{"type":10,"tag":60,"props":4183,"children":4184},{"href":631},[4185],{"type":16,"value":634},{"type":16,"value":636},{"type":10,"tag":87,"props":4188,"children":4190},{"className":4189},[],[4191],{"type":16,"value":4192},"minImageCount",{"type":16,"value":4194}," when\nqueried with each present mode in\n",{"type":10,"tag":60,"props":4196,"children":4197},{"href":4177},[4198],{"type":16,"value":3716},{"type":16,"value":636},{"type":10,"tag":87,"props":4201,"children":4203},{"className":4202},[],[4204],{"type":16,"value":4205},"pPresentModes",{"type":16,"value":4207}," in\n",{"type":10,"tag":60,"props":4209,"children":4211},{"href":4210},"/man/VkSurfacePresentModeEXT",[4212],{"type":16,"value":2409},{"type":16,"value":4214},".\nOtherwise, let M be the value of\n",{"type":10,"tag":60,"props":4216,"children":4217},{"href":631},[4218],{"type":16,"value":634},{"type":16,"value":636},{"type":10,"tag":87,"props":4221,"children":4223},{"className":4222},[],[4224],{"type":16,"value":4192},{"type":16,"value":4226}," without a\n",{"type":10,"tag":60,"props":4228,"children":4229},{"href":4210},[4230],{"type":16,"value":2409},{"type":16,"value":4232}," as part of the query input.",{"type":10,"tag":18,"props":4234,"children":4235},{},[4236,4241,4242,4245,4247,4252,4254,4259,4260,4263,4265,4271],{"type":10,"tag":87,"props":4237,"children":4239},{"className":4238},[],[4240],{"type":16,"value":3784},{"type":16,"value":566},{"type":10,"tag":24,"props":4243,"children":4244},{"type":1478},[],{"type":16,"value":4246}," not be called if the number of images\nthat the application has currently acquired is greater than S-M.\nIf ",{"type":10,"tag":87,"props":4248,"children":4250},{"className":4249},[],[4251],{"type":16,"value":3784},{"type":16,"value":4253}," is called when the number of images that the\napplication has currently acquired is less than or equal to S-M,\n",{"type":10,"tag":87,"props":4255,"children":4257},{"className":4256},[],[4258],{"type":16,"value":3784},{"type":16,"value":566},{"type":10,"tag":24,"props":4261,"children":4262},{"type":32},[],{"type":16,"value":4264}," return in finite time with an allowed\n",{"type":10,"tag":87,"props":4266,"children":4268},{"className":4267},[],[4269],{"type":16,"value":4270},"VkResult",{"type":16,"value":4272}," code.",{"type":10,"tag":606,"props":4274,"children":4275},{},[4276],{"type":10,"tag":18,"props":4277,"children":4278},{},[4279,4281,4286],{"type":16,"value":4280},"Returning a result in finite time guarantees that the implementation cannot\ndeadlock an application, or suspend its execution indefinitely with correct\nAPI usage.\nAcquiring too many images at once may block indefinitely, which is covered\nby valid usage when attempting to use ",{"type":10,"tag":87,"props":4282,"children":4284},{"className":4283},[],[4285],{"type":16,"value":4143},{"type":16,"value":4287},".\nFor example, a scenario here is when a compositor holds on to images which\nare currently being presented, and there are not any vacant images left to\nbe acquired.",{"type":10,"tag":18,"props":4289,"children":4290},{},[4291,4293,4298,4299,4304,4305,4308,4310,4315,4317,4322,4324,4329],{"type":16,"value":4292},"If the swapchain images no longer match native surface properties, either\n",{"type":10,"tag":87,"props":4294,"children":4296},{"className":4295},[],[4297],{"type":16,"value":1235},{"type":16,"value":2172},{"type":10,"tag":87,"props":4300,"children":4302},{"className":4301},[],[4303],{"type":16,"value":1243},{"type":16,"value":566},{"type":10,"tag":24,"props":4306,"children":4307},{"type":32},[],{"type":16,"value":4309}," be returned.\nIf ",{"type":10,"tag":87,"props":4311,"children":4313},{"className":4312},[],[4314],{"type":16,"value":1243},{"type":16,"value":4316}," is returned, no image is acquired and\nattempts to present previously acquired images to the swapchain will also\nfail with ",{"type":10,"tag":87,"props":4318,"children":4320},{"className":4319},[],[4321],{"type":16,"value":1243},{"type":16,"value":4323},".\nApplications need to create a new swapchain for the surface to continue\npresenting if ",{"type":10,"tag":87,"props":4325,"children":4327},{"className":4326},[],[4328],{"type":16,"value":1243},{"type":16,"value":4330}," is returned.",{"type":10,"tag":606,"props":4332,"children":4333},{},[4334],{"type":10,"tag":18,"props":4335,"children":4336},{},[4337,4342,4343,4346],{"type":10,"tag":87,"props":4338,"children":4340},{"className":4339},[],[4341],{"type":16,"value":1235},{"type":16,"value":566},{"type":10,"tag":24,"props":4344,"children":4345},{"type":50},[],{"type":16,"value":4347}," happen, for example, if the platform surface\nhas been resized but the platform is able to scale the presented images to\nthe new size to produce valid surface updates.\nIt is up to the application to decide whether it prefers to continue using\nthe current swapchain in this state, or to re-create the swapchain to better\nmatch the platform surface properties.",{"type":10,"tag":18,"props":4349,"children":4350},{},[4351,4353,4358,4360,4365,4366,4369,4371,4377],{"type":16,"value":4352},"If device loss occurs (see ",{"type":10,"tag":60,"props":4354,"children":4355},{"href":1501},[4356],{"type":16,"value":4357},"Lost Device",{"type":16,"value":4359},") before\nthe timeout has expired, ",{"type":10,"tag":87,"props":4361,"children":4363},{"className":4362},[],[4364],{"type":16,"value":3784},{"type":16,"value":566},{"type":10,"tag":24,"props":4367,"children":4368},{"type":32},[],{"type":16,"value":4370}," return in finite\ntime with either one of the allowed success codes, or\n",{"type":10,"tag":87,"props":4372,"children":4374},{"className":4373},[],[4375],{"type":16,"value":4376},"VK_ERROR_DEVICE_LOST",{"type":16,"value":510},{"type":10,"tag":18,"props":4379,"children":4380},{},[4381,4382,4387,4389,4393,4395,4398,4400,4403],{"type":16,"value":4087},{"type":10,"tag":87,"props":4383,"children":4385},{"className":4384},[],[4386],{"type":16,"value":4012},{"type":16,"value":4388}," is not ",{"type":10,"tag":60,"props":4390,"children":4391},{"href":4039},[4392],{"type":16,"value":4042},{"type":16,"value":4394},", the semaphore ",{"type":10,"tag":24,"props":4396,"children":4397},{"type":32},[],{"type":16,"value":4399}," be\nunsignaled, with no signal or wait operations pending.\nIt will become signaled when the application ",{"type":10,"tag":24,"props":4401,"children":4402},{"type":26},[],{"type":16,"value":4404}," use the image.",{"type":10,"tag":606,"props":4406,"children":4407},{},[4408],{"type":10,"tag":18,"props":4409,"children":4410},{},[4411,4413,4418],{"type":16,"value":4412},"Use of ",{"type":10,"tag":87,"props":4414,"children":4416},{"className":4415},[],[4417],{"type":16,"value":4012},{"type":16,"value":4419}," allows rendering operations to be recorded and\nsubmitted before the presentation engine has completed its use of the image.",{"type":10,"tag":18,"props":4421,"children":4422},{},[4423,4424,4429,4431,4435,4437,4440,4442,4445],{"type":16,"value":4087},{"type":10,"tag":87,"props":4425,"children":4427},{"className":4426},[],[4428],{"type":16,"value":4020},{"type":16,"value":4430}," is not equal to ",{"type":10,"tag":60,"props":4432,"children":4433},{"href":4039},[4434],{"type":16,"value":4042},{"type":16,"value":4436},", the fence ",{"type":10,"tag":24,"props":4438,"children":4439},{"type":32},[],{"type":16,"value":4441}," be\nunsignaled, with no signal operations pending.\nIt will become signaled when the application ",{"type":10,"tag":24,"props":4443,"children":4444},{"type":26},[],{"type":16,"value":4404},{"type":10,"tag":606,"props":4447,"children":4448},{},[4449],{"type":10,"tag":18,"props":4450,"children":4451},{},[4452,4454,4457,4459,4464,4466,4469,4471,4474,4475,4480],{"type":16,"value":4453},"Applications ",{"type":10,"tag":24,"props":4455,"children":4456},{"type":1478},[],{"type":16,"value":4458}," not rely on ",{"type":10,"tag":87,"props":4460,"children":4462},{"className":4461},[],[4463],{"type":16,"value":3784},{"type":16,"value":4465}," blocking in\norder to meter their rendering speed.\nThe implementation ",{"type":10,"tag":24,"props":4467,"children":4468},{"type":50},[],{"type":16,"value":4470}," return from this function immediately regardless of\nhow many presentation requests are queued, and regardless of when queued\npresentation requests will complete relative to the call.\nInstead, applications ",{"type":10,"tag":24,"props":4472,"children":4473},{"type":26},[],{"type":16,"value":4006},{"type":10,"tag":87,"props":4476,"children":4478},{"className":4477},[],[4479],{"type":16,"value":4020},{"type":16,"value":4481}," to meter their frame generation\nwork to match the presentation rate.",{"type":10,"tag":18,"props":4483,"children":4484},{},[4485,4487,4490,4492,4497,4498,4503],{"type":16,"value":4486},"An application ",{"type":10,"tag":24,"props":4488,"children":4489},{"type":32},[],{"type":16,"value":4491}," wait until either the ",{"type":10,"tag":87,"props":4493,"children":4495},{"className":4494},[],[4496],{"type":16,"value":4012},{"type":16,"value":2172},{"type":10,"tag":87,"props":4499,"children":4501},{"className":4500},[],[4502],{"type":16,"value":4020},{"type":16,"value":4504}," is\nsignaled before accessing the image’s data.",{"type":10,"tag":606,"props":4506,"children":4507},{},[4508,4513],{"type":10,"tag":18,"props":4509,"children":4510},{},[4511],{"type":16,"value":4512},"When the presentable image will be accessed by some stage S, the\nrecommended idiom for ensuring correct synchronization is:",{"type":10,"tag":79,"props":4514,"children":4515},{},[4516,4557],{"type":10,"tag":83,"props":4517,"children":4518},{},[4519,4520,4526,4528,4533,4534,4539,4541,4547,4549,4555],{"type":16,"value":576},{"type":10,"tag":60,"props":4521,"children":4523},{"href":4522},"/man/VkSubmitInfo",[4524],{"type":16,"value":4525},"VkSubmitInfo",{"type":16,"value":4527}," used to submit the image layout transition for\nexecution includes ",{"type":10,"tag":87,"props":4529,"children":4531},{"className":4530},[],[4532],{"type":16,"value":3784},{"type":16,"value":636},{"type":10,"tag":87,"props":4535,"children":4537},{"className":4536},[],[4538],{"type":16,"value":4012},{"type":16,"value":4540}," in its\n",{"type":10,"tag":87,"props":4542,"children":4544},{"className":4543},[],[4545],{"type":16,"value":4546},"pWaitSemaphores",{"type":16,"value":4548}," member, with the corresponding element of\n",{"type":10,"tag":87,"props":4550,"children":4552},{"className":4551},[],[4553],{"type":16,"value":4554},"pWaitDstStageMask",{"type":16,"value":4556}," including S.",{"type":10,"tag":83,"props":4558,"children":4559},{},[4560,4561,4567,4569,4575,4576,4582],{"type":16,"value":576},{"type":10,"tag":60,"props":4562,"children":4564},{"href":4563},"/chapters/synchronization#synchronization",[4565],{"type":16,"value":4566},"synchronization command",{"type":16,"value":4568}," that performs any\nnecessary image layout transition includes S in both the\n",{"type":10,"tag":87,"props":4570,"children":4572},{"className":4571},[],[4573],{"type":16,"value":4574},"srcStageMask",{"type":16,"value":379},{"type":10,"tag":87,"props":4577,"children":4579},{"className":4578},[],[4580],{"type":16,"value":4581},"dstStageMask",{"type":16,"value":510},{"type":10,"tag":18,"props":4584,"children":4585},{},[4586,4588,4593],{"type":16,"value":4587},"After a successful return, the image indicated by ",{"type":10,"tag":87,"props":4589,"children":4591},{"className":4590},[],[4592],{"type":16,"value":3994},{"type":16,"value":4594}," and its\ndata will be unmodified compared to when it was presented.",{"type":10,"tag":606,"props":4596,"children":4597},{},[4598],{"type":10,"tag":18,"props":4599,"children":4600},{},[4601,4603,4609,4611,4617,4619,4624],{"type":16,"value":4602},"Exclusive ownership of presentable images corresponding to a swapchain\ncreated with ",{"type":10,"tag":87,"props":4604,"children":4606},{"className":4605},[],[4607],{"type":16,"value":4608},"VK_SHARING_MODE_EXCLUSIVE",{"type":16,"value":4610}," as defined in\n",{"type":10,"tag":60,"props":4612,"children":4614},{"href":4613},"/chapters/resources#resources-sharing",[4615],{"type":16,"value":4616},"Resource Sharing",{"type":16,"value":4618}," is not altered by a call to\n",{"type":10,"tag":87,"props":4620,"children":4622},{"className":4621},[],[4623],{"type":16,"value":3784},{"type":16,"value":4625},".\nThat means upon the first acquisition from such a swapchain presentable\nimages are not owned by any queue family, while at subsequent acquisitions\nthe presentable images remain owned by the queue family the image was\npreviously presented on.",{"type":10,"tag":18,"props":4627,"children":4628},{},[4629,4630,4635,4637,4642],{"type":16,"value":3464},{"type":10,"tag":87,"props":4631,"children":4633},{"className":4632},[],[4634],{"type":16,"value":3784},{"type":16,"value":4636}," depend on the\n",{"type":10,"tag":87,"props":4638,"children":4640},{"className":4639},[],[4641],{"type":16,"value":4093},{"type":16,"value":4643}," provided:",{"type":10,"tag":79,"props":4645,"children":4646},{},[4647,4657,4667,4684,4707],{"type":10,"tag":83,"props":4648,"children":4649},{},[4650,4655],{"type":10,"tag":87,"props":4651,"children":4653},{"className":4652},[],[4654],{"type":16,"value":3487},{"type":16,"value":4656}," is returned if an image became available.",{"type":10,"tag":83,"props":4658,"children":4659},{},[4660,4665],{"type":10,"tag":87,"props":4661,"children":4663},{"className":4662},[],[4664],{"type":16,"value":1473},{"type":16,"value":4666}," is returned if the surface becomes no\nlonger available.",{"type":10,"tag":83,"props":4668,"children":4669},{},[4670,4675,4677,4682],{"type":10,"tag":87,"props":4671,"children":4673},{"className":4672},[],[4674],{"type":16,"value":4108},{"type":16,"value":4676}," is returned if ",{"type":10,"tag":87,"props":4678,"children":4680},{"className":4679},[],[4681],{"type":16,"value":4093},{"type":16,"value":4683}," is zero and no image was\navailable.",{"type":10,"tag":83,"props":4685,"children":4686},{},[4687,4692,4693,4698,4700,4705],{"type":10,"tag":87,"props":4688,"children":4690},{"className":4689},[],[4691],{"type":16,"value":4128},{"type":16,"value":4676},{"type":10,"tag":87,"props":4694,"children":4696},{"className":4695},[],[4697],{"type":16,"value":4093},{"type":16,"value":4699}," is greater than zero and\nless than ",{"type":10,"tag":87,"props":4701,"children":4703},{"className":4702},[],[4704],{"type":16,"value":4143},{"type":16,"value":4706},", and no image became available within the time\nallowed.",{"type":10,"tag":83,"props":4708,"children":4709},{},[4710,4715,4717,4720],{"type":10,"tag":87,"props":4711,"children":4713},{"className":4712},[],[4714],{"type":16,"value":1235},{"type":16,"value":4716}," is returned if an image became available, and\nthe swapchain no longer matches the surface properties exactly, but ",{"type":10,"tag":24,"props":4718,"children":4719},{"type":26},[],{"type":16,"value":4721},"\nstill be used to present to the surface successfully.",{"type":10,"tag":606,"props":4723,"children":4724},{},[4725],{"type":10,"tag":18,"props":4726,"children":4727},{},[4728,4730,4733],{"type":16,"value":4729},"This ",{"type":10,"tag":24,"props":4731,"children":4732},{"type":50},[],{"type":16,"value":4734}," happen, for example, if the platform surface has been resized but\nthe platform is able to scale the presented images to the new size to\nproduce valid surface updates.\nIt is up to the application to decide whether it prefers to continue using\nthe current swapchain indefinitely or temporarily in this state, or to\nre-create the swapchain to better match the platform surface properties.",{"type":10,"tag":79,"props":4736,"children":4737},{},[4738],{"type":10,"tag":83,"props":4739,"children":4740},{},[4741,4746,4748,4751],{"type":10,"tag":87,"props":4742,"children":4744},{"className":4743},[],[4745],{"type":16,"value":1243},{"type":16,"value":4747}," is returned if the surface has changed in\nsuch a way that it is no longer compatible with the swapchain, and\nfurther presentation requests using the swapchain will fail.\nApplications ",{"type":10,"tag":24,"props":4749,"children":4750},{"type":32},[],{"type":16,"value":4752}," query the new surface properties and recreate their\nswapchain if they wish to continue presenting to the surface.",{"type":10,"tag":18,"props":4754,"children":4755},{},[4756,4758,4761,4763,4767,4768,4774,4776,4780,4782,4787],{"type":16,"value":4757},"If the native surface and presented image sizes no longer match,\npresentation ",{"type":10,"tag":24,"props":4759,"children":4760},{"type":50},[],{"type":16,"value":4762}," fail\nunless the swapchain is created with a non-zero value in\n",{"type":10,"tag":60,"props":4764,"children":4765},{"href":616},[4766],{"type":16,"value":619},{"type":16,"value":636},{"type":10,"tag":87,"props":4769,"children":4771},{"className":4770},[],[4772],{"type":16,"value":4773},"scalingBehavior",{"type":16,"value":4775},"\n.\nIf presentation does succeed, the mapping from the presented image to the\nnative surface is\ndefined by the ",{"type":10,"tag":60,"props":4777,"children":4778},{"href":616},[4779],{"type":16,"value":619},{"type":16,"value":4781}," structure if\nprovided.\nOtherwise it is\nimplementation-defined.\nIt is the application’s responsibility to detect surface size changes and\nreact appropriately.\nIf presentation fails because of a mismatch in the surface and presented\nimage sizes, a ",{"type":10,"tag":87,"props":4783,"children":4785},{"className":4784},[],[4786],{"type":16,"value":1243},{"type":16,"value":4788}," error will be returned.",{"type":10,"tag":606,"props":4790,"children":4791},{},[4792],{"type":10,"tag":18,"props":4793,"children":4794},{},[4795,4797,4800],{"type":16,"value":4796},"For example, consider a 4x3 window/surface that gets resized to be 3x4\n(taller than wider).\nOn some window systems, the portion of the window/surface that was\npreviously and still is visible (the 3x3 part) will contain the same\ncontents as before, while the remaining parts of the window will have\nundefined: contents.\nOther window systems ",{"type":10,"tag":24,"props":4798,"children":4799},{"type":50},[],{"type":16,"value":4801}," squash/stretch the image to fill the new window\nsize without any undefined: contents, or apply some other mapping.",{"type":10,"tag":154,"props":4803,"children":4805},{"name":4804,"type":174},"vkAcquireNextImage2KHR",[4806],{"type":10,"tag":18,"props":4807,"children":4808},{},[4809],{"type":16,"value":3917},{"type":10,"tag":154,"props":4811,"children":4813},{"name":4812,"type":191},"VkAcquireNextImageInfoKHR",[4814],{"type":10,"tag":18,"props":4815,"children":4816},{},[4817],{"type":16,"value":4818},"Structure specifying parameters of the acquire",{"type":10,"tag":154,"props":4820,"children":4821},{"name":392,"type":174},[4822],{"type":10,"tag":18,"props":4823,"children":4824},{},[4825],{"type":16,"value":4826},"Queue an image for presentation",{"type":10,"tag":154,"props":4828,"children":4830},{"name":4829,"type":191},"VkPresentInfoKHR",[4831],{"type":10,"tag":18,"props":4832,"children":4833},{},[4834],{"type":16,"value":4835},"Structure describing parameters of a queue presentation",{"type":10,"tag":154,"props":4837,"children":4839},{"name":4838,"type":191},"VkPresentRegionsKHR",[4840],{"type":10,"tag":18,"props":4841,"children":4842},{},[4843],{"type":16,"value":4844},"Structure hint of rectangular regions changed by vkQueuePresentKHR",{"type":10,"tag":154,"props":4846,"children":4848},{"name":4847,"type":191},"VkPresentRegionKHR",[4849],{"type":10,"tag":18,"props":4850,"children":4851},{},[4852],{"type":16,"value":4853},"Structure containing rectangular region changed by vkQueuePresentKHR for a given VkImage",{"type":10,"tag":154,"props":4855,"children":4857},{"name":4856,"type":191},"VkRectLayerKHR",[4858],{"type":10,"tag":18,"props":4859,"children":4860},{},[4861],{"type":16,"value":4862},"Structure containing a rectangle, including layer, changed by vkQueuePresentKHR for a given VkImage",{"type":10,"tag":3741,"props":4864,"children":4866},{"id":4865},"display\\_swapchain\\_present",[],{"type":10,"tag":18,"props":4868,"children":4869},{},[4870,4872,4878,4880,4883,4885,4890,4891,4896,4898,4904],{"type":16,"value":4871},"When the ",{"type":10,"tag":60,"props":4873,"children":4875},{"href":4874},"/extensions/VK_KHR_display_swapchain",[4876],{"type":16,"value":4877},"VK_KHR_display_swapchain",{"type":16,"value":4879}," extension is enabled, additional\nfields ",{"type":10,"tag":24,"props":4881,"children":4882},{"type":26},[],{"type":16,"value":4884}," be specified when presenting an image to a swapchain by setting\n",{"type":10,"tag":60,"props":4886,"children":4888},{"href":4887},"/man/VkPresentInfoKHR",[4889],{"type":16,"value":4829},{"type":16,"value":636},{"type":10,"tag":87,"props":4892,"children":4894},{"className":4893},[],[4895],{"type":16,"value":3639},{"type":16,"value":4897}," to point to a\n",{"type":10,"tag":60,"props":4899,"children":4901},{"href":4900},"/man/VkDisplayPresentInfoKHR",[4902],{"type":16,"value":4903},"VkDisplayPresentInfoKHR",{"type":16,"value":3713},{"type":10,"tag":154,"props":4906,"children":4907},{"name":4903,"type":191},[4908],{"type":10,"tag":18,"props":4909,"children":4910},{},[4911],{"type":16,"value":4912},"Structure describing parameters of a queue presentation to a swapchain",{"type":10,"tag":154,"props":4914,"children":4916},{"name":4915,"type":191},"VkDeviceGroupPresentInfoKHR",[4917],{"type":10,"tag":18,"props":4918,"children":4919},{},[4920],{"type":16,"value":4921},"Mode and mask controlling which physical devices' images are presented",{"type":10,"tag":154,"props":4923,"children":4925},{"name":4924,"type":191},"VkPresentTimesInfoGOOGLE",[4926],{"type":10,"tag":18,"props":4927,"children":4928},{},[4929],{"type":16,"value":4930},"The earliest time each image should be presented",{"type":10,"tag":154,"props":4932,"children":4933},{"name":2957,"type":191},[4934],{"type":10,"tag":18,"props":4935,"children":4936},{},[4937],{"type":16,"value":4938},"The earliest time image should be presented",{"type":10,"tag":154,"props":4940,"children":4941},{"name":3283,"type":191},[4942],{"type":10,"tag":18,"props":4943,"children":4944},{},[4945],{"type":16,"value":4946},"The list of presentation identifiers",{"type":10,"tag":154,"props":4948,"children":4949},{"name":3299,"type":174},[4950],{"type":10,"tag":18,"props":4951,"children":4952},{},[4953],{"type":16,"value":4954},"Wait for presentation",{"type":10,"tag":154,"props":4956,"children":4958},{"name":4957,"type":191},"VkPresentFrameTokenGGP",[4959],{"type":10,"tag":18,"props":4960,"children":4961},{},[4962],{"type":16,"value":4963},"The Google Games Platform frame token",{"type":10,"tag":154,"props":4965,"children":4967},{"name":4966,"type":191},"VkSwapchainPresentModeInfoEXT",[4968],{"type":10,"tag":18,"props":4969,"children":4970},{},[4971],{"type":16,"value":4972},"Presentation modes for a vkQueuePresentKHR operation",{"type":10,"tag":154,"props":4974,"children":4976},{"name":4975,"type":191},"VkSwapchainPresentFenceInfoEXT",[4977],{"type":10,"tag":18,"props":4978,"children":4979},{},[4980],{"type":16,"value":4981},"Fences associated with a vkQueuePresentKHR operation",{"type":10,"tag":154,"props":4983,"children":4985},{"name":4984,"type":174},"vkReleaseSwapchainImagesEXT",[4986],{"type":10,"tag":18,"props":4987,"children":4988},{},[4989],{"type":16,"value":4990},"Release previously acquired but unused images",{"type":10,"tag":154,"props":4992,"children":4994},{"name":4993,"type":191},"VkReleaseSwapchainImagesInfoEXT",[4995],{"type":10,"tag":18,"props":4996,"children":4997},{},[4998],{"type":16,"value":4999},"Structure describing a list of swapchain image indices to be released",{"type":10,"tag":37,"props":5001,"children":5003},{"id":5002},"_hdr_metadata",[5004],{"type":16,"value":5005},"HDR Metadata",{"type":10,"tag":18,"props":5007,"children":5008},{},[5009],{"type":16,"value":5010},"This section describes how to improve color reproduction of content to\nbetter reproduce colors as seen on the display used to originally optimize\nthe content.",{"type":10,"tag":154,"props":5012,"children":5014},{"name":5013,"type":174},"vkSetHdrMetadataEXT",[5015],{"type":10,"tag":18,"props":5016,"children":5017},{},[5018],{"type":16,"value":5019},"Set HDR metadata",{"type":10,"tag":154,"props":5021,"children":5023},{"name":5022,"type":191},"VkHdrMetadataEXT",[5024],{"type":10,"tag":18,"props":5025,"children":5026},{},[5027],{"type":16,"value":5028},"Specify HDR metadata",{"type":10,"tag":154,"props":5030,"children":5032},{"name":5031,"type":191},"VkXYColorEXT",[5033],{"type":10,"tag":18,"props":5034,"children":5035},{},[5036],{"type":16,"value":5037},"Specify X,Y chromaticity coordinates",{"type":10,"tag":37,"props":5039,"children":5041},{"id":5040},"lag-control",[5042],{"type":16,"value":5043},"Lag Control",{"type":10,"tag":18,"props":5045,"children":5046},{},[5047],{"type":16,"value":5048},"Some implementations support extensions to reduce display latency and\ncontrol the swapchain present interval, as described in the remainder of\nthis section.",{"type":10,"tag":165,"props":5050,"children":5052},{"id":5051},"anti-lag",[5053],{"type":16,"value":5054},"Anti-Lag",{"type":10,"tag":18,"props":5056,"children":5057},{},[5058,5059,5065],{"type":16,"value":576},{"type":10,"tag":60,"props":5060,"children":5062},{"href":5061},"/extensions/VK_AMD_anti_lag",[5063],{"type":16,"value":5064},"VK_AMD_anti_lag",{"type":16,"value":5066}," extension lowers latency between receiving input\nand displaying on the screen.\nIt adds a command to indicate when input is being processed for a frame, and\nwhen that frame’s images are presented.",{"type":10,"tag":154,"props":5068,"children":5070},{"name":5069,"type":174},"vkAntiLagUpdateAMD",[5071],{"type":10,"tag":18,"props":5072,"children":5073},{},[5074],{"type":16,"value":5075},"Provide information to reduce latency",{"type":10,"tag":154,"props":5077,"children":5079},{"name":5078,"type":191},"VkAntiLagDataAMD",[5080],{"type":10,"tag":18,"props":5081,"children":5082},{},[5083],{"type":16,"value":5084},"Structure specifying the parameters for vkAntiLagUpdateAMD",{"type":10,"tag":154,"props":5086,"children":5088},{"name":5087,"type":1888},"VkAntiLagModeAMD",[5089],{"type":10,"tag":18,"props":5090,"children":5091},{},[5092],{"type":16,"value":5093},"Set the status of the anti-lag feature",{"type":10,"tag":154,"props":5095,"children":5097},{"name":5096,"type":191},"VkAntiLagPresentationInfoAMD",[5098],{"type":10,"tag":18,"props":5099,"children":5100},{},[5101],{"type":16,"value":5102},"Structure specifying information about stage",{"type":10,"tag":154,"props":5104,"children":5106},{"name":5105,"type":1888},"VkAntiLagStageAMD",[5107],{"type":10,"tag":18,"props":5108,"children":5109},{},[5110],{"type":16,"value":5111},"Report the application stage",{"type":10,"tag":165,"props":5113,"children":5115},{"id":5114},"low-latency2",[5116],{"type":16,"value":5117},"Latency Reduction",{"type":10,"tag":154,"props":5119,"children":5121},{"name":5120,"type":174},"vkSetLatencySleepModeNV",[5122],{"type":10,"tag":18,"props":5123,"children":5124},{},[5125],{"type":16,"value":5126},"Enable or Disable low latency mode on a swapchain",{"type":10,"tag":154,"props":5128,"children":5130},{"name":5129,"type":191},"VkLatencySleepModeInfoNV",[5131],{"type":10,"tag":18,"props":5132,"children":5133},{},[5134],{"type":16,"value":5135},"Structure to set low latency mode",{"type":10,"tag":154,"props":5137,"children":5139},{"name":5138,"type":174},"vkLatencySleepNV",[5140],{"type":10,"tag":18,"props":5141,"children":5142},{},[5143],{"type":16,"value":5144},"Trigger low latency mode Sleep",{"type":10,"tag":154,"props":5146,"children":5148},{"name":5147,"type":191},"VkLatencySleepInfoNV",[5149],{"type":10,"tag":18,"props":5150,"children":5151},{},[5152],{"type":16,"value":5153},"Structure specifying the parameters of vkLatencySleepNV",{"type":10,"tag":154,"props":5155,"children":5157},{"name":5156,"type":174},"vkSetLatencyMarkerNV",[5158],{"type":10,"tag":18,"props":5159,"children":5160},{},[5161],{"type":16,"value":5162},"Pass in marker for timing info",{"type":10,"tag":154,"props":5164,"children":5166},{"name":5165,"type":191},"VkSetLatencyMarkerInfoNV",[5167],{"type":10,"tag":18,"props":5168,"children":5169},{},[5170],{"type":16,"value":5171},"Structure specifying the parameters of vkSetLatencyMarkerNV",{"type":10,"tag":154,"props":5173,"children":5175},{"name":5174,"type":1888},"VkLatencyMarkerNV",[5176],{"type":10,"tag":18,"props":5177,"children":5178},{},[5179],{"type":16,"value":5180},"Structure used to mark different points in latency",{"type":10,"tag":154,"props":5182,"children":5184},{"name":5183,"type":174},"vkGetLatencyTimingsNV",[5185],{"type":10,"tag":18,"props":5186,"children":5187},{},[5188],{"type":16,"value":5189},"Get latency marker results",{"type":10,"tag":154,"props":5191,"children":5193},{"name":5192,"type":191},"VkGetLatencyMarkerInfoNV",[5194],{"type":10,"tag":18,"props":5195,"children":5196},{},[5197],{"type":16,"value":5198},"Structure specifying the parameters of vkGetLatencyTimingsNV",{"type":10,"tag":154,"props":5200,"children":5202},{"name":5201,"type":191},"VkLatencyTimingsFrameReportNV",[5203],{"type":10,"tag":18,"props":5204,"children":5205},{},[5206],{"type":16,"value":5207},"Structure containing latency data",{"type":10,"tag":154,"props":5209,"children":5211},{"name":5210,"type":191},"VkLatencySubmissionPresentIdNV",[5212],{"type":10,"tag":18,"props":5213,"children":5214},{},[5215],{"type":16,"value":5216},"Structure used to associate a queueSubmit with a presentId",{"type":10,"tag":154,"props":5218,"children":5220},{"name":5219,"type":174},"vkQueueNotifyOutOfBandNV",[5221],{"type":10,"tag":18,"props":5222,"children":5223},{},[5224],{"type":16,"value":5225},"Notify out of band queue",{"type":10,"tag":154,"props":5227,"children":5229},{"name":5228,"type":191},"VkOutOfBandQueueTypeInfoNV",[5230],{"type":10,"tag":18,"props":5231,"children":5232},{},[5233],{"type":16,"value":5234},"Structure used to describe the queue that is being marked as Out of Band",{"type":10,"tag":154,"props":5236,"children":5238},{"name":5237,"type":1888},"VkOutOfBandQueueTypeNV",[5239],{"type":10,"tag":18,"props":5240,"children":5241},{},[5242],{"type":16,"value":5243},"Type of out of band queue",{"type":10,"tag":154,"props":5245,"children":5247},{"name":5246,"type":191},"VkSwapchainLatencyCreateInfoNV",[5248],{"type":10,"tag":18,"props":5249,"children":5250},{},[5251],{"type":16,"value":5252},"Specify that a swapchain will use low latency mode",{"type":10,"tag":154,"props":5254,"children":5256},{"name":5255,"type":191},"VkLatencySurfaceCapabilitiesNV",[5257],{"type":10,"tag":18,"props":5258,"children":5259},{},[5260],{"type":16,"value":5261},"Structure describing surface optimized presentation modes for use with low latency mode",{"type":10,"tag":37,"props":5263,"children":5265},{"id":5264},"present-barrier",[5266],{"type":16,"value":5267},"Present Barrier",{"type":10,"tag":18,"props":5269,"children":5270},{},[5271,5272,5278,5280,5286,5288,5292,5294,5300,5302,5307,5308,5312,5314,5318,5319,5325],{"type":16,"value":576},{"type":10,"tag":60,"props":5273,"children":5275},{"href":5274},"/extensions/VK_NV_present_barrier",[5276],{"type":16,"value":5277},"VK_NV_present_barrier",{"type":16,"value":5279}," extension allows applications to\nsynchronize corresponding presentation requests across multiple swapchains\nusing the ",{"type":10,"tag":5281,"props":5282,"children":5283},"em",{},[5284],{"type":16,"value":5285},"present barrier",{"type":16,"value":5287},".\nA swapchain is said to be using the ",{"type":10,"tag":5281,"props":5289,"children":5290},{},[5291],{"type":16,"value":5285},{"type":16,"value":5293}," if the swapchain is\ncreated by adding a ",{"type":10,"tag":60,"props":5295,"children":5297},{"href":5296},"/man/VkSwapchainPresentBarrierCreateInfoNV",[5298],{"type":16,"value":5299},"VkSwapchainPresentBarrierCreateInfoNV",{"type":16,"value":5301}," structure to\nthe ",{"type":10,"tag":87,"props":5303,"children":5305},{"className":5304},[],[5306],{"type":16,"value":3639},{"type":16,"value":3707},{"type":10,"tag":60,"props":5309,"children":5310},{"href":3644},[5311],{"type":16,"value":3578},{"type":16,"value":5313}," structure, and\nsetting\n",{"type":10,"tag":60,"props":5315,"children":5316},{"href":5296},[5317],{"type":16,"value":5299},{"type":16,"value":636},{"type":10,"tag":87,"props":5320,"children":5322},{"className":5321},[],[5323],{"type":16,"value":5324},"presentBarrierEnable",{"type":16,"value":5326}," to\ntrue.",{"type":10,"tag":18,"props":5328,"children":5329},{},[5330,5332,5336],{"type":16,"value":5331},"A set of corresponding presentation requests is defined as exactly one\nqueued presentation request associated with each swapchain using the present\nbarrier, whether or not that queued request has executed.\nA given presentation request is added, when created by calling\n",{"type":10,"tag":60,"props":5333,"children":5334},{"href":389},[5335],{"type":16,"value":392},{"type":16,"value":5337}," and specifying a swapchain using the present\nbarrier, either to the oldest existing set of corresponding requests for\nwhich there is no existing member associated with the request’s swapchain,\nor to a new set of corresponding requests if no such set exists.",{"type":10,"tag":18,"props":5339,"children":5340},{},[5341,5343,5348,5350,5354,5356,5361,5363,5367],{"type":16,"value":5342},"A set of corresponding requests is said to be ",{"type":10,"tag":5281,"props":5344,"children":5345},{},[5346],{"type":16,"value":5347},"full",{"type":16,"value":5349}," when it contains one\nrequest from each swapchain using the present barrier.\nQueued presentation of an image to a swapchain using the ",{"type":10,"tag":5281,"props":5351,"children":5352},{},[5353],{"type":16,"value":5285},{"type":16,"value":5355},"\nis ",{"type":10,"tag":5281,"props":5357,"children":5358},{},[5359],{"type":16,"value":5360},"deferred",{"type":16,"value":5362}," by the implementation until the set of corresponding requests\nis full, and the visibility operations associated with all requests in that\nset, as described by ",{"type":10,"tag":60,"props":5364,"children":5365},{"href":389},[5366],{"type":16,"value":392},{"type":16,"value":5368},", have completed.",{"type":10,"tag":18,"props":5370,"children":5371},{},[5372,5374,5378],{"type":16,"value":5373},"Additionally, the set of swapchains using the present barrier can be in the\nsame process, or different processes running under the same operating\nsystem.\nAnd if the required synchronization hardware is connected and correctly\nconfigured, this extension also supports applications to synchronize\ncorresponding presentation requests using the ",{"type":10,"tag":5281,"props":5375,"children":5376},{},[5377],{"type":16,"value":5285},{"type":16,"value":5379}," across\ndistributed systems.\nHowever, the configuration mechanism of the required hardware is outside the\nscope of the Vulkan specification and this extension.",{"type":10,"tag":154,"props":5381,"children":5382},{"name":5299,"type":191},[5383],{"type":10,"tag":18,"props":5384,"children":5385},{},[5386],{"type":16,"value":5387},"specify the present barrier membership of this swapchain",{"title":5389,"searchDepth":5390,"depth":5390,"links":5391},"",2,[5392,5393,5410,5416,5430,5435,5436,5437,5438,5439,5440,5441,5445],{"id":39,"depth":5390,"text":42},{"id":149,"depth":5390,"text":152,"children":5394},[5395,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408,5409],{"id":167,"depth":5396,"text":170},3,{"id":220,"depth":5396,"text":223},{"id":521,"depth":5396,"text":524},{"id":669,"depth":5396,"text":672},{"id":837,"depth":5396,"text":840},{"id":1030,"depth":5396,"text":1033},{"id":1095,"depth":5396,"text":1098},{"id":1144,"depth":5396,"text":1147},{"id":1255,"depth":5396,"text":1258},{"id":1287,"depth":5396,"text":1290},{"id":1319,"depth":5396,"text":1322},{"id":1356,"depth":5396,"text":1359},{"id":1397,"depth":5396,"text":1400},{"id":1434,"depth":5396,"text":1437},{"id":1517,"depth":5390,"text":1520,"children":5411},[5412,5413,5414,5415],{"id":1553,"depth":5396,"text":1556},{"id":1863,"depth":5396,"text":1866},{"id":1897,"depth":5396,"text":1900},{"id":1952,"depth":5396,"text":1955},{"id":2027,"depth":5390,"text":2030,"children":5417},[5418,5419,5420,5421,5422,5423,5424,5425,5426,5427,5428,5429],{"id":2057,"depth":5396,"text":170},{"id":2072,"depth":5396,"text":223},{"id":2086,"depth":5396,"text":524},{"id":2100,"depth":5396,"text":672},{"id":2114,"depth":5396,"text":840},{"id":2128,"depth":5396,"text":1033},{"id":2142,"depth":5396,"text":1098},{"id":2157,"depth":5396,"text":1147},{"id":2188,"depth":5396,"text":1258},{"id":2203,"depth":5396,"text":1290},{"id":2218,"depth":5396,"text":1322},{"id":2233,"depth":5396,"text":1400},{"id":2247,"depth":5390,"text":2250,"children":5431},[5432,5433,5434],{"id":2279,"depth":5396,"text":2282},{"id":2533,"depth":5396,"text":2536},{"id":2604,"depth":5396,"text":2607},{"id":2635,"depth":5390,"text":2638},{"id":2684,"depth":5390,"text":2687},{"id":2753,"depth":5390,"text":2756},{"id":3235,"depth":5390,"text":3238},{"id":3304,"depth":5390,"text":3307},{"id":5002,"depth":5390,"text":5005},{"id":5040,"depth":5390,"text":5043,"children":5442},[5443,5444],{"id":5051,"depth":5396,"text":5054},{"id":5114,"depth":5396,"text":5117},{"id":5264,"depth":5390,"text":5267},"markdown","chapters-wsi",[5449,5454,5458,5461,5464,5468,5472,5476,5480,5484,5488,5492,5496,5500,5504,5508,5512,5516,5520,5524,5528,5532,5536,5540,5544,5548,5552,5556,5560,5564,5568,5572,5576,5580,5582,5586,5590,5594,5598,5602,5606,5610,5614,5618,5622,5626,5630,5634,5638,5642,5646,5650,5653,5656,5659,5662,5665,5668,5671],{"index":5450,"title":5451,"id":5452,"appendix":5453},0,"Preamble","preamble",false,{"index":5455,"title":5456,"id":5457,"appendix":5453},1,"Introduction","introduction",{"index":5390,"title":5459,"id":5460,"appendix":5453},"Fundamentals","fundamentals",{"index":5396,"title":5462,"id":5463,"appendix":5453},"Initialization","initialization",{"index":5465,"title":5466,"id":5467,"appendix":5453},4,"Devices and Queues","devsandqueues",{"index":5469,"title":5470,"id":5471,"appendix":5453},5,"Command Buffers","commandbuffers",{"index":5473,"title":5474,"id":5475,"appendix":5453},6,"Synchronization and Cache Control","synchronization",{"index":5477,"title":5478,"id":5479,"appendix":5453},7,"Render Pass","renderpass",{"index":5481,"title":5482,"id":5483,"appendix":5453},8,"Shaders","shaders",{"index":5485,"title":5486,"id":5487,"appendix":5453},9,"Pipelines","pipelines",{"index":5489,"title":5490,"id":5491,"appendix":5453},10,"Memory Allocation","memory",{"index":5493,"title":5494,"id":5495,"appendix":5453},11,"Resource Creation","resources",{"index":5497,"title":5498,"id":5499,"appendix":5453},12,"Samplers","samplers",{"index":5501,"title":5502,"id":5503,"appendix":5453},13,"Resource Descriptors","descriptorsets",{"index":5505,"title":5506,"id":5507,"appendix":5453},14,"Shader Interfaces","interfaces",{"index":5509,"title":5510,"id":5511,"appendix":5453},15,"Image Operations","textures",{"index":5513,"title":5514,"id":5515,"appendix":5453},16,"Fragment Density Map Operations","fragmentdensitymapops",{"index":5517,"title":5518,"id":5519,"appendix":5453},17,"Queries","queries",{"index":5521,"title":5522,"id":5523,"appendix":5453},18,"Clear Commands","clears",{"index":5525,"title":5526,"id":5527,"appendix":5453},19,"Copy Commands","copies",{"index":5529,"title":5530,"id":5531,"appendix":5453},20,"Drawing Commands","drawing",{"index":5533,"title":5534,"id":5535,"appendix":5453},21,"Fixed-Function Vertex Processing","fxvertex",{"index":5537,"title":5538,"id":5539,"appendix":5453},22,"Tessellation","tessellation",{"index":5541,"title":5542,"id":5543,"appendix":5453},23,"Geometry Shading","geometry",{"index":5545,"title":5546,"id":5547,"appendix":5453},24,"Mesh Shading","mesh",{"index":5549,"title":5550,"id":5551,"appendix":5453},25,"Cluster Culling Shading","cluster-culling",{"index":5553,"title":5554,"id":5555,"appendix":5453},26,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":5557,"title":5558,"id":5559,"appendix":5453},27,"Rasterization","primsrast",{"index":5561,"title":5562,"id":5563,"appendix":5453},28,"Fragment Operations","fragops",{"index":5565,"title":5566,"id":5567,"appendix":5453},29,"The Framebuffer","framebuffer",{"index":5569,"title":5570,"id":5571,"appendix":5453},30,"Dispatching Commands","dispatch",{"index":5573,"title":5574,"id":5575,"appendix":5453},31,"Device-Generated Commands","device-generated-commands",{"index":5577,"title":5578,"id":5579,"appendix":5453},32,"Sparse Resources","sparsememory",{"index":5581,"title":4,"id":13,"appendix":5453},33,{"index":5583,"title":5584,"id":5585,"appendix":5453},34,"Deferred Host Operations","deferred-host-operations",{"index":5587,"title":5588,"id":5589,"appendix":5453},35,"Private Data","private-data",{"index":5591,"title":5592,"id":5593,"appendix":5453},36,"Acceleration Structures","acceleration-structure",{"index":5595,"title":5596,"id":5597,"appendix":5453},37,"Micromap","micromap",{"index":5599,"title":5600,"id":5601,"appendix":5453},38,"Ray Traversal","ray-traversal",{"index":5603,"title":5604,"id":5605,"appendix":5453},39,"Ray Tracing","ray-tracing",{"index":5607,"title":5608,"id":5609,"appendix":5453},40,"Memory Decompression","memory-decompression",{"index":5611,"title":5612,"id":5613,"appendix":5453},41,"Video Coding","video-coding",{"index":5615,"title":5616,"id":5617,"appendix":5453},42,"Optical Flow","opticalflow",{"index":5619,"title":5620,"id":5621,"appendix":5453},43,"Execution Graphs","executiongraphs",{"index":5623,"title":5624,"id":5625,"appendix":5453},44,"Extending Vulkan","extendingvulkan",{"index":5627,"title":5628,"id":5629,"appendix":5453},45,"Features","features",{"index":5631,"title":5632,"id":5633,"appendix":5453},46,"Limits","limits",{"index":5635,"title":5636,"id":5637,"appendix":5453},47,"Formats","formats",{"index":5639,"title":5640,"id":5641,"appendix":5453},48,"Additional Capabilities","capabilities",{"index":5643,"title":5644,"id":5645,"appendix":5453},49,"Debugging","debugging",{"index":5450,"title":5647,"id":5648,"appendix":5649},"Vulkan Environment for SPIR-V","spirvenv",true,{"index":5455,"title":5651,"id":5652,"appendix":5649},"Memory Model","memory-model",{"index":5390,"title":5654,"id":5655,"appendix":5649},"Compressed Image Formats","compressed_image_formats",{"index":5396,"title":5657,"id":5658,"appendix":5649},"Core Revisions (Informative)","versions",{"index":5465,"title":5660,"id":5661,"appendix":5649},"Layers & Extensions (Informative)","extensions",{"index":5469,"title":5663,"id":5664,"appendix":5649},"API Boilerplate","boilerplate",{"index":5473,"title":5666,"id":5667,"appendix":5649},"Invariance","invariance",{"index":5477,"title":5669,"id":5670,"appendix":5649},"Lexicon","lexicon",{"index":5481,"title":5672,"id":5673,"appendix":5649},"Credits (Informative)","credits",[5675,5683,5686,5691,5695,5700,5703,5706,5709,5713,5717,5720,5723,5726,5728,5730,5733,5736,5740,5742,5746,5748,5751,5753,5756,5764,5768,5774,5778,5783,5785,5789,5795,5801,5807,5809,5812,5818,5821,5825,5831,5835,5839,5844,5848,5851,5854,5860,5863,5866,5870,5874,5878,5881,5883,5887,5892,5898,5901,5905,5907,5913,5916,5920,5923,5927,5930,5934,5937,5942,5946,5949,5954,5957,5960,5963,5967,5972,5977,5981,5985,5988,5992,5996,6000,6004,6007,6010,6014,6017,6020,6023,6027,6032,6036,6039,6043,6048,6052,6057,6060,6063,6068,6073,6077,6080,6084,6089,6092,6097,6102,6105,6108,6112,6116,6120,6125,6129,6132,6137,6141,6144,6148,6152,6156,6159,6161,6165,6168,6171,6174,6177,6180,6183,6186,6189,6192,6196,6200,6203,6206,6209,6212,6215,6218,6222,6226,6230,6233,6237,6240,6243,6246,6248,6252,6257,6261,6265,6267,6271,6274,6281,6285,6289,6293,6299,6302,6306,6309,6312,6315,6319,6324,6330,6334,6336,6341,6344,6349,6353,6358,6362,6366,6368,6371,6374,6376,6381,6384,6387,6392,6396,6400,6405,6409,6413,6415,6417,6419,6421,6424,6427,6431,6435,6437,6441,6444,6448,6451,6453,6456,6460,6462,6466,6469,6472,6475,6479,6482,6485,6487,6490,6492,6495,6499,6502,6504,6506,6508,6510,6514,6516,6519,6524,6528,6531,6533,6536,6538,6542,6545,6548,6551,6555,6558,6563,6566,6569,6573,6576,6579,6583,6587,6589,6594,6597,6601,6604,6607,6610,6612,6615,6619,6622,6626,6629,6633,6637,6640,6643,6646,6649,6652,6654,6657,6659,6664,6665,6669,6672,6675,6678,6681,6683,6687,6690,6693,6696,6700,6702,6704,6708,6710,6713,6717,6721,6723,6727,6730,6733,6736,6739,6743,6748,6753,6757,6763,6767,6770,6774,6778,6781,6785,6789,6792,6796,6799,6804,6808,6810,6816,6819,6822,6825,6829,6832,6836,6840,6844,6846,6849,6851,6854,6856,6858,6861,6864,6867,6870,6873,6876,6878,6882,6886,6890,6894,6897,6900,6904,6907,6910,6912,6916,6920,6923,6926,6929,6932,6935,6938,6941,6944,6947,6950,6953,6956,6959,6962,6966,6969,6973,6977,6980,6983,6986,6989,6992,6995,6999,7002,7005,7011,7015,7019,7023],{"number":5676,"type":5677,"author":5678,"provisional":5649,"depends":5679,"platform":5680,"contact":5681,"extension":5682,"proposal":5649},135,"device","AMD","(((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3)+VK_KHR_pipeline_library+VK_KHR_spirv_1_4","provisional","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":5684,"type":5677,"author":5678,"provisional":5453,"contact":5685,"extension":5064,"proposal":5649},477,"Stu Smith",{"number":5687,"type":5677,"author":5678,"provisional":5453,"specialuse":5688,"contact":5689,"extension":5690,"proposal":5453},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":5692,"type":5677,"author":5678,"provisional":5453,"depends":5693,"contact":5681,"extension":5694,"proposal":5453},230,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","VK_AMD_device_coherent_memory",{"number":5696,"type":5677,"author":5678,"provisional":5453,"depends":5697,"contact":5698,"extension":5699,"proposal":5453},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":5583,"type":5677,"author":5678,"promotedto":5701,"provisional":5453,"contact":5689,"extension":5702,"proposal":5453},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":5553,"type":5677,"author":5678,"provisional":5453,"contact":5704,"extension":5705,"proposal":5453},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":5595,"type":5677,"author":5678,"deprecatedby":5707,"provisional":5453,"contact":5704,"extension":5708,"proposal":5453},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":5710,"type":5677,"author":5678,"deprecatedby":5707,"provisional":5453,"contact":5711,"extension":5712,"proposal":5453},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":5714,"type":5677,"author":5678,"provisional":5453,"contact":5715,"extension":5716,"proposal":5453},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":5718,"type":5677,"author":5678,"provisional":5453,"contact":5698,"extension":5719,"proposal":5453},137,"VK_AMD_mixed_attachment_samples",{"number":5591,"type":5677,"author":5678,"obsoletedby":5721,"provisional":5453,"contact":5698,"extension":5722,"proposal":5453},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":5724,"type":5677,"author":5678,"provisional":5453,"contact":5698,"extension":5725,"proposal":5453},184,"VK_AMD_pipeline_compiler_control",{"number":5525,"type":5677,"author":5678,"provisional":5453,"contact":5689,"extension":5727,"proposal":5453},"VK_AMD_rasterization_order",{"number":5599,"type":5677,"author":5678,"provisional":5453,"contact":5704,"extension":5729,"proposal":5453},"VK_AMD_shader_ballot",{"number":5731,"type":5677,"author":5678,"provisional":5453,"depends":5693,"contact":5715,"extension":5732,"proposal":5453},186,"VK_AMD_shader_core_properties",{"number":5734,"type":5677,"author":5678,"provisional":5453,"depends":5732,"contact":5698,"extension":5735,"proposal":5453},228,"VK_AMD_shader_core_properties2",{"number":5737,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5681,"extension":5739,"proposal":5649},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":5537,"type":5677,"author":5678,"provisional":5453,"contact":5711,"extension":5741,"proposal":5453},"VK_AMD_shader_explicit_vertex_parameter",{"number":5743,"type":5677,"author":5678,"provisional":5453,"contact":5744,"extension":5745,"proposal":5453},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":5635,"type":5677,"author":5678,"provisional":5453,"contact":5704,"extension":5747,"proposal":5453},"VK_AMD_shader_image_load_store_lod",{"number":5619,"type":5677,"author":5678,"provisional":5453,"specialuse":5688,"contact":5749,"extension":5750,"proposal":5453},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":5533,"type":5677,"author":5678,"provisional":5453,"contact":5711,"extension":5752,"proposal":5453},"VK_AMD_shader_trinary_minmax",{"number":5615,"type":5677,"author":5678,"provisional":5453,"depends":5693,"contact":5754,"extension":5755,"proposal":5453},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":5757,"type":5677,"author":5758,"provisional":5453,"depends":5759,"platform":5760,"specialuse":5761,"contact":5762,"extension":5763,"proposal":5649},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":5765,"type":5677,"author":5758,"provisional":5453,"depends":5766,"platform":5760,"contact":5767,"extension":5759,"proposal":5453},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":5769,"type":5677,"author":5770,"promotedto":5771,"provisional":5453,"depends":5693,"contact":5772,"extension":5773,"proposal":5453},343,"ARM","VK_EXT_rasterization_order_attachment_access","Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_rasterization_order_attachment_access",{"number":5775,"type":5677,"author":5770,"provisional":5453,"depends":5776,"contact":5772,"extension":5777,"proposal":5649},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":5779,"type":5677,"author":5770,"provisional":5453,"depends":5780,"contact":5781,"extension":5782,"proposal":5453},418,"VK_ARM_shader_core_builtins","Kevin Petit @kpet","VK_ARM_scheduling_controls",{"number":5784,"type":5677,"author":5770,"provisional":5453,"depends":5693,"contact":5781,"extension":5780,"proposal":5453},498,{"number":5786,"type":5677,"author":5770,"provisional":5453,"depends":5787,"contact":5772,"extension":5788,"proposal":5453},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":5790,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5793,"extension":5794,"proposal":5453},341,"VK_VERSION_1_3","vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":5796,"type":5797,"author":5738,"provisional":5453,"depends":5798,"contact":5799,"extension":5800,"proposal":5453},286,"instance","VK_EXT_direct_mode_display","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":5802,"type":5797,"author":5803,"provisional":5453,"depends":5798,"platform":5804,"contact":5805,"extension":5806,"proposal":5453},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":5808,"proposal":5453},"VK_EXT_application_parameters",{"number":5810,"type":5677,"author":5770,"provisional":5453,"depends":5693,"contact":5772,"extension":5811,"proposal":5453},68,"VK_EXT_astc_decode_mode",{"number":5813,"type":5677,"author":5738,"provisional":5453,"depends":5814,"ratified":5815,"contact":5816,"extension":5817,"proposal":5649},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":5819,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5793,"extension":5820,"proposal":5649},340,"VK_EXT_attachment_feedback_loop_layout",{"number":5822,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":5824,"proposal":5453},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":5826,"type":5677,"author":5738,"provisional":5453,"depends":5827,"specialuse":5828,"contact":5829,"extension":5830,"proposal":5453},412,"VK_EXT_custom_border_color","glemulation,d3demulation","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":5832,"type":5677,"author":5803,"deprecatedby":5833,"provisional":5453,"depends":5693,"contact":5823,"extension":5834,"proposal":5453},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":5836,"type":5677,"author":5738,"promotedto":5837,"provisional":5453,"depends":5693,"contact":5689,"extension":5838,"proposal":5649},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":5840,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5841,"contact":5842,"extension":5843,"proposal":5453},382,"vulkan,vulkansc","Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":5845,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":5846,"extension":5847,"proposal":5453},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":5849,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5815,"contact":5829,"extension":5850,"proposal":5453},102,"VK_EXT_conservative_rasterization",{"number":5852,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5841,"specialuse":5828,"contact":5853,"extension":5827,"proposal":5453},288,"Liam Middlebrook @liam-middlebrook",{"number":5541,"type":5677,"author":5855,"promotedto":5856,"provisional":5453,"depends":5857,"specialuse":5645,"contact":5858,"extension":5859,"proposal":5453},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":5497,"type":5797,"author":5861,"deprecatedby":5856,"provisional":5453,"specialuse":5645,"contact":5862,"extension":5857,"proposal":5453},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":5864,"type":5797,"author":5738,"provisional":5453,"specialuse":5645,"contact":5865,"extension":5856,"proposal":5453},129,"Mark Young @marky-lunarg",{"number":5867,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5868,"contact":5793,"extension":5869,"proposal":5649},284,"d3demulation","VK_EXT_depth_bias_control",{"number":5871,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5872,"extension":5873,"proposal":5453},422,"Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":5875,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5761,"contact":5876,"extension":5877,"proposal":5453},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":5879,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5841,"specialuse":5868,"contact":5829,"extension":5880,"proposal":5453},103,"VK_EXT_depth_clip_enable",{"number":5505,"type":5677,"author":5803,"provisional":5453,"ratified":5841,"contact":5829,"extension":5882,"proposal":5453},"VK_EXT_depth_range_unrestricted",{"number":5884,"type":5677,"author":5738,"provisional":5453,"depends":5885,"contact":5681,"extension":5886,"proposal":5649},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":5888,"type":5677,"author":5803,"promotedto":5889,"provisional":5453,"depends":5890,"contact":5823,"extension":5891,"proposal":5453},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":5893,"type":5677,"author":5738,"provisional":5453,"depends":5894,"specialuse":5895,"contact":5896,"extension":5897,"proposal":5453},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":5899,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5896,"extension":5900,"proposal":5649},342,"VK_EXT_device_fault",{"number":5902,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5688,"contact":5903,"extension":5904,"proposal":5453},285,"Yiwei Zhang @zhangyiwei","VK_EXT_device_memory_report",{"number":5906,"type":5797,"author":5803,"provisional":5453,"depends":1541,"contact":5805,"extension":5798,"proposal":5453},89,{"number":5908,"type":5797,"author":5738,"provisional":5453,"depends":5909,"platform":5910,"contact":5911,"extension":5912,"proposal":5453},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":5914,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5841,"contact":5829,"extension":5915,"proposal":5453},100,"VK_EXT_discard_rectangles",{"number":5917,"type":5677,"author":5803,"provisional":5453,"depends":5918,"ratified":5815,"contact":5805,"extension":5919,"proposal":5453},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":5921,"type":5797,"author":5803,"provisional":5453,"depends":1541,"ratified":5815,"contact":5805,"extension":5922,"proposal":5453},91,"VK_EXT_display_surface_counter",{"number":5924,"type":5677,"author":5738,"provisional":5453,"depends":5925,"ratified":5815,"contact":5829,"extension":5926,"proposal":5649},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":5928,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5829,"extension":5929,"proposal":5453},268,"VK_EXT_extended_dynamic_state",{"number":5931,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5932,"extension":5933,"proposal":5453},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":5935,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5815,"contact":5829,"extension":5936,"proposal":5649},456,"VK_EXT_extended_dynamic_state3",{"number":5938,"type":5677,"author":5738,"provisional":5453,"depends":5939,"ratified":5815,"contact":5940,"extension":5941,"proposal":5649},454,"VK_KHR_external_memory,VK_VERSION_1_1","Lina Versace @versalinyaa","VK_EXT_external_memory_acquire_unmodified",{"number":5943,"type":5677,"author":5738,"provisional":5453,"depends":5944,"ratified":5841,"contact":5940,"extension":5945,"proposal":5453},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":5947,"type":5677,"author":5738,"provisional":5453,"depends":5939,"ratified":5841,"contact":5689,"extension":5948,"proposal":5453},179,"VK_EXT_external_memory_host",{"number":5950,"type":5677,"author":5951,"provisional":5453,"ratified":5815,"contact":5952,"extension":5953,"proposal":5453},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":5955,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5952,"extension":5956,"proposal":5453},219,"VK_EXT_fragment_density_map",{"number":5958,"type":5677,"author":5738,"provisional":5453,"depends":5956,"contact":5952,"extension":5959,"proposal":5453},333,"VK_EXT_fragment_density_map2",{"number":5961,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5829,"extension":5962,"proposal":5453},252,"VK_EXT_fragment_shader_interlock",{"number":5964,"type":5677,"author":5738,"provisional":5453,"ratified":5815,"contact":5965,"extension":5966,"proposal":5649},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":5968,"type":5677,"author":5738,"provisional":5453,"depends":5969,"platform":5970,"ratified":5815,"contact":5805,"extension":5971,"proposal":5453},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":5973,"type":5677,"author":5738,"promotedto":5974,"provisional":5453,"contact":5975,"extension":5976,"proposal":5453},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":5978,"type":5677,"author":5738,"promotedto":5974,"provisional":5453,"depends":5979,"contact":5903,"extension":5980,"proposal":5453},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":5982,"type":5677,"author":5678,"provisional":5453,"depends":5983,"contact":5681,"extension":5984,"proposal":5649},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":5986,"type":5677,"author":5861,"provisional":5453,"depends":1460,"ratified":5841,"contact":5862,"extension":5987,"proposal":5453},106,"VK_EXT_hdr_metadata",{"number":5989,"type":5797,"author":5738,"provisional":5453,"depends":5909,"contact":5990,"extension":5991,"proposal":5453},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":5993,"type":5677,"author":5738,"provisional":5453,"depends":5994,"ratified":5815,"contact":5876,"extension":5995,"proposal":5649},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":5997,"type":5677,"author":5738,"promotedto":5889,"provisional":5453,"depends":5693,"contact":5998,"extension":5999,"proposal":5453},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":6001,"type":5677,"author":5738,"provisional":5453,"depends":6002,"specialuse":5761,"contact":5816,"extension":6003,"proposal":5453},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":6005,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5772,"extension":6006,"proposal":5649},339,"VK_EXT_image_compression_control",{"number":6008,"type":5677,"author":5738,"provisional":5453,"depends":6006,"contact":5772,"extension":6009,"proposal":5453},438,"VK_EXT_image_compression_control_swapchain",{"number":6011,"type":5677,"author":5738,"provisional":5453,"depends":6012,"ratified":5815,"contact":5940,"extension":6013,"proposal":5453},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":6015,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5872,"extension":6016,"proposal":5453},336,"VK_EXT_image_robustness",{"number":6018,"type":5677,"author":5738,"provisional":5453,"depends":6002,"specialuse":5868,"contact":5816,"extension":6019,"proposal":5649},419,"VK_EXT_image_sliced_view_of_3d",{"number":6021,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5793,"extension":6022,"proposal":5453},392,"VK_EXT_image_view_min_lod",{"number":6024,"type":5677,"author":5738,"promotedto":6025,"provisional":5453,"depends":5693,"contact":5829,"extension":6026,"proposal":5453},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":6028,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":6029,"contact":6030,"extension":6031,"proposal":5453},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":6033,"type":5797,"author":5738,"provisional":5453,"ratified":5815,"contact":6034,"extension":6035,"proposal":5649},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":6037,"type":5677,"author":5738,"provisional":5453,"depends":5693,"specialuse":5761,"contact":5876,"extension":6038,"proposal":5649},466,"VK_EXT_legacy_dithering",{"number":6040,"type":5677,"author":5738,"provisional":5453,"depends":6041,"ratified":5815,"specialuse":5761,"contact":5816,"extension":6042,"proposal":5649},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":6044,"type":5677,"author":5738,"promotedto":6045,"provisional":5453,"depends":5693,"specialuse":6046,"contact":5823,"extension":6047,"proposal":5453},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":6049,"type":5677,"author":5738,"promotedto":6050,"provisional":5453,"ratified":5815,"contact":5876,"extension":6051,"proposal":5453},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":6053,"type":5677,"author":5738,"provisional":5453,"depends":6054,"ratified":5815,"contact":6055,"extension":6056,"proposal":5649},273,"VK_KHR_map_memory2","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":6058,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6059,"proposal":5453},238,"VK_EXT_memory_budget",{"number":6061,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6062,"proposal":5453},239,"VK_EXT_memory_priority",{"number":6064,"type":5677,"author":5738,"provisional":5453,"depends":6065,"contact":6066,"extension":6067,"proposal":5649},329,"VK_KHR_spirv_1_4","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":6069,"type":5677,"author":5738,"provisional":5453,"platform":6070,"contact":6071,"extension":6072,"proposal":5649},312,"metal","Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":6074,"type":5797,"author":5738,"provisional":5453,"depends":5909,"platform":6070,"contact":6075,"extension":6076,"proposal":5453},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":6078,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5816,"extension":6079,"proposal":5453},393,"VK_EXT_multi_draw",{"number":6081,"type":5677,"author":5738,"provisional":5453,"depends":6082,"contact":5876,"extension":6083,"proposal":5649},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":6085,"type":5677,"author":5738,"provisional":5453,"depends":6086,"specialuse":5868,"contact":6087,"extension":6088,"proposal":5649},495,"VK_KHR_maintenance3","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":6090,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5829,"extension":6091,"proposal":5453},452,"VK_EXT_nested_command_buffer",{"number":6093,"type":5677,"author":5738,"provisional":5453,"depends":5693,"specialuse":6094,"contact":6095,"extension":6096,"proposal":5649},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":6098,"type":5677,"author":5738,"provisional":5453,"depends":6099,"ratified":5815,"contact":6100,"extension":6101,"proposal":5649},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness","VK_EXT_opacity_micromap",{"number":6103,"type":5677,"author":5738,"provisional":5453,"depends":6062,"contact":5829,"extension":6104,"proposal":5453},413,"VK_EXT_pageable_device_local_memory",{"number":6106,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5841,"contact":5698,"extension":6107,"proposal":5453},213,"VK_EXT_pci_bus_info",{"number":6109,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":6110,"extension":6111,"proposal":5453},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":6113,"type":5677,"author":5678,"promotedto":5791,"provisional":5453,"depends":5693,"contact":6114,"extension":6115,"proposal":5453},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":6117,"type":5677,"author":5861,"promotedto":5791,"provisional":5453,"specialuse":5688,"contact":6118,"extension":6119,"proposal":5453},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":6121,"type":5677,"author":5738,"provisional":5453,"depends":6122,"contact":6123,"extension":6124,"proposal":5649},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":6126,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":6127,"extension":6128,"proposal":5453},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":6130,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":5876,"extension":6131,"proposal":5649},467,"VK_EXT_pipeline_protected_access",{"number":6133,"type":5677,"author":6134,"provisional":5453,"depends":5693,"contact":6135,"extension":6136,"proposal":5453},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":6138,"type":5677,"author":5803,"provisional":5453,"ratified":5815,"contact":6139,"extension":6140,"proposal":5453},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":6142,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5761,"contact":5876,"extension":6143,"proposal":5453},357,"VK_EXT_primitive_topology_list_restart",{"number":6145,"type":5677,"author":5738,"provisional":5453,"depends":6146,"specialuse":5761,"contact":5876,"extension":6147,"proposal":5649},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":6149,"type":5677,"author":5803,"promotedto":5791,"provisional":5453,"depends":5693,"contact":6150,"extension":6151,"proposal":5453},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":6153,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5761,"contact":6154,"extension":6155,"proposal":5453},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":6157,"type":5677,"author":5738,"provisional":5453,"depends":5939,"ratified":5841,"contact":5940,"extension":6158,"proposal":5453},127,"VK_EXT_queue_family_foreign",{"number":6160,"type":5677,"author":5770,"provisional":5453,"depends":5693,"contact":5772,"extension":5771,"proposal":5649},464,{"number":6162,"type":5677,"author":5738,"provisional":5453,"depends":6163,"contact":5772,"extension":6164,"proposal":5453},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":6166,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5841,"contact":5853,"extension":6167,"proposal":5453},287,"VK_EXT_robustness2",{"number":6169,"type":5677,"author":5678,"provisional":5453,"depends":5693,"ratified":5841,"contact":5689,"extension":6170,"proposal":5453},144,"VK_EXT_sample_locations",{"number":6172,"type":5677,"author":5803,"promotedto":5889,"provisional":5453,"depends":5693,"contact":5823,"extension":6173,"proposal":5453},131,"VK_EXT_sampler_filter_minmax",{"number":6175,"type":5677,"author":5738,"promotedto":5889,"provisional":5453,"depends":5693,"contact":5681,"extension":6176,"proposal":5453},222,"VK_EXT_scalar_block_layout",{"number":6178,"type":5677,"author":5738,"promotedto":5889,"provisional":5453,"contact":5689,"extension":6179,"proposal":5453},247,"VK_EXT_separate_stencil_usage",{"number":6181,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5841,"contact":5932,"extension":6182,"proposal":5453},261,"VK_EXT_shader_atomic_float",{"number":6184,"type":5677,"author":5738,"provisional":5453,"depends":6182,"ratified":5815,"contact":6055,"extension":6185,"proposal":5453},274,"VK_EXT_shader_atomic_float2",{"number":6187,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5823,"extension":6188,"proposal":5453},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":6190,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5681,"extension":6191,"proposal":5453},235,"VK_EXT_shader_image_atomic_int64",{"number":6193,"type":5677,"author":5738,"provisional":5453,"depends":6194,"contact":6123,"extension":6195,"proposal":5649},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":6197,"type":5677,"author":5738,"provisional":5453,"depends":5925,"ratified":5815,"contact":6198,"extension":6199,"proposal":5649},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":6201,"type":5677,"author":5738,"provisional":5453,"ratified":5815,"contact":5781,"extension":6202,"proposal":5649},565,"VK_EXT_shader_replicated_composites",{"number":6204,"type":5677,"author":5738,"provisional":5453,"ratified":5841,"contact":5704,"extension":6205,"proposal":5453},141,"VK_EXT_shader_stencil_export",{"number":6207,"type":5677,"author":5803,"deprecatedby":5889,"provisional":5453,"contact":6139,"extension":6208,"proposal":5453},65,"VK_EXT_shader_subgroup_ballot",{"number":6210,"type":5677,"author":5803,"deprecatedby":5787,"provisional":5453,"contact":6139,"extension":6211,"proposal":5453},66,"VK_EXT_shader_subgroup_vote",{"number":6213,"type":5677,"author":5738,"provisional":5453,"depends":5791,"ratified":5815,"contact":5772,"extension":6214,"proposal":5649},396,"VK_EXT_shader_tile_image",{"number":6216,"type":5677,"author":5803,"promotedto":5889,"provisional":5453,"contact":6139,"extension":6217,"proposal":5453},163,"VK_EXT_shader_viewport_index_layer",{"number":6219,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5787,"ratified":5792,"contact":6220,"extension":6221,"proposal":5453},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":6223,"type":5677,"author":5738,"provisional":5453,"depends":5693,"contact":6224,"extension":6225,"proposal":5649},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":6227,"type":5797,"author":5738,"provisional":5453,"depends":6228,"contact":5876,"extension":6229,"proposal":5649},275,"VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":6231,"type":5797,"author":5861,"provisional":5453,"depends":5909,"contact":5862,"extension":6232,"proposal":5453},105,"VK_EXT_swapchain_colorspace",{"number":6234,"type":5677,"author":5738,"provisional":5453,"depends":6235,"contact":5876,"extension":6236,"proposal":5649},276,"VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":6238,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5823,"extension":6239,"proposal":5453},282,"VK_EXT_texel_buffer_alignment",{"number":6241,"type":5677,"author":5770,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5792,"contact":5772,"extension":6242,"proposal":5453},67,"VK_EXT_texture_compression_astc_hdr",{"number":6244,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"contact":5681,"extension":6245,"proposal":5453},246,"VK_EXT_tooling_info",{"number":5565,"type":5677,"author":5803,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":6247,"contact":5829,"extension":6146,"proposal":5453},"glemulation,d3demulation,devtools",{"number":6249,"type":5677,"author":5861,"provisional":5453,"contact":6250,"extension":6251,"proposal":5453},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":6253,"type":5797,"author":6254,"deprecatedby":6035,"provisional":5453,"specialuse":5645,"contact":6255,"extension":6256,"proposal":5453},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":6258,"type":5797,"author":5861,"deprecatedby":6035,"provisional":5453,"specialuse":5645,"contact":6259,"extension":6260,"proposal":5453},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":6262,"type":5677,"author":5803,"promotedto":6263,"provisional":5453,"depends":5693,"contact":5846,"extension":6264,"proposal":5453},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":6266,"type":5677,"author":5738,"provisional":5453,"depends":5693,"ratified":5815,"contact":5829,"extension":6041,"proposal":5453},353,{"number":6268,"type":5677,"author":5738,"promotedto":5791,"provisional":5453,"depends":6163,"ratified":5792,"contact":6269,"extension":6270,"proposal":5453},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":6272,"type":5677,"author":5738,"provisional":5453,"depends":6163,"ratified":5841,"contact":5829,"extension":6273,"proposal":5453},253,"VK_EXT_ycbcr_image_arrays",{"number":6275,"type":5677,"author":6276,"provisional":5453,"depends":6277,"platform":6278,"contact":6279,"extension":6280,"proposal":5453},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":6282,"type":5677,"author":6276,"provisional":5453,"depends":6283,"platform":6278,"contact":6279,"extension":6284,"proposal":5453},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":6286,"type":5677,"author":6276,"provisional":5453,"depends":6287,"platform":6278,"contact":6279,"extension":6288,"proposal":5453},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":6290,"type":5797,"author":6276,"provisional":5453,"depends":5909,"platform":6278,"contact":6291,"extension":6292,"proposal":5453},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":6294,"type":5677,"author":6295,"provisional":5453,"depends":6296,"platform":6297,"contact":6118,"extension":6298,"proposal":5453},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":6300,"type":5797,"author":6295,"provisional":5453,"depends":5909,"platform":6297,"contact":6118,"extension":6301,"proposal":5453},50,"VK_GGP_stream_descriptor_surface",{"number":6303,"type":5677,"author":5861,"provisional":5453,"contact":6304,"extension":6305,"proposal":5453},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":6307,"type":5677,"author":5861,"provisional":5453,"depends":1460,"contact":6308,"extension":2785,"proposal":5453},93,"Ian Elliott @ianelliottus",{"number":6310,"type":5677,"author":5861,"provisional":5453,"contact":6304,"extension":6311,"proposal":5453},224,"VK_GOOGLE_hlsl_functionality1",{"number":6313,"type":5797,"author":5861,"provisional":5453,"depends":5909,"specialuse":5761,"contact":5876,"extension":6314,"proposal":5649},434,"VK_GOOGLE_surfaceless_query",{"number":6316,"type":5677,"author":5861,"provisional":5453,"contact":6317,"extension":6318,"proposal":5453},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":6320,"type":5677,"author":6321,"provisional":5453,"depends":5693,"contact":6322,"extension":6323,"proposal":5649},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":6325,"type":5677,"author":6326,"provisional":5453,"depends":6327,"contact":6328,"extension":6329,"proposal":5649},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":6331,"type":5677,"author":6321,"provisional":5453,"depends":6332,"contact":6328,"extension":6333,"proposal":5453},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":5513,"type":5677,"author":6134,"provisional":5453,"contact":5681,"extension":6335,"proposal":5453},"VK_IMG_filter_cubic",{"number":6337,"type":5677,"author":6134,"deprecatedby":6338,"provisional":5453,"contact":6339,"extension":6340,"proposal":5453},55,null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":6342,"type":5677,"author":6134,"provisional":5453,"depends":5693,"specialuse":5761,"contact":5965,"extension":6343,"proposal":5453},111,"VK_IMG_relaxed_line_rasterization",{"number":6345,"type":5677,"author":6346,"provisional":5453,"specialuse":5688,"contact":6347,"extension":6348,"proposal":5453},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":6350,"type":5677,"author":6346,"provisional":5453,"depends":5693,"contact":6351,"extension":6352,"proposal":5453},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":6354,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6356,"ratified":5815,"contact":5772,"extension":6357,"proposal":5453},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":6359,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6356,"ratified":5815,"contact":6360,"extension":6361,"proposal":5453},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":6363,"type":5677,"author":6355,"provisional":5453,"depends":6364,"ratified":5815,"contact":6139,"extension":6365,"proposal":5453},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":5485,"type":5797,"author":6355,"provisional":5453,"depends":5909,"platform":5760,"ratified":5815,"contact":5767,"extension":6367,"proposal":5453},"VK_KHR_android_surface",{"number":6369,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":5681,"extension":6370,"proposal":5453},158,"VK_KHR_bind_memory2",{"number":6372,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6373,"ratified":5815,"contact":5823,"extension":5833,"proposal":5453},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":6375,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":6030,"extension":5837,"proposal":5453},544,{"number":6377,"type":5677,"author":6355,"provisional":5453,"depends":6378,"ratified":5815,"contact":6379,"extension":6380,"proposal":5649},512,"VK_KHR_get_physical_device_properties2","Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":6382,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"contact":5781,"extension":6383,"proposal":5649},507,"VK_KHR_cooperative_matrix",{"number":6385,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5841,"contact":5952,"extension":6386,"proposal":5453},338,"VK_KHR_copy_commands2",{"number":6388,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6389,"ratified":5815,"contact":6390,"extension":6391,"proposal":5453},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":6393,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6394,"ratified":5815,"contact":5805,"extension":6395,"proposal":5453},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":6397,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":6398,"extension":6399,"proposal":5453},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":6401,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6402,"ratified":5815,"contact":6403,"extension":6404,"proposal":5453},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":6406,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6407,"extension":6408,"proposal":5453},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":6410,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6411,"ratified":5815,"contact":5823,"extension":6412,"proposal":5453},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":6414,"type":5797,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":5823,"extension":6411,"proposal":5453},71,{"number":5396,"type":5797,"author":6355,"provisional":5453,"depends":5909,"ratified":5841,"contact":6416,"extension":1541,"proposal":5453},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":5465,"type":5677,"author":6355,"provisional":5453,"depends":6418,"ratified":5841,"contact":5805,"extension":4877,"proposal":5453},"VK_KHR_swapchain+VK_KHR_display",{"number":6420,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"ratified":5815,"contact":5829,"extension":5701,"proposal":5453},170,{"number":6422,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":5689,"extension":6423,"proposal":5453},197,"VK_KHR_driver_properties",{"number":5627,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":6425,"ratified":5815,"contact":5681,"extension":6426,"proposal":5649},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":6428,"type":5677,"author":5678,"provisional":5453,"depends":6429,"ratified":5815,"contact":5681,"extension":6430,"proposal":5649},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":6432,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6433,"ratified":5815,"contact":5767,"extension":6434,"proposal":5453},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":6436,"type":5797,"author":6355,"promotedto":5787,"provisional":5453,"depends":5693,"ratified":5815,"contact":5767,"extension":6433,"proposal":5453},113,{"number":6438,"type":5677,"author":6355,"provisional":5453,"depends":6439,"ratified":5841,"contact":5767,"extension":6440,"proposal":5453},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":6442,"type":5677,"author":6355,"provisional":5453,"depends":6434,"platform":5970,"ratified":5815,"contact":5767,"extension":6443,"proposal":5453},115,"VK_KHR_external_fence_win32",{"number":6445,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6446,"ratified":5815,"contact":5805,"extension":6447,"proposal":5453},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":6449,"type":5797,"author":6355,"promotedto":5787,"provisional":5453,"depends":5693,"ratified":5815,"contact":5805,"extension":6450,"proposal":5453},72,"VK_KHR_external_memory_capabilities",{"number":6452,"type":5677,"author":6355,"provisional":5453,"depends":5939,"ratified":5841,"contact":5805,"extension":5944,"proposal":5453},75,{"number":6454,"type":5677,"author":6355,"provisional":5453,"depends":5939,"platform":5970,"ratified":5815,"contact":5805,"extension":6455,"proposal":5453},74,"VK_KHR_external_memory_win32",{"number":6457,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6458,"ratified":5815,"contact":5805,"extension":6459,"proposal":5453},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":6461,"type":5797,"author":6355,"promotedto":5787,"provisional":5453,"depends":5693,"ratified":5815,"contact":5805,"extension":6458,"proposal":5453},77,{"number":6463,"type":5677,"author":6355,"provisional":5453,"depends":6464,"ratified":5841,"contact":5805,"extension":6465,"proposal":5453},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":6467,"type":5677,"author":6355,"provisional":5453,"depends":6459,"platform":5970,"ratified":5815,"contact":5805,"extension":6468,"proposal":5453},79,"VK_KHR_external_semaphore_win32",{"number":6470,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5815,"contact":6347,"extension":6471,"proposal":5453},361,"VK_KHR_format_feature_flags2",{"number":6473,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"contact":5685,"extension":6474,"proposal":5649},323,"VK_KHR_fragment_shader_barycentric",{"number":6476,"type":5677,"author":6355,"provisional":5453,"depends":6477,"ratified":5841,"contact":5681,"extension":6478,"proposal":5649},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":6480,"type":5797,"author":6355,"provisional":5453,"depends":1541,"ratified":5841,"contact":5805,"extension":6481,"proposal":5453},122,"VK_KHR_get_display_properties2",{"number":6483,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6055,"extension":6484,"proposal":5453},147,"VK_KHR_get_memory_requirements2",{"number":6486,"type":5797,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":5823,"extension":6378,"proposal":5453},60,{"number":6488,"type":5797,"author":6355,"provisional":5453,"depends":5909,"ratified":5841,"contact":5805,"extension":6489,"proposal":5453},120,"VK_KHR_get_surface_capabilities2",{"number":6491,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":5681,"extension":5974,"proposal":5453},189,{"number":6493,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"ratified":5815,"contact":6055,"extension":6494,"proposal":5453},148,"VK_KHR_image_format_list",{"number":6496,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6497,"ratified":5815,"contact":6390,"extension":6498,"proposal":5453},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":6500,"type":5677,"author":6355,"provisional":5453,"depends":1460,"ratified":5841,"contact":6308,"extension":6501,"proposal":5453},85,"VK_KHR_incremental_present",{"number":6503,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":5829,"extension":6025,"proposal":5453},534,{"number":6505,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":5829,"extension":6045,"proposal":5453},535,{"number":6507,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":5876,"extension":6050,"proposal":5649},527,{"number":6509,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":5829,"extension":5721,"proposal":5453},70,{"number":6511,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6512,"extension":6513,"proposal":5453},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":6515,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6086,"proposal":5453},169,{"number":6517,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5787,"ratified":5815,"contact":5829,"extension":6518,"proposal":5453},414,"VK_KHR_maintenance4",{"number":6520,"type":5677,"author":6355,"provisional":5453,"depends":6521,"ratified":5815,"contact":6522,"extension":6523,"proposal":5649},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","Stu Smith @stu-s","VK_KHR_maintenance5",{"number":6525,"type":5677,"author":6355,"provisional":5453,"depends":5787,"ratified":5815,"contact":6526,"extension":6527,"proposal":5649},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":6529,"type":5677,"author":6355,"provisional":5453,"depends":5787,"ratified":5815,"contact":5816,"extension":6530,"proposal":5649},563,"VK_KHR_maintenance7",{"number":6532,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":6055,"extension":6054,"proposal":5649},272,{"number":6534,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6535,"proposal":5453},54,"VK_KHR_multiview",{"extension":6537,"proposal":5453},"VK_KHR_object_refresh",{"number":6539,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"specialuse":5688,"contact":6540,"extension":6541,"proposal":5453},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":6543,"type":5677,"author":6355,"provisional":5453,"depends":6523,"ratified":5815,"contact":6522,"extension":6544,"proposal":5649},484,"VK_KHR_pipeline_binary",{"number":6546,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"specialuse":5688,"contact":6055,"extension":6547,"proposal":5453},270,"VK_KHR_pipeline_executable_properties",{"number":6549,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":6066,"extension":6550,"proposal":5453},291,"VK_KHR_pipeline_library",{"number":6552,"type":5797,"author":6355,"provisional":5453,"ratified":5815,"contact":6553,"extension":6554,"proposal":5453},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":6556,"type":5677,"author":6355,"provisional":5649,"depends":5693,"platform":5680,"ratified":5815,"contact":6071,"extension":6557,"proposal":5453},164,"VK_KHR_portability_subset",{"number":6559,"type":5677,"author":6355,"provisional":5453,"depends":6560,"ratified":5815,"contact":6561,"extension":6562,"proposal":5453},295,"VK_KHR_swapchain+VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Keith Packard @keithp","VK_KHR_present_id",{"number":6564,"type":5677,"author":6355,"provisional":5453,"depends":6565,"ratified":5815,"contact":6561,"extension":3269,"proposal":5453},249,"VK_KHR_swapchain+VK_KHR_present_id",{"number":6567,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6568,"proposal":5453},81,"VK_KHR_push_descriptor",{"number":6570,"type":5677,"author":6355,"provisional":5453,"depends":6571,"ratified":5815,"contact":6139,"extension":6572,"proposal":5453},349,"VK_KHR_spirv_1_4+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":6574,"type":5677,"author":6355,"provisional":5453,"depends":6365,"ratified":5815,"contact":6139,"extension":6575,"proposal":5453},387,"VK_KHR_ray_tracing_maintenance1",{"number":6577,"type":5677,"author":6355,"provisional":5453,"depends":6571,"ratified":5815,"contact":6139,"extension":6578,"proposal":5453},348,"VK_KHR_ray_tracing_pipeline",{"number":6580,"type":5677,"author":6355,"provisional":5453,"depends":6365,"ratified":5815,"contact":6581,"extension":6582,"proposal":5649},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":6584,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6585,"extension":6586,"proposal":5453},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":5509,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"ratified":5815,"contact":5681,"extension":6588,"proposal":5453},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":6590,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6591,"ratified":5815,"contact":6592,"extension":6593,"proposal":5453},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":6595,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6477,"ratified":5815,"contact":5829,"extension":6596,"proposal":5453},242,"VK_KHR_separate_depth_stencil_layouts",{"number":6598,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":6599,"extension":6600,"proposal":5453},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":6602,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":6599,"extension":6603,"proposal":5453},182,"VK_KHR_shader_clock",{"number":6605,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6139,"extension":6606,"proposal":5453},64,"VK_KHR_shader_draw_parameters",{"number":6608,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"contact":5781,"extension":6609,"proposal":5649},545,"VK_KHR_shader_expect_assume",{"number":6611,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":6360,"extension":5707,"proposal":5453},83,{"number":6613,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":6360,"extension":6614,"proposal":5453},198,"VK_KHR_shader_float_controls",{"number":6616,"type":5677,"author":6355,"provisional":5453,"depends":6617,"ratified":5815,"contact":5872,"extension":6618,"proposal":5649},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":6620,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5815,"contact":5781,"extension":6621,"proposal":5649},281,"VK_KHR_shader_integer_dot_product",{"number":6623,"type":5677,"author":6355,"provisional":5453,"depends":5787,"ratified":5815,"contact":6624,"extension":6625,"proposal":5649},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":6627,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"ratified":5815,"contact":5858,"extension":6628,"proposal":5453},294,"VK_KHR_shader_non_semantic_info",{"number":6630,"type":5677,"author":6355,"provisional":5453,"depends":6631,"ratified":5815,"contact":5681,"extension":6632,"proposal":5649},236,"VK_VERSION_1_1+VK_KHR_vulkan_memory_model+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":6634,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":6635,"extension":6636,"proposal":5649},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":6638,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5787,"ratified":5815,"contact":6220,"extension":6639,"proposal":5453},176,"VK_KHR_shader_subgroup_extended_types",{"number":6641,"type":5677,"author":6355,"provisional":5453,"ratified":5815,"contact":5781,"extension":6642,"proposal":5649},417,"VK_KHR_shader_subgroup_rotate",{"number":6644,"type":5677,"author":6355,"provisional":5453,"depends":5787,"ratified":5815,"contact":6624,"extension":6645,"proposal":5453},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":6647,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5841,"contact":5767,"extension":6648,"proposal":5453},216,"VK_KHR_shader_terminate_invocation",{"number":6650,"type":5677,"author":6355,"provisional":5453,"depends":6651,"ratified":5841,"contact":6540,"extension":3448,"proposal":5453},112,"VK_KHR_swapchain+VK_KHR_get_surface_capabilities2+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)",{"number":6653,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":6617,"ratified":5815,"contact":5767,"extension":6065,"proposal":5453},237,{"number":6655,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"ratified":5815,"contact":6360,"extension":6656,"proposal":5453},132,"VK_KHR_storage_buffer_storage_class",{"number":5455,"type":5797,"author":6355,"provisional":5453,"ratified":5841,"contact":6658,"extension":5909,"proposal":5453},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":6660,"type":5797,"author":6355,"provisional":5453,"depends":6661,"ratified":5815,"contact":6662,"extension":6663,"proposal":5453},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":5390,"type":5677,"author":6355,"provisional":5453,"depends":5909,"ratified":5841,"contact":6658,"extension":1460,"proposal":5453},{"number":6666,"type":5677,"author":6355,"provisional":5453,"depends":6667,"ratified":5841,"contact":5689,"extension":6668,"proposal":5453},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":6670,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5841,"contact":5681,"extension":6671,"proposal":5453},315,"VK_KHR_synchronization2",{"number":6673,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":6055,"extension":6674,"proposal":5453},208,"VK_KHR_timeline_semaphore",{"number":6676,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":5872,"extension":6677,"proposal":5453},254,"VK_KHR_uniform_buffer_standard_layout",{"number":6679,"type":5677,"author":6355,"promotedto":5787,"provisional":5453,"depends":6356,"ratified":5815,"contact":5767,"extension":6680,"proposal":5453},121,"VK_KHR_variable_pointers",{"number":6682,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5841,"contact":5876,"extension":6263,"proposal":5649},526,{"number":6684,"type":5677,"author":6355,"provisional":5453,"depends":6685,"ratified":5815,"contact":6030,"extension":6686,"proposal":5649},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":5611,"type":5677,"author":6355,"provisional":5453,"depends":6685,"ratified":5815,"contact":6688,"extension":6689,"proposal":5649},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":6691,"type":5677,"author":6355,"provisional":5453,"depends":6685,"ratified":5815,"contact":6688,"extension":6692,"proposal":5649},188,"VK_KHR_video_decode_h265",{"number":5549,"type":5677,"author":6355,"provisional":5453,"depends":6694,"ratified":5815,"contact":6695,"extension":6685,"proposal":5649},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":5603,"type":5677,"author":6355,"provisional":5453,"depends":6697,"ratified":5815,"contact":6698,"extension":6699,"proposal":5649},"VK_KHR_video_encode_queue","Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_encode_h264",{"number":5607,"type":5677,"author":6355,"provisional":5453,"depends":6697,"ratified":5815,"contact":6698,"extension":6701,"proposal":5649},"VK_KHR_video_encode_h265",{"number":6703,"type":5677,"author":6355,"provisional":5453,"depends":6694,"ratified":5815,"contact":6698,"extension":6697,"proposal":5649},300,{"number":6705,"type":5677,"author":6355,"provisional":5453,"depends":6706,"ratified":5815,"contact":6030,"extension":6707,"proposal":5649},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":5545,"type":5677,"author":6355,"provisional":5453,"depends":6709,"ratified":5815,"contact":6269,"extension":6706,"proposal":5649},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":6711,"type":5677,"author":6355,"promotedto":5889,"provisional":5453,"depends":5693,"ratified":5815,"contact":5823,"extension":6712,"proposal":5453},212,"VK_KHR_vulkan_memory_model",{"number":5477,"type":5797,"author":6355,"provisional":5453,"depends":5909,"platform":6714,"ratified":5815,"contact":6715,"extension":6716,"proposal":5453},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":6718,"type":5677,"author":6355,"provisional":5453,"depends":6455,"platform":5970,"ratified":5815,"contact":6719,"extension":6720,"proposal":5453},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":5489,"type":5797,"author":6355,"provisional":5453,"depends":5909,"platform":5970,"ratified":5815,"contact":6715,"extension":6722,"proposal":5453},"VK_KHR_win32_surface",{"number":6724,"type":5677,"author":6355,"provisional":5453,"depends":5693,"ratified":5815,"contact":6725,"extension":6726,"proposal":5453},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":5473,"type":5797,"author":6355,"provisional":5453,"depends":5909,"platform":6728,"ratified":5815,"contact":6715,"extension":6729,"proposal":5453},"xcb","VK_KHR_xcb_surface",{"number":5469,"type":5797,"author":6355,"provisional":5453,"depends":5909,"platform":6731,"ratified":5815,"contact":6715,"extension":6732,"proposal":5453},"xlib","VK_KHR_xlib_surface",{"number":6734,"type":5677,"author":6355,"promotedto":5791,"provisional":5453,"depends":5693,"ratified":5815,"contact":6624,"extension":6735,"proposal":5453},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":6737,"type":5797,"author":6254,"provisional":5453,"contact":6553,"extension":6738,"proposal":5649},460,"VK_LUNARG_direct_driver_loading",{"number":6740,"type":5677,"author":6741,"provisional":5453,"depends":5693,"specialuse":5868,"contact":6123,"extension":6742,"proposal":5453},576,"MESA","VK_MESA_image_alignment_control",{"number":6744,"type":5677,"author":6745,"provisional":5453,"depends":5693,"contact":6746,"extension":6747,"proposal":5649},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":6749,"type":5797,"author":6750,"deprecatedby":6076,"provisional":5453,"depends":5909,"platform":6751,"contact":6071,"extension":6752,"proposal":5453},123,"MVK","ios","VK_MVK_ios_surface",{"number":6754,"type":5797,"author":6750,"deprecatedby":6076,"provisional":5453,"depends":5909,"platform":6755,"contact":6071,"extension":6756,"proposal":5453},124,"macos","VK_MVK_macos_surface",{"number":6758,"type":5797,"author":6759,"provisional":5453,"depends":5909,"platform":6760,"contact":6761,"extension":6762,"proposal":5453},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":5569,"type":5677,"author":6764,"provisional":5453,"contact":6765,"extension":6766,"proposal":5453},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":5573,"type":5677,"author":6764,"provisional":5453,"contact":6768,"extension":6769,"proposal":5453},"Eric Werness @ewerness-nv","VK_NVX_image_view_handle",{"number":6771,"type":5677,"author":6764,"provisional":5453,"depends":6772,"contact":5823,"extension":6773,"proposal":5453},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":6775,"type":5677,"author":5803,"provisional":5453,"depends":5798,"platform":5970,"contact":6776,"extension":6777,"proposal":5453},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":6779,"type":5677,"author":5803,"provisional":5453,"contact":6768,"extension":6780,"proposal":5453},88,"VK_NV_clip_space_w_scaling",{"number":6782,"type":5677,"author":5803,"provisional":5453,"contact":6783,"extension":6784,"proposal":5453},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":6786,"type":5677,"author":5803,"promotedto":6380,"provisional":5453,"depends":5693,"contact":6787,"extension":6788,"proposal":5453},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":6790,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":5823,"extension":6791,"proposal":5453},250,"VK_NV_cooperative_matrix",{"number":6793,"type":5677,"author":5803,"provisional":5453,"depends":6794,"contact":5932,"extension":6795,"proposal":5453},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":6797,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6139,"extension":6798,"proposal":5453},51,"VK_NV_corner_sampled_image",{"number":6800,"type":5677,"author":5803,"provisional":5453,"depends":6801,"contact":6802,"extension":6803,"proposal":5453},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":6805,"type":5677,"author":5803,"provisional":5649,"contact":6806,"extension":6807,"proposal":5453},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":5557,"type":5677,"author":5803,"deprecatedby":6395,"provisional":5453,"contact":5823,"extension":6809,"proposal":5453},"VK_NV_dedicated_allocation",{"number":6811,"type":5677,"author":6812,"provisional":5453,"depends":6813,"contact":6814,"extension":6815,"proposal":5453},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":6817,"type":5677,"author":5803,"provisional":5453,"depends":5787,"contact":5829,"extension":6818,"proposal":5453},547,"VK_NV_descriptor_pool_overallocation",{"number":6820,"type":5677,"author":6812,"provisional":5453,"depends":5693,"contact":6814,"extension":6821,"proposal":5453},207,"VK_NV_device_diagnostic_checkpoints",{"number":6823,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6802,"extension":6824,"proposal":5453},301,"VK_NV_device_diagnostics_config",{"number":6826,"type":5677,"author":5803,"provisional":5453,"depends":6827,"contact":6066,"extension":6828,"proposal":5453},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":6830,"type":5677,"author":5803,"provisional":5453,"depends":6828,"contact":5932,"extension":6831,"proposal":5453},429,"VK_NV_device_generated_commands_compute",{"number":6833,"type":5677,"author":5803,"provisional":5649,"depends":6101,"platform":5680,"contact":6834,"extension":6835,"proposal":5453},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":6837,"type":5677,"author":5803,"provisional":5453,"contact":6838,"extension":6839,"proposal":5453},493,"Russell Chou @russellcnv","VK_NV_extended_sparse_address_space",{"number":6841,"type":5677,"author":5803,"deprecatedby":6447,"provisional":5453,"depends":6842,"contact":5805,"extension":6843,"proposal":5453},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":6845,"type":5797,"author":5803,"deprecatedby":6450,"provisional":5453,"contact":5805,"extension":6842,"proposal":5453},56,{"number":6847,"type":5677,"author":5803,"provisional":5453,"depends":5939,"contact":6719,"extension":6848,"proposal":5453},372,"VK_NV_external_memory_rdma",{"extension":6850,"proposal":5453},"VK_NV_external_memory_sci_buf",{"number":6852,"type":5677,"author":5803,"deprecatedby":6455,"provisional":5453,"depends":6843,"platform":5970,"contact":5805,"extension":6853,"proposal":5453},58,"VK_NV_external_memory_win32",{"extension":6855,"proposal":5453},"VK_NV_external_sci_sync",{"extension":6857,"proposal":5453},"VK_NV_external_sci_sync2",{"number":6859,"type":5677,"author":5803,"provisional":5453,"contact":5823,"extension":6860,"proposal":5453},154,"VK_NV_fill_rectangle",{"number":6862,"type":5677,"author":5803,"provisional":5453,"contact":5823,"extension":6863,"proposal":5453},150,"VK_NV_fragment_coverage_to_color",{"number":6865,"type":5677,"author":5803,"promotedto":6474,"provisional":5453,"depends":5693,"contact":6787,"extension":6866,"proposal":5453},204,"VK_NV_fragment_shader_barycentric",{"number":6868,"type":5677,"author":5803,"provisional":5453,"depends":6478,"contact":6787,"extension":6869,"proposal":5453},327,"VK_NV_fragment_shading_rate_enums",{"number":6871,"type":5677,"author":5803,"provisional":5453,"contact":5823,"extension":6872,"proposal":5453},153,"VK_NV_framebuffer_mixed_samples",{"number":6874,"type":5677,"author":5803,"provisional":5453,"contact":6139,"extension":6875,"proposal":5453},96,"VK_NV_geometry_shader_passthrough",{"number":5501,"type":5677,"author":5803,"deprecatedby":6338,"provisional":5453,"contact":5829,"extension":6877,"proposal":5453},"VK_NV_glsl_shader",{"number":6879,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6880,"extension":6881,"proposal":5453},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":6883,"type":5677,"author":6812,"provisional":5453,"depends":5693,"contact":6884,"extension":6885,"proposal":5453},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":6887,"type":5677,"author":5803,"provisional":5453,"contact":6888,"extension":6889,"proposal":5453},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":6891,"type":5677,"author":5803,"provisional":5453,"depends":6892,"contact":6888,"extension":6893,"proposal":5453},506,"VK_VERSION_1_2,VK_KHR_timeline_semaphore","VK_NV_low_latency2",{"number":6895,"type":5677,"author":5803,"provisional":5453,"depends":6794,"contact":5932,"extension":6896,"proposal":5453},428,"VK_NV_memory_decompression",{"number":6898,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6066,"extension":6899,"proposal":5453},203,"VK_NV_mesh_shader",{"number":6901,"type":5677,"author":5803,"provisional":5453,"depends":6902,"contact":6719,"extension":6903,"proposal":5453},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":6905,"type":5677,"author":5803,"provisional":5453,"depends":6527,"contact":5829,"extension":6906,"proposal":5453},517,"VK_NV_per_stage_descriptor_set",{"number":6908,"type":5677,"author":5803,"provisional":5453,"depends":5969,"contact":6909,"extension":5277,"proposal":5453},293,"Liya Li @liyli",{"extension":6911,"proposal":5453},"VK_NV_private_vendor_info",{"number":6913,"type":5677,"author":5803,"provisional":5453,"contact":6914,"extension":6915,"proposal":5453},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":6917,"type":5677,"author":5803,"deprecatedby":6578,"provisional":5453,"depends":6918,"contact":6768,"extension":6919,"proposal":5453},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":6921,"type":5677,"author":5803,"provisional":5453,"depends":6578,"contact":6768,"extension":6922,"proposal":5453},491,"VK_NV_ray_tracing_invocation_reorder",{"number":6924,"type":5677,"author":5803,"provisional":5453,"depends":6578,"contact":6581,"extension":6925,"proposal":5453},328,"VK_NV_ray_tracing_motion_blur",{"number":6927,"type":5677,"author":5803,"provisional":5453,"contact":5932,"extension":6928,"proposal":5649},569,"VK_NV_ray_tracing_validation",{"number":6930,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6802,"extension":6931,"proposal":5453},167,"VK_NV_representative_fragment_test",{"number":6933,"type":5677,"author":5803,"provisional":5453,"contact":5829,"extension":6934,"proposal":5453},95,"VK_NV_sample_mask_override_coverage",{"number":6936,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6787,"extension":6937,"proposal":5453},206,"VK_NV_scissor_exclusive",{"number":6939,"type":5677,"author":5803,"provisional":5453,"contact":5823,"extension":6940,"proposal":5453},564,"VK_NV_shader_atomic_float16_vector",{"number":6942,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6787,"extension":6943,"proposal":5453},205,"VK_NV_shader_image_footprint",{"number":6945,"type":5677,"author":5803,"provisional":5453,"depends":5787,"contact":6139,"extension":6946,"proposal":5453},155,"VK_NV_shader_sm_builtins",{"number":6948,"type":5677,"author":5803,"provisional":5453,"depends":5787,"contact":5823,"extension":6949,"proposal":5453},199,"VK_NV_shader_subgroup_partitioned",{"number":6951,"type":5677,"author":5803,"provisional":5453,"depends":5693,"contact":6787,"extension":6952,"proposal":5453},165,"VK_NV_shading_rate_image",{"number":6954,"type":5677,"author":5803,"provisional":5453,"contact":6139,"extension":6955,"proposal":5453},97,"VK_NV_viewport_array2",{"number":6957,"type":5677,"author":5803,"provisional":5453,"contact":5829,"extension":6958,"proposal":5453},99,"VK_NV_viewport_swizzle",{"number":6960,"type":5677,"author":5803,"promotedto":6720,"provisional":5453,"depends":6853,"platform":5970,"contact":6719,"extension":6961,"proposal":5453},59,"VK_NV_win32_keyed_mutex",{"number":6963,"type":5677,"author":5951,"provisional":5453,"depends":6964,"contact":5952,"extension":6965,"proposal":5453},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":6967,"type":5677,"author":5951,"provisional":5453,"depends":5953,"contact":5952,"extension":6968,"proposal":5453},520,"VK_QCOM_filter_cubic_weights",{"number":6970,"type":5677,"author":5951,"provisional":5453,"depends":6971,"contact":5952,"extension":6972,"proposal":5453},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":6974,"type":5677,"author":5951,"provisional":5453,"depends":6975,"contact":5952,"extension":6976,"proposal":5649},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":6978,"type":5677,"author":5951,"provisional":5453,"depends":6976,"contact":5952,"extension":6979,"proposal":5453},519,"VK_QCOM_image_processing2",{"number":6981,"type":5677,"author":5951,"provisional":5453,"contact":5952,"extension":6982,"proposal":5453},511,"VK_QCOM_multiview_per_view_render_areas",{"number":6984,"type":5677,"author":5951,"provisional":5453,"depends":5693,"contact":5952,"extension":6985,"proposal":5453},489,"VK_QCOM_multiview_per_view_viewports",{"number":6987,"type":5677,"author":5951,"provisional":5453,"contact":5952,"extension":6988,"proposal":5453},172,"VK_QCOM_render_pass_shader_resolve",{"number":6990,"type":5677,"author":5951,"provisional":5453,"contact":5952,"extension":6991,"proposal":5453},302,"VK_QCOM_render_pass_store_ops",{"number":6993,"type":5677,"author":5951,"provisional":5453,"contact":5952,"extension":6994,"proposal":5453},283,"VK_QCOM_render_pass_transform",{"number":6996,"type":5677,"author":5951,"provisional":5453,"depends":6997,"contact":5952,"extension":6998,"proposal":5453},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":7000,"type":5677,"author":5951,"provisional":5453,"depends":5693,"contact":5952,"extension":7001,"proposal":5649},485,"VK_QCOM_tile_properties",{"number":7003,"type":5677,"author":5951,"provisional":5453,"contact":5952,"extension":7004,"proposal":5453},521,"VK_QCOM_ycbcr_degamma",{"number":7006,"type":5677,"author":7007,"provisional":5453,"depends":5766,"platform":7008,"contact":7009,"extension":7010,"proposal":5453},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":7012,"type":5797,"author":7007,"provisional":5453,"depends":5909,"platform":7008,"contact":7013,"extension":7014,"proposal":5453},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":7016,"type":5677,"author":7017,"provisional":5453,"depends":5693,"contact":5896,"extension":7018,"proposal":5453},486,"SEC","VK_SEC_amigo_profiling",{"number":7020,"type":5677,"author":7021,"provisional":5453,"depends":5693,"specialuse":5868,"contact":6123,"extension":7022,"proposal":5453},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":7024,"type":5677,"author":7021,"promotedto":6088,"provisional":5453,"depends":6086,"specialuse":5868,"contact":6087,"extension":7025,"proposal":5453},352,"VK_VALVE_mutable_descriptor_type",1725732630307]