[{"data":1,"prerenderedAt":741},["ShallowReactive",2],{"$fMyhVa_AfmuDBsylgFtRfliZWqTMsQBtOplwRO7vfUWQ":3},{"title":4,"description":5,"parent":6,"structextends":7,"type":9,"xrefs":10,"body":11,"_type":740,"_id":4},"VkPresentId2KHR","The list of presentation identifiers","VK_KHR_present_id2",[8],"VkPresentInfoKHR","structs",[],{"type":12,"children":13,"toc":738},"root",[14,30,292,399,410,472,488,501,520,633,732],{"type":15,"tag":16,"props":17,"children":18},"element","p",{},[19,22,28],{"type":20,"value":21},"text","The ",{"type":15,"tag":23,"props":24,"children":26},"code",{"className":25},[],[27],{"type":20,"value":4},{"type":20,"value":29}," structure is defined as:",{"type":15,"tag":31,"props":32,"children":33},"code-group",{},[34,138],{"type":15,"tag":35,"props":36,"children":42},"pre",{"className":37,"code":38,"filename":39,"language":40,"meta":41,"style":41},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPresentId2KHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t swapchainCount;\n const uint64_t* pPresentIds;\n} VkPresentId2KHR;\n","C","c","",[43],{"type":15,"tag":23,"props":44,"children":45},{"__ignoreMap":41},[46,69,78,97,111,129],{"type":15,"tag":47,"props":48,"children":51},"span",{"class":49,"line":50},"line",1,[52,58,63],{"type":15,"tag":47,"props":53,"children":55},{"style":54},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[56],{"type":20,"value":57},"typedef",{"type":15,"tag":47,"props":59,"children":60},{"style":54},[61],{"type":20,"value":62}," struct",{"type":15,"tag":47,"props":64,"children":66},{"style":65},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[67],{"type":20,"value":68}," VkPresentId2KHR {\n",{"type":15,"tag":47,"props":70,"children":72},{"class":49,"line":71},2,[73],{"type":15,"tag":47,"props":74,"children":75},{"style":65},[76],{"type":20,"value":77}," VkStructureType sType;\n",{"type":15,"tag":47,"props":79,"children":81},{"class":49,"line":80},3,[82,87,92],{"type":15,"tag":47,"props":83,"children":84},{"style":54},[85],{"type":20,"value":86}," const",{"type":15,"tag":47,"props":88,"children":89},{"style":54},[90],{"type":20,"value":91}," void*",{"type":15,"tag":47,"props":93,"children":94},{"style":65},[95],{"type":20,"value":96}," pNext;\n",{"type":15,"tag":47,"props":98,"children":100},{"class":49,"line":99},4,[101,106],{"type":15,"tag":47,"props":102,"children":103},{"style":54},[104],{"type":20,"value":105}," uint32_t",{"type":15,"tag":47,"props":107,"children":108},{"style":65},[109],{"type":20,"value":110}," swapchainCount;\n",{"type":15,"tag":47,"props":112,"children":114},{"class":49,"line":113},5,[115,119,124],{"type":15,"tag":47,"props":116,"children":117},{"style":54},[118],{"type":20,"value":86},{"type":15,"tag":47,"props":120,"children":121},{"style":54},[122],{"type":20,"value":123}," uint64_t*",{"type":15,"tag":47,"props":125,"children":126},{"style":65},[127],{"type":20,"value":128}," pPresentIds;\n",{"type":15,"tag":47,"props":130,"children":132},{"class":49,"line":131},6,[133],{"type":15,"tag":47,"props":134,"children":135},{"style":65},[136],{"type":20,"value":137},"} VkPresentId2KHR;\n",{"type":15,"tag":35,"props":139,"children":144},{"className":140,"code":141,"filename":142,"language":143,"meta":41,"style":41},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PresentId2KHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n swapchain_count: u32, // Copy of VkPresentInfoKHR::swapchainCount\n p_present_ids: *const u64, // Present ID values for each swapchain\n}\n","Rust","rs",[145],{"type":15,"tag":23,"props":146,"children":147},{"__ignoreMap":41},[148,171,204,226,254,284],{"type":15,"tag":47,"props":149,"children":150},{"class":49,"line":50},[151,156,160,166],{"type":15,"tag":47,"props":152,"children":153},{"style":54},[154],{"type":20,"value":155},"pub",{"type":15,"tag":47,"props":157,"children":158},{"style":54},[159],{"type":20,"value":62},{"type":15,"tag":47,"props":161,"children":163},{"style":162},"--shiki-default:#953800;--shiki-dark:#FFA657",[164],{"type":20,"value":165}," PresentId2KHR",{"type":15,"tag":47,"props":167,"children":168},{"style":65},[169],{"type":20,"value":170}," {\n",{"type":15,"tag":47,"props":172,"children":173},{"class":49,"line":71},[174,179,184,189,194,199],{"type":15,"tag":47,"props":175,"children":176},{"style":65},[177],{"type":20,"value":178}," s_type",{"type":15,"tag":47,"props":180,"children":181},{"style":54},[182],{"type":20,"value":183},":",{"type":15,"tag":47,"props":185,"children":186},{"style":162},[187],{"type":20,"value":188}," vk",{"type":15,"tag":47,"props":190,"children":191},{"style":54},[192],{"type":20,"value":193},"::",{"type":15,"tag":47,"props":195,"children":196},{"style":162},[197],{"type":20,"value":198},"StructureType",{"type":15,"tag":47,"props":200,"children":201},{"style":65},[202],{"type":20,"value":203},",\n",{"type":15,"tag":47,"props":205,"children":206},{"class":49,"line":80},[207,212,216,221],{"type":15,"tag":47,"props":208,"children":209},{"style":65},[210],{"type":20,"value":211}," p_next",{"type":15,"tag":47,"props":213,"children":214},{"style":54},[215],{"type":20,"value":183},{"type":15,"tag":47,"props":217,"children":218},{"style":54},[219],{"type":20,"value":220}," *const",{"type":15,"tag":47,"props":222,"children":223},{"style":65},[224],{"type":20,"value":225}," c_void,\n",{"type":15,"tag":47,"props":227,"children":228},{"class":49,"line":99},[229,234,238,243,248],{"type":15,"tag":47,"props":230,"children":231},{"style":65},[232],{"type":20,"value":233}," swapchain_count",{"type":15,"tag":47,"props":235,"children":236},{"style":54},[237],{"type":20,"value":183},{"type":15,"tag":47,"props":239,"children":240},{"style":162},[241],{"type":20,"value":242}," u32",{"type":15,"tag":47,"props":244,"children":245},{"style":65},[246],{"type":20,"value":247},", ",{"type":15,"tag":47,"props":249,"children":251},{"style":250},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[252],{"type":20,"value":253},"// Copy of VkPresentInfoKHR::swapchainCount\n",{"type":15,"tag":47,"props":255,"children":256},{"class":49,"line":113},[257,262,266,270,275,279],{"type":15,"tag":47,"props":258,"children":259},{"style":65},[260],{"type":20,"value":261}," p_present_ids",{"type":15,"tag":47,"props":263,"children":264},{"style":54},[265],{"type":20,"value":183},{"type":15,"tag":47,"props":267,"children":268},{"style":54},[269],{"type":20,"value":220},{"type":15,"tag":47,"props":271,"children":272},{"style":162},[273],{"type":20,"value":274}," u64",{"type":15,"tag":47,"props":276,"children":277},{"style":65},[278],{"type":20,"value":247},{"type":15,"tag":47,"props":280,"children":281},{"style":250},[282],{"type":20,"value":283},"// Present ID values for each swapchain\n",{"type":15,"tag":47,"props":285,"children":286},{"class":49,"line":131},[287],{"type":15,"tag":47,"props":288,"children":289},{"style":65},[290],{"type":20,"value":291},"}\n",{"type":15,"tag":293,"props":294,"children":295},"ul",{},[296,317,336,355],{"type":15,"tag":297,"props":298,"children":299},"li",{},[300,306,308,315],{"type":15,"tag":23,"props":301,"children":303},{"className":302},[],[304],{"type":20,"value":305},"sType",{"type":20,"value":307}," is a ",{"type":15,"tag":309,"props":310,"children":312},"a",{"href":311},"/man/VkStructureType",[313],{"type":20,"value":314},"VkStructureType",{"type":20,"value":316}," value identifying this structure.",{"type":15,"tag":297,"props":318,"children":319},{},[320,326,328,334],{"type":15,"tag":23,"props":321,"children":323},{"className":322},[],[324],{"type":20,"value":325},"pNext",{"type":20,"value":327}," is ",{"type":15,"tag":23,"props":329,"children":331},{"className":330},[],[332],{"type":20,"value":333},"NULL",{"type":20,"value":335}," or a pointer to a structure extending this\nstructure.",{"type":15,"tag":297,"props":337,"children":338},{},[339,345,347,353],{"type":15,"tag":23,"props":340,"children":342},{"className":341},[],[343],{"type":20,"value":344},"swapchainCount",{"type":20,"value":346}," is the number of swapchains being presented to the\n",{"type":15,"tag":309,"props":348,"children":350},{"href":349},"/man/vkQueuePresentKHR",[351],{"type":20,"value":352},"vkQueuePresentKHR",{"type":20,"value":354}," command.",{"type":15,"tag":297,"props":356,"children":357},{},[358,364,365,370,372,377,379,384,386,391,393,397],{"type":15,"tag":23,"props":359,"children":361},{"className":360},[],[362],{"type":20,"value":363},"pPresentIds",{"type":20,"value":327},{"type":15,"tag":23,"props":366,"children":368},{"className":367},[],[369],{"type":20,"value":333},{"type":20,"value":371}," or a pointer to an array of uint64_t with\n",{"type":15,"tag":23,"props":373,"children":375},{"className":374},[],[376],{"type":20,"value":344},{"type":20,"value":378}," entries.\nIf not ",{"type":15,"tag":23,"props":380,"children":382},{"className":381},[],[383],{"type":20,"value":333},{"type":20,"value":385},", each non-zero value in ",{"type":15,"tag":23,"props":387,"children":389},{"className":388},[],[390],{"type":20,"value":363},{"type":20,"value":392}," specifies the\npresent id to be associated with the presentation of the swapchain with\nthe same index in the ",{"type":15,"tag":309,"props":394,"children":395},{"href":349},[396],{"type":20,"value":352},{"type":20,"value":398}," call.",{"type":15,"tag":16,"props":400,"children":401},{},[402,404,408],{"type":20,"value":403},"For applications to be able to reference specific presentation events queued\nby a call to ",{"type":15,"tag":309,"props":405,"children":406},{"href":349},[407],{"type":20,"value":352},{"type":20,"value":409},", an identifier needs to be associated\nwith them.",{"type":15,"tag":16,"props":411,"children":412},{},[413,415,421,423,428,430,435,437,442,444,449,451,456,458,462,464,470],{"type":20,"value":414},"When the ",{"type":15,"tag":309,"props":416,"children":418},{"href":417},"/man/VkSurfaceCapabilitiesPresentId2KHR",[419],{"type":20,"value":420},"VkSurfaceCapabilitiesPresentId2KHR",{"type":20,"value":422}," surface capability is\npresent for a surface, applications ",{"type":15,"tag":424,"props":425,"children":427},"normative",{"type":426},"can",[],{"type":20,"value":429}," include the ",{"type":15,"tag":23,"props":431,"children":433},{"className":432},[],[434],{"type":20,"value":4},{"type":20,"value":436},"\nstructure in the ",{"type":15,"tag":23,"props":438,"children":440},{"className":439},[],[441],{"type":20,"value":325},{"type":20,"value":443}," chain of the ",{"type":15,"tag":309,"props":445,"children":447},{"href":446},"/man/VkPresentInfoKHR",[448],{"type":20,"value":8},{"type":20,"value":450}," structure\nto associate an identifier with each presentation request.\nThe ",{"type":15,"tag":23,"props":452,"children":454},{"className":453},[],[455],{"type":20,"value":363},{"type":20,"value":457}," provides an identifier for the swapchain present at\nthe corresponding index in ",{"type":15,"tag":309,"props":459,"children":460},{"href":446},[461],{"type":20,"value":8},{"type":20,"value":463},"’s ",{"type":15,"tag":23,"props":465,"children":467},{"className":466},[],[468],{"type":20,"value":469},"pSwapchains",{"type":20,"value":471}," array.",{"type":15,"tag":16,"props":473,"children":474},{},[475,477,480,482,486],{"type":20,"value":476},"If this presentId is non-zero, then the application ",{"type":15,"tag":424,"props":478,"children":479},{"type":426},[],{"type":20,"value":481}," later use this\nvalue to refer to that image presentation.\nA value of zero indicates that this presentation has no associated\npresentId.\nA non-zero presentId ",{"type":15,"tag":424,"props":483,"children":485},{"type":484},"must",[],{"type":20,"value":487}," be greater than any non-zero presentId passed\npreviously by the application for the same swapchain.",{"type":15,"tag":16,"props":489,"children":490},{},[491,493,499],{"type":20,"value":492},"If a non-zero presentId was provided, this may be used with\n",{"type":15,"tag":309,"props":494,"children":496},{"href":495},"/man/vkWaitForPresent2KHR",[497],{"type":20,"value":498},"vkWaitForPresent2KHR",{"type":20,"value":500}," for the application to synchronize against the\npresentation engine’s processing of the presentation request.",{"type":15,"tag":502,"props":503,"children":504},"note",{},[505,515],{"type":15,"tag":16,"props":506,"children":507},{},[508,510,513],{"type":20,"value":509},"The ID namespace used by this extension ",{"type":15,"tag":424,"props":511,"children":512},{"type":484},[],{"type":20,"value":514}," be shared with other\nextensions that allow the application to provide a 64-bit monotonically\nincreasing presentation ID, such as the original VK_KHR_present_id.",{"type":15,"tag":16,"props":516,"children":517},{},[518],{"type":20,"value":519},"This is to allow existing extensions that depend on VK_KHR_present_id to use\nVK_KHR_present_id2 provided IDs without change, as well as to simplify\nwriting future extensions that require application provided presentation\nIDs.",{"type":15,"tag":521,"props":522,"children":524},"validity-group",{"name":523},"Valid Usage",[525,577,608],{"type":15,"tag":526,"props":527,"children":529},"validity-field",{"name":528},"VUID-VkPresentId2KHR-swapchainCount-10818",[530],{"type":15,"tag":16,"props":531,"children":532},{},[533,538,540,543,545,549,550,555,557,562,564,569,571,575],{"type":15,"tag":23,"props":534,"children":536},{"className":535},[],[537],{"type":20,"value":344},{"type":20,"value":539}," ",{"type":15,"tag":424,"props":541,"children":542},{"type":484},[],{"type":20,"value":544}," be the same value as\n",{"type":15,"tag":309,"props":546,"children":547},{"href":446},[548],{"type":20,"value":8},{"type":20,"value":193},{"type":15,"tag":23,"props":551,"children":553},{"className":552},[],[554],{"type":20,"value":344},{"type":20,"value":556},", where this\n",{"type":15,"tag":23,"props":558,"children":560},{"className":559},[],[561],{"type":20,"value":4},{"type":20,"value":563}," is in the ",{"type":15,"tag":23,"props":565,"children":567},{"className":566},[],[568],{"type":20,"value":325},{"type":20,"value":570}," chain of the\n",{"type":15,"tag":309,"props":572,"children":573},{"href":446},[574],{"type":20,"value":8},{"type":20,"value":576}," structure",{"type":15,"tag":526,"props":578,"children":580},{"name":579},"VUID-VkPresentId2KHR-presentIds-10819",[581],{"type":15,"tag":16,"props":582,"children":583},{},[584,586,592,593,596,598,602,603],{"type":20,"value":585},"Each non-zero entry in ",{"type":15,"tag":23,"props":587,"children":589},{"className":588},[],[590],{"type":20,"value":591},"presentIds",{"type":20,"value":539},{"type":15,"tag":424,"props":594,"children":595},{"type":484},[],{"type":20,"value":597}," be greater than all\npreviously submitted present ids for the associated swapchain in\n",{"type":15,"tag":309,"props":599,"children":600},{"href":446},[601],{"type":20,"value":8},{"type":20,"value":193},{"type":15,"tag":23,"props":604,"children":606},{"className":605},[],[607],{"type":20,"value":469},{"type":15,"tag":526,"props":609,"children":611},{"name":610},"VUID-VkPresentId2KHR-None-10820",[612],{"type":15,"tag":16,"props":613,"children":614},{},[615,617,623,625,631],{"type":20,"value":616},"The swapchain must have been created with\n",{"type":15,"tag":23,"props":618,"children":620},{"className":619},[],[621],{"type":20,"value":622},"VK_SWAPCHAIN_CREATE_PRESENT_ID_2_BIT_KHR",{"type":20,"value":624}," bit set in the\n",{"type":15,"tag":23,"props":626,"children":628},{"className":627},[],[629],{"type":20,"value":630},"VkSwapchainCreateFlagBitsKHR",{"type":20,"value":632}," field",{"type":15,"tag":521,"props":634,"children":636},{"name":635},"Valid Usage (Implicit)",[637,661,708],{"type":15,"tag":526,"props":638,"children":640},{"name":639},"VUID-VkPresentId2KHR-sType-sType",[641],{"type":15,"tag":16,"props":642,"children":643},{},[644,649,650,653,655],{"type":15,"tag":23,"props":645,"children":647},{"className":646},[],[648],{"type":20,"value":305},{"type":20,"value":539},{"type":15,"tag":424,"props":651,"children":652},{"type":484},[],{"type":20,"value":654}," be ",{"type":15,"tag":23,"props":656,"children":658},{"className":657},[],[659],{"type":20,"value":660},"VK_STRUCTURE_TYPE_PRESENT_ID_2_KHR",{"type":15,"tag":526,"props":662,"children":664},{"name":663},"VUID-VkPresentId2KHR-pPresentIds-parameter",[665],{"type":15,"tag":16,"props":666,"children":667},{},[668,670,675,677,682,683,688,689,692,694,699,700,706],{"type":20,"value":669},"If ",{"type":15,"tag":23,"props":671,"children":673},{"className":672},[],[674],{"type":20,"value":363},{"type":20,"value":676}," is not ",{"type":15,"tag":23,"props":678,"children":680},{"className":679},[],[681],{"type":20,"value":333},{"type":20,"value":247},{"type":15,"tag":23,"props":684,"children":686},{"className":685},[],[687],{"type":20,"value":363},{"type":20,"value":539},{"type":15,"tag":424,"props":690,"children":691},{"type":484},[],{"type":20,"value":693}," be a valid pointer to an array of ",{"type":15,"tag":23,"props":695,"children":697},{"className":696},[],[698],{"type":20,"value":344},{"type":20,"value":539},{"type":15,"tag":23,"props":701,"children":703},{"className":702},[],[704],{"type":20,"value":705},"uint64_t",{"type":20,"value":707}," values",{"type":15,"tag":526,"props":709,"children":711},{"name":710},"VUID-VkPresentId2KHR-swapchainCount-arraylength",[712],{"type":15,"tag":16,"props":713,"children":714},{},[715,720,721,724,726],{"type":15,"tag":23,"props":716,"children":718},{"className":717},[],[719],{"type":20,"value":344},{"type":20,"value":539},{"type":15,"tag":424,"props":722,"children":723},{"type":484},[],{"type":20,"value":725}," be greater than ",{"type":15,"tag":23,"props":727,"children":729},{"className":728},[],[730],{"type":20,"value":731},"0",{"type":15,"tag":733,"props":734,"children":735},"style",{},[736],{"type":20,"value":737},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":41,"searchDepth":71,"depth":71,"links":739},[],"markdown",1773054772951]