[{"data":1,"prerenderedAt":643},["ShallowReactive",2],{"jryGmFL8RU":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":642,"_id":4},"VkPresentRegionsKHR","Structure hint of rectangular regions changed by vkQueuePresentKHR","VK_KHR_incremental_present","structs",[],{"type":10,"children":11,"toc":640},"root",[12,76,88,363,476,535,634],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26,28,33,35,39,41,45,47,50,52,58,60,66,68,74],{"type":18,"value":19},"text","When the ",{"type":13,"tag":21,"props":22,"children":24},"a",{"href":23},"/extensions/VK_KHR_incremental_present",[25],{"type":18,"value":6},{"type":18,"value":27}," extension is enabled,\nadditional fields ",{"type":13,"tag":29,"props":30,"children":32},"normative",{"type":31},"can",[],{"type":18,"value":34}," be specified that allow an application to specify\nthat only certain rectangular regions of the presentable images of a\nswapchain are changed.\nThis is an optimization hint that a presentation engine ",{"type":13,"tag":29,"props":36,"children":38},{"type":37},"may",[],{"type":18,"value":40}," use to only\nupdate the region of a surface that is actually changing.\nThe application still ",{"type":13,"tag":29,"props":42,"children":44},{"type":43},"must",[],{"type":18,"value":46}," ensure that all pixels of a presented image\ncontain the desired values, in case the presentation engine ignores this\nhint.\nAn application ",{"type":13,"tag":29,"props":48,"children":49},{"type":31},[],{"type":18,"value":51}," provide this hint by adding a ",{"type":13,"tag":53,"props":54,"children":56},"code",{"className":55},[],[57],{"type":18,"value":4},{"type":18,"value":59},"\nstructure to the ",{"type":13,"tag":53,"props":61,"children":63},{"className":62},[],[64],{"type":18,"value":65},"pNext",{"type":18,"value":67}," chain of the ",{"type":13,"tag":53,"props":69,"children":71},{"className":70},[],[72],{"type":18,"value":73},"VkPresentInfoKHR",{"type":18,"value":75}," structure.",{"type":13,"tag":14,"props":77,"children":78},{},[79,81,86],{"type":18,"value":80},"The ",{"type":13,"tag":53,"props":82,"children":84},{"className":83},[],[85],{"type":18,"value":4},{"type":18,"value":87}," structure is defined as:",{"type":13,"tag":89,"props":90,"children":91},"code-group",{},[92,201],{"type":13,"tag":93,"props":94,"children":100},"pre",{"className":95,"code":96,"filename":97,"language":98,"meta":99,"style":99},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPresentRegionsKHR {\n VkStructureType sType;\n const void* pNext;\n uint32_t swapchainCount;\n const VkPresentRegionKHR* pRegions;\n} VkPresentRegionsKHR;\n","C","c","",[101],{"type":13,"tag":53,"props":102,"children":103},{"__ignoreMap":99},[104,127,136,155,169,192],{"type":13,"tag":105,"props":106,"children":109},"span",{"class":107,"line":108},"line",1,[110,116,121],{"type":13,"tag":105,"props":111,"children":113},{"style":112},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[114],{"type":18,"value":115},"typedef",{"type":13,"tag":105,"props":117,"children":118},{"style":112},[119],{"type":18,"value":120}," struct",{"type":13,"tag":105,"props":122,"children":124},{"style":123},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[125],{"type":18,"value":126}," VkPresentRegionsKHR {\n",{"type":13,"tag":105,"props":128,"children":130},{"class":107,"line":129},2,[131],{"type":13,"tag":105,"props":132,"children":133},{"style":123},[134],{"type":18,"value":135}," VkStructureType sType;\n",{"type":13,"tag":105,"props":137,"children":139},{"class":107,"line":138},3,[140,145,150],{"type":13,"tag":105,"props":141,"children":142},{"style":112},[143],{"type":18,"value":144}," const",{"type":13,"tag":105,"props":146,"children":147},{"style":112},[148],{"type":18,"value":149}," void*",{"type":13,"tag":105,"props":151,"children":152},{"style":123},[153],{"type":18,"value":154}," pNext;\n",{"type":13,"tag":105,"props":156,"children":158},{"class":107,"line":157},4,[159,164],{"type":13,"tag":105,"props":160,"children":161},{"style":112},[162],{"type":18,"value":163}," uint32_t",{"type":13,"tag":105,"props":165,"children":166},{"style":123},[167],{"type":18,"value":168}," swapchainCount;\n",{"type":13,"tag":105,"props":170,"children":172},{"class":107,"line":171},5,[173,177,182,187],{"type":13,"tag":105,"props":174,"children":175},{"style":112},[176],{"type":18,"value":144},{"type":13,"tag":105,"props":178,"children":179},{"style":123},[180],{"type":18,"value":181}," VkPresentRegionKHR",{"type":13,"tag":105,"props":183,"children":184},{"style":112},[185],{"type":18,"value":186},"*",{"type":13,"tag":105,"props":188,"children":189},{"style":123},[190],{"type":18,"value":191}," pRegions;\n",{"type":13,"tag":105,"props":193,"children":195},{"class":107,"line":194},6,[196],{"type":13,"tag":105,"props":197,"children":198},{"style":123},[199],{"type":18,"value":200},"} VkPresentRegionsKHR;\n",{"type":13,"tag":93,"props":202,"children":207},{"className":203,"code":204,"filename":205,"language":206,"meta":99,"style":99},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PresentRegionsKHR {\n s_type: vk::StructureType,\n p_next: *const c_void,\n swapchain_count: u32, // Copy of VkPresentInfoKHR::swapchainCount\n p_regions: *const vk::PresentRegionKHR, // The regions that have changed\n}\n","Rust","rs",[208],{"type":13,"tag":53,"props":209,"children":210},{"__ignoreMap":99},[211,234,267,289,317,355],{"type":13,"tag":105,"props":212,"children":213},{"class":107,"line":108},[214,219,223,229],{"type":13,"tag":105,"props":215,"children":216},{"style":112},[217],{"type":18,"value":218},"pub",{"type":13,"tag":105,"props":220,"children":221},{"style":112},[222],{"type":18,"value":120},{"type":13,"tag":105,"props":224,"children":226},{"style":225},"--shiki-default:#953800;--shiki-dark:#FFA657",[227],{"type":18,"value":228}," PresentRegionsKHR",{"type":13,"tag":105,"props":230,"children":231},{"style":123},[232],{"type":18,"value":233}," {\n",{"type":13,"tag":105,"props":235,"children":236},{"class":107,"line":129},[237,242,247,252,257,262],{"type":13,"tag":105,"props":238,"children":239},{"style":123},[240],{"type":18,"value":241}," s_type",{"type":13,"tag":105,"props":243,"children":244},{"style":112},[245],{"type":18,"value":246},":",{"type":13,"tag":105,"props":248,"children":249},{"style":225},[250],{"type":18,"value":251}," vk",{"type":13,"tag":105,"props":253,"children":254},{"style":112},[255],{"type":18,"value":256},"::",{"type":13,"tag":105,"props":258,"children":259},{"style":225},[260],{"type":18,"value":261},"StructureType",{"type":13,"tag":105,"props":263,"children":264},{"style":123},[265],{"type":18,"value":266},",\n",{"type":13,"tag":105,"props":268,"children":269},{"class":107,"line":138},[270,275,279,284],{"type":13,"tag":105,"props":271,"children":272},{"style":123},[273],{"type":18,"value":274}," p_next",{"type":13,"tag":105,"props":276,"children":277},{"style":112},[278],{"type":18,"value":246},{"type":13,"tag":105,"props":280,"children":281},{"style":112},[282],{"type":18,"value":283}," *const",{"type":13,"tag":105,"props":285,"children":286},{"style":123},[287],{"type":18,"value":288}," c_void,\n",{"type":13,"tag":105,"props":290,"children":291},{"class":107,"line":157},[292,297,301,306,311],{"type":13,"tag":105,"props":293,"children":294},{"style":123},[295],{"type":18,"value":296}," swapchain_count",{"type":13,"tag":105,"props":298,"children":299},{"style":112},[300],{"type":18,"value":246},{"type":13,"tag":105,"props":302,"children":303},{"style":225},[304],{"type":18,"value":305}," u32",{"type":13,"tag":105,"props":307,"children":308},{"style":123},[309],{"type":18,"value":310},", ",{"type":13,"tag":105,"props":312,"children":314},{"style":313},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[315],{"type":18,"value":316},"// Copy of VkPresentInfoKHR::swapchainCount\n",{"type":13,"tag":105,"props":318,"children":319},{"class":107,"line":171},[320,325,329,333,337,341,346,350],{"type":13,"tag":105,"props":321,"children":322},{"style":123},[323],{"type":18,"value":324}," p_regions",{"type":13,"tag":105,"props":326,"children":327},{"style":112},[328],{"type":18,"value":246},{"type":13,"tag":105,"props":330,"children":331},{"style":112},[332],{"type":18,"value":283},{"type":13,"tag":105,"props":334,"children":335},{"style":225},[336],{"type":18,"value":251},{"type":13,"tag":105,"props":338,"children":339},{"style":112},[340],{"type":18,"value":256},{"type":13,"tag":105,"props":342,"children":343},{"style":225},[344],{"type":18,"value":345},"PresentRegionKHR",{"type":13,"tag":105,"props":347,"children":348},{"style":123},[349],{"type":18,"value":310},{"type":13,"tag":105,"props":351,"children":352},{"style":313},[353],{"type":18,"value":354},"// The regions that have changed\n",{"type":13,"tag":105,"props":356,"children":357},{"class":107,"line":194},[358],{"type":13,"tag":105,"props":359,"children":360},{"style":123},[361],{"type":18,"value":362},"}\n",{"type":13,"tag":364,"props":365,"children":366},"ul",{},[367,387,405,416],{"type":13,"tag":368,"props":369,"children":370},"li",{},[371,377,379,385],{"type":13,"tag":53,"props":372,"children":374},{"className":373},[],[375],{"type":18,"value":376},"sType",{"type":18,"value":378}," is a ",{"type":13,"tag":21,"props":380,"children":382},{"href":381},"/man/VkStructureType",[383],{"type":18,"value":384},"VkStructureType",{"type":18,"value":386}," value identifying this structure.",{"type":13,"tag":368,"props":388,"children":389},{},[390,395,397,403],{"type":13,"tag":53,"props":391,"children":393},{"className":392},[],[394],{"type":18,"value":65},{"type":18,"value":396}," is ",{"type":13,"tag":53,"props":398,"children":400},{"className":399},[],[401],{"type":18,"value":402},"NULL",{"type":18,"value":404}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":368,"props":406,"children":407},{},[408,414],{"type":13,"tag":53,"props":409,"children":411},{"className":410},[],[412],{"type":18,"value":413},"swapchainCount",{"type":18,"value":415}," is the number of swapchains being presented to by\nthis command.",{"type":13,"tag":368,"props":417,"children":418},{},[419,425,426,431,433,439,441,446,448,453,455,460,462,467,468,474],{"type":13,"tag":53,"props":420,"children":422},{"className":421},[],[423],{"type":18,"value":424},"pRegions",{"type":18,"value":396},{"type":13,"tag":53,"props":427,"children":429},{"className":428},[],[430],{"type":18,"value":402},{"type":18,"value":432}," or a pointer to an array of\n",{"type":13,"tag":53,"props":434,"children":436},{"className":435},[],[437],{"type":18,"value":438},"VkPresentRegionKHR",{"type":18,"value":440}," elements with ",{"type":13,"tag":53,"props":442,"children":444},{"className":443},[],[445],{"type":18,"value":413},{"type":18,"value":447}," entries.\nIf not ",{"type":13,"tag":53,"props":449,"children":451},{"className":450},[],[452],{"type":18,"value":402},{"type":18,"value":454},", each element of ",{"type":13,"tag":53,"props":456,"children":458},{"className":457},[],[459],{"type":18,"value":424},{"type":18,"value":461}," contains the region that\nhas changed since the last present to the swapchain in the corresponding\nentry in the ",{"type":13,"tag":53,"props":463,"children":465},{"className":464},[],[466],{"type":18,"value":73},{"type":18,"value":256},{"type":13,"tag":53,"props":469,"children":471},{"className":470},[],[472],{"type":18,"value":473},"pSwapchains",{"type":18,"value":475}," array.",{"type":13,"tag":477,"props":478,"children":480},"validity-group",{"name":479},"Valid Usage",[481],{"type":13,"tag":482,"props":483,"children":485},"validity-field",{"name":484},"VUID-VkPresentRegionsKHR-swapchainCount-01260",[486],{"type":13,"tag":14,"props":487,"children":488},{},[489,494,496,499,501,506,507,512,514,519,521,526,528,533],{"type":13,"tag":53,"props":490,"children":492},{"className":491},[],[493],{"type":18,"value":413},{"type":18,"value":495}," ",{"type":13,"tag":29,"props":497,"children":498},{"type":43},[],{"type":18,"value":500}," be the same value as\n",{"type":13,"tag":53,"props":502,"children":504},{"className":503},[],[505],{"type":18,"value":73},{"type":18,"value":256},{"type":13,"tag":53,"props":508,"children":510},{"className":509},[],[511],{"type":18,"value":413},{"type":18,"value":513},", where\n",{"type":13,"tag":53,"props":515,"children":517},{"className":516},[],[518],{"type":18,"value":73},{"type":18,"value":520}," is included in the ",{"type":13,"tag":53,"props":522,"children":524},{"className":523},[],[525],{"type":18,"value":65},{"type":18,"value":527}," chain of this\n",{"type":13,"tag":53,"props":529,"children":531},{"className":530},[],[532],{"type":18,"value":4},{"type":18,"value":534}," structure",{"type":13,"tag":477,"props":536,"children":538},{"name":537},"Valid Usage (Implicit)",[539,563,610],{"type":13,"tag":482,"props":540,"children":542},{"name":541},"VUID-VkPresentRegionsKHR-sType-sType",[543],{"type":13,"tag":14,"props":544,"children":545},{},[546,551,552,555,557],{"type":13,"tag":53,"props":547,"children":549},{"className":548},[],[550],{"type":18,"value":376},{"type":18,"value":495},{"type":13,"tag":29,"props":553,"children":554},{"type":43},[],{"type":18,"value":556}," be ",{"type":13,"tag":53,"props":558,"children":560},{"className":559},[],[561],{"type":18,"value":562},"VK_STRUCTURE_TYPE_PRESENT_REGIONS_KHR",{"type":13,"tag":482,"props":564,"children":566},{"name":565},"VUID-VkPresentRegionsKHR-pRegions-parameter",[567],{"type":13,"tag":14,"props":568,"children":569},{},[570,572,577,579,584,585,590,591,594,596,601,603,608],{"type":18,"value":571},"If ",{"type":13,"tag":53,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":424},{"type":18,"value":578}," is not ",{"type":13,"tag":53,"props":580,"children":582},{"className":581},[],[583],{"type":18,"value":402},{"type":18,"value":310},{"type":13,"tag":53,"props":586,"children":588},{"className":587},[],[589],{"type":18,"value":424},{"type":18,"value":495},{"type":13,"tag":29,"props":592,"children":593},{"type":43},[],{"type":18,"value":595}," be a valid pointer to an array of ",{"type":13,"tag":53,"props":597,"children":599},{"className":598},[],[600],{"type":18,"value":413},{"type":18,"value":602}," valid ",{"type":13,"tag":21,"props":604,"children":606},{"href":605},"/man/VkPresentRegionKHR",[607],{"type":18,"value":438},{"type":18,"value":609}," structures",{"type":13,"tag":482,"props":611,"children":613},{"name":612},"VUID-VkPresentRegionsKHR-swapchainCount-arraylength",[614],{"type":13,"tag":14,"props":615,"children":616},{},[617,622,623,626,628],{"type":13,"tag":53,"props":618,"children":620},{"className":619},[],[621],{"type":18,"value":413},{"type":18,"value":495},{"type":13,"tag":29,"props":624,"children":625},{"type":43},[],{"type":18,"value":627}," be greater than ",{"type":13,"tag":53,"props":629,"children":631},{"className":630},[],[632],{"type":18,"value":633},"0",{"type":13,"tag":635,"props":636,"children":637},"style",{},[638],{"type":18,"value":639},"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":99,"searchDepth":129,"depth":129,"links":641},[],"markdown",1725732580632]