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