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