[{"data":1,"prerenderedAt":1454},["ShallowReactive",2],{"SBfYzlbu0W":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":1453,"_id":4},"vkCmdBuildClusterAccelerationStructureIndirectNV","Build or move cluster acceleration structures","VK_NV_cluster_acceleration_structure",[8,9],"primary","secondary","outside",[12],"compute",[14],"action","protos",[],{"type":18,"children":19,"toc":1451},"root",[20,28,224,259,312,347,403,424,479,499,1266,1399,1445],{"type":21,"tag":22,"props":23,"children":24},"element","p",{},[25],{"type":26,"value":27},"text","To build or move a cluster acceleration structure or a cluster acceleration\nstructure template 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 vkCmdBuildClusterAccelerationStructureIndirectNV(\n VkCommandBuffer commandBuffer,\n const VkClusterAccelerationStructureCommandsInfoNV* pCommandInfos);\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}," vkCmdBuildClusterAccelerationStructureIndirectNV",{"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}," VkClusterAccelerationStructureCommandsInfoNV",{"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}," pCommandInfos",{"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_build_cluster_acceleration_structure_indirect_nv(\n command_buffer: vk::CommandBuffer,\n p_command_infos: *const vk::ClusterAccelerationStructureCommandsInfoNV,\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_build_cluster_acceleration_structure_indirect_nv",{"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_command_infos",{"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},"ClusterAccelerationStructureCommandsInfoNV",{"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 is\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},"pCommandInfos",{"type":26,"value":249}," is a pointer to a\n",{"type":21,"tag":251,"props":252,"children":254},"a",{"href":253},"/man/VkClusterAccelerationStructureCommandsInfoNV",[255],{"type":26,"value":256},"VkClusterAccelerationStructureCommandsInfoNV",{"type":26,"value":258}," structure containing\nparameters required for building or moving the cluster acceleration\nstructure.",{"type":21,"tag":22,"props":260,"children":261},{},[262,264,270,272,277,279,283,284,290,292,296,298,304,306],{"type":26,"value":263},"Similar to ",{"type":21,"tag":251,"props":265,"children":267},{"href":266},"/man/vkCmdBuildAccelerationStructuresKHR",[268],{"type":26,"value":269},"vkCmdBuildAccelerationStructuresKHR",{"type":26,"value":271},", this command ",{"type":21,"tag":273,"props":274,"children":276},"normative",{"type":275},"may",[],{"type":26,"value":278},"\ninitiate multiple acceleration structures builds and there is no ordering or\nsynchronization implied between any of the individual acceleration structure\nbuilds.\nAccesses to the acceleration structure scratch memory as identified by the\n",{"type":21,"tag":251,"props":280,"children":281},{"href":253},[282],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":285,"children":287},{"className":286},[],[288],{"type":26,"value":289},"scratchData",{"type":26,"value":291}," ",{"type":21,"tag":273,"props":293,"children":295},{"type":294},"must",[],{"type":26,"value":297},"\nbe ",{"type":21,"tag":251,"props":299,"children":301},{"href":300},"/chapters/synchronization#synchronization-dependencies",[302],{"type":26,"value":303},"synchronized",{"type":26,"value":305}," with the\n",{"type":21,"tag":42,"props":307,"children":309},{"className":308},[],[310],{"type":26,"value":311},"VK_PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR",{"type":21,"tag":22,"props":313,"children":314},{},[315,321,323,329,331,337,339,345],{"type":21,"tag":251,"props":316,"children":318},{"href":317},"/chapters/synchronization#synchronization-pipeline-stages",[319],{"type":26,"value":320},"pipeline stage",{"type":26,"value":322}," and an\n",{"type":21,"tag":251,"props":324,"children":326},{"href":325},"/chapters/synchronization#synchronization-access-types",[327],{"type":26,"value":328},"access type",{"type":26,"value":330}," of\n(",{"type":21,"tag":42,"props":332,"children":334},{"className":333},[],[335],{"type":26,"value":336},"VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR",{"type":26,"value":338}," |\n",{"type":21,"tag":42,"props":340,"children":342},{"className":341},[],[343],{"type":26,"value":344},"VK_ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR",{"type":26,"value":346},").",{"type":21,"tag":22,"props":348,"children":349},{},[350,352,356,357,363,364,368,369,375,377,381,382,388,391,393,397,398],{"type":26,"value":351},"Accesses to each\n",{"type":21,"tag":251,"props":353,"children":354},{"href":253},[355],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":358,"children":360},{"className":359},[],[361],{"type":26,"value":362},"dstImplicitData",{"type":26,"value":88},{"type":21,"tag":251,"props":365,"children":366},{"href":253},[367],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":370,"children":372},{"className":371},[],[373],{"type":26,"value":374},"dstAddressesArray",{"type":26,"value":376},"\nand ",{"type":21,"tag":251,"props":378,"children":379},{"href":253},[380],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":383,"children":385},{"className":384},[],[386],{"type":26,"value":387},"dstSizesArray",{"type":21,"tag":273,"props":389,"children":390},{"type":294},[],{"type":26,"value":392}," be ",{"type":21,"tag":251,"props":394,"children":395},{"href":300},[396],{"type":26,"value":303},{"type":26,"value":305},{"type":21,"tag":42,"props":399,"children":401},{"className":400},[],[402],{"type":26,"value":311},{"type":21,"tag":22,"props":404,"children":405},{},[406,410,411,415,417,422],{"type":21,"tag":251,"props":407,"children":408},{"href":317},[409],{"type":26,"value":320},{"type":26,"value":322},{"type":21,"tag":251,"props":412,"children":413},{"href":325},[414],{"type":26,"value":328},{"type":26,"value":416}," of\n",{"type":21,"tag":42,"props":418,"children":420},{"className":419},[],[421],{"type":26,"value":344},{"type":26,"value":423},".",{"type":21,"tag":22,"props":425,"children":426},{},[427,429,433,434,440,441,445,446,452,454,458,459,465,468,469,473,474],{"type":26,"value":428},"Accesses to memory with input data as identified by any used values of\n",{"type":21,"tag":251,"props":430,"children":431},{"href":253},[432],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":435,"children":437},{"className":436},[],[438],{"type":26,"value":439},"srcInfosArray",{"type":26,"value":88},{"type":21,"tag":251,"props":442,"children":443},{"href":253},[444],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":447,"children":449},{"className":448},[],[450],{"type":26,"value":451},"srcInfosCount",{"type":26,"value":453}," and\n",{"type":21,"tag":251,"props":455,"children":456},{"href":253},[457],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":460,"children":462},{"className":461},[],[463],{"type":26,"value":464},"addressResolutionFlags",{"type":21,"tag":273,"props":466,"children":467},{"type":294},[],{"type":26,"value":392},{"type":21,"tag":251,"props":470,"children":471},{"href":300},[472],{"type":26,"value":303},{"type":26,"value":305},{"type":21,"tag":42,"props":475,"children":477},{"className":476},[],[478],{"type":26,"value":311},{"type":21,"tag":22,"props":480,"children":481},{},[482,486,487,491,492,498],{"type":21,"tag":251,"props":483,"children":484},{"href":317},[485],{"type":26,"value":320},{"type":26,"value":322},{"type":21,"tag":251,"props":488,"children":489},{"href":325},[490],{"type":26,"value":328},{"type":26,"value":416},{"type":21,"tag":42,"props":493,"children":495},{"className":494},[],[496],{"type":26,"value":497},"VK_ACCESS_INDIRECT_COMMAND_READ_BIT",{"type":26,"value":423},{"type":21,"tag":500,"props":501,"children":503},"validity-group",{"name":502},"Valid Usage",[504,538,567,609,637,667,717,762,806,850,894,926,950,980,1011,1040,1083,1117,1145,1168,1191,1217,1243],{"type":21,"tag":505,"props":506,"children":508},"validity-field",{"name":507},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-clusterAccelerationStructure-10443",[509],{"type":21,"tag":22,"props":510,"children":511},{},[512,514,531,533,536],{"type":26,"value":513},"The ",{"type":21,"tag":251,"props":515,"children":517},{"href":516},"/man/VkPhysicalDeviceClusterAccelerationStructureFeaturesNV#features-clusterAccelerationStructure",[518,524,525],{"type":21,"tag":42,"props":519,"children":521},{"className":520},[],[522],{"type":26,"value":523},"VkPhysicalDeviceClusterAccelerationStructureFeaturesNV",{"type":26,"value":172},{"type":21,"tag":42,"props":526,"children":528},{"className":527},[],[529],{"type":26,"value":530},"clusterAccelerationStructure",{"type":26,"value":532},"\nfeature ",{"type":21,"tag":273,"props":534,"children":535},{"type":294},[],{"type":26,"value":537}," be enabled",{"type":21,"tag":505,"props":539,"children":541},{"name":540},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pNext-10444",[542],{"type":21,"tag":22,"props":543,"children":544},{},[545,546,552,554,557,559,565],{"type":26,"value":513},{"type":21,"tag":42,"props":547,"children":549},{"className":548},[],[550],{"type":26,"value":551},"pNext",{"type":26,"value":553}," chain of the bound ray tracing pipeline ",{"type":21,"tag":273,"props":555,"children":556},{"type":294},[],{"type":26,"value":558}," include a\n",{"type":21,"tag":251,"props":560,"children":562},{"href":561},"/man/VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV",[563],{"type":26,"value":564},"VkRayTracingPipelineClusterAccelerationStructureCreateInfoNV",{"type":26,"value":566},"\nstructure",{"type":21,"tag":505,"props":568,"children":570},{"name":569},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10445",[571],{"type":21,"tag":22,"props":572,"children":573},{},[574,580,581,587,588,591,593,599,601,607],{"type":21,"tag":42,"props":575,"children":577},{"className":576},[],[578],{"type":26,"value":579},"pCommandInfos→input",{"type":26,"value":172},{"type":21,"tag":42,"props":582,"children":584},{"className":583},[],[585],{"type":26,"value":586},"maxAccelerationStructureCount",{"type":26,"value":291},{"type":21,"tag":273,"props":589,"children":590},{"type":294},[],{"type":26,"value":592}," be\nless than or equal to the value used in\n",{"type":21,"tag":42,"props":594,"children":596},{"className":595},[],[597],{"type":26,"value":598},"pInfo→maxAccelerationStructureCount",{"type":26,"value":600}," in\n",{"type":21,"tag":251,"props":602,"children":604},{"href":603},"/man/vkGetClusterAccelerationStructureBuildSizesNV",[605],{"type":26,"value":606},"vkGetClusterAccelerationStructureBuildSizesNV",{"type":26,"value":608}," to determine the\nmemory requirements for the build operation",{"type":21,"tag":505,"props":610,"children":612},{"name":611},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-scratchData-10446",[613],{"type":21,"tag":22,"props":614,"children":615},{},[616,618,622,623,628,631,633],{"type":26,"value":617},"The scratch memory of the cluster acceleration structure specified in\n",{"type":21,"tag":251,"props":619,"children":620},{"href":253},[621],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":624,"children":626},{"className":625},[],[627],{"type":26,"value":289},{"type":21,"tag":273,"props":629,"children":630},{"type":294},[],{"type":26,"value":632}," be larger than or equal to the scratch size queried with\n",{"type":21,"tag":251,"props":634,"children":635},{"href":603},[636],{"type":26,"value":606},{"type":21,"tag":505,"props":638,"children":640},{"name":639},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-scratchData-10447",[641],{"type":21,"tag":22,"props":642,"children":643},{},[644,646,650,651,656,659,661],{"type":26,"value":645},"The scratch address of the cluster acceleration structure specified in\n",{"type":21,"tag":251,"props":647,"children":648},{"href":253},[649],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":652,"children":654},{"className":653},[],[655],{"type":26,"value":289},{"type":21,"tag":273,"props":657,"children":658},{"type":294},[],{"type":26,"value":660}," be aligned based on the cluster acceleration structure type and\nits alignment properties as queried with\n",{"type":21,"tag":251,"props":662,"children":664},{"href":663},"/man/VkPhysicalDeviceClusterAccelerationStructurePropertiesNV",[665],{"type":26,"value":666},"VkPhysicalDeviceClusterAccelerationStructurePropertiesNV",{"type":21,"tag":505,"props":668,"children":670},{"name":669},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10448",[671],{"type":21,"tag":22,"props":672,"children":673},{},[674,676,681,682,688,690,696,697,703,704,707,709,715],{"type":26,"value":675},"If ",{"type":21,"tag":42,"props":677,"children":679},{"className":678},[],[680],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":683,"children":685},{"className":684},[],[686],{"type":26,"value":687},"opType",{"type":26,"value":689}," is\n",{"type":21,"tag":42,"props":691,"children":693},{"className":692},[],[694],{"type":26,"value":695},"VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_MOVE_OBJECTS_NV",{"type":26,"value":88},{"type":21,"tag":42,"props":698,"children":700},{"className":699},[],[701],{"type":26,"value":702},"pCommandInfos→srcInfosArray",{"type":26,"value":291},{"type":21,"tag":273,"props":705,"children":706},{"type":294},[],{"type":26,"value":708}," be an array of\n",{"type":21,"tag":251,"props":710,"children":712},{"href":711},"/man/VkClusterAccelerationStructureMoveObjectsInfoNV",[713],{"type":26,"value":714},"VkClusterAccelerationStructureMoveObjectsInfoNV",{"type":26,"value":716}," structures",{"type":21,"tag":505,"props":718,"children":720},{"name":719},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10449",[721],{"type":21,"tag":22,"props":722,"children":723},{},[724,725,730,731,736,737,743,744,749,750,753,754,760],{"type":26,"value":675},{"type":21,"tag":42,"props":726,"children":728},{"className":727},[],[729],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":732,"children":734},{"className":733},[],[735],{"type":26,"value":687},{"type":26,"value":689},{"type":21,"tag":42,"props":738,"children":740},{"className":739},[],[741],{"type":26,"value":742},"VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_CLUSTERS_BOTTOM_LEVEL_NV",{"type":26,"value":88},{"type":21,"tag":42,"props":745,"children":747},{"className":746},[],[748],{"type":26,"value":702},{"type":26,"value":291},{"type":21,"tag":273,"props":751,"children":752},{"type":294},[],{"type":26,"value":708},{"type":21,"tag":251,"props":755,"children":757},{"href":756},"/man/VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV",[758],{"type":26,"value":759},"VkClusterAccelerationStructureBuildClustersBottomLevelInfoNV",{"type":26,"value":761},"\nstructures",{"type":21,"tag":505,"props":763,"children":765},{"name":764},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10450",[766],{"type":21,"tag":22,"props":767,"children":768},{},[769,770,775,776,781,782,788,789,794,795,798,799,805],{"type":26,"value":675},{"type":21,"tag":42,"props":771,"children":773},{"className":772},[],[774],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":777,"children":779},{"className":778},[],[780],{"type":26,"value":687},{"type":26,"value":689},{"type":21,"tag":42,"props":783,"children":785},{"className":784},[],[786],{"type":26,"value":787},"VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_NV",{"type":26,"value":88},{"type":21,"tag":42,"props":790,"children":792},{"className":791},[],[793],{"type":26,"value":702},{"type":26,"value":291},{"type":21,"tag":273,"props":796,"children":797},{"type":294},[],{"type":26,"value":708},{"type":21,"tag":251,"props":800,"children":802},{"href":801},"/man/VkClusterAccelerationStructureBuildTriangleClusterInfoNV",[803],{"type":26,"value":804},"VkClusterAccelerationStructureBuildTriangleClusterInfoNV",{"type":26,"value":761},{"type":21,"tag":505,"props":807,"children":809},{"name":808},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10451",[810],{"type":21,"tag":22,"props":811,"children":812},{},[813,814,819,820,825,826,832,833,838,839,842,843,849],{"type":26,"value":675},{"type":21,"tag":42,"props":815,"children":817},{"className":816},[],[818],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":821,"children":823},{"className":822},[],[824],{"type":26,"value":687},{"type":26,"value":689},{"type":21,"tag":42,"props":827,"children":829},{"className":828},[],[830],{"type":26,"value":831},"VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_BUILD_TRIANGLE_CLUSTER_TEMPLATE_NV",{"type":26,"value":88},{"type":21,"tag":42,"props":834,"children":836},{"className":835},[],[837],{"type":26,"value":702},{"type":26,"value":291},{"type":21,"tag":273,"props":840,"children":841},{"type":294},[],{"type":26,"value":708},{"type":21,"tag":251,"props":844,"children":846},{"href":845},"/man/VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV",[847],{"type":26,"value":848},"VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV",{"type":26,"value":761},{"type":21,"tag":505,"props":851,"children":853},{"name":852},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10452",[854],{"type":21,"tag":22,"props":855,"children":856},{},[857,858,863,864,869,870,876,877,882,883,886,887,893],{"type":26,"value":675},{"type":21,"tag":42,"props":859,"children":861},{"className":860},[],[862],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":865,"children":867},{"className":866},[],[868],{"type":26,"value":687},{"type":26,"value":689},{"type":21,"tag":42,"props":871,"children":873},{"className":872},[],[874],{"type":26,"value":875},"VK_CLUSTER_ACCELERATION_STRUCTURE_OP_TYPE_INSTANTIATE_TRIANGLE_CLUSTER_NV",{"type":26,"value":88},{"type":21,"tag":42,"props":878,"children":880},{"className":879},[],[881],{"type":26,"value":702},{"type":26,"value":291},{"type":21,"tag":273,"props":884,"children":885},{"type":294},[],{"type":26,"value":708},{"type":21,"tag":251,"props":888,"children":890},{"href":889},"/man/VkClusterAccelerationStructureInstantiateClusterInfoNV",[891],{"type":26,"value":892},"VkClusterAccelerationStructureInstantiateClusterInfoNV",{"type":26,"value":716},{"type":21,"tag":505,"props":895,"children":897},{"name":896},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10453",[898],{"type":21,"tag":22,"props":899,"children":900},{},[901,903,909,910,913,915,920,921],{"type":26,"value":902},"The value in ",{"type":21,"tag":42,"props":904,"children":906},{"className":905},[],[907],{"type":26,"value":908},"pCommandInfos→srcInfosCount",{"type":26,"value":291},{"type":21,"tag":273,"props":911,"children":912},{"type":294},[],{"type":26,"value":914}," be less than or\nequal to ",{"type":21,"tag":42,"props":916,"children":918},{"className":917},[],[919],{"type":26,"value":579},{"type":26,"value":172},{"type":21,"tag":42,"props":922,"children":924},{"className":923},[],[925],{"type":26,"value":586},{"type":21,"tag":505,"props":927,"children":929},{"name":928},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10454",[930],{"type":21,"tag":22,"props":931,"children":932},{},[933,935,940,943,945],{"type":26,"value":934},"The number of inputs specified in ",{"type":21,"tag":42,"props":936,"children":938},{"className":937},[],[939],{"type":26,"value":702},{"type":21,"tag":273,"props":941,"children":942},{"type":294},[],{"type":26,"value":944}," be greater than or equal to ",{"type":21,"tag":42,"props":946,"children":948},{"className":947},[],[949],{"type":26,"value":908},{"type":21,"tag":505,"props":951,"children":953},{"name":952},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-dstAddressesArray-10455",[954],{"type":21,"tag":22,"props":955,"children":956},{},[957,959,963,964,969,972,974],{"type":26,"value":958},"The memory regions specified in\n",{"type":21,"tag":251,"props":960,"children":961},{"href":253},[962],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":965,"children":967},{"className":966},[],[968],{"type":26,"value":374},{"type":21,"tag":273,"props":970,"children":971},{"type":294},[],{"type":26,"value":973}," not overlap with each other or with\n",{"type":21,"tag":42,"props":975,"children":977},{"className":976},[],[978],{"type":26,"value":979},"pCommandInfos→scratchData",{"type":21,"tag":505,"props":981,"children":983},{"name":982},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-dstImplicitData-10456",[984],{"type":21,"tag":22,"props":985,"children":986},{},[987,989,993,994,999,1001,1004,1006],{"type":26,"value":988},"The memory region specified in\n",{"type":21,"tag":251,"props":990,"children":991},{"href":253},[992],{"type":26,"value":256},{"type":26,"value":172},{"type":21,"tag":42,"props":995,"children":997},{"className":996},[],[998],{"type":26,"value":362},{"type":26,"value":1000},"\nfor multiple acceleration structure builds ",{"type":21,"tag":273,"props":1002,"children":1003},{"type":294},[],{"type":26,"value":1005}," not overlap with\n",{"type":21,"tag":42,"props":1007,"children":1009},{"className":1008},[],[1010],{"type":26,"value":979},{"type":21,"tag":505,"props":1012,"children":1014},{"name":1013},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10457",[1015],{"type":21,"tag":22,"props":1016,"children":1017},{},[1018,1020,1025,1027,1030,1032,1038],{"type":26,"value":1019},"The buffer from which the buffer device address for\n",{"type":21,"tag":42,"props":1021,"children":1023},{"className":1022},[],[1024],{"type":26,"value":979},{"type":26,"value":1026}," is queried ",{"type":21,"tag":273,"props":1028,"children":1029},{"type":294},[],{"type":26,"value":1031}," have been created with\nthe ",{"type":21,"tag":42,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":26,"value":1037},"VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",{"type":26,"value":1039}," usage flag",{"type":21,"tag":505,"props":1041,"children":1043},{"name":1042},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10458",[1044],{"type":21,"tag":22,"props":1045,"children":1046},{},[1047,1049,1054,1056,1061,1062,1068,1070,1073,1075,1081],{"type":26,"value":1048},"The buffers from which the buffer device addresses for\n",{"type":21,"tag":42,"props":1050,"children":1052},{"className":1051},[],[1053],{"type":26,"value":702},{"type":26,"value":1055},", ",{"type":21,"tag":42,"props":1057,"children":1059},{"className":1058},[],[1060],{"type":26,"value":908},{"type":26,"value":376},{"type":21,"tag":42,"props":1063,"children":1065},{"className":1064},[],[1066],{"type":26,"value":1067},"pCommandInfos→addressResolutionFlags",{"type":26,"value":1069}," are queried ",{"type":21,"tag":273,"props":1071,"children":1072},{"type":294},[],{"type":26,"value":1074}," have\nbeen created with the\n",{"type":21,"tag":42,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":26,"value":1080},"VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR",{"type":26,"value":1082},"\nusage flag",{"type":21,"tag":505,"props":1084,"children":1086},{"name":1085},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10459",[1087],{"type":21,"tag":22,"props":1088,"children":1089},{},[1090,1091,1097,1098,1104,1105,1108,1110,1116],{"type":26,"value":1048},{"type":21,"tag":42,"props":1092,"children":1094},{"className":1093},[],[1095],{"type":26,"value":1096},"pCommandInfos→dstImplicitData",{"type":26,"value":453},{"type":21,"tag":42,"props":1099,"children":1101},{"className":1100},[],[1102],{"type":26,"value":1103},"pCommandInfos→dstAddressesArray",{"type":26,"value":1069},{"type":21,"tag":273,"props":1106,"children":1107},{"type":294},[],{"type":26,"value":1109}," have been\ncreated with the\n",{"type":21,"tag":42,"props":1111,"children":1113},{"className":1112},[],[1114],{"type":26,"value":1115},"VK_BUFFER_USAGE_ACCELERATION_STRUCTURE_STORAGE_BIT_KHR",{"type":26,"value":1039},{"type":21,"tag":505,"props":1118,"children":1120},{"name":1119},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10460",[1121],{"type":21,"tag":22,"props":1122,"children":1123},{},[1124,1125,1130,1132,1135,1137,1143],{"type":26,"value":675},{"type":21,"tag":42,"props":1126,"children":1128},{"className":1127},[],[1129],{"type":26,"value":1096},{"type":26,"value":1131}," is the address of a non-sparse\nbuffer then it ",{"type":21,"tag":273,"props":1133,"children":1134},{"type":294},[],{"type":26,"value":1136}," be bound completely and contiguously to a single\n",{"type":21,"tag":251,"props":1138,"children":1140},{"href":1139},"/man/VkDeviceMemory",[1141],{"type":26,"value":1142},"VkDeviceMemory",{"type":26,"value":1144}," object",{"type":21,"tag":505,"props":1146,"children":1148},{"name":1147},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10461",[1149],{"type":21,"tag":22,"props":1150,"children":1151},{},[1152,1153,1158,1159,1162,1163,1167],{"type":26,"value":675},{"type":21,"tag":42,"props":1154,"children":1156},{"className":1155},[],[1157],{"type":26,"value":979},{"type":26,"value":1131},{"type":21,"tag":273,"props":1160,"children":1161},{"type":294},[],{"type":26,"value":1136},{"type":21,"tag":251,"props":1164,"children":1165},{"href":1139},[1166],{"type":26,"value":1142},{"type":26,"value":1144},{"type":21,"tag":505,"props":1169,"children":1171},{"name":1170},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10462",[1172],{"type":21,"tag":22,"props":1173,"children":1174},{},[1175,1176,1181,1182,1185,1186,1190],{"type":26,"value":675},{"type":21,"tag":42,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":26,"value":908},{"type":26,"value":1131},{"type":21,"tag":273,"props":1183,"children":1184},{"type":294},[],{"type":26,"value":1136},{"type":21,"tag":251,"props":1187,"children":1188},{"href":1139},[1189],{"type":26,"value":1142},{"type":26,"value":1144},{"type":21,"tag":505,"props":1192,"children":1194},{"name":1193},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10463",[1195],{"type":21,"tag":22,"props":1196,"children":1197},{},[1198,1200,1205,1207,1210,1212,1216],{"type":26,"value":1199},"If the addresses specified in ",{"type":21,"tag":42,"props":1201,"children":1203},{"className":1202},[],[1204],{"type":26,"value":1103},{"type":26,"value":1206}," are\nthe address of a non-sparse buffer then they each ",{"type":21,"tag":273,"props":1208,"children":1209},{"type":294},[],{"type":26,"value":1211}," be bound\ncompletely and contiguously to a single ",{"type":21,"tag":251,"props":1213,"children":1214},{"href":1139},[1215],{"type":26,"value":1142},{"type":26,"value":1144},{"type":21,"tag":505,"props":1218,"children":1220},{"name":1219},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10464",[1221],{"type":21,"tag":22,"props":1222,"children":1223},{},[1224,1225,1231,1233,1236,1238,1242],{"type":26,"value":1199},{"type":21,"tag":42,"props":1226,"children":1228},{"className":1227},[],[1229],{"type":26,"value":1230},"pCommandInfos→dstSizesArray",{"type":26,"value":1232}," are the\naddress of a non-sparse buffer then they each ",{"type":21,"tag":273,"props":1234,"children":1235},{"type":294},[],{"type":26,"value":1237}," be bound completely\nand contiguously to a single ",{"type":21,"tag":251,"props":1239,"children":1240},{"href":1139},[1241],{"type":26,"value":1142},{"type":26,"value":1144},{"type":21,"tag":505,"props":1244,"children":1246},{"name":1245},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-10465",[1247],{"type":21,"tag":22,"props":1248,"children":1249},{},[1250,1251,1256,1257,1260,1261,1265],{"type":26,"value":1199},{"type":21,"tag":42,"props":1252,"children":1254},{"className":1253},[],[1255],{"type":26,"value":702},{"type":26,"value":1232},{"type":21,"tag":273,"props":1258,"children":1259},{"type":294},[],{"type":26,"value":1237},{"type":21,"tag":251,"props":1262,"children":1263},{"href":1139},[1264],{"type":26,"value":1142},{"type":26,"value":1144},{"type":21,"tag":500,"props":1267,"children":1269},{"name":1268},"Valid Usage (Implicit)",[1270,1296,1320,1344,1372,1386],{"type":21,"tag":505,"props":1271,"children":1273},{"name":1272},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-commandBuffer-parameter",[1274],{"type":21,"tag":22,"props":1275,"children":1276},{},[1277,1282,1283,1286,1288,1294],{"type":21,"tag":42,"props":1278,"children":1280},{"className":1279},[],[1281],{"type":26,"value":83},{"type":26,"value":291},{"type":21,"tag":273,"props":1284,"children":1285},{"type":294},[],{"type":26,"value":1287}," be a valid ",{"type":21,"tag":251,"props":1289,"children":1291},{"href":1290},"/man/VkCommandBuffer",[1292],{"type":26,"value":1293},"VkCommandBuffer",{"type":26,"value":1295}," handle",{"type":21,"tag":505,"props":1297,"children":1299},{"name":1298},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-pCommandInfos-parameter",[1300],{"type":21,"tag":22,"props":1301,"children":1302},{},[1303,1308,1309,1312,1314,1318],{"type":21,"tag":42,"props":1304,"children":1306},{"className":1305},[],[1307],{"type":26,"value":247},{"type":26,"value":291},{"type":21,"tag":273,"props":1310,"children":1311},{"type":294},[],{"type":26,"value":1313}," be a valid pointer to a valid ",{"type":21,"tag":251,"props":1315,"children":1316},{"href":253},[1317],{"type":26,"value":256},{"type":26,"value":1319}," structure",{"type":21,"tag":505,"props":1321,"children":1323},{"name":1322},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-commandBuffer-recording",[1324],{"type":21,"tag":22,"props":1325,"children":1326},{},[1327,1332,1333,1336,1338],{"type":21,"tag":42,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":26,"value":83},{"type":26,"value":291},{"type":21,"tag":273,"props":1334,"children":1335},{"type":294},[],{"type":26,"value":1337}," be in the ",{"type":21,"tag":251,"props":1339,"children":1341},{"href":1340},"/chapters/commandbuffers#commandbuffers-lifecycle",[1342],{"type":26,"value":1343},"recording state",{"type":21,"tag":505,"props":1345,"children":1347},{"name":1346},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-commandBuffer-cmdpool",[1348],{"type":21,"tag":22,"props":1349,"children":1350},{},[1351,1352,1358,1360,1365,1367,1370],{"type":26,"value":513},{"type":21,"tag":42,"props":1353,"children":1355},{"className":1354},[],[1356],{"type":26,"value":1357},"VkCommandPool",{"type":26,"value":1359}," that ",{"type":21,"tag":42,"props":1361,"children":1363},{"className":1362},[],[1364],{"type":26,"value":83},{"type":26,"value":1366}," was allocated from ",{"type":21,"tag":273,"props":1368,"children":1369},{"type":294},[],{"type":26,"value":1371}," support compute operations",{"type":21,"tag":505,"props":1373,"children":1375},{"name":1374},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-renderpass",[1376],{"type":21,"tag":22,"props":1377,"children":1378},{},[1379,1381,1384],{"type":26,"value":1380},"This command ",{"type":21,"tag":273,"props":1382,"children":1383},{"type":294},[],{"type":26,"value":1385}," only be called outside of a render pass instance",{"type":21,"tag":505,"props":1387,"children":1389},{"name":1388},"VUID-vkCmdBuildClusterAccelerationStructureIndirectNV-videocoding",[1390],{"type":21,"tag":22,"props":1391,"children":1392},{},[1393,1394,1397],{"type":26,"value":1380},{"type":21,"tag":273,"props":1395,"children":1396},{"type":294},[],{"type":26,"value":1398}," only be called outside of a video coding scope",{"type":21,"tag":1400,"props":1401,"children":1403},"validity-box",{"name":1402},"Host Synchronization",[1404],{"type":21,"tag":225,"props":1405,"children":1406},{},[1407,1423],{"type":21,"tag":229,"props":1408,"children":1409},{},[1410,1412,1417,1418,1421],{"type":26,"value":1411},"Host access to ",{"type":21,"tag":42,"props":1413,"children":1415},{"className":1414},[],[1416],{"type":26,"value":83},{"type":26,"value":291},{"type":21,"tag":273,"props":1419,"children":1420},{"type":294},[],{"type":26,"value":1422}," be externally synchronized",{"type":21,"tag":229,"props":1424,"children":1425},{},[1426,1428,1433,1434,1439,1440,1443],{"type":26,"value":1427},"Host access to the ",{"type":21,"tag":42,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":26,"value":1357},{"type":26,"value":1359},{"type":21,"tag":42,"props":1435,"children":1437},{"className":1436},[],[1438],{"type":26,"value":83},{"type":26,"value":1366},{"type":21,"tag":273,"props":1441,"children":1442},{"type":294},[],{"type":26,"value":1444}," be externally synchronized\n::",{"type":21,"tag":1446,"props":1447,"children":1448},"style",{},[1449],{"type":26,"value":1450},"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":1452},[],"markdown",1744876581829]