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