[{"data":1,"prerenderedAt":664},["ShallowReactive",2],{"8tYNlxHv4K":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":663,"_id":4},"vkCmdCopyMemoryToMicromapEXT","Copy device memory to a micromap","VK_EXT_opacity_micromap",[8,9],"primary","secondary","outside",[12],"compute",[14],"action","protos",[],{"type":18,"children":19,"toc":661},"root",[20,28,224,259,293,347,367,474,609,655],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":26,"value":27},"text","To copy device memory to a micromap 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 vkCmdCopyMemoryToMicromapEXT(\n VkCommandBuffer commandBuffer,\n const VkCopyMemoryToMicromapInfoEXT* 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}," vkCmdCopyMemoryToMicromapEXT",{"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}," VkCopyMemoryToMicromapInfoEXT",{"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_memory_to_micromap_ext(\n command_buffer: vk::CommandBuffer,\n p_info: *const vk::CopyMemoryToMicromapInfoEXT,\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_memory_to_micromap_ext",{"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},"CopyMemoryToMicromapInfoEXT",{"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/VkCopyMicromapToMemoryInfoEXT",[255],{"type":26,"value":256},"VkCopyMicromapToMemoryInfoEXT",{"type":26,"value":258},"\nstructure defining the copy operation.",{"type":21,"tag":22,"props":260,"children":261},{},[262,264,270,272,277,279,285,287],{"type":26,"value":263},"Accesses to ",{"type":21,"tag":42,"props":265,"children":267},{"className":266},[],[268],{"type":26,"value":269},"pInfo→dst",{"type":26,"value":271}," ",{"type":21,"tag":273,"props":274,"children":276},"normative",{"type":275},"must",[],{"type":26,"value":278}," be ",{"type":21,"tag":251,"props":280,"children":282},{"href":281},"/chapters/synchronization#synchronization-dependencies",[283],{"type":26,"value":284},"synchronized",{"type":26,"value":286}," with the ",{"type":21,"tag":42,"props":288,"children":290},{"className":289},[],[291],{"type":26,"value":292},"VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT",{"type":21,"tag":22,"props":294,"children":295},{},[296,302,304,310,312,318,320,326,327,330,332,337,339,345],{"type":21,"tag":251,"props":297,"children":299},{"href":298},"/chapters/synchronization#synchronization-pipeline-stages",[300],{"type":26,"value":301},"pipeline stage",{"type":26,"value":303}," and an\n",{"type":21,"tag":251,"props":305,"children":307},{"href":306},"/chapters/synchronization#synchronization-access-types",[308],{"type":26,"value":309},"access type",{"type":26,"value":311}," of\n",{"type":21,"tag":42,"props":313,"children":315},{"className":314},[],[316],{"type":26,"value":317},"VK_ACCESS_2_MICROMAP_READ_BIT_EXT",{"type":26,"value":319},".\nAccesses to the buffer indicated by ",{"type":21,"tag":42,"props":321,"children":323},{"className":322},[],[324],{"type":26,"value":325},"pInfo→src.deviceAddress",{"type":26,"value":271},{"type":21,"tag":273,"props":328,"children":329},{"type":275},[],{"type":26,"value":331}," be\nsynchronized with the ",{"type":21,"tag":42,"props":333,"children":335},{"className":334},[],[336],{"type":26,"value":292},{"type":26,"value":338},"\npipeline stage and an access type of ",{"type":21,"tag":42,"props":340,"children":342},{"className":341},[],[343],{"type":26,"value":344},"VK_ACCESS_TRANSFER_READ_BIT",{"type":26,"value":346},".",{"type":21,"tag":22,"props":348,"children":349},{},[350,352,358,360,366],{"type":26,"value":351},"This command can accept micromaps produced by either\n",{"type":21,"tag":251,"props":353,"children":355},{"href":354},"/man/vkCmdCopyMicromapToMemoryEXT",[356],{"type":26,"value":357},"vkCmdCopyMicromapToMemoryEXT",{"type":26,"value":359}," or ",{"type":21,"tag":251,"props":361,"children":363},{"href":362},"/man/vkCopyMicromapToMemoryEXT",[364],{"type":26,"value":365},"vkCopyMicromapToMemoryEXT",{"type":26,"value":346},{"type":21,"tag":368,"props":369,"children":371},"validity-group",{"name":370},"Valid Usage",[372,391,417,446],{"type":21,"tag":373,"props":374,"children":376},"validity-field",{"name":375},"VUID-vkCmdCopyMemoryToMicromapEXT-pInfo-07543",[377],{"type":21,"tag":22,"props":378,"children":379},{},[380,385,386,389],{"type":21,"tag":42,"props":381,"children":383},{"className":382},[],[384],{"type":26,"value":325},{"type":26,"value":271},{"type":21,"tag":273,"props":387,"children":388},{"type":275},[],{"type":26,"value":390}," be a valid device address for a\nbuffer bound to device memory",{"type":21,"tag":373,"props":392,"children":394},{"name":393},"VUID-vkCmdCopyMemoryToMicromapEXT-pInfo-07544",[395],{"type":21,"tag":22,"props":396,"children":397},{},[398,403,404,407,409,415],{"type":21,"tag":42,"props":399,"children":401},{"className":400},[],[402],{"type":26,"value":325},{"type":26,"value":271},{"type":21,"tag":273,"props":405,"children":406},{"type":275},[],{"type":26,"value":408}," be aligned to ",{"type":21,"tag":42,"props":410,"children":412},{"className":411},[],[413],{"type":26,"value":414},"256",{"type":26,"value":416}," bytes",{"type":21,"tag":373,"props":418,"children":420},{"name":419},"VUID-vkCmdCopyMemoryToMicromapEXT-pInfo-07545",[421],{"type":21,"tag":22,"props":422,"children":423},{},[424,426,431,433,436,438,444],{"type":26,"value":425},"If the buffer pointed to by ",{"type":21,"tag":42,"props":427,"children":429},{"className":428},[],[430],{"type":26,"value":325},{"type":26,"value":432}," is non-sparse\nthen it ",{"type":21,"tag":273,"props":434,"children":435},{"type":275},[],{"type":26,"value":437}," be bound completely and contiguously to a single\n",{"type":21,"tag":251,"props":439,"children":441},{"href":440},"/man/VkDeviceMemory",[442],{"type":26,"value":443},"VkDeviceMemory",{"type":26,"value":445}," object",{"type":21,"tag":373,"props":447,"children":449},{"name":448},"VUID-vkCmdCopyMemoryToMicromapEXT-buffer-07546",[450],{"type":21,"tag":22,"props":451,"children":452},{},[453,455,461,463,468,469,472],{"type":26,"value":454},"The ",{"type":21,"tag":42,"props":456,"children":458},{"className":457},[],[459],{"type":26,"value":460},"buffer",{"type":26,"value":462}," used to create ",{"type":21,"tag":42,"props":464,"children":466},{"className":465},[],[467],{"type":26,"value":269},{"type":26,"value":271},{"type":21,"tag":273,"props":470,"children":471},{"type":275},[],{"type":26,"value":473}," be bound to\ndevice memory",{"type":21,"tag":368,"props":475,"children":477},{"name":476},"Valid Usage (Implicit)",[478,504,530,554,582,596],{"type":21,"tag":373,"props":479,"children":481},{"name":480},"VUID-vkCmdCopyMemoryToMicromapEXT-commandBuffer-parameter",[482],{"type":21,"tag":22,"props":483,"children":484},{},[485,490,491,494,496,502],{"type":21,"tag":42,"props":486,"children":488},{"className":487},[],[489],{"type":26,"value":83},{"type":26,"value":271},{"type":21,"tag":273,"props":492,"children":493},{"type":275},[],{"type":26,"value":495}," be a valid ",{"type":21,"tag":251,"props":497,"children":499},{"href":498},"/man/VkCommandBuffer",[500],{"type":26,"value":501},"VkCommandBuffer",{"type":26,"value":503}," handle",{"type":21,"tag":373,"props":505,"children":507},{"name":506},"VUID-vkCmdCopyMemoryToMicromapEXT-pInfo-parameter",[508],{"type":21,"tag":22,"props":509,"children":510},{},[511,516,517,520,522,528],{"type":21,"tag":42,"props":512,"children":514},{"className":513},[],[515],{"type":26,"value":247},{"type":26,"value":271},{"type":21,"tag":273,"props":518,"children":519},{"type":275},[],{"type":26,"value":521}," be a valid pointer to a valid ",{"type":21,"tag":251,"props":523,"children":525},{"href":524},"/man/VkCopyMemoryToMicromapInfoEXT",[526],{"type":26,"value":527},"VkCopyMemoryToMicromapInfoEXT",{"type":26,"value":529}," structure",{"type":21,"tag":373,"props":531,"children":533},{"name":532},"VUID-vkCmdCopyMemoryToMicromapEXT-commandBuffer-recording",[534],{"type":21,"tag":22,"props":535,"children":536},{},[537,542,543,546,548],{"type":21,"tag":42,"props":538,"children":540},{"className":539},[],[541],{"type":26,"value":83},{"type":26,"value":271},{"type":21,"tag":273,"props":544,"children":545},{"type":275},[],{"type":26,"value":547}," be in the ",{"type":21,"tag":251,"props":549,"children":551},{"href":550},"/chapters/commandbuffers#commandbuffers-lifecycle",[552],{"type":26,"value":553},"recording state",{"type":21,"tag":373,"props":555,"children":557},{"name":556},"VUID-vkCmdCopyMemoryToMicromapEXT-commandBuffer-cmdpool",[558],{"type":21,"tag":22,"props":559,"children":560},{},[561,562,568,570,575,577,580],{"type":26,"value":454},{"type":21,"tag":42,"props":563,"children":565},{"className":564},[],[566],{"type":26,"value":567},"VkCommandPool",{"type":26,"value":569}," that ",{"type":21,"tag":42,"props":571,"children":573},{"className":572},[],[574],{"type":26,"value":83},{"type":26,"value":576}," was allocated from ",{"type":21,"tag":273,"props":578,"children":579},{"type":275},[],{"type":26,"value":581}," support compute operations",{"type":21,"tag":373,"props":583,"children":585},{"name":584},"VUID-vkCmdCopyMemoryToMicromapEXT-renderpass",[586],{"type":21,"tag":22,"props":587,"children":588},{},[589,591,594],{"type":26,"value":590},"This command ",{"type":21,"tag":273,"props":592,"children":593},{"type":275},[],{"type":26,"value":595}," only be called outside of a render pass instance",{"type":21,"tag":373,"props":597,"children":599},{"name":598},"VUID-vkCmdCopyMemoryToMicromapEXT-videocoding",[600],{"type":21,"tag":22,"props":601,"children":602},{},[603,604,607],{"type":26,"value":590},{"type":21,"tag":273,"props":605,"children":606},{"type":275},[],{"type":26,"value":608}," only be called outside of a video coding scope",{"type":21,"tag":610,"props":611,"children":613},"validity-box",{"name":612},"Host Synchronization",[614],{"type":21,"tag":225,"props":615,"children":616},{},[617,633],{"type":21,"tag":229,"props":618,"children":619},{},[620,622,627,628,631],{"type":26,"value":621},"Host access to ",{"type":21,"tag":42,"props":623,"children":625},{"className":624},[],[626],{"type":26,"value":83},{"type":26,"value":271},{"type":21,"tag":273,"props":629,"children":630},{"type":275},[],{"type":26,"value":632}," be externally synchronized",{"type":21,"tag":229,"props":634,"children":635},{},[636,638,643,644,649,650,653],{"type":26,"value":637},"Host access to the ",{"type":21,"tag":42,"props":639,"children":641},{"className":640},[],[642],{"type":26,"value":567},{"type":26,"value":569},{"type":21,"tag":42,"props":645,"children":647},{"className":646},[],[648],{"type":26,"value":83},{"type":26,"value":576},{"type":21,"tag":273,"props":651,"children":652},{"type":275},[],{"type":26,"value":654}," be externally synchronized\n::",{"type":21,"tag":656,"props":657,"children":658},"style",{},[659],{"type":26,"value":660},"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":662},[],"markdown",1725732599165]