[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"$fCxODTGrW2sDEhsFbm5jADjXDgHf2GZByvD7Zp-Rtb50":3},{"title":4,"description":5,"parent":6,"successcodes":7,"errorcodes":9,"type":14,"xrefs":15,"body":16,"_type":471,"_id":4},"vkGetMemoryFdKHR","Get a POSIX file descriptor for a memory object","VK_KHR_external_memory_fd",[8],"VK_SUCCESS",[10,11,12,13],"VK_ERROR_TOO_MANY_OBJECTS","VK_ERROR_OUT_OF_HOST_MEMORY","VK_ERROR_UNKNOWN","VK_ERROR_VALIDATION_FAILED","protos",[],{"type":17,"children":18,"toc":469},"root",[19,27,290,336,381,463],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24],{"type":25,"value":26},"text","To export a POSIX file descriptor referencing the payload of a Vulkan device\nmemory object, call:",{"type":20,"tag":28,"props":29,"children":30},"code-group",{},[31,134],{"type":20,"tag":32,"props":33,"children":39},"pre",{"className":34,"code":35,"filename":36,"language":37,"meta":38,"style":38},"language-c shiki shiki-themes github-light-default github-dark-default","VkResult vkGetMemoryFdKHR(\n VkDevice device,\n const VkMemoryGetFdInfoKHR* pGetFdInfo,\n int* pFd);\n","C","c","",[40],{"type":20,"tag":41,"props":42,"children":43},"code",{"__ignoreMap":38},[44,66,86,115],{"type":20,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":20,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[54],{"type":25,"value":55},"VkResult ",{"type":20,"tag":45,"props":57,"children":59},{"style":58},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[60],{"type":25,"value":4},{"type":20,"tag":45,"props":62,"children":63},{"style":52},[64],{"type":25,"value":65},"(\n",{"type":20,"tag":45,"props":67,"children":69},{"class":47,"line":68},2,[70,75,81],{"type":20,"tag":45,"props":71,"children":72},{"style":52},[73],{"type":25,"value":74}," VkDevice ",{"type":20,"tag":45,"props":76,"children":78},{"style":77},"--shiki-default:#953800;--shiki-dark:#FFA657",[79],{"type":25,"value":80},"device",{"type":20,"tag":45,"props":82,"children":83},{"style":52},[84],{"type":25,"value":85},",\n",{"type":20,"tag":45,"props":87,"children":89},{"class":47,"line":88},3,[90,96,101,106,111],{"type":20,"tag":45,"props":91,"children":93},{"style":92},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[94],{"type":25,"value":95}," const",{"type":20,"tag":45,"props":97,"children":98},{"style":52},[99],{"type":25,"value":100}," VkMemoryGetFdInfoKHR",{"type":20,"tag":45,"props":102,"children":103},{"style":92},[104],{"type":25,"value":105},"*",{"type":20,"tag":45,"props":107,"children":108},{"style":77},[109],{"type":25,"value":110}," pGetFdInfo",{"type":20,"tag":45,"props":112,"children":113},{"style":52},[114],{"type":25,"value":85},{"type":20,"tag":45,"props":116,"children":118},{"class":47,"line":117},4,[119,124,129],{"type":20,"tag":45,"props":120,"children":121},{"style":92},[122],{"type":25,"value":123}," int*",{"type":20,"tag":45,"props":125,"children":126},{"style":77},[127],{"type":25,"value":128}," pFd",{"type":20,"tag":45,"props":130,"children":131},{"style":52},[132],{"type":25,"value":133},");\n",{"type":20,"tag":32,"props":135,"children":140},{"className":136,"code":137,"filename":138,"language":139,"meta":38,"style":38},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn get_memory_fd_khr(\n device: vk::Device,\n p_get_fd_info: *const vk::MemoryGetFdInfoKHR,\n p_fd: *mut i32,\n) -> vk::Result;\n","Rust","rs",[141],{"type":20,"tag":41,"props":142,"children":143},{"__ignoreMap":38},[144,166,198,232,258],{"type":20,"tag":45,"props":145,"children":146},{"class":47,"line":48},[147,152,157,162],{"type":20,"tag":45,"props":148,"children":149},{"style":92},[150],{"type":25,"value":151},"pub",{"type":20,"tag":45,"props":153,"children":154},{"style":92},[155],{"type":25,"value":156}," fn",{"type":20,"tag":45,"props":158,"children":159},{"style":58},[160],{"type":25,"value":161}," get_memory_fd_khr",{"type":20,"tag":45,"props":163,"children":164},{"style":52},[165],{"type":25,"value":65},{"type":20,"tag":45,"props":167,"children":168},{"class":47,"line":68},[169,174,179,184,189,194],{"type":20,"tag":45,"props":170,"children":171},{"style":52},[172],{"type":25,"value":173}," device",{"type":20,"tag":45,"props":175,"children":176},{"style":92},[177],{"type":25,"value":178},":",{"type":20,"tag":45,"props":180,"children":181},{"style":77},[182],{"type":25,"value":183}," vk",{"type":20,"tag":45,"props":185,"children":186},{"style":92},[187],{"type":25,"value":188},"::",{"type":20,"tag":45,"props":190,"children":191},{"style":77},[192],{"type":25,"value":193},"Device",{"type":20,"tag":45,"props":195,"children":196},{"style":52},[197],{"type":25,"value":85},{"type":20,"tag":45,"props":199,"children":200},{"class":47,"line":88},[201,206,210,215,219,223,228],{"type":20,"tag":45,"props":202,"children":203},{"style":52},[204],{"type":25,"value":205}," p_get_fd_info",{"type":20,"tag":45,"props":207,"children":208},{"style":92},[209],{"type":25,"value":178},{"type":20,"tag":45,"props":211,"children":212},{"style":92},[213],{"type":25,"value":214}," *const",{"type":20,"tag":45,"props":216,"children":217},{"style":77},[218],{"type":25,"value":183},{"type":20,"tag":45,"props":220,"children":221},{"style":92},[222],{"type":25,"value":188},{"type":20,"tag":45,"props":224,"children":225},{"style":77},[226],{"type":25,"value":227},"MemoryGetFdInfoKHR",{"type":20,"tag":45,"props":229,"children":230},{"style":52},[231],{"type":25,"value":85},{"type":20,"tag":45,"props":233,"children":234},{"class":47,"line":117},[235,240,244,249,254],{"type":20,"tag":45,"props":236,"children":237},{"style":52},[238],{"type":25,"value":239}," p_fd",{"type":20,"tag":45,"props":241,"children":242},{"style":92},[243],{"type":25,"value":178},{"type":20,"tag":45,"props":245,"children":246},{"style":92},[247],{"type":25,"value":248}," *mut",{"type":20,"tag":45,"props":250,"children":251},{"style":77},[252],{"type":25,"value":253}," i32",{"type":20,"tag":45,"props":255,"children":256},{"style":52},[257],{"type":25,"value":85},{"type":20,"tag":45,"props":259,"children":261},{"class":47,"line":260},5,[262,267,272,276,280,285],{"type":20,"tag":45,"props":263,"children":264},{"style":52},[265],{"type":25,"value":266},") ",{"type":20,"tag":45,"props":268,"children":269},{"style":92},[270],{"type":25,"value":271},"->",{"type":20,"tag":45,"props":273,"children":274},{"style":77},[275],{"type":25,"value":183},{"type":20,"tag":45,"props":277,"children":278},{"style":92},[279],{"type":25,"value":188},{"type":20,"tag":45,"props":281,"children":282},{"style":77},[283],{"type":25,"value":284},"Result",{"type":20,"tag":45,"props":286,"children":287},{"style":52},[288],{"type":25,"value":289},";\n",{"type":20,"tag":291,"props":292,"children":293},"ul",{},[294,305,325],{"type":20,"tag":295,"props":296,"children":297},"li",{},[298,303],{"type":20,"tag":41,"props":299,"children":301},{"className":300},[],[302],{"type":25,"value":80},{"type":25,"value":304}," is the logical device that created the device memory being\nexported.",{"type":20,"tag":295,"props":306,"children":307},{},[308,314,316,323],{"type":20,"tag":41,"props":309,"children":311},{"className":310},[],[312],{"type":25,"value":313},"pGetFdInfo",{"type":25,"value":315}," is a pointer to a ",{"type":20,"tag":317,"props":318,"children":320},"a",{"href":319},"\u002Fman\u002FVkMemoryGetFdInfoKHR",[321],{"type":25,"value":322},"VkMemoryGetFdInfoKHR",{"type":25,"value":324}," structure\ncontaining parameters of the export operation.",{"type":20,"tag":295,"props":326,"children":327},{},[328,334],{"type":20,"tag":41,"props":329,"children":331},{"className":330},[],[332],{"type":25,"value":333},"pFd",{"type":25,"value":335}," will return a file descriptor referencing the payload of the\ndevice memory object.",{"type":20,"tag":21,"props":337,"children":338},{},[339,341,346,348,353,355,358,360,366,368,371,373,379],{"type":25,"value":340},"Each call to ",{"type":20,"tag":41,"props":342,"children":344},{"className":343},[],[345],{"type":25,"value":4},{"type":25,"value":347}," ",{"type":20,"tag":349,"props":350,"children":352},"normative",{"type":351},"must",[],{"type":25,"value":354}," create a new file descriptor\nholding a reference to the memory object’s payload and transfer ownership of\nthe file descriptor to the application.\nTo avoid leaking resources, the application ",{"type":20,"tag":349,"props":356,"children":357},{"type":351},[],{"type":25,"value":359}," release ownership of the\nfile descriptor using the ",{"type":20,"tag":41,"props":361,"children":363},{"className":362},[],[364],{"type":25,"value":365},"close",{"type":25,"value":367}," system call when it is no longer\nneeded, or by importing a Vulkan memory object from it.\nWhere supported by the operating system, the implementation ",{"type":20,"tag":349,"props":369,"children":370},{"type":351},[],{"type":25,"value":372}," set the\nfile descriptor to be closed automatically when an ",{"type":20,"tag":41,"props":374,"children":376},{"className":375},[],[377],{"type":25,"value":378},"execve",{"type":25,"value":380}," system call\nis made.",{"type":20,"tag":382,"props":383,"children":385},"validity-group",{"name":384},"Valid Usage (Implicit)",[386,413,437],{"type":20,"tag":387,"props":388,"children":390},"validity-field",{"name":389},"VUID-vkGetMemoryFdKHR-device-parameter",[391],{"type":20,"tag":21,"props":392,"children":393},{},[394,399,400,403,405,411],{"type":20,"tag":41,"props":395,"children":397},{"className":396},[],[398],{"type":25,"value":80},{"type":25,"value":347},{"type":20,"tag":349,"props":401,"children":402},{"type":351},[],{"type":25,"value":404}," be a valid ",{"type":20,"tag":317,"props":406,"children":408},{"href":407},"\u002Fman\u002FVkDevice",[409],{"type":25,"value":410},"VkDevice",{"type":25,"value":412}," handle",{"type":20,"tag":387,"props":414,"children":416},{"name":415},"VUID-vkGetMemoryFdKHR-pGetFdInfo-parameter",[417],{"type":20,"tag":21,"props":418,"children":419},{},[420,425,426,429,431,435],{"type":20,"tag":41,"props":421,"children":423},{"className":422},[],[424],{"type":25,"value":313},{"type":25,"value":347},{"type":20,"tag":349,"props":427,"children":428},{"type":351},[],{"type":25,"value":430}," be a valid pointer to a valid ",{"type":20,"tag":317,"props":432,"children":433},{"href":319},[434],{"type":25,"value":322},{"type":25,"value":436}," structure",{"type":20,"tag":387,"props":438,"children":440},{"name":439},"VUID-vkGetMemoryFdKHR-pFd-parameter",[441],{"type":20,"tag":21,"props":442,"children":443},{},[444,449,450,453,455,461],{"type":20,"tag":41,"props":445,"children":447},{"className":446},[],[448],{"type":25,"value":333},{"type":25,"value":347},{"type":20,"tag":349,"props":451,"children":452},{"type":351},[],{"type":25,"value":454}," be a valid pointer to an ",{"type":20,"tag":41,"props":456,"children":458},{"className":457},[],[459],{"type":25,"value":460},"int",{"type":25,"value":462}," value",{"type":20,"tag":464,"props":465,"children":466},"style",{},[467],{"type":25,"value":468},"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":38,"searchDepth":68,"depth":68,"links":470},[],"markdown",1788526131963]