[{"data":1,"prerenderedAt":474},["ShallowReactive",2],{"w8giFDV5lC":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":473,"_id":4},"vkCmdCopyBuffer2","Copy data between buffer regions","VK_VERSION_1_3","protos",[],{"type":10,"children":11,"toc":471},"root",[12,20,216,251,280,419,465],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","To copy data between buffer objects, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,110],{"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","void vkCmdCopyBuffer2KHR(\n VkCommandBuffer commandBuffer,\n const VkCopyBufferInfo2* pCopyBufferInfo);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,61,81],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,55],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[47],{"type":18,"value":48},"void",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":54}," vkCmdCopyBuffer2KHR",{"type":13,"tag":38,"props":56,"children":58},{"style":57},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[59],{"type":18,"value":60},"(\n",{"type":13,"tag":38,"props":62,"children":64},{"class":40,"line":63},2,[65,70,76],{"type":13,"tag":38,"props":66,"children":67},{"style":57},[68],{"type":18,"value":69}," VkCommandBuffer ",{"type":13,"tag":38,"props":71,"children":73},{"style":72},"--shiki-default:#953800;--shiki-dark:#FFA657",[74],{"type":18,"value":75},"commandBuffer",{"type":13,"tag":38,"props":77,"children":78},{"style":57},[79],{"type":18,"value":80},",\n",{"type":13,"tag":38,"props":82,"children":84},{"class":40,"line":83},3,[85,90,95,100,105],{"type":13,"tag":38,"props":86,"children":87},{"style":45},[88],{"type":18,"value":89}," const",{"type":13,"tag":38,"props":91,"children":92},{"style":57},[93],{"type":18,"value":94}," VkCopyBufferInfo2",{"type":13,"tag":38,"props":96,"children":97},{"style":45},[98],{"type":18,"value":99},"*",{"type":13,"tag":38,"props":101,"children":102},{"style":72},[103],{"type":18,"value":104}," pCopyBufferInfo",{"type":13,"tag":38,"props":106,"children":107},{"style":57},[108],{"type":18,"value":109},");\n",{"type":13,"tag":25,"props":111,"children":116},{"className":112,"code":113,"filename":114,"language":115,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_copy_buffer2_khr(\n command_buffer: vk::CommandBuffer,\n p_copy_buffer_info: *const vk::CopyBufferInfo2,\n);\n","Rust","rs",[117],{"type":13,"tag":34,"props":118,"children":119},{"__ignoreMap":31},[120,142,174,208],{"type":13,"tag":38,"props":121,"children":122},{"class":40,"line":41},[123,128,133,138],{"type":13,"tag":38,"props":124,"children":125},{"style":45},[126],{"type":18,"value":127},"pub",{"type":13,"tag":38,"props":129,"children":130},{"style":45},[131],{"type":18,"value":132}," fn",{"type":13,"tag":38,"props":134,"children":135},{"style":51},[136],{"type":18,"value":137}," cmd_copy_buffer2_khr",{"type":13,"tag":38,"props":139,"children":140},{"style":57},[141],{"type":18,"value":60},{"type":13,"tag":38,"props":143,"children":144},{"class":40,"line":63},[145,150,155,160,165,170],{"type":13,"tag":38,"props":146,"children":147},{"style":57},[148],{"type":18,"value":149}," command_buffer",{"type":13,"tag":38,"props":151,"children":152},{"style":45},[153],{"type":18,"value":154},":",{"type":13,"tag":38,"props":156,"children":157},{"style":72},[158],{"type":18,"value":159}," vk",{"type":13,"tag":38,"props":161,"children":162},{"style":45},[163],{"type":18,"value":164},"::",{"type":13,"tag":38,"props":166,"children":167},{"style":72},[168],{"type":18,"value":169},"CommandBuffer",{"type":13,"tag":38,"props":171,"children":172},{"style":57},[173],{"type":18,"value":80},{"type":13,"tag":38,"props":175,"children":176},{"class":40,"line":83},[177,182,186,191,195,199,204],{"type":13,"tag":38,"props":178,"children":179},{"style":57},[180],{"type":18,"value":181}," p_copy_buffer_info",{"type":13,"tag":38,"props":183,"children":184},{"style":45},[185],{"type":18,"value":154},{"type":13,"tag":38,"props":187,"children":188},{"style":45},[189],{"type":18,"value":190}," *const",{"type":13,"tag":38,"props":192,"children":193},{"style":72},[194],{"type":18,"value":159},{"type":13,"tag":38,"props":196,"children":197},{"style":45},[198],{"type":18,"value":164},{"type":13,"tag":38,"props":200,"children":201},{"style":72},[202],{"type":18,"value":203},"CopyBufferInfo2",{"type":13,"tag":38,"props":205,"children":206},{"style":57},[207],{"type":18,"value":80},{"type":13,"tag":38,"props":209,"children":211},{"class":40,"line":210},4,[212],{"type":13,"tag":38,"props":213,"children":214},{"style":57},[215],{"type":18,"value":109},{"type":13,"tag":217,"props":218,"children":219},"ul",{},[220,231],{"type":13,"tag":221,"props":222,"children":223},"li",{},[224,229],{"type":13,"tag":34,"props":225,"children":227},{"className":226},[],[228],{"type":18,"value":75},{"type":18,"value":230}," is the command buffer into which the command will be\nrecorded.",{"type":13,"tag":221,"props":232,"children":233},{},[234,240,242,249],{"type":13,"tag":34,"props":235,"children":237},{"className":236},[],[238],{"type":18,"value":239},"pCopyBufferInfo",{"type":18,"value":241}," is a pointer to a ",{"type":13,"tag":243,"props":244,"children":246},"a",{"href":245},"/man/VkCopyBufferInfo2",[247],{"type":18,"value":248},"VkCopyBufferInfo2",{"type":18,"value":250},"\nstructure describing the copy parameters.",{"type":13,"tag":14,"props":252,"children":253},{},[254,256,262,264,270,272,278],{"type":18,"value":255},"Each source region specified by ",{"type":13,"tag":34,"props":257,"children":259},{"className":258},[],[260],{"type":18,"value":261},"pCopyBufferInfo→pRegions",{"type":18,"value":263}," is copied\nfrom the source buffer to the destination region of the destination buffer.\nIf any of the specified regions in ",{"type":13,"tag":34,"props":265,"children":267},{"className":266},[],[268],{"type":18,"value":269},"pCopyBufferInfo→srcBuffer",{"type":18,"value":271}," overlaps\nin memory with any of the specified regions in\n",{"type":13,"tag":34,"props":273,"children":275},{"className":274},[],[276],{"type":18,"value":277},"pCopyBufferInfo→dstBuffer",{"type":18,"value":279},", values read from those overlapping regions\nare undefined:.",{"type":13,"tag":281,"props":282,"children":284},"validity-group",{"name":283},"Valid Usage (Implicit)",[285,315,339,363,392,406],{"type":13,"tag":286,"props":287,"children":289},"validity-field",{"name":288},"VUID-vkCmdCopyBuffer2-commandBuffer-parameter",[290],{"type":13,"tag":14,"props":291,"children":292},{},[293,298,300,305,307,313],{"type":13,"tag":34,"props":294,"children":296},{"className":295},[],[297],{"type":18,"value":75},{"type":18,"value":299}," ",{"type":13,"tag":301,"props":302,"children":304},"normative",{"type":303},"must",[],{"type":18,"value":306}," be a valid ",{"type":13,"tag":243,"props":308,"children":310},{"href":309},"/man/VkCommandBuffer",[311],{"type":18,"value":312},"VkCommandBuffer",{"type":18,"value":314}," handle",{"type":13,"tag":286,"props":316,"children":318},{"name":317},"VUID-vkCmdCopyBuffer2-pCopyBufferInfo-parameter",[319],{"type":13,"tag":14,"props":320,"children":321},{},[322,327,328,331,333,337],{"type":13,"tag":34,"props":323,"children":325},{"className":324},[],[326],{"type":18,"value":239},{"type":18,"value":299},{"type":13,"tag":301,"props":329,"children":330},{"type":303},[],{"type":18,"value":332}," be a valid pointer to a valid ",{"type":13,"tag":243,"props":334,"children":335},{"href":245},[336],{"type":18,"value":248},{"type":18,"value":338}," structure",{"type":13,"tag":286,"props":340,"children":342},{"name":341},"VUID-vkCmdCopyBuffer2-commandBuffer-recording",[343],{"type":13,"tag":14,"props":344,"children":345},{},[346,351,352,355,357],{"type":13,"tag":34,"props":347,"children":349},{"className":348},[],[350],{"type":18,"value":75},{"type":18,"value":299},{"type":13,"tag":301,"props":353,"children":354},{"type":303},[],{"type":18,"value":356}," be in the ",{"type":13,"tag":243,"props":358,"children":360},{"href":359},"/chapters/commandbuffers#commandbuffers-lifecycle",[361],{"type":18,"value":362},"recording state",{"type":13,"tag":286,"props":364,"children":366},{"name":365},"VUID-vkCmdCopyBuffer2-commandBuffer-cmdpool",[367],{"type":13,"tag":14,"props":368,"children":369},{},[370,372,378,380,385,387,390],{"type":18,"value":371},"The ",{"type":13,"tag":34,"props":373,"children":375},{"className":374},[],[376],{"type":18,"value":377},"VkCommandPool",{"type":18,"value":379}," that ",{"type":13,"tag":34,"props":381,"children":383},{"className":382},[],[384],{"type":18,"value":75},{"type":18,"value":386}," was allocated from ",{"type":13,"tag":301,"props":388,"children":389},{"type":303},[],{"type":18,"value":391}," support transfer, graphics, or compute operations",{"type":13,"tag":286,"props":393,"children":395},{"name":394},"VUID-vkCmdCopyBuffer2-renderpass",[396],{"type":13,"tag":14,"props":397,"children":398},{},[399,401,404],{"type":18,"value":400},"This command ",{"type":13,"tag":301,"props":402,"children":403},{"type":303},[],{"type":18,"value":405}," only be called outside of a render pass instance",{"type":13,"tag":286,"props":407,"children":409},{"name":408},"VUID-vkCmdCopyBuffer2-videocoding",[410],{"type":13,"tag":14,"props":411,"children":412},{},[413,414,417],{"type":18,"value":400},{"type":13,"tag":301,"props":415,"children":416},{"type":303},[],{"type":18,"value":418}," only be called outside of a video coding scope",{"type":13,"tag":420,"props":421,"children":423},"validity-box",{"name":422},"Host Synchronization",[424],{"type":13,"tag":217,"props":425,"children":426},{},[427,443],{"type":13,"tag":221,"props":428,"children":429},{},[430,432,437,438,441],{"type":18,"value":431},"Host access to ",{"type":13,"tag":34,"props":433,"children":435},{"className":434},[],[436],{"type":18,"value":75},{"type":18,"value":299},{"type":13,"tag":301,"props":439,"children":440},{"type":303},[],{"type":18,"value":442}," be externally synchronized",{"type":13,"tag":221,"props":444,"children":445},{},[446,448,453,454,459,460,463],{"type":18,"value":447},"Host access to the ",{"type":13,"tag":34,"props":449,"children":451},{"className":450},[],[452],{"type":18,"value":377},{"type":18,"value":379},{"type":13,"tag":34,"props":455,"children":457},{"className":456},[],[458],{"type":18,"value":75},{"type":18,"value":386},{"type":13,"tag":301,"props":461,"children":462},{"type":303},[],{"type":18,"value":464}," be externally synchronized\n::",{"type":13,"tag":466,"props":467,"children":468},"style",{},[469],{"type":18,"value":470},"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":63,"depth":63,"links":472},[],"markdown",1725732598845]