[{"data":1,"prerenderedAt":732},["ShallowReactive",2],{"gC58cLoigx":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":731,"_id":4},"vkGetPastPresentationTimingGOOGLE","Obtain timing of a previously-presented image","VK_GOOGLE_display_timing","protos",[],{"type":10,"children":11,"toc":729},"root",[12,38,43,365,442,533,699,723],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,27,29,36],{"type":18,"value":19},"text","The implementation will maintain a limited amount of history of timing\ninformation about previous presents.\nBecause of the asynchronous nature of the presentation engine, the timing\ninformation for a given ",{"type":13,"tag":21,"props":22,"children":24},"a",{"href":23},"/man/vkQueuePresentKHR",[25],{"type":18,"value":26},"vkQueuePresentKHR",{"type":18,"value":28}," command will become\navailable some time later.\nThese time values can be asynchronously queried, and will be returned if\navailable.\nAll time values are in nanoseconds, relative to a monotonically-increasing\nclock (e.g. ",{"type":13,"tag":30,"props":31,"children":33},"code",{"className":32},[],[34],{"type":18,"value":35},"CLOCK_MONOTONIC",{"type":18,"value":37}," (see clock_gettime(2)) on Android and Linux).",{"type":13,"tag":14,"props":39,"children":40},{},[41],{"type":18,"value":42},"To asynchronously query the presentation engine, for newly-available timing\ninformation about one or more previous presents to a given swapchain, call:",{"type":13,"tag":44,"props":45,"children":46},"code-group",{},[47,162],{"type":13,"tag":48,"props":49,"children":55},"pre",{"className":50,"code":51,"filename":52,"language":53,"meta":54,"style":54},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkGetPastPresentationTimingGOOGLE(\n VkDevice device,\n VkSwapchainKHR swapchain,\n uint32_t* pPresentationTimingCount,\n VkPastPresentationTimingGOOGLE* pPresentationTimings);\n","C","c","",[56],{"type":13,"tag":30,"props":57,"children":58},{"__ignoreMap":54},[59,81,101,119,138],{"type":13,"tag":60,"props":61,"children":64},"span",{"class":62,"line":63},"line",1,[65,71,76],{"type":13,"tag":60,"props":66,"children":68},{"style":67},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[69],{"type":18,"value":70},"VkResult ",{"type":13,"tag":60,"props":72,"children":74},{"style":73},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[75],{"type":18,"value":4},{"type":13,"tag":60,"props":77,"children":78},{"style":67},[79],{"type":18,"value":80},"(\n",{"type":13,"tag":60,"props":82,"children":84},{"class":62,"line":83},2,[85,90,96],{"type":13,"tag":60,"props":86,"children":87},{"style":67},[88],{"type":18,"value":89}," VkDevice ",{"type":13,"tag":60,"props":91,"children":93},{"style":92},"--shiki-default:#953800;--shiki-dark:#FFA657",[94],{"type":18,"value":95},"device",{"type":13,"tag":60,"props":97,"children":98},{"style":67},[99],{"type":18,"value":100},",\n",{"type":13,"tag":60,"props":102,"children":104},{"class":62,"line":103},3,[105,110,115],{"type":13,"tag":60,"props":106,"children":107},{"style":67},[108],{"type":18,"value":109}," VkSwapchainKHR ",{"type":13,"tag":60,"props":111,"children":112},{"style":92},[113],{"type":18,"value":114},"swapchain",{"type":13,"tag":60,"props":116,"children":117},{"style":67},[118],{"type":18,"value":100},{"type":13,"tag":60,"props":120,"children":122},{"class":62,"line":121},4,[123,129,134],{"type":13,"tag":60,"props":124,"children":126},{"style":125},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[127],{"type":18,"value":128}," uint32_t*",{"type":13,"tag":60,"props":130,"children":131},{"style":92},[132],{"type":18,"value":133}," pPresentationTimingCount",{"type":13,"tag":60,"props":135,"children":136},{"style":67},[137],{"type":18,"value":100},{"type":13,"tag":60,"props":139,"children":141},{"class":62,"line":140},5,[142,147,152,157],{"type":13,"tag":60,"props":143,"children":144},{"style":67},[145],{"type":18,"value":146}," VkPastPresentationTimingGOOGLE",{"type":13,"tag":60,"props":148,"children":149},{"style":125},[150],{"type":18,"value":151},"*",{"type":13,"tag":60,"props":153,"children":154},{"style":92},[155],{"type":18,"value":156}," pPresentationTimings",{"type":13,"tag":60,"props":158,"children":159},{"style":67},[160],{"type":18,"value":161},");\n",{"type":13,"tag":48,"props":163,"children":168},{"className":164,"code":165,"filename":166,"language":167,"meta":54,"style":54},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_past_presentation_timing_google(\n device: crate :: vk :: vk::Device,\n swapchain: vk::SwapchainKHR,\n p_presentation_timing_count: *mut u32,\n p_presentation_timings: *mut vk::PastPresentationTimingGOOGLE,\n) -> vk::Result;\n","Rust","rs",[169],{"type":13,"tag":30,"props":170,"children":171},{"__ignoreMap":54},[172,194,245,274,300,333],{"type":13,"tag":60,"props":173,"children":174},{"class":62,"line":63},[175,180,185,190],{"type":13,"tag":60,"props":176,"children":177},{"style":125},[178],{"type":18,"value":179},"pub",{"type":13,"tag":60,"props":181,"children":182},{"style":125},[183],{"type":18,"value":184}," fn",{"type":13,"tag":60,"props":186,"children":187},{"style":73},[188],{"type":18,"value":189}," get_past_presentation_timing_google",{"type":13,"tag":60,"props":191,"children":192},{"style":67},[193],{"type":18,"value":80},{"type":13,"tag":60,"props":195,"children":196},{"class":62,"line":83},[197,202,207,212,217,222,227,232,236,241],{"type":13,"tag":60,"props":198,"children":199},{"style":67},[200],{"type":18,"value":201}," device",{"type":13,"tag":60,"props":203,"children":204},{"style":125},[205],{"type":18,"value":206},":",{"type":13,"tag":60,"props":208,"children":209},{"style":125},[210],{"type":18,"value":211}," crate",{"type":13,"tag":60,"props":213,"children":214},{"style":125},[215],{"type":18,"value":216}," ::",{"type":13,"tag":60,"props":218,"children":219},{"style":67},[220],{"type":18,"value":221}," vk ",{"type":13,"tag":60,"props":223,"children":224},{"style":125},[225],{"type":18,"value":226},"::",{"type":13,"tag":60,"props":228,"children":229},{"style":92},[230],{"type":18,"value":231}," vk",{"type":13,"tag":60,"props":233,"children":234},{"style":125},[235],{"type":18,"value":226},{"type":13,"tag":60,"props":237,"children":238},{"style":92},[239],{"type":18,"value":240},"Device",{"type":13,"tag":60,"props":242,"children":243},{"style":67},[244],{"type":18,"value":100},{"type":13,"tag":60,"props":246,"children":247},{"class":62,"line":103},[248,253,257,261,265,270],{"type":13,"tag":60,"props":249,"children":250},{"style":67},[251],{"type":18,"value":252}," swapchain",{"type":13,"tag":60,"props":254,"children":255},{"style":125},[256],{"type":18,"value":206},{"type":13,"tag":60,"props":258,"children":259},{"style":92},[260],{"type":18,"value":231},{"type":13,"tag":60,"props":262,"children":263},{"style":125},[264],{"type":18,"value":226},{"type":13,"tag":60,"props":266,"children":267},{"style":92},[268],{"type":18,"value":269},"SwapchainKHR",{"type":13,"tag":60,"props":271,"children":272},{"style":67},[273],{"type":18,"value":100},{"type":13,"tag":60,"props":275,"children":276},{"class":62,"line":121},[277,282,286,291,296],{"type":13,"tag":60,"props":278,"children":279},{"style":67},[280],{"type":18,"value":281}," p_presentation_timing_count",{"type":13,"tag":60,"props":283,"children":284},{"style":125},[285],{"type":18,"value":206},{"type":13,"tag":60,"props":287,"children":288},{"style":125},[289],{"type":18,"value":290}," *mut",{"type":13,"tag":60,"props":292,"children":293},{"style":92},[294],{"type":18,"value":295}," u32",{"type":13,"tag":60,"props":297,"children":298},{"style":67},[299],{"type":18,"value":100},{"type":13,"tag":60,"props":301,"children":302},{"class":62,"line":140},[303,308,312,316,320,324,329],{"type":13,"tag":60,"props":304,"children":305},{"style":67},[306],{"type":18,"value":307}," p_presentation_timings",{"type":13,"tag":60,"props":309,"children":310},{"style":125},[311],{"type":18,"value":206},{"type":13,"tag":60,"props":313,"children":314},{"style":125},[315],{"type":18,"value":290},{"type":13,"tag":60,"props":317,"children":318},{"style":92},[319],{"type":18,"value":231},{"type":13,"tag":60,"props":321,"children":322},{"style":125},[323],{"type":18,"value":226},{"type":13,"tag":60,"props":325,"children":326},{"style":92},[327],{"type":18,"value":328},"PastPresentationTimingGOOGLE",{"type":13,"tag":60,"props":330,"children":331},{"style":67},[332],{"type":18,"value":100},{"type":13,"tag":60,"props":334,"children":336},{"class":62,"line":335},6,[337,342,347,351,355,360],{"type":13,"tag":60,"props":338,"children":339},{"style":67},[340],{"type":18,"value":341},") ",{"type":13,"tag":60,"props":343,"children":344},{"style":125},[345],{"type":18,"value":346},"->",{"type":13,"tag":60,"props":348,"children":349},{"style":92},[350],{"type":18,"value":231},{"type":13,"tag":60,"props":352,"children":353},{"style":125},[354],{"type":18,"value":226},{"type":13,"tag":60,"props":356,"children":357},{"style":92},[358],{"type":18,"value":359},"Result",{"type":13,"tag":60,"props":361,"children":362},{"style":67},[363],{"type":18,"value":364},";\n",{"type":13,"tag":366,"props":367,"children":368},"ul",{},[369,387,397,416],{"type":13,"tag":370,"props":371,"children":372},"li",{},[373,378,380,385],{"type":13,"tag":30,"props":374,"children":376},{"className":375},[],[377],{"type":18,"value":95},{"type":18,"value":379}," is the device associated with ",{"type":13,"tag":30,"props":381,"children":383},{"className":382},[],[384],{"type":18,"value":114},{"type":18,"value":386},".",{"type":13,"tag":370,"props":388,"children":389},{},[390,395],{"type":13,"tag":30,"props":391,"children":393},{"className":392},[],[394],{"type":18,"value":114},{"type":18,"value":396}," is the swapchain to obtain presentation timing\ninformation duration for.",{"type":13,"tag":370,"props":398,"children":399},{},[400,406,408,414],{"type":13,"tag":30,"props":401,"children":403},{"className":402},[],[404],{"type":18,"value":405},"pPresentationTimingCount",{"type":18,"value":407}," is a pointer to an integer related to the\nnumber of ",{"type":13,"tag":30,"props":409,"children":411},{"className":410},[],[412],{"type":18,"value":413},"VkPastPresentationTimingGOOGLE",{"type":18,"value":415}," structures to query, as\ndescribed below.",{"type":13,"tag":370,"props":417,"children":418},{},[419,425,427,433,435,440],{"type":13,"tag":30,"props":420,"children":422},{"className":421},[],[423],{"type":18,"value":424},"pPresentationTimings",{"type":18,"value":426}," is either ",{"type":13,"tag":30,"props":428,"children":430},{"className":429},[],[431],{"type":18,"value":432},"NULL",{"type":18,"value":434}," or a pointer to an array of\n",{"type":13,"tag":30,"props":436,"children":438},{"className":437},[],[439],{"type":18,"value":413},{"type":18,"value":441}," structures.",{"type":13,"tag":14,"props":443,"children":444},{},[445,447,452,454,459,461,466,468,473,475,480,482,487,489,494,496,501,503,508,510,515,517,523,525,531],{"type":18,"value":446},"If ",{"type":13,"tag":30,"props":448,"children":450},{"className":449},[],[451],{"type":18,"value":424},{"type":18,"value":453}," is ",{"type":13,"tag":30,"props":455,"children":457},{"className":456},[],[458],{"type":18,"value":432},{"type":18,"value":460},", then the number of newly-available\ntiming records for the given ",{"type":13,"tag":30,"props":462,"children":464},{"className":463},[],[465],{"type":18,"value":114},{"type":18,"value":467}," is returned in\n",{"type":13,"tag":30,"props":469,"children":471},{"className":470},[],[472],{"type":18,"value":405},{"type":18,"value":474},".\nOtherwise, ",{"type":13,"tag":30,"props":476,"children":478},{"className":477},[],[479],{"type":18,"value":405},{"type":18,"value":481}," ",{"type":13,"tag":483,"props":484,"children":486},"normative",{"type":485},"must",[],{"type":18,"value":488}," point to a variable set by\nthe user to the number of elements in the ",{"type":13,"tag":30,"props":490,"children":492},{"className":491},[],[493],{"type":18,"value":424},{"type":18,"value":495}," array,\nand on return the variable is overwritten with the number of structures\nactually written to ",{"type":13,"tag":30,"props":497,"children":499},{"className":498},[],[500],{"type":18,"value":424},{"type":18,"value":502},".\nIf the value of ",{"type":13,"tag":30,"props":504,"children":506},{"className":505},[],[507],{"type":18,"value":405},{"type":18,"value":509}," is less than the number of\nnewly-available timing records, at most ",{"type":13,"tag":30,"props":511,"children":513},{"className":512},[],[514],{"type":18,"value":405},{"type":18,"value":516},"\nstructures will be written, and ",{"type":13,"tag":30,"props":518,"children":520},{"className":519},[],[521],{"type":18,"value":522},"VK_INCOMPLETE",{"type":18,"value":524}," will be returned instead\nof ",{"type":13,"tag":30,"props":526,"children":528},{"className":527},[],[529],{"type":18,"value":530},"VK_SUCCESS",{"type":18,"value":532},", to indicate that not all the available timing records\nwere returned.",{"type":13,"tag":534,"props":535,"children":537},"validity-group",{"name":536},"Valid Usage (Implicit)",[538,565,589,615,676],{"type":13,"tag":539,"props":540,"children":542},"validity-field",{"name":541},"VUID-vkGetPastPresentationTimingGOOGLE-device-parameter",[543],{"type":13,"tag":14,"props":544,"children":545},{},[546,551,552,555,557,563],{"type":13,"tag":30,"props":547,"children":549},{"className":548},[],[550],{"type":18,"value":95},{"type":18,"value":481},{"type":13,"tag":483,"props":553,"children":554},{"type":485},[],{"type":18,"value":556}," be a valid ",{"type":13,"tag":21,"props":558,"children":560},{"href":559},"/man/VkDevice",[561],{"type":18,"value":562},"VkDevice",{"type":18,"value":564}," handle",{"type":13,"tag":539,"props":566,"children":568},{"name":567},"VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parameter",[569],{"type":13,"tag":14,"props":570,"children":571},{},[572,577,578,581,582,588],{"type":13,"tag":30,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":114},{"type":18,"value":481},{"type":13,"tag":483,"props":579,"children":580},{"type":485},[],{"type":18,"value":556},{"type":13,"tag":21,"props":583,"children":585},{"href":584},"/man/VkSwapchainKHR",[586],{"type":18,"value":587},"VkSwapchainKHR",{"type":18,"value":564},{"type":13,"tag":539,"props":590,"children":592},{"name":591},"VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimingCount-parameter",[593],{"type":13,"tag":14,"props":594,"children":595},{},[596,601,602,605,607,613],{"type":13,"tag":30,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":405},{"type":18,"value":481},{"type":13,"tag":483,"props":603,"children":604},{"type":485},[],{"type":18,"value":606}," be a valid pointer to a ",{"type":13,"tag":30,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":612},"uint32_t",{"type":18,"value":614}," value",{"type":13,"tag":539,"props":616,"children":618},{"name":617},"VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimings-parameter",[619],{"type":13,"tag":14,"props":620,"children":621},{},[622,624,629,631,637,639,644,645,650,652,657,658,661,663,668,669,674],{"type":18,"value":623},"If the value referenced by ",{"type":13,"tag":30,"props":625,"children":627},{"className":626},[],[628],{"type":18,"value":405},{"type":18,"value":630}," is not ",{"type":13,"tag":30,"props":632,"children":634},{"className":633},[],[635],{"type":18,"value":636},"0",{"type":18,"value":638},", and ",{"type":13,"tag":30,"props":640,"children":642},{"className":641},[],[643],{"type":18,"value":424},{"type":18,"value":630},{"type":13,"tag":30,"props":646,"children":648},{"className":647},[],[649],{"type":18,"value":432},{"type":18,"value":651},", ",{"type":13,"tag":30,"props":653,"children":655},{"className":654},[],[656],{"type":18,"value":424},{"type":18,"value":481},{"type":13,"tag":483,"props":659,"children":660},{"type":485},[],{"type":18,"value":662}," be a valid pointer to an array of ",{"type":13,"tag":30,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":405},{"type":18,"value":481},{"type":13,"tag":21,"props":670,"children":672},{"href":671},"/man/VkPastPresentationTimingGOOGLE",[673],{"type":18,"value":413},{"type":18,"value":675}," structures",{"type":13,"tag":539,"props":677,"children":679},{"name":678},"VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parent",[680],{"type":13,"tag":14,"props":681,"children":682},{},[683,688,689,692,694],{"type":13,"tag":30,"props":684,"children":686},{"className":685},[],[687],{"type":18,"value":114},{"type":18,"value":481},{"type":13,"tag":483,"props":690,"children":691},{"type":485},[],{"type":18,"value":693}," have been created, allocated, or retrieved from ",{"type":13,"tag":30,"props":695,"children":697},{"className":696},[],[698],{"type":18,"value":95},{"type":13,"tag":700,"props":701,"children":703},"validity-box",{"name":702},"Host Synchronization",[704],{"type":13,"tag":366,"props":705,"children":706},{},[707],{"type":13,"tag":370,"props":708,"children":709},{},[710,712,717,718,721],{"type":18,"value":711},"Host access to ",{"type":13,"tag":30,"props":713,"children":715},{"className":714},[],[716],{"type":18,"value":114},{"type":18,"value":481},{"type":13,"tag":483,"props":719,"children":720},{"type":485},[],{"type":18,"value":722}," be externally synchronized\n::",{"type":13,"tag":724,"props":725,"children":726},"style",{},[727],{"type":18,"value":728},"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":54,"searchDepth":83,"depth":83,"links":730},[],"markdown",1729612516303]