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