[{"data":1,"prerenderedAt":639},["ShallowReactive",2],{"$fHb4rZLY58Jj-R7q5Phtvip4sW6slveGdEaARAX_PUXI":3},{"title":4,"description":5,"parent":6,"structextends":7,"type":9,"xrefs":10,"body":11,"_type":638,"_id":4},"VkSurfacePresentModeKHR","Structure describing present mode of a surface","VK_KHR_surface_maintenance1",[8],"VkPhysicalDeviceSurfaceInfo2KHR","structs",[],{"type":12,"children":13,"toc":636},"root",[14,30,235,300,355,484,543,576,630],{"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,110],{"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 VkSurfacePresentModeKHR {\n VkStructureType sType;\n void* pNext;\n VkPresentModeKHR presentMode;\n} VkSurfacePresentModeKHR;\n","C","c","",[43],{"type":15,"tag":23,"props":44,"children":45},{"__ignoreMap":41},[46,69,78,92,101],{"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}," VkSurfacePresentModeKHR {\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],{"type":15,"tag":47,"props":83,"children":84},{"style":54},[85],{"type":20,"value":86}," void*",{"type":15,"tag":47,"props":88,"children":89},{"style":65},[90],{"type":20,"value":91}," pNext;\n",{"type":15,"tag":47,"props":93,"children":95},{"class":49,"line":94},4,[96],{"type":15,"tag":47,"props":97,"children":98},{"style":65},[99],{"type":20,"value":100}," VkPresentModeKHR presentMode;\n",{"type":15,"tag":47,"props":102,"children":104},{"class":49,"line":103},5,[105],{"type":15,"tag":47,"props":106,"children":107},{"style":65},[108],{"type":20,"value":109},"} VkSurfacePresentModeKHR;\n",{"type":15,"tag":35,"props":111,"children":116},{"className":112,"code":113,"filename":114,"language":115,"meta":41,"style":41},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct SurfacePresentModeKHR {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n present_mode: vk::PresentModeKHR,\n}\n","Rust","rs",[117],{"type":15,"tag":23,"props":118,"children":119},{"__ignoreMap":41},[120,143,176,198,227],{"type":15,"tag":47,"props":121,"children":122},{"class":49,"line":50},[123,128,132,138],{"type":15,"tag":47,"props":124,"children":125},{"style":54},[126],{"type":20,"value":127},"pub",{"type":15,"tag":47,"props":129,"children":130},{"style":54},[131],{"type":20,"value":62},{"type":15,"tag":47,"props":133,"children":135},{"style":134},"--shiki-default:#953800;--shiki-dark:#FFA657",[136],{"type":20,"value":137}," SurfacePresentModeKHR",{"type":15,"tag":47,"props":139,"children":140},{"style":65},[141],{"type":20,"value":142}," {\n",{"type":15,"tag":47,"props":144,"children":145},{"class":49,"line":71},[146,151,156,161,166,171],{"type":15,"tag":47,"props":147,"children":148},{"style":65},[149],{"type":20,"value":150}," s_type",{"type":15,"tag":47,"props":152,"children":153},{"style":54},[154],{"type":20,"value":155},":",{"type":15,"tag":47,"props":157,"children":158},{"style":134},[159],{"type":20,"value":160}," vk",{"type":15,"tag":47,"props":162,"children":163},{"style":54},[164],{"type":20,"value":165},"::",{"type":15,"tag":47,"props":167,"children":168},{"style":134},[169],{"type":20,"value":170},"StructureType",{"type":15,"tag":47,"props":172,"children":173},{"style":65},[174],{"type":20,"value":175},",\n",{"type":15,"tag":47,"props":177,"children":178},{"class":49,"line":80},[179,184,188,193],{"type":15,"tag":47,"props":180,"children":181},{"style":65},[182],{"type":20,"value":183}," p_next",{"type":15,"tag":47,"props":185,"children":186},{"style":54},[187],{"type":20,"value":155},{"type":15,"tag":47,"props":189,"children":190},{"style":54},[191],{"type":20,"value":192}," *mut",{"type":15,"tag":47,"props":194,"children":195},{"style":65},[196],{"type":20,"value":197}," c_void,\n",{"type":15,"tag":47,"props":199,"children":200},{"class":49,"line":94},[201,206,210,214,218,223],{"type":15,"tag":47,"props":202,"children":203},{"style":65},[204],{"type":20,"value":205}," present_mode",{"type":15,"tag":47,"props":207,"children":208},{"style":54},[209],{"type":20,"value":155},{"type":15,"tag":47,"props":211,"children":212},{"style":134},[213],{"type":20,"value":160},{"type":15,"tag":47,"props":215,"children":216},{"style":54},[217],{"type":20,"value":165},{"type":15,"tag":47,"props":219,"children":220},{"style":134},[221],{"type":20,"value":222},"PresentModeKHR",{"type":15,"tag":47,"props":224,"children":225},{"style":65},[226],{"type":20,"value":175},{"type":15,"tag":47,"props":228,"children":229},{"class":49,"line":103},[230],{"type":15,"tag":47,"props":231,"children":232},{"style":65},[233],{"type":20,"value":234},"}\n",{"type":15,"tag":31,"props":236,"children":237},{},[238,257],{"type":15,"tag":35,"props":239,"children":241},{"className":37,"code":240,"filename":39,"language":40,"meta":41,"style":41},"typedef VkSurfacePresentModeKHR VkSurfacePresentModeEXT;\n",[242],{"type":15,"tag":23,"props":243,"children":244},{"__ignoreMap":41},[245],{"type":15,"tag":47,"props":246,"children":247},{"class":49,"line":50},[248,252],{"type":15,"tag":47,"props":249,"children":250},{"style":54},[251],{"type":20,"value":57},{"type":15,"tag":47,"props":253,"children":254},{"style":65},[255],{"type":20,"value":256}," VkSurfacePresentModeKHR VkSurfacePresentModeEXT;\n",{"type":15,"tag":35,"props":258,"children":260},{"className":112,"code":259,"filename":114,"language":115,"meta":41,"style":41},"type SurfacePresentModeEXT = vk::SurfacePresentModeKHR;\n",[261],{"type":15,"tag":23,"props":262,"children":263},{"__ignoreMap":41},[264],{"type":15,"tag":47,"props":265,"children":266},{"class":49,"line":50},[267,272,277,282,286,290,295],{"type":15,"tag":47,"props":268,"children":269},{"style":54},[270],{"type":20,"value":271},"type",{"type":15,"tag":47,"props":273,"children":274},{"style":134},[275],{"type":20,"value":276}," SurfacePresentModeEXT",{"type":15,"tag":47,"props":278,"children":279},{"style":54},[280],{"type":20,"value":281}," =",{"type":15,"tag":47,"props":283,"children":284},{"style":134},[285],{"type":20,"value":160},{"type":15,"tag":47,"props":287,"children":288},{"style":54},[289],{"type":20,"value":165},{"type":15,"tag":47,"props":291,"children":292},{"style":134},[293],{"type":20,"value":294},"SurfacePresentModeKHR",{"type":15,"tag":47,"props":296,"children":297},{"style":65},[298],{"type":20,"value":299},";\n",{"type":15,"tag":301,"props":302,"children":303},"ul",{},[304,325,344],{"type":15,"tag":305,"props":306,"children":307},"li",{},[308,314,316,323],{"type":15,"tag":23,"props":309,"children":311},{"className":310},[],[312],{"type":20,"value":313},"sType",{"type":20,"value":315}," is a ",{"type":15,"tag":317,"props":318,"children":320},"a",{"href":319},"/man/VkStructureType",[321],{"type":20,"value":322},"VkStructureType",{"type":20,"value":324}," value identifying this structure.",{"type":15,"tag":305,"props":326,"children":327},{},[328,334,336,342],{"type":15,"tag":23,"props":329,"children":331},{"className":330},[],[332],{"type":20,"value":333},"pNext",{"type":20,"value":335}," is ",{"type":15,"tag":23,"props":337,"children":339},{"className":338},[],[340],{"type":20,"value":341},"NULL",{"type":20,"value":343}," or a pointer to a structure extending this\nstructure.",{"type":15,"tag":305,"props":345,"children":346},{},[347,353],{"type":15,"tag":23,"props":348,"children":350},{"className":349},[],[351],{"type":20,"value":352},"presentMode",{"type":20,"value":354}," is the presentation mode the swapchain will use.",{"type":15,"tag":16,"props":356,"children":357},{},[358,360,365,367,372,374,379,381,387,388,394,395,399,400,406,407,413,414,420,422,426,427,433,435,440,442,447,448,454,456,462,464,469,471,475,477,482],{"type":20,"value":359},"If the ",{"type":15,"tag":23,"props":361,"children":363},{"className":362},[],[364],{"type":20,"value":4},{"type":20,"value":366}," structure is included in the\n",{"type":15,"tag":23,"props":368,"children":370},{"className":369},[],[371],{"type":20,"value":333},{"type":20,"value":373}," chain of ",{"type":15,"tag":317,"props":375,"children":377},{"href":376},"/man/VkPhysicalDeviceSurfaceInfo2KHR",[378],{"type":20,"value":8},{"type":20,"value":380},", the values\nreturned in ",{"type":15,"tag":317,"props":382,"children":384},{"href":383},"/man/VkSurfaceCapabilitiesKHR",[385],{"type":20,"value":386},"VkSurfaceCapabilitiesKHR",{"type":20,"value":165},{"type":15,"tag":23,"props":389,"children":391},{"className":390},[],[392],{"type":20,"value":393},"minImageCount",{"type":20,"value":175},{"type":15,"tag":317,"props":396,"children":397},{"href":383},[398],{"type":20,"value":386},{"type":20,"value":165},{"type":15,"tag":23,"props":401,"children":403},{"className":402},[],[404],{"type":20,"value":405},"maxImageCount",{"type":20,"value":175},{"type":15,"tag":317,"props":408,"children":410},{"href":409},"/man/VkSurfacePresentScalingCapabilitiesKHR",[411],{"type":20,"value":412},"VkSurfacePresentScalingCapabilitiesKHR",{"type":20,"value":165},{"type":15,"tag":23,"props":415,"children":417},{"className":416},[],[418],{"type":20,"value":419},"minScaledImageExtent",{"type":20,"value":421},",\nand ",{"type":15,"tag":317,"props":423,"children":424},{"href":409},[425],{"type":20,"value":412},{"type":20,"value":165},{"type":15,"tag":23,"props":428,"children":430},{"className":429},[],[431],{"type":20,"value":432},"maxScaledImageExtent",{"type":20,"value":434},"\nare valid only for the specified ",{"type":15,"tag":23,"props":436,"children":438},{"className":437},[],[439],{"type":20,"value":352},{"type":20,"value":441},".\nIf ",{"type":15,"tag":23,"props":443,"children":445},{"className":444},[],[446],{"type":20,"value":352},{"type":20,"value":335},{"type":15,"tag":23,"props":449,"children":451},{"className":450},[],[452],{"type":20,"value":453},"VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR",{"type":20,"value":455}," or\n",{"type":15,"tag":23,"props":457,"children":459},{"className":458},[],[460],{"type":20,"value":461},"VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR",{"type":20,"value":463},", the per-present mode\nimage counts ",{"type":15,"tag":465,"props":466,"children":468},"normative",{"type":467},"must",[],{"type":20,"value":470}," both be one.\nThe per-present mode image counts ",{"type":15,"tag":465,"props":472,"children":474},{"type":473},"may",[],{"type":20,"value":476}," be less-than or greater-than the\nimage counts returned when ",{"type":15,"tag":23,"props":478,"children":480},{"className":479},[],[481],{"type":20,"value":4},{"type":20,"value":483}," is not provided.",{"type":15,"tag":485,"props":486,"children":487},"note",{},[488,534],{"type":15,"tag":16,"props":489,"children":490},{},[491,493,499,501,505,506,511,513,519,521,526,528,532],{"type":20,"value":492},"If ",{"type":15,"tag":317,"props":494,"children":496},{"href":495},"/man/VkSwapchainPresentModesCreateInfoKHR",[497],{"type":20,"value":498},"VkSwapchainPresentModesCreateInfoKHR",{"type":20,"value":500}," is provided to swapchain\ncreation, the requirements for forward progress may be less strict.\nFor example, a FIFO swapchain might only require 2 images to guarantee\nforward progress, but a MAILBOX one might require 4.\nWithout the per-present image counts, such an implementation would have to\nreturn 4 in ",{"type":15,"tag":317,"props":502,"children":503},{"href":383},[504],{"type":20,"value":386},{"type":20,"value":165},{"type":15,"tag":23,"props":507,"children":509},{"className":508},[],[510],{"type":20,"value":393},{"type":20,"value":512},", which\npessimizes FIFO.\nConversely, an implementation may return a low number for minImageCount, but\ninternally bump the image count when application queries\n",{"type":15,"tag":317,"props":514,"children":516},{"href":515},"/man/vkGetSwapchainImagesKHR",[517],{"type":20,"value":518},"vkGetSwapchainImagesKHR",{"type":20,"value":520},", which can surprise applications, and is not\ndiscoverable until swapchain creation.\nUsing ",{"type":15,"tag":23,"props":522,"children":524},{"className":523},[],[525],{"type":20,"value":4},{"type":20,"value":527}," and\n",{"type":15,"tag":317,"props":529,"children":530},{"href":495},[531],{"type":20,"value":498},{"type":20,"value":533}," together effectively removes this\nproblem.",{"type":15,"tag":16,"props":535,"children":536},{},[537,541],{"type":15,"tag":317,"props":538,"children":539},{"href":495},[540],{"type":20,"value":498},{"type":20,"value":542}," is required for the specification\nto be backwards compatible with applications that do not know about, or make\nuse of this feature.",{"type":15,"tag":544,"props":545,"children":547},"validity-group",{"name":546},"Valid Usage",[548],{"type":15,"tag":549,"props":550,"children":552},"validity-field",{"name":551},"VUID-VkSurfacePresentModeKHR-presentMode-07780",[553],{"type":15,"tag":16,"props":554,"children":555},{},[556,561,563,566,568,574],{"type":15,"tag":23,"props":557,"children":559},{"className":558},[],[560],{"type":20,"value":352},{"type":20,"value":562}," ",{"type":15,"tag":465,"props":564,"children":565},{"type":467},[],{"type":20,"value":567}," be a value reported by\n",{"type":15,"tag":317,"props":569,"children":571},{"href":570},"/man/vkGetPhysicalDeviceSurfacePresentModesKHR",[572],{"type":20,"value":573},"vkGetPhysicalDeviceSurfacePresentModesKHR",{"type":20,"value":575}," for the specified\nsurface",{"type":15,"tag":544,"props":577,"children":579},{"name":578},"Valid Usage (Implicit)",[580,604],{"type":15,"tag":549,"props":581,"children":583},{"name":582},"VUID-VkSurfacePresentModeKHR-sType-sType",[584],{"type":15,"tag":16,"props":585,"children":586},{},[587,592,593,596,598],{"type":15,"tag":23,"props":588,"children":590},{"className":589},[],[591],{"type":20,"value":313},{"type":20,"value":562},{"type":15,"tag":465,"props":594,"children":595},{"type":467},[],{"type":20,"value":597}," be ",{"type":15,"tag":23,"props":599,"children":601},{"className":600},[],[602],{"type":20,"value":603},"VK_STRUCTURE_TYPE_SURFACE_PRESENT_MODE_KHR",{"type":15,"tag":549,"props":605,"children":607},{"name":606},"VUID-VkSurfacePresentModeKHR-presentMode-parameter",[608],{"type":15,"tag":16,"props":609,"children":610},{},[611,616,617,620,622,628],{"type":15,"tag":23,"props":612,"children":614},{"className":613},[],[615],{"type":20,"value":352},{"type":20,"value":562},{"type":15,"tag":465,"props":618,"children":619},{"type":467},[],{"type":20,"value":621}," be a valid ",{"type":15,"tag":317,"props":623,"children":625},{"href":624},"/man/VkPresentModeKHR",[626],{"type":20,"value":627},"VkPresentModeKHR",{"type":20,"value":629}," value",{"type":15,"tag":631,"props":632,"children":633},"style",{},[634],{"type":20,"value":635},"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":637},[],"markdown",1773054779803]