[{"data":1,"prerenderedAt":682},["ShallowReactive",2],{"m4s7yHUj4T":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":681,"_id":4},"VkImportMemoryMetalHandleInfoEXT","Import Metal memory created on the same physical device","VK_EXT_external_memory_metal","structs",[],{"type":10,"children":11,"toc":679},"root",[12,45,57,294,386,391,417,607,673],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26,28,35,37,43],{"type":18,"value":19},"text","To import memory from a Metal handle, add a\n",{"type":13,"tag":21,"props":22,"children":24},"a",{"href":23},"/man/VkImportMemoryMetalHandleInfoEXT",[25],{"type":18,"value":4},{"type":18,"value":27}," structure to the ",{"type":13,"tag":29,"props":30,"children":32},"code",{"className":31},[],[33],{"type":18,"value":34},"pNext",{"type":18,"value":36}," chain of\nthe ",{"type":13,"tag":21,"props":38,"children":40},{"href":39},"/man/VkMemoryAllocateInfo",[41],{"type":18,"value":42},"VkMemoryAllocateInfo",{"type":18,"value":44}," structure.",{"type":13,"tag":14,"props":46,"children":47},{},[48,50,55],{"type":18,"value":49},"The ",{"type":13,"tag":29,"props":51,"children":53},{"className":52},[],[54],{"type":18,"value":4},{"type":18,"value":56}," structure is defined as:",{"type":13,"tag":58,"props":59,"children":60},"code-group",{},[61,156],{"type":13,"tag":62,"props":63,"children":69},"pre",{"className":64,"code":65,"filename":66,"language":67,"meta":68,"style":68},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkImportMemoryMetalHandleInfoEXT {\n VkStructureType sType;\n const void* pNext;\n VkExternalMemoryHandleTypeFlagBits handleType;\n void* handle;\n} VkImportMemoryMetalHandleInfoEXT;\n","C","c","",[70],{"type":13,"tag":29,"props":71,"children":72},{"__ignoreMap":68},[73,96,105,124,133,147],{"type":13,"tag":74,"props":75,"children":78},"span",{"class":76,"line":77},"line",1,[79,85,90],{"type":13,"tag":74,"props":80,"children":82},{"style":81},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[83],{"type":18,"value":84},"typedef",{"type":13,"tag":74,"props":86,"children":87},{"style":81},[88],{"type":18,"value":89}," struct",{"type":13,"tag":74,"props":91,"children":93},{"style":92},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[94],{"type":18,"value":95}," VkImportMemoryMetalHandleInfoEXT {\n",{"type":13,"tag":74,"props":97,"children":99},{"class":76,"line":98},2,[100],{"type":13,"tag":74,"props":101,"children":102},{"style":92},[103],{"type":18,"value":104}," VkStructureType sType;\n",{"type":13,"tag":74,"props":106,"children":108},{"class":76,"line":107},3,[109,114,119],{"type":13,"tag":74,"props":110,"children":111},{"style":81},[112],{"type":18,"value":113}," const",{"type":13,"tag":74,"props":115,"children":116},{"style":81},[117],{"type":18,"value":118}," void*",{"type":13,"tag":74,"props":120,"children":121},{"style":92},[122],{"type":18,"value":123}," pNext;\n",{"type":13,"tag":74,"props":125,"children":127},{"class":76,"line":126},4,[128],{"type":13,"tag":74,"props":129,"children":130},{"style":92},[131],{"type":18,"value":132}," VkExternalMemoryHandleTypeFlagBits handleType;\n",{"type":13,"tag":74,"props":134,"children":136},{"class":76,"line":135},5,[137,142],{"type":13,"tag":74,"props":138,"children":139},{"style":81},[140],{"type":18,"value":141}," void*",{"type":13,"tag":74,"props":143,"children":144},{"style":92},[145],{"type":18,"value":146}," handle;\n",{"type":13,"tag":74,"props":148,"children":150},{"class":76,"line":149},6,[151],{"type":13,"tag":74,"props":152,"children":153},{"style":92},[154],{"type":18,"value":155},"} VkImportMemoryMetalHandleInfoEXT;\n",{"type":13,"tag":62,"props":157,"children":162},{"className":158,"code":159,"filename":160,"language":161,"meta":68,"style":68},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct ImportMemoryMetalHandleInfoEXT {\n s_type: vk::StructureType,\n p_next: *const c_void,\n handle_type: ExternalMemoryHandleTypeFlags,\n handle: *mut c_void,\n}\n","Rust","rs",[163],{"type":13,"tag":29,"props":164,"children":165},{"__ignoreMap":68},[166,189,222,244,265,286],{"type":13,"tag":74,"props":167,"children":168},{"class":76,"line":77},[169,174,178,184],{"type":13,"tag":74,"props":170,"children":171},{"style":81},[172],{"type":18,"value":173},"pub",{"type":13,"tag":74,"props":175,"children":176},{"style":81},[177],{"type":18,"value":89},{"type":13,"tag":74,"props":179,"children":181},{"style":180},"--shiki-default:#953800;--shiki-dark:#FFA657",[182],{"type":18,"value":183}," ImportMemoryMetalHandleInfoEXT",{"type":13,"tag":74,"props":185,"children":186},{"style":92},[187],{"type":18,"value":188}," {\n",{"type":13,"tag":74,"props":190,"children":191},{"class":76,"line":98},[192,197,202,207,212,217],{"type":13,"tag":74,"props":193,"children":194},{"style":92},[195],{"type":18,"value":196}," s_type",{"type":13,"tag":74,"props":198,"children":199},{"style":81},[200],{"type":18,"value":201},":",{"type":13,"tag":74,"props":203,"children":204},{"style":180},[205],{"type":18,"value":206}," vk",{"type":13,"tag":74,"props":208,"children":209},{"style":81},[210],{"type":18,"value":211},"::",{"type":13,"tag":74,"props":213,"children":214},{"style":180},[215],{"type":18,"value":216},"StructureType",{"type":13,"tag":74,"props":218,"children":219},{"style":92},[220],{"type":18,"value":221},",\n",{"type":13,"tag":74,"props":223,"children":224},{"class":76,"line":107},[225,230,234,239],{"type":13,"tag":74,"props":226,"children":227},{"style":92},[228],{"type":18,"value":229}," p_next",{"type":13,"tag":74,"props":231,"children":232},{"style":81},[233],{"type":18,"value":201},{"type":13,"tag":74,"props":235,"children":236},{"style":81},[237],{"type":18,"value":238}," *const",{"type":13,"tag":74,"props":240,"children":241},{"style":92},[242],{"type":18,"value":243}," c_void,\n",{"type":13,"tag":74,"props":245,"children":246},{"class":76,"line":126},[247,252,256,261],{"type":13,"tag":74,"props":248,"children":249},{"style":92},[250],{"type":18,"value":251}," handle_type",{"type":13,"tag":74,"props":253,"children":254},{"style":81},[255],{"type":18,"value":201},{"type":13,"tag":74,"props":257,"children":258},{"style":180},[259],{"type":18,"value":260}," ExternalMemoryHandleTypeFlags",{"type":13,"tag":74,"props":262,"children":263},{"style":92},[264],{"type":18,"value":221},{"type":13,"tag":74,"props":266,"children":267},{"class":76,"line":135},[268,273,277,282],{"type":13,"tag":74,"props":269,"children":270},{"style":92},[271],{"type":18,"value":272}," handle",{"type":13,"tag":74,"props":274,"children":275},{"style":81},[276],{"type":18,"value":201},{"type":13,"tag":74,"props":278,"children":279},{"style":81},[280],{"type":18,"value":281}," *mut",{"type":13,"tag":74,"props":283,"children":284},{"style":92},[285],{"type":18,"value":243},{"type":13,"tag":74,"props":287,"children":288},{"class":76,"line":149},[289],{"type":13,"tag":74,"props":290,"children":291},{"style":92},[292],{"type":18,"value":293},"}\n",{"type":13,"tag":295,"props":296,"children":297},"ul",{},[298,318,336,370],{"type":13,"tag":299,"props":300,"children":301},"li",{},[302,308,310,316],{"type":13,"tag":29,"props":303,"children":305},{"className":304},[],[306],{"type":18,"value":307},"sType",{"type":18,"value":309}," is a ",{"type":13,"tag":21,"props":311,"children":313},{"href":312},"/man/VkStructureType",[314],{"type":18,"value":315},"VkStructureType",{"type":18,"value":317}," value identifying this structure.",{"type":13,"tag":299,"props":319,"children":320},{},[321,326,328,334],{"type":13,"tag":29,"props":322,"children":324},{"className":323},[],[325],{"type":18,"value":34},{"type":18,"value":327}," is ",{"type":13,"tag":29,"props":329,"children":331},{"className":330},[],[332],{"type":18,"value":333},"NULL",{"type":18,"value":335}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":299,"props":337,"children":338},{},[339,345,346,352,354,360,362,368],{"type":13,"tag":29,"props":340,"children":342},{"className":341},[],[343],{"type":18,"value":344},"handleType",{"type":18,"value":309},{"type":13,"tag":21,"props":347,"children":349},{"href":348},"/man/VkExternalMemoryHandleTypeFlagBits",[350],{"type":18,"value":351},"VkExternalMemoryHandleTypeFlagBits",{"type":18,"value":353}," value\nspecifying the type of ",{"type":13,"tag":29,"props":355,"children":357},{"className":356},[],[358],{"type":18,"value":359},"handle",{"type":18,"value":361}," or ",{"type":13,"tag":29,"props":363,"children":365},{"className":364},[],[366],{"type":18,"value":367},"name",{"type":18,"value":369},".",{"type":13,"tag":299,"props":371,"children":372},{},[373,378,379,384],{"type":13,"tag":29,"props":374,"children":376},{"className":375},[],[377],{"type":18,"value":359},{"type":18,"value":327},{"type":13,"tag":29,"props":380,"children":382},{"className":381},[],[383],{"type":18,"value":333},{"type":18,"value":385}," or the external handle to import.",{"type":13,"tag":14,"props":387,"children":388},{},[389],{"type":18,"value":390},"Importing memory object payloads from Metal handles shares the ownership of\nthe handle to the Vulkan implementation.",{"type":13,"tag":14,"props":392,"children":393},{},[394,396,401,403,407,409,415],{"type":18,"value":395},"Applications ",{"type":13,"tag":397,"props":398,"children":400},"normative",{"type":399},"can",[],{"type":18,"value":402}," import the same payload into multiple instances of Vulkan,\ninto the same instance from which it was exported, and multiple times into a\ngiven Vulkan instance.\nIn all cases, each import operation ",{"type":13,"tag":397,"props":404,"children":406},{"type":405},"must",[],{"type":18,"value":408}," create a distinct\n",{"type":13,"tag":29,"props":410,"children":412},{"className":411},[],[413],{"type":18,"value":414},"VkDeviceMemory",{"type":18,"value":416}," object.",{"type":13,"tag":418,"props":419,"children":421},"validity-group",{"name":420},"Valid Usage",[422,466,493,538,576],{"type":13,"tag":423,"props":424,"children":426},"validity-field",{"name":425},"VUID-VkImportMemoryMetalHandleInfoEXT-handleType-10408",[427],{"type":13,"tag":14,"props":428,"children":429},{},[430,432,437,439,445,447,450,452,458,460],{"type":18,"value":431},"If ",{"type":13,"tag":29,"props":433,"children":435},{"className":434},[],[436],{"type":18,"value":344},{"type":18,"value":438}," is not ",{"type":13,"tag":29,"props":440,"children":442},{"className":441},[],[443],{"type":18,"value":444},"0",{"type":18,"value":446},", it ",{"type":13,"tag":397,"props":448,"children":449},{"type":405},[],{"type":18,"value":451}," be supported for import, as\nreported by ",{"type":13,"tag":21,"props":453,"children":455},{"href":454},"/man/VkExternalImageFormatProperties",[456],{"type":18,"value":457},"VkExternalImageFormatProperties",{"type":18,"value":459}," or\n",{"type":13,"tag":21,"props":461,"children":463},{"href":462},"/man/VkExternalBufferProperties",[464],{"type":18,"value":465},"VkExternalBufferProperties",{"type":13,"tag":423,"props":467,"children":469},{"name":468},"VUID-VkImportMemoryMetalHandleInfoEXT-handle-10409",[470],{"type":13,"tag":14,"props":471,"children":472},{},[473,475,480,482,485,487],{"type":18,"value":474},"The memory from which ",{"type":13,"tag":29,"props":476,"children":478},{"className":477},[],[479],{"type":18,"value":359},{"type":18,"value":481}," was exported ",{"type":13,"tag":397,"props":483,"children":484},{"type":405},[],{"type":18,"value":486}," have been created\non the same underlying physical device as ",{"type":13,"tag":29,"props":488,"children":490},{"className":489},[],[491],{"type":18,"value":492},"device",{"type":13,"tag":423,"props":494,"children":496},{"name":495},"VUID-VkImportMemoryMetalHandleInfoEXT-handleType-10410",[497],{"type":13,"tag":14,"props":498,"children":499},{},[500,501,506,507,512,513,516,518,524,525,531,532],{"type":18,"value":431},{"type":13,"tag":29,"props":502,"children":504},{"className":503},[],[505],{"type":18,"value":344},{"type":18,"value":438},{"type":13,"tag":29,"props":508,"children":510},{"className":509},[],[511],{"type":18,"value":444},{"type":18,"value":446},{"type":13,"tag":397,"props":514,"children":515},{"type":405},[],{"type":18,"value":517}," be\n",{"type":13,"tag":29,"props":519,"children":521},{"className":520},[],[522],{"type":18,"value":523},"VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLBUFFER_BIT_EXT",{"type":18,"value":221},{"type":13,"tag":29,"props":526,"children":528},{"className":527},[],[529],{"type":18,"value":530},"VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLTEXTURE_BIT_EXT",{"type":18,"value":459},{"type":13,"tag":29,"props":533,"children":535},{"className":534},[],[536],{"type":18,"value":537},"VK_EXTERNAL_MEMORY_HANDLE_TYPE_MTLHEAP_BIT_EXT",{"type":13,"tag":423,"props":539,"children":541},{"name":540},"VUID-VkImportMemoryMetalHandleInfoEXT-handleType-10411",[542],{"type":13,"tag":14,"props":543,"children":544},{},[545,546,551,552,557,559,564,566,569,571],{"type":18,"value":431},{"type":13,"tag":29,"props":547,"children":549},{"className":548},[],[550],{"type":18,"value":344},{"type":18,"value":438},{"type":13,"tag":29,"props":553,"children":555},{"className":554},[],[556],{"type":18,"value":444},{"type":18,"value":558}," , ",{"type":13,"tag":29,"props":560,"children":562},{"className":561},[],[563],{"type":18,"value":359},{"type":18,"value":565}," ",{"type":13,"tag":397,"props":567,"children":568},{"type":405},[],{"type":18,"value":570}," be a valid non-NULL\nhandle of the type specified by ",{"type":13,"tag":29,"props":572,"children":574},{"className":573},[],[575],{"type":18,"value":344},{"type":13,"tag":423,"props":577,"children":579},{"name":578},"VUID-VkImportMemoryMetalHandleInfoEXT-handle-10412",[580],{"type":13,"tag":14,"props":581,"children":582},{},[583,588,589,592,594,599,601],{"type":13,"tag":29,"props":584,"children":586},{"className":585},[],[587],{"type":18,"value":359},{"type":18,"value":565},{"type":13,"tag":397,"props":590,"children":591},{"type":405},[],{"type":18,"value":593}," obey any requirements listed for ",{"type":13,"tag":29,"props":595,"children":597},{"className":596},[],[598],{"type":18,"value":344},{"type":18,"value":600}," in\n",{"type":13,"tag":21,"props":602,"children":604},{"href":603},"/man/VkExternalMemoryHandleTypeFlagBits#external-memory-handle-types-compatibility",[605],{"type":18,"value":606},"external memory handle\ntypes compatibility",{"type":13,"tag":418,"props":608,"children":610},{"name":609},"Valid Usage (Implicit)",[611,635],{"type":13,"tag":423,"props":612,"children":614},{"name":613},"VUID-VkImportMemoryMetalHandleInfoEXT-sType-sType",[615],{"type":13,"tag":14,"props":616,"children":617},{},[618,623,624,627,629],{"type":13,"tag":29,"props":619,"children":621},{"className":620},[],[622],{"type":18,"value":307},{"type":18,"value":565},{"type":13,"tag":397,"props":625,"children":626},{"type":405},[],{"type":18,"value":628}," be ",{"type":13,"tag":29,"props":630,"children":632},{"className":631},[],[633],{"type":18,"value":634},"VK_STRUCTURE_TYPE_IMPORT_MEMORY_METAL_HANDLE_INFO_EXT",{"type":13,"tag":423,"props":636,"children":638},{"name":637},"VUID-VkImportMemoryMetalHandleInfoEXT-handleType-parameter",[639],{"type":13,"tag":14,"props":640,"children":641},{},[642,643,648,649,654,656,661,662,665,667,671],{"type":18,"value":431},{"type":13,"tag":29,"props":644,"children":646},{"className":645},[],[647],{"type":18,"value":344},{"type":18,"value":438},{"type":13,"tag":29,"props":650,"children":652},{"className":651},[],[653],{"type":18,"value":444},{"type":18,"value":655},", ",{"type":13,"tag":29,"props":657,"children":659},{"className":658},[],[660],{"type":18,"value":344},{"type":18,"value":565},{"type":13,"tag":397,"props":663,"children":664},{"type":405},[],{"type":18,"value":666}," be a valid ",{"type":13,"tag":21,"props":668,"children":669},{"href":348},[670],{"type":18,"value":351},{"type":18,"value":672}," value",{"type":13,"tag":674,"props":675,"children":676},"style",{},[677],{"type":18,"value":678},"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":68,"searchDepth":98,"depth":98,"links":680},[],"markdown",1744876552181]