[{"data":1,"prerenderedAt":881},["ShallowReactive",2],{"R8kH9SK2ce":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":880,"_id":4},"VkMemoryDedicatedRequirements","Structure describing dedicated allocation requirements of buffer and image resources","VK_VERSION_1_1","structs",[],{"type":10,"children":11,"toc":878},"root",[12,28,270,275,340,413,464,469,667,672,843,872],{"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,117],{"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 VkMemoryDedicatedRequirements {\n VkStructureType sType;\n void* pNext;\n VkBool32 prefersDedicatedAllocation;\n VkBool32 requiresDedicatedAllocation;\n} VkMemoryDedicatedRequirements;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,99,108],{"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}," VkMemoryDedicatedRequirements {\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],{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," VkBool32 prefersDedicatedAllocation;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103],{"type":13,"tag":45,"props":104,"children":105},{"style":63},[106],{"type":18,"value":107}," VkBool32 requiresDedicatedAllocation;\n",{"type":13,"tag":45,"props":109,"children":111},{"class":47,"line":110},6,[112],{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116},"} VkMemoryDedicatedRequirements;\n",{"type":13,"tag":33,"props":118,"children":123},{"className":119,"code":120,"filename":121,"language":122,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct MemoryDedicatedRequirements {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n prefers_dedicated_allocation: vk::Bool32,\n requires_dedicated_allocation: vk::Bool32,\n}\n","Rust","rs",[124],{"type":13,"tag":21,"props":125,"children":126},{"__ignoreMap":39},[127,150,183,205,234,262],{"type":13,"tag":45,"props":128,"children":129},{"class":47,"line":48},[130,135,139,145],{"type":13,"tag":45,"props":131,"children":132},{"style":52},[133],{"type":18,"value":134},"pub",{"type":13,"tag":45,"props":136,"children":137},{"style":52},[138],{"type":18,"value":60},{"type":13,"tag":45,"props":140,"children":142},{"style":141},"--shiki-default:#953800;--shiki-dark:#FFA657",[143],{"type":18,"value":144}," MemoryDedicatedRequirements",{"type":13,"tag":45,"props":146,"children":147},{"style":63},[148],{"type":18,"value":149}," {\n",{"type":13,"tag":45,"props":151,"children":152},{"class":47,"line":69},[153,158,163,168,173,178],{"type":13,"tag":45,"props":154,"children":155},{"style":63},[156],{"type":18,"value":157}," s_type",{"type":13,"tag":45,"props":159,"children":160},{"style":52},[161],{"type":18,"value":162},":",{"type":13,"tag":45,"props":164,"children":165},{"style":141},[166],{"type":18,"value":167}," vk",{"type":13,"tag":45,"props":169,"children":170},{"style":52},[171],{"type":18,"value":172},"::",{"type":13,"tag":45,"props":174,"children":175},{"style":141},[176],{"type":18,"value":177},"StructureType",{"type":13,"tag":45,"props":179,"children":180},{"style":63},[181],{"type":18,"value":182},",\n",{"type":13,"tag":45,"props":184,"children":185},{"class":47,"line":78},[186,191,195,200],{"type":13,"tag":45,"props":187,"children":188},{"style":63},[189],{"type":18,"value":190}," p_next",{"type":13,"tag":45,"props":192,"children":193},{"style":52},[194],{"type":18,"value":162},{"type":13,"tag":45,"props":196,"children":197},{"style":52},[198],{"type":18,"value":199}," *mut",{"type":13,"tag":45,"props":201,"children":202},{"style":63},[203],{"type":18,"value":204}," c_void,\n",{"type":13,"tag":45,"props":206,"children":207},{"class":47,"line":92},[208,213,217,221,225,230],{"type":13,"tag":45,"props":209,"children":210},{"style":63},[211],{"type":18,"value":212}," prefers_dedicated_allocation",{"type":13,"tag":45,"props":214,"children":215},{"style":52},[216],{"type":18,"value":162},{"type":13,"tag":45,"props":218,"children":219},{"style":141},[220],{"type":18,"value":167},{"type":13,"tag":45,"props":222,"children":223},{"style":52},[224],{"type":18,"value":172},{"type":13,"tag":45,"props":226,"children":227},{"style":141},[228],{"type":18,"value":229},"Bool32",{"type":13,"tag":45,"props":231,"children":232},{"style":63},[233],{"type":18,"value":182},{"type":13,"tag":45,"props":235,"children":236},{"class":47,"line":101},[237,242,246,250,254,258],{"type":13,"tag":45,"props":238,"children":239},{"style":63},[240],{"type":18,"value":241}," requires_dedicated_allocation",{"type":13,"tag":45,"props":243,"children":244},{"style":52},[245],{"type":18,"value":162},{"type":13,"tag":45,"props":247,"children":248},{"style":141},[249],{"type":18,"value":167},{"type":13,"tag":45,"props":251,"children":252},{"style":52},[253],{"type":18,"value":172},{"type":13,"tag":45,"props":255,"children":256},{"style":141},[257],{"type":18,"value":229},{"type":13,"tag":45,"props":259,"children":260},{"style":63},[261],{"type":18,"value":182},{"type":13,"tag":45,"props":263,"children":264},{"class":47,"line":110},[265],{"type":13,"tag":45,"props":266,"children":267},{"style":63},[268],{"type":18,"value":269},"}\n",{"type":13,"tag":14,"props":271,"children":272},{},[273],{"type":18,"value":274},"or the equivalent",{"type":13,"tag":29,"props":276,"children":277},{},[278,297],{"type":13,"tag":33,"props":279,"children":281},{"className":35,"code":280,"filename":37,"language":38,"meta":39,"style":39},"typedef VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;\n",[282],{"type":13,"tag":21,"props":283,"children":284},{"__ignoreMap":39},[285],{"type":13,"tag":45,"props":286,"children":287},{"class":47,"line":48},[288,292],{"type":13,"tag":45,"props":289,"children":290},{"style":52},[291],{"type":18,"value":55},{"type":13,"tag":45,"props":293,"children":294},{"style":63},[295],{"type":18,"value":296}," VkMemoryDedicatedRequirements VkMemoryDedicatedRequirementsKHR;\n",{"type":13,"tag":33,"props":298,"children":300},{"className":119,"code":299,"filename":121,"language":122,"meta":39,"style":39},"type MemoryDedicatedRequirementsKHR = vk::MemoryDedicatedRequirements;\n",[301],{"type":13,"tag":21,"props":302,"children":303},{"__ignoreMap":39},[304],{"type":13,"tag":45,"props":305,"children":306},{"class":47,"line":48},[307,312,317,322,326,330,335],{"type":13,"tag":45,"props":308,"children":309},{"style":52},[310],{"type":18,"value":311},"type",{"type":13,"tag":45,"props":313,"children":314},{"style":141},[315],{"type":18,"value":316}," MemoryDedicatedRequirementsKHR",{"type":13,"tag":45,"props":318,"children":319},{"style":52},[320],{"type":18,"value":321}," =",{"type":13,"tag":45,"props":323,"children":324},{"style":141},[325],{"type":18,"value":167},{"type":13,"tag":45,"props":327,"children":328},{"style":52},[329],{"type":18,"value":172},{"type":13,"tag":45,"props":331,"children":332},{"style":141},[333],{"type":18,"value":334},"MemoryDedicatedRequirements",{"type":13,"tag":45,"props":336,"children":337},{"style":63},[338],{"type":18,"value":339},";\n",{"type":13,"tag":341,"props":342,"children":343},"ul",{},[344,365,384,402],{"type":13,"tag":345,"props":346,"children":347},"li",{},[348,354,356,363],{"type":13,"tag":21,"props":349,"children":351},{"className":350},[],[352],{"type":18,"value":353},"sType",{"type":18,"value":355}," is a ",{"type":13,"tag":357,"props":358,"children":360},"a",{"href":359},"/man/VkStructureType",[361],{"type":18,"value":362},"VkStructureType",{"type":18,"value":364}," value identifying this structure.",{"type":13,"tag":345,"props":366,"children":367},{},[368,374,376,382],{"type":13,"tag":21,"props":369,"children":371},{"className":370},[],[372],{"type":18,"value":373},"pNext",{"type":18,"value":375}," is ",{"type":13,"tag":21,"props":377,"children":379},{"className":378},[],[380],{"type":18,"value":381},"NULL",{"type":18,"value":383}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":345,"props":385,"children":386},{},[387,393,395,400],{"type":13,"tag":21,"props":388,"children":390},{"className":389},[],[391],{"type":18,"value":392},"prefersDedicatedAllocation",{"type":18,"value":394}," specifies that the implementation would\nprefer a dedicated allocation for this resource.\nThe application is still free to suballocate the resource but it ",{"type":13,"tag":396,"props":397,"children":399},"normative",{"type":398},"may",[],{"type":18,"value":401},"\nget better performance if a dedicated allocation is used.",{"type":13,"tag":345,"props":403,"children":404},{},[405,411],{"type":13,"tag":21,"props":406,"children":408},{"className":407},[],[409],{"type":18,"value":410},"requiresDedicatedAllocation",{"type":18,"value":412}," specifies that a dedicated allocation\nis required for this resource.",{"type":13,"tag":14,"props":414,"children":415},{},[416,418,423,425,430,432,438,440,446,448,454,456,462],{"type":18,"value":417},"To determine the dedicated allocation requirements of a buffer or image\nresource, add a ",{"type":13,"tag":357,"props":419,"children":421},{"href":420},"/man/VkMemoryDedicatedRequirements",[422],{"type":18,"value":4},{"type":18,"value":424}," structure to the\n",{"type":13,"tag":21,"props":426,"children":428},{"className":427},[],[429],{"type":18,"value":373},{"type":18,"value":431}," chain of the ",{"type":13,"tag":357,"props":433,"children":435},{"href":434},"/man/VkMemoryRequirements2",[436],{"type":18,"value":437},"VkMemoryRequirements2",{"type":18,"value":439}," structure passed as the\n",{"type":13,"tag":21,"props":441,"children":443},{"className":442},[],[444],{"type":18,"value":445},"pMemoryRequirements",{"type":18,"value":447}," parameter of ",{"type":13,"tag":357,"props":449,"children":451},{"href":450},"/man/vkGetBufferMemoryRequirements2",[452],{"type":18,"value":453},"vkGetBufferMemoryRequirements2",{"type":18,"value":455},"\nor ",{"type":13,"tag":357,"props":457,"children":459},{"href":458},"/man/vkGetImageMemoryRequirements2",[460],{"type":18,"value":461},"vkGetImageMemoryRequirements2",{"type":18,"value":463},", respectively.",{"type":13,"tag":14,"props":465,"children":466},{},[467],{"type":18,"value":468},"Constraints on the values returned for buffer resources are:",{"type":13,"tag":341,"props":470,"children":471},{},[472,577,614],{"type":13,"tag":345,"props":473,"children":474},{},[475,480,482,485,487,493,495,500,502,508,510,516,518,524,526,530,531,537,539,545,547,553,554,560,562,567,569,575],{"type":13,"tag":21,"props":476,"children":478},{"className":477},[],[479],{"type":18,"value":410},{"type":18,"value":481}," ",{"type":13,"tag":396,"props":483,"children":484},{"type":398},[],{"type":18,"value":486}," be ",{"type":13,"tag":21,"props":488,"children":490},{"className":489},[],[491],{"type":18,"value":492},"VK_TRUE",{"type":18,"value":494}," if the\n",{"type":13,"tag":21,"props":496,"children":498},{"className":497},[],[499],{"type":18,"value":373},{"type":18,"value":501}," chain of ",{"type":13,"tag":357,"props":503,"children":505},{"href":504},"/man/VkBufferCreateInfo",[506],{"type":18,"value":507},"VkBufferCreateInfo",{"type":18,"value":509}," for the call to\n",{"type":13,"tag":21,"props":511,"children":513},{"className":512},[],[514],{"type":18,"value":515},"vkCreateBuffer",{"type":18,"value":517}," used to create the buffer being queried included a\n",{"type":13,"tag":357,"props":519,"children":521},{"href":520},"/man/VkExternalMemoryBufferCreateInfo",[522],{"type":18,"value":523},"VkExternalMemoryBufferCreateInfo",{"type":18,"value":525}," structure, and any of the handle\ntypes specified in\n",{"type":13,"tag":357,"props":527,"children":528},{"href":520},[529],{"type":18,"value":523},{"type":18,"value":172},{"type":13,"tag":21,"props":532,"children":534},{"className":533},[],[535],{"type":18,"value":536},"handleTypes",{"type":18,"value":538}," requires\ndedicated allocation, as reported by\n",{"type":13,"tag":357,"props":540,"children":542},{"href":541},"/man/vkGetPhysicalDeviceExternalBufferProperties",[543],{"type":18,"value":544},"vkGetPhysicalDeviceExternalBufferProperties",{"type":18,"value":546}," in\n",{"type":13,"tag":21,"props":548,"children":550},{"className":549},[],[551],{"type":18,"value":552},"VkExternalBufferProperties",{"type":18,"value":172},{"type":13,"tag":21,"props":555,"children":557},{"className":556},[],[558],{"type":18,"value":559},"externalMemoryProperties.externalMemoryFeatures",{"type":18,"value":561},".\nOtherwise, ",{"type":13,"tag":21,"props":563,"children":565},{"className":564},[],[566],{"type":18,"value":410},{"type":18,"value":568}," will be ",{"type":13,"tag":21,"props":570,"children":572},{"className":571},[],[573],{"type":18,"value":574},"VK_FALSE",{"type":18,"value":576},".",{"type":13,"tag":345,"props":578,"children":579},{},[580,582,587,589,594,596,600,602,607,608,613],{"type":18,"value":581},"When the implementation sets ",{"type":13,"tag":21,"props":583,"children":585},{"className":584},[],[586],{"type":18,"value":410},{"type":18,"value":588}," to\n",{"type":13,"tag":21,"props":590,"children":592},{"className":591},[],[593],{"type":18,"value":492},{"type":18,"value":595},", it ",{"type":13,"tag":396,"props":597,"children":599},{"type":598},"must",[],{"type":18,"value":601}," also set ",{"type":13,"tag":21,"props":603,"children":605},{"className":604},[],[606],{"type":18,"value":392},{"type":18,"value":588},{"type":13,"tag":21,"props":609,"children":611},{"className":610},[],[612],{"type":18,"value":492},{"type":18,"value":576},{"type":13,"tag":345,"props":615,"children":616},{},[617,619,625,627,631,632,638,640,646,648,653,655,660,661,666],{"type":18,"value":618},"If ",{"type":13,"tag":21,"props":620,"children":622},{"className":621},[],[623],{"type":18,"value":624},"VK_BUFFER_CREATE_SPARSE_BINDING_BIT",{"type":18,"value":626}," was set in\n",{"type":13,"tag":357,"props":628,"children":629},{"href":504},[630],{"type":18,"value":507},{"type":18,"value":172},{"type":13,"tag":21,"props":633,"children":635},{"className":634},[],[636],{"type":18,"value":637},"flags",{"type":18,"value":639}," when ",{"type":13,"tag":21,"props":641,"children":643},{"className":642},[],[644],{"type":18,"value":645},"buffer",{"type":18,"value":647}," was created,\nthen both ",{"type":13,"tag":21,"props":649,"children":651},{"className":650},[],[652],{"type":18,"value":392},{"type":18,"value":654}," and\n",{"type":13,"tag":21,"props":656,"children":658},{"className":657},[],[659],{"type":18,"value":410},{"type":18,"value":568},{"type":13,"tag":21,"props":662,"children":664},{"className":663},[],[665],{"type":18,"value":574},{"type":18,"value":576},{"type":13,"tag":14,"props":668,"children":669},{},[670],{"type":18,"value":671},"Constraints on the values returned for image resources are:",{"type":13,"tag":341,"props":673,"children":674},{},[675,753,780,795],{"type":13,"tag":345,"props":676,"children":677},{},[678,683,684,687,688,693,694,699,700,706,707,713,715,721,722,726,727,732,733,739,740,746,747,752],{"type":13,"tag":21,"props":679,"children":681},{"className":680},[],[682],{"type":18,"value":410},{"type":18,"value":481},{"type":13,"tag":396,"props":685,"children":686},{"type":398},[],{"type":18,"value":486},{"type":13,"tag":21,"props":689,"children":691},{"className":690},[],[692],{"type":18,"value":492},{"type":18,"value":494},{"type":13,"tag":21,"props":695,"children":697},{"className":696},[],[698],{"type":18,"value":373},{"type":18,"value":501},{"type":13,"tag":357,"props":701,"children":703},{"href":702},"/man/VkImageCreateInfo",[704],{"type":18,"value":705},"VkImageCreateInfo",{"type":18,"value":509},{"type":13,"tag":357,"props":708,"children":710},{"href":709},"/man/vkCreateImage",[711],{"type":18,"value":712},"vkCreateImage",{"type":18,"value":714}," used to create the image being queried included a\n",{"type":13,"tag":357,"props":716,"children":718},{"href":717},"/man/VkExternalMemoryImageCreateInfo",[719],{"type":18,"value":720},"VkExternalMemoryImageCreateInfo",{"type":18,"value":525},{"type":13,"tag":357,"props":723,"children":724},{"href":717},[725],{"type":18,"value":720},{"type":18,"value":172},{"type":13,"tag":21,"props":728,"children":730},{"className":729},[],[731],{"type":18,"value":536},{"type":18,"value":538},{"type":13,"tag":357,"props":734,"children":736},{"href":735},"/man/vkGetPhysicalDeviceImageFormatProperties2",[737],{"type":18,"value":738},"vkGetPhysicalDeviceImageFormatProperties2",{"type":18,"value":546},{"type":13,"tag":21,"props":741,"children":743},{"className":742},[],[744],{"type":18,"value":745},"VkExternalImageFormatProperties",{"type":18,"value":172},{"type":13,"tag":21,"props":748,"children":750},{"className":749},[],[751],{"type":18,"value":559},{"type":18,"value":576},{"type":13,"tag":345,"props":754,"children":755},{},[756,761,762,765,766,771,773,779],{"type":13,"tag":21,"props":757,"children":759},{"className":758},[],[760],{"type":18,"value":410},{"type":18,"value":481},{"type":13,"tag":396,"props":763,"children":764},{"type":398},[],{"type":18,"value":486},{"type":13,"tag":21,"props":767,"children":769},{"className":768},[],[770],{"type":18,"value":492},{"type":18,"value":772}," if the image’s\ntiling is ",{"type":13,"tag":21,"props":774,"children":776},{"className":775},[],[777],{"type":18,"value":778},"VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT",{"type":18,"value":576},{"type":13,"tag":345,"props":781,"children":782},{},[783,788,790],{"type":13,"tag":21,"props":784,"children":786},{"className":785},[],[787],{"type":18,"value":410},{"type":18,"value":789}," will\notherwise\nbe ",{"type":13,"tag":21,"props":791,"children":793},{"className":792},[],[794],{"type":18,"value":574},{"type":13,"tag":345,"props":796,"children":797},{},[798,799,805,806,810,811,816,817,823,825,830,831,836,837,842],{"type":18,"value":618},{"type":13,"tag":21,"props":800,"children":802},{"className":801},[],[803],{"type":18,"value":804},"VK_IMAGE_CREATE_SPARSE_BINDING_BIT",{"type":18,"value":626},{"type":13,"tag":357,"props":807,"children":808},{"href":702},[809],{"type":18,"value":705},{"type":18,"value":172},{"type":13,"tag":21,"props":812,"children":814},{"className":813},[],[815],{"type":18,"value":637},{"type":18,"value":639},{"type":13,"tag":21,"props":818,"children":820},{"className":819},[],[821],{"type":18,"value":822},"image",{"type":18,"value":824}," was created, then\nboth ",{"type":13,"tag":21,"props":826,"children":828},{"className":827},[],[829],{"type":18,"value":392},{"type":18,"value":654},{"type":13,"tag":21,"props":832,"children":834},{"className":833},[],[835],{"type":18,"value":410},{"type":18,"value":568},{"type":13,"tag":21,"props":838,"children":840},{"className":839},[],[841],{"type":18,"value":574},{"type":18,"value":576},{"type":13,"tag":844,"props":845,"children":847},"validity-group",{"name":846},"Valid Usage (Implicit)",[848],{"type":13,"tag":849,"props":850,"children":852},"validity-field",{"name":851},"VUID-VkMemoryDedicatedRequirements-sType-sType",[853],{"type":13,"tag":14,"props":854,"children":855},{},[856,861,862,865,866],{"type":13,"tag":21,"props":857,"children":859},{"className":858},[],[860],{"type":18,"value":353},{"type":18,"value":481},{"type":13,"tag":396,"props":863,"children":864},{"type":598},[],{"type":18,"value":486},{"type":13,"tag":21,"props":867,"children":869},{"className":868},[],[870],{"type":18,"value":871},"VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS",{"type":13,"tag":873,"props":874,"children":875},"style",{},[876],{"type":18,"value":877},"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":879},[],"markdown",1725732562074]