[{"data":1,"prerenderedAt":1032},["ShallowReactive",2],{"rSbiAMYkpf":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1031,"_id":4},"vkQueuePresentKHR","Queue an image for presentation","VK_KHR_swapchain","protos",[],{"type":10,"children":11,"toc":1029},"root",[12,20,239,274,283,307,373,466,500,513,543,548,561,599,622,653,709,735,913,967,1023],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","After queueing all rendering commands and transitioning the image to the\ncorrect layout, to queue an image for presentation, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,109],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkQueuePresentKHR(\n VkQueue queue,\n const VkPresentInfoKHR* pPresentInfo);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,59,79],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,54],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[47],{"type":18,"value":48},"VkResult ",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":4},{"type":13,"tag":38,"props":55,"children":56},{"style":45},[57],{"type":18,"value":58},"(\n",{"type":13,"tag":38,"props":60,"children":62},{"class":40,"line":61},2,[63,68,74],{"type":13,"tag":38,"props":64,"children":65},{"style":45},[66],{"type":18,"value":67}," VkQueue ",{"type":13,"tag":38,"props":69,"children":71},{"style":70},"--shiki-default:#953800;--shiki-dark:#FFA657",[72],{"type":18,"value":73},"queue",{"type":13,"tag":38,"props":75,"children":76},{"style":45},[77],{"type":18,"value":78},",\n",{"type":13,"tag":38,"props":80,"children":82},{"class":40,"line":81},3,[83,89,94,99,104],{"type":13,"tag":38,"props":84,"children":86},{"style":85},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[87],{"type":18,"value":88}," const",{"type":13,"tag":38,"props":90,"children":91},{"style":45},[92],{"type":18,"value":93}," VkPresentInfoKHR",{"type":13,"tag":38,"props":95,"children":96},{"style":85},[97],{"type":18,"value":98},"*",{"type":13,"tag":38,"props":100,"children":101},{"style":70},[102],{"type":18,"value":103}," pPresentInfo",{"type":13,"tag":38,"props":105,"children":106},{"style":45},[107],{"type":18,"value":108},");\n",{"type":13,"tag":25,"props":110,"children":115},{"className":111,"code":112,"filename":113,"language":114,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn queue_present_khr(\n queue: vk::Queue,\n p_present_info: *const vk::PresentInfoKHR,\n) -> vk::Result;\n","Rust","rs",[116],{"type":13,"tag":34,"props":117,"children":118},{"__ignoreMap":31},[119,141,173,207],{"type":13,"tag":38,"props":120,"children":121},{"class":40,"line":41},[122,127,132,137],{"type":13,"tag":38,"props":123,"children":124},{"style":85},[125],{"type":18,"value":126},"pub",{"type":13,"tag":38,"props":128,"children":129},{"style":85},[130],{"type":18,"value":131}," fn",{"type":13,"tag":38,"props":133,"children":134},{"style":51},[135],{"type":18,"value":136}," queue_present_khr",{"type":13,"tag":38,"props":138,"children":139},{"style":45},[140],{"type":18,"value":58},{"type":13,"tag":38,"props":142,"children":143},{"class":40,"line":61},[144,149,154,159,164,169],{"type":13,"tag":38,"props":145,"children":146},{"style":45},[147],{"type":18,"value":148}," queue",{"type":13,"tag":38,"props":150,"children":151},{"style":85},[152],{"type":18,"value":153},":",{"type":13,"tag":38,"props":155,"children":156},{"style":70},[157],{"type":18,"value":158}," vk",{"type":13,"tag":38,"props":160,"children":161},{"style":85},[162],{"type":18,"value":163},"::",{"type":13,"tag":38,"props":165,"children":166},{"style":70},[167],{"type":18,"value":168},"Queue",{"type":13,"tag":38,"props":170,"children":171},{"style":45},[172],{"type":18,"value":78},{"type":13,"tag":38,"props":174,"children":175},{"class":40,"line":81},[176,181,185,190,194,198,203],{"type":13,"tag":38,"props":177,"children":178},{"style":45},[179],{"type":18,"value":180}," p_present_info",{"type":13,"tag":38,"props":182,"children":183},{"style":85},[184],{"type":18,"value":153},{"type":13,"tag":38,"props":186,"children":187},{"style":85},[188],{"type":18,"value":189}," *const",{"type":13,"tag":38,"props":191,"children":192},{"style":70},[193],{"type":18,"value":158},{"type":13,"tag":38,"props":195,"children":196},{"style":85},[197],{"type":18,"value":163},{"type":13,"tag":38,"props":199,"children":200},{"style":70},[201],{"type":18,"value":202},"PresentInfoKHR",{"type":13,"tag":38,"props":204,"children":205},{"style":45},[206],{"type":18,"value":78},{"type":13,"tag":38,"props":208,"children":210},{"class":40,"line":209},4,[211,216,221,225,229,234],{"type":13,"tag":38,"props":212,"children":213},{"style":45},[214],{"type":18,"value":215},") ",{"type":13,"tag":38,"props":217,"children":218},{"style":85},[219],{"type":18,"value":220},"->",{"type":13,"tag":38,"props":222,"children":223},{"style":70},[224],{"type":18,"value":158},{"type":13,"tag":38,"props":226,"children":227},{"style":85},[228],{"type":18,"value":163},{"type":13,"tag":38,"props":230,"children":231},{"style":70},[232],{"type":18,"value":233},"Result",{"type":13,"tag":38,"props":235,"children":236},{"style":45},[237],{"type":18,"value":238},";\n",{"type":13,"tag":240,"props":241,"children":242},"ul",{},[243,254],{"type":13,"tag":244,"props":245,"children":246},"li",{},[247,252],{"type":13,"tag":34,"props":248,"children":250},{"className":249},[],[251],{"type":18,"value":73},{"type":18,"value":253}," is a queue that is capable of presentation to the target\nsurface’s platform on the same device as the image’s swapchain.",{"type":13,"tag":244,"props":255,"children":256},{},[257,263,265,272],{"type":13,"tag":34,"props":258,"children":260},{"className":259},[],[261],{"type":18,"value":262},"pPresentInfo",{"type":18,"value":264}," is a pointer to a ",{"type":13,"tag":266,"props":267,"children":269},"a",{"href":268},"/man/VkPresentInfoKHR",[270],{"type":18,"value":271},"VkPresentInfoKHR",{"type":18,"value":273}," structure\nspecifying parameters of the presentation.",{"type":13,"tag":275,"props":276,"children":277},"note",{},[278],{"type":13,"tag":14,"props":279,"children":280},{},[281],{"type":18,"value":282},"There is no requirement for an application to present images in the same\norder that they were acquired - applications can arbitrarily present any\nimage that is currently acquired.",{"type":13,"tag":275,"props":284,"children":285},{},[286],{"type":13,"tag":14,"props":287,"children":288},{},[289,291,297,299,305],{"type":18,"value":290},"The origin of the native orientation of the surface coordinate system is not\nspecified in the Vulkan specification; it depends on the platform.\nFor most platforms the origin is by default upper-left, meaning the pixel of\nthe presented ",{"type":13,"tag":266,"props":292,"children":294},{"href":293},"/man/VkImage",[295],{"type":18,"value":296},"VkImage",{"type":18,"value":298}," at coordinates (0,0) would appear at the\nupper left pixel of the platform surface (assuming\n",{"type":13,"tag":34,"props":300,"children":302},{"className":301},[],[303],{"type":18,"value":304},"VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR",{"type":18,"value":306},", and the display standing the\nright way up).",{"type":13,"tag":14,"props":308,"children":309},{},[310,312,318,320,326,328,333,335,341,343,349,351,356,358,364,365,371],{"type":18,"value":311},"The result codes ",{"type":13,"tag":34,"props":313,"children":315},{"className":314},[],[316],{"type":18,"value":317},"VK_ERROR_OUT_OF_DATE_KHR",{"type":18,"value":319}," and ",{"type":13,"tag":34,"props":321,"children":323},{"className":322},[],[324],{"type":18,"value":325},"VK_SUBOPTIMAL_KHR",{"type":18,"value":327},"\nhave the same meaning when returned by ",{"type":13,"tag":34,"props":329,"children":331},{"className":330},[],[332],{"type":18,"value":4},{"type":18,"value":334}," as they do\nwhen returned by ",{"type":13,"tag":34,"props":336,"children":338},{"className":337},[],[339],{"type":18,"value":340},"vkAcquireNextImageKHR",{"type":18,"value":342},".\nIf any ",{"type":13,"tag":34,"props":344,"children":346},{"className":345},[],[347],{"type":18,"value":348},"swapchain",{"type":18,"value":350}," member of ",{"type":13,"tag":34,"props":352,"children":354},{"className":353},[],[355],{"type":18,"value":262},{"type":18,"value":357}," was created with\n",{"type":13,"tag":34,"props":359,"children":361},{"className":360},[],[362],{"type":18,"value":363},"VK_FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT",{"type":18,"value":78},{"type":13,"tag":34,"props":366,"children":368},{"className":367},[],[369],{"type":18,"value":370},"VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT",{"type":18,"value":372}," will be returned if that\nswapchain does not have exclusive full-screen access, possibly for\nimplementation-specific reasons outside of the application’s control.\nIf multiple swapchains are presented, the result code is determined by\napplying the following rules in order:",{"type":13,"tag":240,"props":374,"children":375},{},[376,389,401,419,436,454],{"type":13,"tag":244,"props":377,"children":378},{},[379,381,387],{"type":18,"value":380},"If the device is lost, ",{"type":13,"tag":34,"props":382,"children":384},{"className":383},[],[385],{"type":18,"value":386},"VK_ERROR_DEVICE_LOST",{"type":18,"value":388}," is returned.",{"type":13,"tag":244,"props":390,"children":391},{},[392,394,400],{"type":18,"value":393},"If any of the target surfaces are no longer available the error\n",{"type":13,"tag":34,"props":395,"children":397},{"className":396},[],[398],{"type":18,"value":399},"VK_ERROR_SURFACE_LOST_KHR",{"type":18,"value":388},{"type":13,"tag":244,"props":402,"children":403},{},[404,406,411,413,418],{"type":18,"value":405},"If any of the presents would have a result of\n",{"type":13,"tag":34,"props":407,"children":409},{"className":408},[],[410],{"type":18,"value":317},{"type":18,"value":412}," if issued separately then\n",{"type":13,"tag":34,"props":414,"children":416},{"className":415},[],[417],{"type":18,"value":317},{"type":18,"value":388},{"type":13,"tag":244,"props":420,"children":421},{},[422,423,428,430,435],{"type":18,"value":405},{"type":13,"tag":34,"props":424,"children":426},{"className":425},[],[427],{"type":18,"value":370},{"type":18,"value":429}," if issued separately\nthen ",{"type":13,"tag":34,"props":431,"children":433},{"className":432},[],[434],{"type":18,"value":370},{"type":18,"value":388},{"type":13,"tag":244,"props":437,"children":438},{},[439,441,446,448,453],{"type":18,"value":440},"If any of the presents would have a result of ",{"type":13,"tag":34,"props":442,"children":444},{"className":443},[],[445],{"type":18,"value":325},{"type":18,"value":447}," if\nissued separately then ",{"type":13,"tag":34,"props":449,"children":451},{"className":450},[],[452],{"type":18,"value":325},{"type":18,"value":388},{"type":13,"tag":244,"props":455,"children":456},{},[457,459,465],{"type":18,"value":458},"Otherwise ",{"type":13,"tag":34,"props":460,"children":462},{"className":461},[],[463],{"type":18,"value":464},"VK_SUCCESS",{"type":18,"value":388},{"type":13,"tag":14,"props":467,"children":468},{},[469,471,477,478,484,486,491,493,498],{"type":18,"value":470},"Any writes to memory backing the images referenced by the\n",{"type":13,"tag":34,"props":472,"children":474},{"className":473},[],[475],{"type":18,"value":476},"pImageIndices",{"type":18,"value":319},{"type":13,"tag":34,"props":479,"children":481},{"className":480},[],[482],{"type":18,"value":483},"pSwapchains",{"type":18,"value":485}," members of ",{"type":13,"tag":34,"props":487,"children":489},{"className":488},[],[490],{"type":18,"value":262},{"type":18,"value":492},",\nthat are available before ",{"type":13,"tag":266,"props":494,"children":496},{"href":495},"/man/vkQueuePresentKHR",[497],{"type":18,"value":4},{"type":18,"value":499}," is executed, are\nautomatically made visible to the read access performed by the presentation\nengine.\nThis automatic visibility operation for an image happens-after the semaphore\nsignal operation, and happens-before the presentation engine accesses the\nimage.",{"type":13,"tag":14,"props":501,"children":502},{},[503,505,511],{"type":18,"value":504},"Presentation is a read-only operation that will not affect the content of\nthe presentable images.\nUpon reacquiring the image and transitioning it away from the\n",{"type":13,"tag":34,"props":506,"children":508},{"className":507},[],[509],{"type":18,"value":510},"VK_IMAGE_LAYOUT_PRESENT_SRC_KHR",{"type":18,"value":512}," layout, the contents will be the same\nas they were prior to transitioning the image to the present source layout\nand presenting it.\nHowever, if a mechanism other than Vulkan is used to modify the platform\nwindow associated with the swapchain, the content of all presentable images\nin the swapchain becomes undefined:.",{"type":13,"tag":14,"props":514,"children":515},{},[516,518,523,525,530,532,536,538,541],{"type":18,"value":517},"Calls to ",{"type":13,"tag":34,"props":519,"children":521},{"className":520},[],[522],{"type":18,"value":4},{"type":18,"value":524}," ",{"type":13,"tag":526,"props":527,"children":529},"normative",{"type":528},"may",[],{"type":18,"value":531}," block, but ",{"type":13,"tag":526,"props":533,"children":535},{"type":534},"must",[],{"type":18,"value":537}," return in finite\ntime.\nThe processing of the presentation happens in issue order with other queue\noperations, but semaphores ",{"type":13,"tag":526,"props":539,"children":540},{"type":534},[],{"type":18,"value":542}," be used to ensure that prior rendering and\nother commands in the specified queue complete before the presentation\nbegins.\nThe presentation command itself does not delay processing of subsequent\ncommands on the queue.\nHowever, presentation requests sent to a particular queue are always\nperformed in order.\nExact presentation timing is controlled by the semantics of the presentation\nengine and native platform in use.",{"type":13,"tag":14,"props":544,"children":545},{},[546],{"type":18,"value":547},"If an image is presented to a swapchain created from a display surface, the\nmode of the associated display will be updated, if necessary, to match the\nmode specified when creating the display surface.\nThe mode switch and presentation of the specified image will be performed as\none atomic operation.",{"type":13,"tag":14,"props":549,"children":550},{},[551,553,559],{"type":18,"value":552},"Queueing an image for presentation defines a set of ",{"type":13,"tag":554,"props":555,"children":556},"em",{},[557],{"type":18,"value":558},"queue operations",{"type":18,"value":560},",\nincluding waiting on the semaphores and submitting a presentation request to\nthe presentation engine.\nHowever, the scope of this set of queue operations does not include the\nactual processing of the image by the presentation engine.",{"type":13,"tag":14,"props":562,"children":563},{},[564,566,571,573,576,578,584,586,592,594,597],{"type":18,"value":565},"If ",{"type":13,"tag":34,"props":567,"children":569},{"className":568},[],[570],{"type":18,"value":4},{"type":18,"value":572}," fails to enqueue the corresponding set of queue\noperations, it ",{"type":13,"tag":526,"props":574,"children":575},{"type":528},[],{"type":18,"value":577}," return ",{"type":13,"tag":34,"props":579,"children":581},{"className":580},[],[582],{"type":18,"value":583},"VK_ERROR_OUT_OF_HOST_MEMORY",{"type":18,"value":585}," or\n",{"type":13,"tag":34,"props":587,"children":589},{"className":588},[],[590],{"type":18,"value":591},"VK_ERROR_OUT_OF_DEVICE_MEMORY",{"type":18,"value":593},".\nIf it does, the implementation ",{"type":13,"tag":526,"props":595,"children":596},{"type":534},[],{"type":18,"value":598}," ensure that the state and contents of\nany resources or synchronization primitives referenced is unaffected by the\ncall or its failure.",{"type":13,"tag":14,"props":600,"children":601},{},[602,603,608,610,613,615,620],{"type":18,"value":565},{"type":13,"tag":34,"props":604,"children":606},{"className":605},[],[607],{"type":18,"value":4},{"type":18,"value":609}," fails in such a way that the implementation is\nunable to make that guarantee, the implementation ",{"type":13,"tag":526,"props":611,"children":612},{"type":534},[],{"type":18,"value":614}," return\n",{"type":13,"tag":34,"props":616,"children":618},{"className":617},[],[619],{"type":18,"value":386},{"type":18,"value":621},".",{"type":13,"tag":14,"props":623,"children":624},{},[625,627,632,633,638,640,645,647,651],{"type":18,"value":626},"However, if the presentation request is rejected by the presentation engine\nwith an error ",{"type":13,"tag":34,"props":628,"children":630},{"className":629},[],[631],{"type":18,"value":317},{"type":18,"value":78},{"type":13,"tag":34,"props":634,"children":636},{"className":635},[],[637],{"type":18,"value":370},{"type":18,"value":639},",\nor ",{"type":13,"tag":34,"props":641,"children":643},{"className":642},[],[644],{"type":18,"value":399},{"type":18,"value":646},", the set of queue operations are still\nconsidered to be enqueued and thus any semaphore wait operation specified in\n",{"type":13,"tag":266,"props":648,"children":649},{"href":268},[650],{"type":18,"value":271},{"type":18,"value":652}," will execute when the corresponding queue operation\nis complete.",{"type":13,"tag":14,"props":654,"children":655},{},[656,661,663,669,671,676,678,681,683,689,691,696,698,701,703,708],{"type":13,"tag":34,"props":657,"children":659},{"className":658},[],[660],{"type":18,"value":4},{"type":18,"value":662}," releases the acquisition of the images referenced by\n",{"type":13,"tag":34,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":668},"imageIndices",{"type":18,"value":670},".\nThe queue family corresponding to the queue ",{"type":13,"tag":34,"props":672,"children":674},{"className":673},[],[675],{"type":18,"value":4},{"type":18,"value":677}," is\nexecuted on ",{"type":13,"tag":526,"props":679,"children":680},{"type":534},[],{"type":18,"value":682}," have ownership of the presented images as defined in\n",{"type":13,"tag":266,"props":684,"children":686},{"href":685},"/chapters/resources#resources-sharing",[687],{"type":18,"value":688},"Resource Sharing",{"type":18,"value":690},".\n",{"type":13,"tag":34,"props":692,"children":694},{"className":693},[],[695],{"type":18,"value":4},{"type":18,"value":697}," does not alter the queue family ownership, but the\npresented images ",{"type":13,"tag":526,"props":699,"children":700},{"type":534},[],{"type":18,"value":702}," not be used again before they have been reacquired\nusing ",{"type":13,"tag":34,"props":704,"children":706},{"className":705},[],[707],{"type":18,"value":340},{"type":18,"value":621},{"type":13,"tag":275,"props":710,"children":711},{},[712],{"type":13,"tag":14,"props":713,"children":714},{},[715,717,721,723,727,729,734],{"type":18,"value":716},"The application ",{"type":13,"tag":526,"props":718,"children":720},{"type":719},"can",[],{"type":18,"value":722}," continue to present any acquired images from a retired\nswapchain as long as the swapchain has not entered a state that causes\n",{"type":13,"tag":266,"props":724,"children":725},{"href":495},[726],{"type":18,"value":4},{"type":18,"value":728}," to return ",{"type":13,"tag":34,"props":730,"children":732},{"className":731},[],[733],{"type":18,"value":317},{"type":18,"value":621},{"type":13,"tag":736,"props":737,"children":739},"validity-group",{"name":738},"Valid Usage",[740,780,801,837,876],{"type":13,"tag":741,"props":742,"children":744},"validity-field",{"name":743},"VUID-vkQueuePresentKHR-pSwapchains-01292",[745],{"type":13,"tag":14,"props":746,"children":747},{},[748,750,755,756,761,762,765,767,772,774],{"type":18,"value":749},"Each element of ",{"type":13,"tag":34,"props":751,"children":753},{"className":752},[],[754],{"type":18,"value":483},{"type":18,"value":350},{"type":13,"tag":34,"props":757,"children":759},{"className":758},[],[760],{"type":18,"value":262},{"type":18,"value":524},{"type":13,"tag":526,"props":763,"children":764},{"type":534},[],{"type":18,"value":766}," be\na swapchain that is created for a surface for which presentation is\nsupported from ",{"type":13,"tag":34,"props":768,"children":770},{"className":769},[],[771],{"type":18,"value":73},{"type":18,"value":773}," as determined using a call to\n",{"type":13,"tag":34,"props":775,"children":777},{"className":776},[],[778],{"type":18,"value":779},"vkGetPhysicalDeviceSurfaceSupportKHR",{"type":13,"tag":741,"props":781,"children":783},{"name":782},"VUID-vkQueuePresentKHR-pSwapchains-01293",[784],{"type":13,"tag":14,"props":785,"children":786},{},[787,789,794,796,799],{"type":18,"value":788},"If more than one member of ",{"type":13,"tag":34,"props":790,"children":792},{"className":791},[],[793],{"type":18,"value":483},{"type":18,"value":795}," was created from a display\nsurface, all display surfaces referenced that refer to the same display\n",{"type":13,"tag":526,"props":797,"children":798},{"type":534},[],{"type":18,"value":800}," use the same display mode",{"type":13,"tag":741,"props":802,"children":804},{"name":803},"VUID-vkQueuePresentKHR-pWaitSemaphores-01294",[805],{"type":13,"tag":14,"props":806,"children":807},{},[808,810,816,818,823,825,830,832,835],{"type":18,"value":809},"When a semaphore wait operation referring to a binary semaphore defined\nby the elements of the ",{"type":13,"tag":34,"props":811,"children":813},{"className":812},[],[814],{"type":18,"value":815},"pWaitSemaphores",{"type":18,"value":817}," member of\n",{"type":13,"tag":34,"props":819,"children":821},{"className":820},[],[822],{"type":18,"value":262},{"type":18,"value":824}," executes on ",{"type":13,"tag":34,"props":826,"children":828},{"className":827},[],[829],{"type":18,"value":73},{"type":18,"value":831},", there ",{"type":13,"tag":526,"props":833,"children":834},{"type":534},[],{"type":18,"value":836}," be no other\nqueues waiting on the same semaphore",{"type":13,"tag":741,"props":838,"children":840},{"name":839},"VUID-vkQueuePresentKHR-pWaitSemaphores-03267",[841],{"type":13,"tag":14,"props":842,"children":843},{},[844,846,851,852,857,860,862,868,870],{"type":18,"value":845},"All elements of the ",{"type":13,"tag":34,"props":847,"children":849},{"className":848},[],[850],{"type":18,"value":815},{"type":18,"value":350},{"type":13,"tag":34,"props":853,"children":855},{"className":854},[],[856],{"type":18,"value":262},{"type":13,"tag":526,"props":858,"children":859},{"type":534},[],{"type":18,"value":861}," be created with a ",{"type":13,"tag":266,"props":863,"children":865},{"href":864},"/man/VkSemaphoreType",[866],{"type":18,"value":867},"VkSemaphoreType",{"type":18,"value":869}," of\n",{"type":13,"tag":34,"props":871,"children":873},{"className":872},[],[874],{"type":18,"value":875},"VK_SEMAPHORE_TYPE_BINARY",{"type":13,"tag":741,"props":877,"children":879},{"name":878},"VUID-vkQueuePresentKHR-pWaitSemaphores-03268",[880],{"type":13,"tag":14,"props":881,"children":882},{},[883,884,889,890,895,898,900,906,908,911],{"type":18,"value":845},{"type":13,"tag":34,"props":885,"children":887},{"className":886},[],[888],{"type":18,"value":815},{"type":18,"value":350},{"type":13,"tag":34,"props":891,"children":893},{"className":892},[],[894],{"type":18,"value":262},{"type":13,"tag":526,"props":896,"children":897},{"type":534},[],{"type":18,"value":899}," reference a semaphore signal operation that has been submitted for\nexecution and any ",{"type":13,"tag":266,"props":901,"children":903},{"href":902},"/chapters/synchronization#synchronization-semaphores-signaling",[904],{"type":18,"value":905},"semaphore\nsignal operations",{"type":18,"value":907}," on which it depends ",{"type":13,"tag":526,"props":909,"children":910},{"type":534},[],{"type":18,"value":912}," have also been submitted\nfor execution",{"type":13,"tag":736,"props":914,"children":916},{"name":915},"Valid Usage (Implicit)",[917,943],{"type":13,"tag":741,"props":918,"children":920},{"name":919},"VUID-vkQueuePresentKHR-queue-parameter",[921],{"type":13,"tag":14,"props":922,"children":923},{},[924,929,930,933,935,941],{"type":13,"tag":34,"props":925,"children":927},{"className":926},[],[928],{"type":18,"value":73},{"type":18,"value":524},{"type":13,"tag":526,"props":931,"children":932},{"type":534},[],{"type":18,"value":934}," be a valid ",{"type":13,"tag":266,"props":936,"children":938},{"href":937},"/man/VkQueue",[939],{"type":18,"value":940},"VkQueue",{"type":18,"value":942}," handle",{"type":13,"tag":741,"props":944,"children":946},{"name":945},"VUID-vkQueuePresentKHR-pPresentInfo-parameter",[947],{"type":13,"tag":14,"props":948,"children":949},{},[950,955,956,959,961,965],{"type":13,"tag":34,"props":951,"children":953},{"className":952},[],[954],{"type":18,"value":262},{"type":18,"value":524},{"type":13,"tag":526,"props":957,"children":958},{"type":534},[],{"type":18,"value":960}," be a valid pointer to a valid ",{"type":13,"tag":266,"props":962,"children":963},{"href":268},[964],{"type":18,"value":271},{"type":18,"value":966}," structure",{"type":13,"tag":968,"props":969,"children":971},"validity-box",{"name":970},"Host Synchronization",[972],{"type":13,"tag":240,"props":973,"children":974},{},[975,991,1007],{"type":13,"tag":244,"props":976,"children":977},{},[978,980,985,986,989],{"type":18,"value":979},"Host access to ",{"type":13,"tag":34,"props":981,"children":983},{"className":982},[],[984],{"type":18,"value":73},{"type":18,"value":524},{"type":13,"tag":526,"props":987,"children":988},{"type":534},[],{"type":18,"value":990}," be externally synchronized",{"type":13,"tag":244,"props":992,"children":993},{},[994,995,1001,1003,1006],{"type":18,"value":979},{"type":13,"tag":34,"props":996,"children":998},{"className":997},[],[999],{"type":18,"value":1000},"pPresentInfo→pWaitSemaphores",{"type":18,"value":1002},"[] ",{"type":13,"tag":526,"props":1004,"children":1005},{"type":534},[],{"type":18,"value":990},{"type":13,"tag":244,"props":1008,"children":1009},{},[1010,1011,1017,1018,1021],{"type":18,"value":979},{"type":13,"tag":34,"props":1012,"children":1014},{"className":1013},[],[1015],{"type":18,"value":1016},"pPresentInfo→pSwapchains",{"type":18,"value":1002},{"type":13,"tag":526,"props":1019,"children":1020},{"type":534},[],{"type":18,"value":1022}," be externally synchronized\n::",{"type":13,"tag":1024,"props":1025,"children":1026},"style",{},[1027],{"type":18,"value":1028},"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":31,"searchDepth":61,"depth":61,"links":1030},[],"markdown",1725732622713]