[{"data":1,"prerenderedAt":1452},["ShallowReactive",2],{"jJJLBChZSA":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":1451,"_id":4},"vkCmdBuildMicromapsEXT","Build a micromap","VK_EXT_opacity_micromap",[8,9],"primary","secondary","outside",[12],"compute",[14],"action","protos",[],{"type":18,"children":19,"toc":1449},"root",[20,28,263,332,344,359,364,401,464,485,529,549,1234,1397,1443],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":26,"value":27},"text","To build micromaps call:",{"type":21,"tag":29,"props":30,"children":31},"code-group",{},[32,136],{"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 vkCmdBuildMicromapsEXT(\n VkCommandBuffer commandBuffer,\n uint32_t infoCount,\n const VkMicromapBuildInfoEXT* pInfos);\n","C","c","",[41],{"type":21,"tag":42,"props":43,"children":44},"code",{"__ignoreMap":39},[45,69,89,107],{"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}," vkCmdBuildMicromapsEXT",{"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],{"type":21,"tag":46,"props":94,"children":95},{"style":53},[96],{"type":26,"value":97}," uint32_t",{"type":21,"tag":46,"props":99,"children":100},{"style":80},[101],{"type":26,"value":102}," infoCount",{"type":21,"tag":46,"props":104,"children":105},{"style":65},[106],{"type":26,"value":88},{"type":21,"tag":46,"props":108,"children":110},{"class":48,"line":109},4,[111,116,121,126,131],{"type":21,"tag":46,"props":112,"children":113},{"style":53},[114],{"type":26,"value":115}," const",{"type":21,"tag":46,"props":117,"children":118},{"style":65},[119],{"type":26,"value":120}," VkMicromapBuildInfoEXT",{"type":21,"tag":46,"props":122,"children":123},{"style":53},[124],{"type":26,"value":125},"*",{"type":21,"tag":46,"props":127,"children":128},{"style":80},[129],{"type":26,"value":130}," pInfos",{"type":21,"tag":46,"props":132,"children":133},{"style":65},[134],{"type":26,"value":135},");\n",{"type":21,"tag":33,"props":137,"children":142},{"className":138,"code":139,"filename":140,"language":141,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_build_micromaps_ext(\n command_buffer: vk::CommandBuffer,\n info_count: u32,\n p_infos: *const vk::MicromapBuildInfoEXT,\n);\n","Rust","rs",[143],{"type":21,"tag":42,"props":144,"children":145},{"__ignoreMap":39},[146,168,200,221,255],{"type":21,"tag":46,"props":147,"children":148},{"class":48,"line":49},[149,154,159,164],{"type":21,"tag":46,"props":150,"children":151},{"style":53},[152],{"type":26,"value":153},"pub",{"type":21,"tag":46,"props":155,"children":156},{"style":53},[157],{"type":26,"value":158}," fn",{"type":21,"tag":46,"props":160,"children":161},{"style":59},[162],{"type":26,"value":163}," cmd_build_micromaps_ext",{"type":21,"tag":46,"props":165,"children":166},{"style":65},[167],{"type":26,"value":68},{"type":21,"tag":46,"props":169,"children":170},{"class":48,"line":71},[171,176,181,186,191,196],{"type":21,"tag":46,"props":172,"children":173},{"style":65},[174],{"type":26,"value":175}," command_buffer",{"type":21,"tag":46,"props":177,"children":178},{"style":53},[179],{"type":26,"value":180},":",{"type":21,"tag":46,"props":182,"children":183},{"style":80},[184],{"type":26,"value":185}," vk",{"type":21,"tag":46,"props":187,"children":188},{"style":53},[189],{"type":26,"value":190},"::",{"type":21,"tag":46,"props":192,"children":193},{"style":80},[194],{"type":26,"value":195},"CommandBuffer",{"type":21,"tag":46,"props":197,"children":198},{"style":65},[199],{"type":26,"value":88},{"type":21,"tag":46,"props":201,"children":202},{"class":48,"line":91},[203,208,212,217],{"type":21,"tag":46,"props":204,"children":205},{"style":65},[206],{"type":26,"value":207}," info_count",{"type":21,"tag":46,"props":209,"children":210},{"style":53},[211],{"type":26,"value":180},{"type":21,"tag":46,"props":213,"children":214},{"style":80},[215],{"type":26,"value":216}," u32",{"type":21,"tag":46,"props":218,"children":219},{"style":65},[220],{"type":26,"value":88},{"type":21,"tag":46,"props":222,"children":223},{"class":48,"line":109},[224,229,233,238,242,246,251],{"type":21,"tag":46,"props":225,"children":226},{"style":65},[227],{"type":26,"value":228}," p_infos",{"type":21,"tag":46,"props":230,"children":231},{"style":53},[232],{"type":26,"value":180},{"type":21,"tag":46,"props":234,"children":235},{"style":53},[236],{"type":26,"value":237}," *const",{"type":21,"tag":46,"props":239,"children":240},{"style":80},[241],{"type":26,"value":185},{"type":21,"tag":46,"props":243,"children":244},{"style":53},[245],{"type":26,"value":190},{"type":21,"tag":46,"props":247,"children":248},{"style":80},[249],{"type":26,"value":250},"MicromapBuildInfoEXT",{"type":21,"tag":46,"props":252,"children":253},{"style":65},[254],{"type":26,"value":88},{"type":21,"tag":46,"props":256,"children":258},{"class":48,"line":257},5,[259],{"type":21,"tag":46,"props":260,"children":261},{"style":65},[262],{"type":26,"value":135},{"type":21,"tag":264,"props":265,"children":266},"ul",{},[267,278,304],{"type":21,"tag":268,"props":269,"children":270},"li",{},[271,276],{"type":21,"tag":42,"props":272,"children":274},{"className":273},[],[275],{"type":26,"value":83},{"type":26,"value":277}," is the command buffer into which the command will be\nrecorded.",{"type":21,"tag":268,"props":279,"children":280},{},[281,287,289,295,297,302],{"type":21,"tag":42,"props":282,"children":284},{"className":283},[],[285],{"type":26,"value":286},"infoCount",{"type":26,"value":288}," is the number of micromaps to build.\nIt specifies the number of the ",{"type":21,"tag":42,"props":290,"children":292},{"className":291},[],[293],{"type":26,"value":294},"pInfos",{"type":26,"value":296}," structures that ",{"type":21,"tag":298,"props":299,"children":301},"normative",{"type":300},"must",[],{"type":26,"value":303}," be\nprovided.",{"type":21,"tag":268,"props":305,"children":306},{},[307,312,314,319,323,330],{"type":21,"tag":42,"props":308,"children":310},{"className":309},[],[311],{"type":26,"value":294},{"type":26,"value":313}," is a pointer to an array of ",{"type":21,"tag":42,"props":315,"children":317},{"className":316},[],[318],{"type":26,"value":286},{"type":21,"tag":320,"props":321,"children":322},"br",{},[],{"type":21,"tag":324,"props":325,"children":327},"a",{"href":326},"/man/VkMicromapBuildInfoEXT",[328],{"type":26,"value":329},"VkMicromapBuildInfoEXT",{"type":26,"value":331}," structures defining the data used to build\neach micromap.",{"type":21,"tag":22,"props":333,"children":334},{},[335,337,342],{"type":26,"value":336},"The ",{"type":21,"tag":42,"props":338,"children":340},{"className":339},[],[341],{"type":26,"value":4},{"type":26,"value":343}," command provides the ability to initiate\nmultiple micromaps builds, however there is no ordering or synchronization\nimplied between any of the individual micromap builds.",{"type":21,"tag":345,"props":346,"children":347},"note",{},[348],{"type":21,"tag":22,"props":349,"children":350},{},[351,353,357],{"type":26,"value":352},"This means that there ",{"type":21,"tag":298,"props":354,"children":356},{"type":355},"cannot",[],{"type":26,"value":358}," be any memory aliasing between any micromap\nmemories or scratch memories being used by any of the builds.",{"type":21,"tag":360,"props":361,"children":363},"anchor",{"id":362},"micromap-scratch",[],{"type":21,"tag":22,"props":365,"children":366},{},[367,369,373,374,380,382,385,387,393,395],{"type":26,"value":368},"Accesses to the micromap scratch buffers as identified by the\n",{"type":21,"tag":324,"props":370,"children":371},{"href":326},[372],{"type":26,"value":329},{"type":26,"value":190},{"type":21,"tag":42,"props":375,"children":377},{"className":376},[],[378],{"type":26,"value":379},"scratchData",{"type":26,"value":381}," buffer device addresses\n",{"type":21,"tag":298,"props":383,"children":384},{"type":300},[],{"type":26,"value":386}," be ",{"type":21,"tag":324,"props":388,"children":390},{"href":389},"/chapters/synchronization#synchronization-dependencies",[391],{"type":26,"value":392},"synchronized",{"type":26,"value":394}," with the\n",{"type":21,"tag":42,"props":396,"children":398},{"className":397},[],[399],{"type":26,"value":400},"VK_PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT",{"type":21,"tag":22,"props":402,"children":403},{},[404,410,412,418,420,426,428,434,436,440,441,447,449,452,454,458,459],{"type":21,"tag":324,"props":405,"children":407},{"href":406},"/chapters/synchronization#synchronization-pipeline-stages",[408],{"type":26,"value":409},"pipeline stage",{"type":26,"value":411}," and an\n",{"type":21,"tag":324,"props":413,"children":415},{"href":414},"/chapters/synchronization#synchronization-access-types",[416],{"type":26,"value":417},"access type",{"type":26,"value":419}," of\n(",{"type":21,"tag":42,"props":421,"children":423},{"className":422},[],[424],{"type":26,"value":425},"VK_ACCESS_2_MICROMAP_READ_BIT_EXT",{"type":26,"value":427}," |\n",{"type":21,"tag":42,"props":429,"children":431},{"className":430},[],[432],{"type":26,"value":433},"VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT",{"type":26,"value":435},").\nAccesses to ",{"type":21,"tag":324,"props":437,"children":438},{"href":326},[439],{"type":26,"value":329},{"type":26,"value":190},{"type":21,"tag":42,"props":442,"children":444},{"className":443},[],[445],{"type":26,"value":446},"dstMicromap",{"type":26,"value":448}," ",{"type":21,"tag":298,"props":450,"children":451},{"type":300},[],{"type":26,"value":453}," be\n",{"type":21,"tag":324,"props":455,"children":456},{"href":389},[457],{"type":26,"value":392},{"type":26,"value":394},{"type":21,"tag":42,"props":460,"children":462},{"className":461},[],[463],{"type":26,"value":400},{"type":21,"tag":22,"props":465,"children":466},{},[467,471,472,476,478,483],{"type":21,"tag":324,"props":468,"children":469},{"href":406},[470],{"type":26,"value":409},{"type":26,"value":411},{"type":21,"tag":324,"props":473,"children":474},{"href":414},[475],{"type":26,"value":417},{"type":26,"value":477}," of\n",{"type":21,"tag":42,"props":479,"children":481},{"className":480},[],[482],{"type":26,"value":433},{"type":26,"value":484},".",{"type":21,"tag":22,"props":486,"children":487},{},[488,490,494,495,501,503,507,508,514,515,518,519,523,524],{"type":26,"value":489},"Accesses to other input buffers as identified by any used values of\n",{"type":21,"tag":324,"props":491,"children":492},{"href":326},[493],{"type":26,"value":329},{"type":26,"value":190},{"type":21,"tag":42,"props":496,"children":498},{"className":497},[],[499],{"type":26,"value":500},"data",{"type":26,"value":502}," or\n",{"type":21,"tag":324,"props":504,"children":505},{"href":326},[506],{"type":26,"value":329},{"type":26,"value":190},{"type":21,"tag":42,"props":509,"children":511},{"className":510},[],[512],{"type":26,"value":513},"triangleArray",{"type":26,"value":448},{"type":21,"tag":298,"props":516,"children":517},{"type":300},[],{"type":26,"value":453},{"type":21,"tag":324,"props":520,"children":521},{"href":389},[522],{"type":26,"value":392},{"type":26,"value":394},{"type":21,"tag":42,"props":525,"children":527},{"className":526},[],[528],{"type":26,"value":400},{"type":21,"tag":22,"props":530,"children":531},{},[532,536,537,541,542,548],{"type":21,"tag":324,"props":533,"children":534},{"href":406},[535],{"type":26,"value":409},{"type":26,"value":411},{"type":21,"tag":324,"props":538,"children":539},{"href":414},[540],{"type":26,"value":417},{"type":26,"value":477},{"type":21,"tag":42,"props":543,"children":545},{"className":544},[],[546],{"type":26,"value":547},"VK_ACCESS_SHADER_READ_BIT",{"type":26,"value":484},{"type":21,"tag":550,"props":551,"children":553},"validity-group",{"name":552},"Valid Usage",[554,620,655,689,737,779,817,853,887,978,1021,1061,1109,1157,1196],{"type":21,"tag":555,"props":556,"children":558},"validity-field",{"name":557},"VUID-vkCmdBuildMicromapsEXT-pInfos-07461",[559],{"type":21,"tag":22,"props":560,"children":561},{},[562,564,569,571,576,577,580,582,588,589,595,597,603,605,611,613,618],{"type":26,"value":563},"For each ",{"type":21,"tag":42,"props":565,"children":567},{"className":566},[],[568],{"type":26,"value":294},{"type":26,"value":570},"[i], ",{"type":21,"tag":42,"props":572,"children":574},{"className":573},[],[575],{"type":26,"value":446},{"type":26,"value":448},{"type":21,"tag":298,"props":578,"children":579},{"type":300},[],{"type":26,"value":581}," have been created with\na value of ",{"type":21,"tag":324,"props":583,"children":585},{"href":584},"/man/VkMicromapCreateInfoEXT",[586],{"type":26,"value":587},"VkMicromapCreateInfoEXT",{"type":26,"value":190},{"type":21,"tag":42,"props":590,"children":592},{"className":591},[],[593],{"type":26,"value":594},"size",{"type":26,"value":596}," greater than or\nequal to the memory size required by the build operation, as returned by\n",{"type":21,"tag":324,"props":598,"children":600},{"href":599},"/man/vkGetMicromapBuildSizesEXT",[601],{"type":26,"value":602},"vkGetMicromapBuildSizesEXT",{"type":26,"value":604}," with ",{"type":21,"tag":42,"props":606,"children":608},{"className":607},[],[609],{"type":26,"value":610},"pBuildInfo",{"type":26,"value":612}," =\n",{"type":21,"tag":42,"props":614,"children":616},{"className":615},[],[617],{"type":26,"value":294},{"type":26,"value":619},"[i]",{"type":21,"tag":555,"props":621,"children":623},{"name":622},"VUID-vkCmdBuildMicromapsEXT-mode-07462",[624],{"type":21,"tag":22,"props":625,"children":626},{},[627,628,634,636,641,642,645,647,653],{"type":26,"value":336},{"type":21,"tag":42,"props":629,"children":631},{"className":630},[],[632],{"type":26,"value":633},"mode",{"type":26,"value":635}," member of each element of ",{"type":21,"tag":42,"props":637,"children":639},{"className":638},[],[640],{"type":26,"value":294},{"type":26,"value":448},{"type":21,"tag":298,"props":643,"children":644},{"type":300},[],{"type":26,"value":646}," be a valid\n",{"type":21,"tag":324,"props":648,"children":650},{"href":649},"/man/VkBuildMicromapModeEXT",[651],{"type":26,"value":652},"VkBuildMicromapModeEXT",{"type":26,"value":654}," value",{"type":21,"tag":555,"props":656,"children":658},{"name":657},"VUID-vkCmdBuildMicromapsEXT-dstMicromap-07463",[659],{"type":21,"tag":22,"props":660,"children":661},{},[662,663,668,670,675,676,679,681,687],{"type":26,"value":336},{"type":21,"tag":42,"props":664,"children":666},{"className":665},[],[667],{"type":26,"value":446},{"type":26,"value":669}," member of any element of ",{"type":21,"tag":42,"props":671,"children":673},{"className":672},[],[674],{"type":26,"value":294},{"type":26,"value":448},{"type":21,"tag":298,"props":677,"children":678},{"type":300},[],{"type":26,"value":680}," be a\nvalid ",{"type":21,"tag":324,"props":682,"children":684},{"href":683},"/man/VkMicromapEXT",[685],{"type":26,"value":686},"VkMicromapEXT",{"type":26,"value":688}," handle",{"type":21,"tag":555,"props":690,"children":692},{"name":691},"VUID-vkCmdBuildMicromapsEXT-pInfos-07464",[693],{"type":21,"tag":22,"props":694,"children":695},{},[696,698,703,705,711,713,716,718,722,723,728,730,735],{"type":26,"value":697},"For each element of ",{"type":21,"tag":42,"props":699,"children":701},{"className":700},[],[702],{"type":26,"value":294},{"type":26,"value":704}," its ",{"type":21,"tag":42,"props":706,"children":708},{"className":707},[],[709],{"type":26,"value":710},"type",{"type":26,"value":712}," member ",{"type":21,"tag":298,"props":714,"children":715},{"type":300},[],{"type":26,"value":717}," match the\nvalue of ",{"type":21,"tag":324,"props":719,"children":720},{"href":584},[721],{"type":26,"value":587},{"type":26,"value":190},{"type":21,"tag":42,"props":724,"children":726},{"className":725},[],[727],{"type":26,"value":710},{"type":26,"value":729}," when its\n",{"type":21,"tag":42,"props":731,"children":733},{"className":732},[],[734],{"type":26,"value":446},{"type":26,"value":736}," was created",{"type":21,"tag":555,"props":738,"children":740},{"name":739},"VUID-vkCmdBuildMicromapsEXT-dstMicromap-07465",[741],{"type":21,"tag":22,"props":742,"children":743},{},[744,746,751,753,758,760,763,765,770,772,777],{"type":26,"value":745},"The range of memory backing the ",{"type":21,"tag":42,"props":747,"children":749},{"className":748},[],[750],{"type":26,"value":446},{"type":26,"value":752}," member of any element\nof ",{"type":21,"tag":42,"props":754,"children":756},{"className":755},[],[757],{"type":26,"value":294},{"type":26,"value":759}," that is accessed by this command ",{"type":21,"tag":298,"props":761,"children":762},{"type":300},[],{"type":26,"value":764}," not overlap the\nmemory backing the ",{"type":21,"tag":42,"props":766,"children":768},{"className":767},[],[769],{"type":26,"value":446},{"type":26,"value":771}," member of any other element of\n",{"type":21,"tag":42,"props":773,"children":775},{"className":774},[],[776],{"type":26,"value":294},{"type":26,"value":778},", which is accessed by this command",{"type":21,"tag":555,"props":780,"children":782},{"name":781},"VUID-vkCmdBuildMicromapsEXT-dstMicromap-07466",[783],{"type":21,"tag":22,"props":784,"children":785},{},[786,787,792,793,798,799,802,803,808,810,815],{"type":26,"value":745},{"type":21,"tag":42,"props":788,"children":790},{"className":789},[],[791],{"type":26,"value":446},{"type":26,"value":752},{"type":21,"tag":42,"props":794,"children":796},{"className":795},[],[797],{"type":26,"value":294},{"type":26,"value":759},{"type":21,"tag":298,"props":800,"children":801},{"type":300},[],{"type":26,"value":764},{"type":21,"tag":42,"props":804,"children":806},{"className":805},[],[807],{"type":26,"value":379},{"type":26,"value":809}," member of any element of\n",{"type":21,"tag":42,"props":811,"children":813},{"className":812},[],[814],{"type":26,"value":294},{"type":26,"value":816}," (including the same element), which is accessed by this\ncommand",{"type":21,"tag":555,"props":818,"children":820},{"name":819},"VUID-vkCmdBuildMicromapsEXT-scratchData-07467",[821],{"type":21,"tag":22,"props":822,"children":823},{},[824,825,830,831,836,837,840,841,846,847,852],{"type":26,"value":745},{"type":21,"tag":42,"props":826,"children":828},{"className":827},[],[829],{"type":26,"value":379},{"type":26,"value":752},{"type":21,"tag":42,"props":832,"children":834},{"className":833},[],[835],{"type":26,"value":294},{"type":26,"value":759},{"type":21,"tag":298,"props":838,"children":839},{"type":300},[],{"type":26,"value":764},{"type":21,"tag":42,"props":842,"children":844},{"className":843},[],[845],{"type":26,"value":379},{"type":26,"value":771},{"type":21,"tag":42,"props":848,"children":850},{"className":849},[],[851],{"type":26,"value":294},{"type":26,"value":778},{"type":21,"tag":555,"props":854,"children":856},{"name":855},"VUID-vkCmdBuildMicromapsEXT-pInfos-07508",[857],{"type":21,"tag":22,"props":858,"children":859},{},[860,861,866,868,874,876,881,882,885],{"type":26,"value":697},{"type":21,"tag":42,"props":862,"children":864},{"className":863},[],[865],{"type":26,"value":294},{"type":26,"value":867},", the ",{"type":21,"tag":42,"props":869,"children":871},{"className":870},[],[872],{"type":26,"value":873},"buffer",{"type":26,"value":875}," used to create its\n",{"type":21,"tag":42,"props":877,"children":879},{"className":878},[],[880],{"type":26,"value":446},{"type":26,"value":712},{"type":21,"tag":298,"props":883,"children":884},{"type":300},[],{"type":26,"value":886}," be bound to device memory",{"type":21,"tag":555,"props":888,"children":890},{"name":889},"VUID-vkCmdBuildMicromapsEXT-pInfos-07509",[891],{"type":21,"tag":22,"props":892,"children":893},{},[894,896,901,903,908,910,916,918,923,924,930,932,937,938,943,945,948,950,956,958,964,966,970,972,976],{"type":26,"value":895},"If ",{"type":21,"tag":42,"props":897,"children":899},{"className":898},[],[900],{"type":26,"value":294},{"type":26,"value":902},"[i].",{"type":21,"tag":42,"props":904,"children":906},{"className":905},[],[907],{"type":26,"value":633},{"type":26,"value":909}," is ",{"type":21,"tag":42,"props":911,"children":913},{"className":912},[],[914],{"type":26,"value":915},"VK_BUILD_MICROMAP_MODE_BUILD_EXT",{"type":26,"value":917},",\nall addresses between ",{"type":21,"tag":42,"props":919,"children":921},{"className":920},[],[922],{"type":26,"value":294},{"type":26,"value":902},{"type":21,"tag":42,"props":925,"children":927},{"className":926},[],[928],{"type":26,"value":929},"scratchData.deviceAddress",{"type":26,"value":931},"\nand ",{"type":21,"tag":42,"props":933,"children":935},{"className":934},[],[936],{"type":26,"value":294},{"type":26,"value":902},{"type":21,"tag":42,"props":939,"children":941},{"className":940},[],[942],{"type":26,"value":929},{"type":26,"value":944}," + N - 1 ",{"type":21,"tag":298,"props":946,"children":947},{"type":300},[],{"type":26,"value":949},"\nbe in the buffer device address range of the same buffer, where N is\ngiven by the ",{"type":21,"tag":42,"props":951,"children":953},{"className":952},[],[954],{"type":26,"value":955},"buildScratchSize",{"type":26,"value":957}," member of the\n",{"type":21,"tag":324,"props":959,"children":961},{"href":960},"/man/VkMicromapBuildSizesInfoEXT",[962],{"type":26,"value":963},"VkMicromapBuildSizesInfoEXT",{"type":26,"value":965}," structure returned from a call to\n",{"type":21,"tag":324,"props":967,"children":968},{"href":599},[969],{"type":26,"value":602},{"type":26,"value":971}," with an identical\n",{"type":21,"tag":324,"props":973,"children":974},{"href":326},[975],{"type":26,"value":329},{"type":26,"value":977}," structure and primitive count",{"type":21,"tag":555,"props":979,"children":981},{"name":980},"VUID-vkCmdBuildMicromapsEXT-data-07510",[982],{"type":21,"tag":22,"props":983,"children":984},{},[985,987,992,994,999,1001,1006,1008,1011,1013,1019],{"type":26,"value":986},"The buffers from which the buffer device addresses for all of the\n",{"type":21,"tag":42,"props":988,"children":990},{"className":989},[],[991],{"type":26,"value":500},{"type":26,"value":993}," and ",{"type":21,"tag":42,"props":995,"children":997},{"className":996},[],[998],{"type":26,"value":513},{"type":26,"value":1000}," members of all ",{"type":21,"tag":42,"props":1002,"children":1004},{"className":1003},[],[1005],{"type":26,"value":294},{"type":26,"value":1007},"[i] are\nqueried ",{"type":21,"tag":298,"props":1009,"children":1010},{"type":300},[],{"type":26,"value":1012}," have been created with the\n",{"type":21,"tag":42,"props":1014,"children":1016},{"className":1015},[],[1017],{"type":26,"value":1018},"VK_BUFFER_USAGE_MICROMAP_BUILD_INPUT_READ_ONLY_BIT_EXT",{"type":26,"value":1020}," usage flag",{"type":21,"tag":555,"props":1022,"children":1024},{"name":1023},"VUID-vkCmdBuildMicromapsEXT-pInfos-07511",[1025],{"type":21,"tag":22,"props":1026,"children":1027},{},[1028,1029,1034,1036,1041,1042,1047,1049,1052,1054,1060],{"type":26,"value":697},{"type":21,"tag":42,"props":1030,"children":1032},{"className":1031},[],[1033],{"type":26,"value":294},{"type":26,"value":1035},"[i] the buffer from which the buffer\ndevice address ",{"type":21,"tag":42,"props":1037,"children":1039},{"className":1038},[],[1040],{"type":26,"value":294},{"type":26,"value":902},{"type":21,"tag":42,"props":1043,"children":1045},{"className":1044},[],[1046],{"type":26,"value":929},{"type":26,"value":1048}," is\nqueried ",{"type":21,"tag":298,"props":1050,"children":1051},{"type":300},[],{"type":26,"value":1053}," have been created with\n",{"type":21,"tag":42,"props":1055,"children":1057},{"className":1056},[],[1058],{"type":26,"value":1059},"VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",{"type":26,"value":1020},{"type":21,"tag":555,"props":1062,"children":1064},{"name":1063},"VUID-vkCmdBuildMicromapsEXT-pInfos-07512",[1065],{"type":21,"tag":22,"props":1066,"children":1067},{},[1068,1069,1074,1076,1081,1082,1088,1090,1096,1098,1101,1103],{"type":26,"value":697},{"type":21,"tag":42,"props":1070,"children":1072},{"className":1071},[],[1073],{"type":26,"value":294},{"type":26,"value":1075},", its ",{"type":21,"tag":42,"props":1077,"children":1079},{"className":1078},[],[1080],{"type":26,"value":929},{"type":26,"value":88},{"type":21,"tag":42,"props":1083,"children":1085},{"className":1084},[],[1086],{"type":26,"value":1087},"data.deviceAddress",{"type":26,"value":1089},", and ",{"type":21,"tag":42,"props":1091,"children":1093},{"className":1092},[],[1094],{"type":26,"value":1095},"triangleArray.deviceAddress",{"type":26,"value":1097}," members\n",{"type":21,"tag":298,"props":1099,"children":1100},{"type":300},[],{"type":26,"value":1102}," be valid device addresses obtained from\n",{"type":21,"tag":324,"props":1104,"children":1106},{"href":1105},"/man/vkGetBufferDeviceAddress",[1107],{"type":26,"value":1108},"vkGetBufferDeviceAddress",{"type":21,"tag":555,"props":1110,"children":1112},{"name":1111},"VUID-vkCmdBuildMicromapsEXT-pInfos-07513",[1113],{"type":21,"tag":22,"props":1114,"children":1115},{},[1116,1117,1122,1124,1129,1130,1135,1137,1142,1144,1147,1149,1155],{"type":26,"value":697},{"type":21,"tag":42,"props":1118,"children":1120},{"className":1119},[],[1121],{"type":26,"value":294},{"type":26,"value":1123},", if ",{"type":21,"tag":42,"props":1125,"children":1127},{"className":1126},[],[1128],{"type":26,"value":929},{"type":26,"value":88},{"type":21,"tag":42,"props":1131,"children":1133},{"className":1132},[],[1134],{"type":26,"value":1087},{"type":26,"value":1136},", or ",{"type":21,"tag":42,"props":1138,"children":1140},{"className":1139},[],[1141],{"type":26,"value":1095},{"type":26,"value":1143}," is the\naddress of a non-sparse buffer then it ",{"type":21,"tag":298,"props":1145,"children":1146},{"type":300},[],{"type":26,"value":1148}," be bound completely and\ncontiguously to a single ",{"type":21,"tag":324,"props":1150,"children":1152},{"href":1151},"/man/VkDeviceMemory",[1153],{"type":26,"value":1154},"VkDeviceMemory",{"type":26,"value":1156}," object",{"type":21,"tag":555,"props":1158,"children":1160},{"name":1159},"VUID-vkCmdBuildMicromapsEXT-pInfos-07514",[1161],{"type":21,"tag":22,"props":1162,"children":1163},{},[1164,1165,1170,1171,1176,1178,1181,1183,1189,1190],{"type":26,"value":697},{"type":21,"tag":42,"props":1166,"children":1168},{"className":1167},[],[1169],{"type":26,"value":294},{"type":26,"value":1075},{"type":21,"tag":42,"props":1172,"children":1174},{"className":1173},[],[1175],{"type":26,"value":929},{"type":26,"value":1177},"\nmember ",{"type":21,"tag":298,"props":1179,"children":1180},{"type":300},[],{"type":26,"value":1182}," be a multiple of\n",{"type":21,"tag":324,"props":1184,"children":1186},{"href":1185},"/man/VkPhysicalDeviceAccelerationStructurePropertiesKHR",[1187],{"type":26,"value":1188},"VkPhysicalDeviceAccelerationStructurePropertiesKHR",{"type":26,"value":190},{"type":21,"tag":42,"props":1191,"children":1193},{"className":1192},[],[1194],{"type":26,"value":1195},"minAccelerationStructureScratchOffsetAlignment",{"type":21,"tag":555,"props":1197,"children":1199},{"name":1198},"VUID-vkCmdBuildMicromapsEXT-pInfos-07515",[1200],{"type":21,"tag":22,"props":1201,"children":1202},{},[1203,1204,1209,1210,1215,1216,1221,1223,1226,1228],{"type":26,"value":697},{"type":21,"tag":42,"props":1205,"children":1207},{"className":1206},[],[1208],{"type":26,"value":294},{"type":26,"value":1075},{"type":21,"tag":42,"props":1211,"children":1213},{"className":1212},[],[1214],{"type":26,"value":1095},{"type":26,"value":931},{"type":21,"tag":42,"props":1217,"children":1219},{"className":1218},[],[1220],{"type":26,"value":1087},{"type":26,"value":1222}," members ",{"type":21,"tag":298,"props":1224,"children":1225},{"type":300},[],{"type":26,"value":1227}," be a multiple of ",{"type":21,"tag":42,"props":1229,"children":1231},{"className":1230},[],[1232],{"type":26,"value":1233},"256",{"type":21,"tag":550,"props":1235,"children":1237},{"name":1236},"Valid Usage (Implicit)",[1238,1263,1294,1318,1346,1360,1373],{"type":21,"tag":555,"props":1239,"children":1241},{"name":1240},"VUID-vkCmdBuildMicromapsEXT-commandBuffer-parameter",[1242],{"type":21,"tag":22,"props":1243,"children":1244},{},[1245,1250,1251,1254,1256,1262],{"type":21,"tag":42,"props":1246,"children":1248},{"className":1247},[],[1249],{"type":26,"value":83},{"type":26,"value":448},{"type":21,"tag":298,"props":1252,"children":1253},{"type":300},[],{"type":26,"value":1255}," be a valid ",{"type":21,"tag":324,"props":1257,"children":1259},{"href":1258},"/man/VkCommandBuffer",[1260],{"type":26,"value":1261},"VkCommandBuffer",{"type":26,"value":688},{"type":21,"tag":555,"props":1264,"children":1266},{"name":1265},"VUID-vkCmdBuildMicromapsEXT-pInfos-parameter",[1267],{"type":21,"tag":22,"props":1268,"children":1269},{},[1270,1275,1276,1279,1281,1286,1288,1292],{"type":21,"tag":42,"props":1271,"children":1273},{"className":1272},[],[1274],{"type":26,"value":294},{"type":26,"value":448},{"type":21,"tag":298,"props":1277,"children":1278},{"type":300},[],{"type":26,"value":1280}," be a valid pointer to an array of ",{"type":21,"tag":42,"props":1282,"children":1284},{"className":1283},[],[1285],{"type":26,"value":286},{"type":26,"value":1287}," valid ",{"type":21,"tag":324,"props":1289,"children":1290},{"href":326},[1291],{"type":26,"value":329},{"type":26,"value":1293}," structures",{"type":21,"tag":555,"props":1295,"children":1297},{"name":1296},"VUID-vkCmdBuildMicromapsEXT-commandBuffer-recording",[1298],{"type":21,"tag":22,"props":1299,"children":1300},{},[1301,1306,1307,1310,1312],{"type":21,"tag":42,"props":1302,"children":1304},{"className":1303},[],[1305],{"type":26,"value":83},{"type":26,"value":448},{"type":21,"tag":298,"props":1308,"children":1309},{"type":300},[],{"type":26,"value":1311}," be in the ",{"type":21,"tag":324,"props":1313,"children":1315},{"href":1314},"/chapters/commandbuffers#commandbuffers-lifecycle",[1316],{"type":26,"value":1317},"recording state",{"type":21,"tag":555,"props":1319,"children":1321},{"name":1320},"VUID-vkCmdBuildMicromapsEXT-commandBuffer-cmdpool",[1322],{"type":21,"tag":22,"props":1323,"children":1324},{},[1325,1326,1332,1334,1339,1341,1344],{"type":26,"value":336},{"type":21,"tag":42,"props":1327,"children":1329},{"className":1328},[],[1330],{"type":26,"value":1331},"VkCommandPool",{"type":26,"value":1333}," that ",{"type":21,"tag":42,"props":1335,"children":1337},{"className":1336},[],[1338],{"type":26,"value":83},{"type":26,"value":1340}," was allocated from ",{"type":21,"tag":298,"props":1342,"children":1343},{"type":300},[],{"type":26,"value":1345}," support compute operations",{"type":21,"tag":555,"props":1347,"children":1349},{"name":1348},"VUID-vkCmdBuildMicromapsEXT-renderpass",[1350],{"type":21,"tag":22,"props":1351,"children":1352},{},[1353,1355,1358],{"type":26,"value":1354},"This command ",{"type":21,"tag":298,"props":1356,"children":1357},{"type":300},[],{"type":26,"value":1359}," only be called outside of a render pass instance",{"type":21,"tag":555,"props":1361,"children":1363},{"name":1362},"VUID-vkCmdBuildMicromapsEXT-videocoding",[1364],{"type":21,"tag":22,"props":1365,"children":1366},{},[1367,1368,1371],{"type":26,"value":1354},{"type":21,"tag":298,"props":1369,"children":1370},{"type":300},[],{"type":26,"value":1372}," only be called outside of a video coding scope",{"type":21,"tag":555,"props":1374,"children":1376},{"name":1375},"VUID-vkCmdBuildMicromapsEXT-infoCount-arraylength",[1377],{"type":21,"tag":22,"props":1378,"children":1379},{},[1380,1385,1386,1389,1391],{"type":21,"tag":42,"props":1381,"children":1383},{"className":1382},[],[1384],{"type":26,"value":286},{"type":26,"value":448},{"type":21,"tag":298,"props":1387,"children":1388},{"type":300},[],{"type":26,"value":1390}," be greater than ",{"type":21,"tag":42,"props":1392,"children":1394},{"className":1393},[],[1395],{"type":26,"value":1396},"0",{"type":21,"tag":1398,"props":1399,"children":1401},"validity-box",{"name":1400},"Host Synchronization",[1402],{"type":21,"tag":264,"props":1403,"children":1404},{},[1405,1421],{"type":21,"tag":268,"props":1406,"children":1407},{},[1408,1410,1415,1416,1419],{"type":26,"value":1409},"Host access to ",{"type":21,"tag":42,"props":1411,"children":1413},{"className":1412},[],[1414],{"type":26,"value":83},{"type":26,"value":448},{"type":21,"tag":298,"props":1417,"children":1418},{"type":300},[],{"type":26,"value":1420}," be externally synchronized",{"type":21,"tag":268,"props":1422,"children":1423},{},[1424,1426,1431,1432,1437,1438,1441],{"type":26,"value":1425},"Host access to the ",{"type":21,"tag":42,"props":1427,"children":1429},{"className":1428},[],[1430],{"type":26,"value":1331},{"type":26,"value":1333},{"type":21,"tag":42,"props":1433,"children":1435},{"className":1434},[],[1436],{"type":26,"value":83},{"type":26,"value":1340},{"type":21,"tag":298,"props":1439,"children":1440},{"type":300},[],{"type":26,"value":1442}," be externally synchronized\n::",{"type":21,"tag":1444,"props":1445,"children":1446},"style",{},[1447],{"type":26,"value":1448},"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":1450},[],"markdown",1729612492343]