[{"data":1,"prerenderedAt":656},["ShallowReactive",2],{"fyH1Pe1dGt":3},{"title":4,"description":5,"parent":6,"cmd_buf_level":7,"render_pass_scope":10,"supported_queue_types":11,"tasks":13,"type":15,"xrefs":16,"body":17,"_type":655,"_id":4},"vkCmdCopyAccelerationStructureKHR","Copy an acceleration structure","VK_KHR_acceleration_structure",[8,9],"primary","secondary","outside",[12],"compute",[14],"action","protos",[],{"type":18,"children":19,"toc":653},"root",[20,28,224,259,288,328,345,378,468,601,647],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":26,"value":27},"text","To copy an acceleration structure call:",{"type":21,"tag":29,"props":30,"children":31},"code-group",{},[32,118],{"type":21,"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","void vkCmdCopyAccelerationStructureKHR(\n VkCommandBuffer commandBuffer,\n const VkCopyAccelerationStructureInfoKHR* pInfo);\n","C","c","",[41],{"type":21,"tag":42,"props":43,"children":44},"code",{"__ignoreMap":39},[45,69,89],{"type":21,"tag":46,"props":47,"children":50},"span",{"class":48,"line":49},"line",1,[51,57,63],{"type":21,"tag":46,"props":52,"children":54},{"style":53},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[55],{"type":26,"value":56},"void",{"type":21,"tag":46,"props":58,"children":60},{"style":59},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[61],{"type":26,"value":62}," vkCmdCopyAccelerationStructureKHR",{"type":21,"tag":46,"props":64,"children":66},{"style":65},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[67],{"type":26,"value":68},"(\n",{"type":21,"tag":46,"props":70,"children":72},{"class":48,"line":71},2,[73,78,84],{"type":21,"tag":46,"props":74,"children":75},{"style":65},[76],{"type":26,"value":77}," VkCommandBuffer ",{"type":21,"tag":46,"props":79,"children":81},{"style":80},"--shiki-default:#953800;--shiki-dark:#FFA657",[82],{"type":26,"value":83},"commandBuffer",{"type":21,"tag":46,"props":85,"children":86},{"style":65},[87],{"type":26,"value":88},",\n",{"type":21,"tag":46,"props":90,"children":92},{"class":48,"line":91},3,[93,98,103,108,113],{"type":21,"tag":46,"props":94,"children":95},{"style":53},[96],{"type":26,"value":97}," const",{"type":21,"tag":46,"props":99,"children":100},{"style":65},[101],{"type":26,"value":102}," VkCopyAccelerationStructureInfoKHR",{"type":21,"tag":46,"props":104,"children":105},{"style":53},[106],{"type":26,"value":107},"*",{"type":21,"tag":46,"props":109,"children":110},{"style":80},[111],{"type":26,"value":112}," pInfo",{"type":21,"tag":46,"props":114,"children":115},{"style":65},[116],{"type":26,"value":117},");\n",{"type":21,"tag":33,"props":119,"children":124},{"className":120,"code":121,"filename":122,"language":123,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_copy_acceleration_structure_khr(\n command_buffer: vk::CommandBuffer,\n p_info: *const vk::CopyAccelerationStructureInfoKHR,\n);\n","Rust","rs",[125],{"type":21,"tag":42,"props":126,"children":127},{"__ignoreMap":39},[128,150,182,216],{"type":21,"tag":46,"props":129,"children":130},{"class":48,"line":49},[131,136,141,146],{"type":21,"tag":46,"props":132,"children":133},{"style":53},[134],{"type":26,"value":135},"pub",{"type":21,"tag":46,"props":137,"children":138},{"style":53},[139],{"type":26,"value":140}," fn",{"type":21,"tag":46,"props":142,"children":143},{"style":59},[144],{"type":26,"value":145}," cmd_copy_acceleration_structure_khr",{"type":21,"tag":46,"props":147,"children":148},{"style":65},[149],{"type":26,"value":68},{"type":21,"tag":46,"props":151,"children":152},{"class":48,"line":71},[153,158,163,168,173,178],{"type":21,"tag":46,"props":154,"children":155},{"style":65},[156],{"type":26,"value":157}," command_buffer",{"type":21,"tag":46,"props":159,"children":160},{"style":53},[161],{"type":26,"value":162},":",{"type":21,"tag":46,"props":164,"children":165},{"style":80},[166],{"type":26,"value":167}," vk",{"type":21,"tag":46,"props":169,"children":170},{"style":53},[171],{"type":26,"value":172},"::",{"type":21,"tag":46,"props":174,"children":175},{"style":80},[176],{"type":26,"value":177},"CommandBuffer",{"type":21,"tag":46,"props":179,"children":180},{"style":65},[181],{"type":26,"value":88},{"type":21,"tag":46,"props":183,"children":184},{"class":48,"line":91},[185,190,194,199,203,207,212],{"type":21,"tag":46,"props":186,"children":187},{"style":65},[188],{"type":26,"value":189}," p_info",{"type":21,"tag":46,"props":191,"children":192},{"style":53},[193],{"type":26,"value":162},{"type":21,"tag":46,"props":195,"children":196},{"style":53},[197],{"type":26,"value":198}," *const",{"type":21,"tag":46,"props":200,"children":201},{"style":80},[202],{"type":26,"value":167},{"type":21,"tag":46,"props":204,"children":205},{"style":53},[206],{"type":26,"value":172},{"type":21,"tag":46,"props":208,"children":209},{"style":80},[210],{"type":26,"value":211},"CopyAccelerationStructureInfoKHR",{"type":21,"tag":46,"props":213,"children":214},{"style":65},[215],{"type":26,"value":88},{"type":21,"tag":46,"props":217,"children":219},{"class":48,"line":218},4,[220],{"type":21,"tag":46,"props":221,"children":222},{"style":65},[223],{"type":26,"value":117},{"type":21,"tag":225,"props":226,"children":227},"ul",{},[228,239],{"type":21,"tag":229,"props":230,"children":231},"li",{},[232,237],{"type":21,"tag":42,"props":233,"children":235},{"className":234},[],[236],{"type":26,"value":83},{"type":26,"value":238}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":229,"props":240,"children":241},{},[242,248,250,257],{"type":21,"tag":42,"props":243,"children":245},{"className":244},[],[246],{"type":26,"value":247},"pInfo",{"type":26,"value":249}," is a pointer to a ",{"type":21,"tag":251,"props":252,"children":254},"a",{"href":253},"/man/VkCopyAccelerationStructureInfoKHR",[255],{"type":26,"value":256},"VkCopyAccelerationStructureInfoKHR",{"type":26,"value":258},"\nstructure defining the copy operation.",{"type":21,"tag":22,"props":260,"children":261},{},[262,264,270,272,278,280,286],{"type":26,"value":263},"This command copies the ",{"type":21,"tag":42,"props":265,"children":267},{"className":266},[],[268],{"type":26,"value":269},"pInfo→src",{"type":26,"value":271}," acceleration structure to the\n",{"type":21,"tag":42,"props":273,"children":275},{"className":274},[],[276],{"type":26,"value":277},"pInfo→dst",{"type":26,"value":279}," acceleration structure in the manner specified by\n",{"type":21,"tag":42,"props":281,"children":283},{"className":282},[],[284],{"type":26,"value":285},"pInfo→mode",{"type":26,"value":287},".",{"type":21,"tag":22,"props":289,"children":290},{},[291,293,298,300,305,307,312,314,320,322],{"type":26,"value":292},"Accesses to ",{"type":21,"tag":42,"props":294,"children":296},{"className":295},[],[297],{"type":26,"value":269},{"type":26,"value":299}," and ",{"type":21,"tag":42,"props":301,"children":303},{"className":302},[],[304],{"type":26,"value":277},{"type":26,"value":306}," ",{"type":21,"tag":308,"props":309,"children":311},"normative",{"type":310},"must",[],{"type":26,"value":313}," be\n",{"type":21,"tag":251,"props":315,"children":317},{"href":316},"/chapters/synchronization#synchronization-dependencies",[318],{"type":26,"value":319},"synchronized",{"type":26,"value":321}," with the\n",{"type":21,"tag":42,"props":323,"children":325},{"className":324},[],[326],{"type":26,"value":327},"VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR",{"type":21,"tag":22,"props":329,"children":330},{},[331,337,339],{"type":21,"tag":251,"props":332,"children":334},{"href":333},"/chapters/synchronization#synchronization-pipeline-stages",[335],{"type":26,"value":336},"pipeline stage",{"type":26,"value":338}," or the\n",{"type":21,"tag":42,"props":340,"children":342},{"className":341},[],[343],{"type":26,"value":344},"VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR",{"type":21,"tag":22,"props":346,"children":347},{},[348,352,354,360,362,368,370,376],{"type":21,"tag":251,"props":349,"children":350},{"href":333},[351],{"type":26,"value":336},{"type":26,"value":353},", and an\n",{"type":21,"tag":251,"props":355,"children":357},{"href":356},"/chapters/synchronization#synchronization-access-types",[358],{"type":26,"value":359},"access type",{"type":26,"value":361}," of\n",{"type":21,"tag":42,"props":363,"children":365},{"className":364},[],[366],{"type":26,"value":367},"VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR",{"type":26,"value":369}," or\n",{"type":21,"tag":42,"props":371,"children":373},{"className":372},[],[374],{"type":26,"value":375},"VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR",{"type":26,"value":377}," as appropriate.",{"type":21,"tag":379,"props":380,"children":382},"validity-group",{"name":381},"Valid Usage",[383,417,444],{"type":21,"tag":384,"props":385,"children":387},"validity-field",{"name":386},"VUID-vkCmdCopyAccelerationStructureKHR-accelerationStructure-08925",[388],{"type":21,"tag":22,"props":389,"children":390},{},[391,393,410,412,415],{"type":26,"value":392},"The ",{"type":21,"tag":251,"props":394,"children":396},{"href":395},"/man/VkPhysicalDeviceAccelerationStructureFeaturesKHR#features-accelerationStructure",[397,403,404],{"type":21,"tag":42,"props":398,"children":400},{"className":399},[],[401],{"type":26,"value":402},"VkPhysicalDeviceAccelerationStructureFeaturesKHR",{"type":26,"value":172},{"type":21,"tag":42,"props":405,"children":407},{"className":406},[],[408],{"type":26,"value":409},"accelerationStructure",{"type":26,"value":411},"\nfeature ",{"type":21,"tag":308,"props":413,"children":414},{"type":310},[],{"type":26,"value":416}," be enabled",{"type":21,"tag":384,"props":418,"children":420},{"name":419},"VUID-vkCmdCopyAccelerationStructureKHR-buffer-03737",[421],{"type":21,"tag":22,"props":422,"children":423},{},[424,425,431,433,438,439,442],{"type":26,"value":392},{"type":21,"tag":42,"props":426,"children":428},{"className":427},[],[429],{"type":26,"value":430},"buffer",{"type":26,"value":432}," used to create ",{"type":21,"tag":42,"props":434,"children":436},{"className":435},[],[437],{"type":26,"value":269},{"type":26,"value":306},{"type":21,"tag":308,"props":440,"children":441},{"type":310},[],{"type":26,"value":443}," be bound to\ndevice memory",{"type":21,"tag":384,"props":445,"children":447},{"name":446},"VUID-vkCmdCopyAccelerationStructureKHR-buffer-03738",[448],{"type":21,"tag":22,"props":449,"children":450},{},[451,452,457,458,463,464,467],{"type":26,"value":392},{"type":21,"tag":42,"props":453,"children":455},{"className":454},[],[456],{"type":26,"value":430},{"type":26,"value":432},{"type":21,"tag":42,"props":459,"children":461},{"className":460},[],[462],{"type":26,"value":277},{"type":26,"value":306},{"type":21,"tag":308,"props":465,"children":466},{"type":310},[],{"type":26,"value":443},{"type":21,"tag":379,"props":469,"children":471},{"name":470},"Valid Usage (Implicit)",[472,498,522,546,574,588],{"type":21,"tag":384,"props":473,"children":475},{"name":474},"VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-parameter",[476],{"type":21,"tag":22,"props":477,"children":478},{},[479,484,485,488,490,496],{"type":21,"tag":42,"props":480,"children":482},{"className":481},[],[483],{"type":26,"value":83},{"type":26,"value":306},{"type":21,"tag":308,"props":486,"children":487},{"type":310},[],{"type":26,"value":489}," be a valid ",{"type":21,"tag":251,"props":491,"children":493},{"href":492},"/man/VkCommandBuffer",[494],{"type":26,"value":495},"VkCommandBuffer",{"type":26,"value":497}," handle",{"type":21,"tag":384,"props":499,"children":501},{"name":500},"VUID-vkCmdCopyAccelerationStructureKHR-pInfo-parameter",[502],{"type":21,"tag":22,"props":503,"children":504},{},[505,510,511,514,516,520],{"type":21,"tag":42,"props":506,"children":508},{"className":507},[],[509],{"type":26,"value":247},{"type":26,"value":306},{"type":21,"tag":308,"props":512,"children":513},{"type":310},[],{"type":26,"value":515}," be a valid pointer to a valid ",{"type":21,"tag":251,"props":517,"children":518},{"href":253},[519],{"type":26,"value":256},{"type":26,"value":521}," structure",{"type":21,"tag":384,"props":523,"children":525},{"name":524},"VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-recording",[526],{"type":21,"tag":22,"props":527,"children":528},{},[529,534,535,538,540],{"type":21,"tag":42,"props":530,"children":532},{"className":531},[],[533],{"type":26,"value":83},{"type":26,"value":306},{"type":21,"tag":308,"props":536,"children":537},{"type":310},[],{"type":26,"value":539}," be in the ",{"type":21,"tag":251,"props":541,"children":543},{"href":542},"/chapters/commandbuffers#commandbuffers-lifecycle",[544],{"type":26,"value":545},"recording state",{"type":21,"tag":384,"props":547,"children":549},{"name":548},"VUID-vkCmdCopyAccelerationStructureKHR-commandBuffer-cmdpool",[550],{"type":21,"tag":22,"props":551,"children":552},{},[553,554,560,562,567,569,572],{"type":26,"value":392},{"type":21,"tag":42,"props":555,"children":557},{"className":556},[],[558],{"type":26,"value":559},"VkCommandPool",{"type":26,"value":561}," that ",{"type":21,"tag":42,"props":563,"children":565},{"className":564},[],[566],{"type":26,"value":83},{"type":26,"value":568}," was allocated from ",{"type":21,"tag":308,"props":570,"children":571},{"type":310},[],{"type":26,"value":573}," support compute operations",{"type":21,"tag":384,"props":575,"children":577},{"name":576},"VUID-vkCmdCopyAccelerationStructureKHR-renderpass",[578],{"type":21,"tag":22,"props":579,"children":580},{},[581,583,586],{"type":26,"value":582},"This command ",{"type":21,"tag":308,"props":584,"children":585},{"type":310},[],{"type":26,"value":587}," only be called outside of a render pass instance",{"type":21,"tag":384,"props":589,"children":591},{"name":590},"VUID-vkCmdCopyAccelerationStructureKHR-videocoding",[592],{"type":21,"tag":22,"props":593,"children":594},{},[595,596,599],{"type":26,"value":582},{"type":21,"tag":308,"props":597,"children":598},{"type":310},[],{"type":26,"value":600}," only be called outside of a video coding scope",{"type":21,"tag":602,"props":603,"children":605},"validity-box",{"name":604},"Host Synchronization",[606],{"type":21,"tag":225,"props":607,"children":608},{},[609,625],{"type":21,"tag":229,"props":610,"children":611},{},[612,614,619,620,623],{"type":26,"value":613},"Host access to ",{"type":21,"tag":42,"props":615,"children":617},{"className":616},[],[618],{"type":26,"value":83},{"type":26,"value":306},{"type":21,"tag":308,"props":621,"children":622},{"type":310},[],{"type":26,"value":624}," be externally synchronized",{"type":21,"tag":229,"props":626,"children":627},{},[628,630,635,636,641,642,645],{"type":26,"value":629},"Host access to the ",{"type":21,"tag":42,"props":631,"children":633},{"className":632},[],[634],{"type":26,"value":559},{"type":26,"value":561},{"type":21,"tag":42,"props":637,"children":639},{"className":638},[],[640],{"type":26,"value":83},{"type":26,"value":568},{"type":21,"tag":308,"props":643,"children":644},{"type":310},[],{"type":26,"value":646}," be externally synchronized\n::",{"type":21,"tag":648,"props":649,"children":650},"style",{},[651],{"type":26,"value":652},"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":71,"depth":71,"links":654},[],"markdown",1725732598619]