[{"data":1,"prerenderedAt":759},["ShallowReactive",2],{"nARugyvavh":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":10,"_type":758,"_id":4},"VkDrawIndexedIndirectCommand","Structure specifying an indexed indirect drawing command","VK_VERSION_1_0","structs",[9],"vkCmdDrawIndexedIndirect",{"type":11,"children":12,"toc":756},"root",[13,29,289,349,370,750],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,27],{"type":19,"value":20},"text","The ",{"type":14,"tag":22,"props":23,"children":25},"code",{"className":24},[],[26],{"type":19,"value":4},{"type":19,"value":28}," structure is defined as:",{"type":14,"tag":30,"props":31,"children":32},"code-group",{},[33,144],{"type":14,"tag":34,"props":35,"children":41},"pre",{"className":36,"code":37,"filename":38,"language":39,"meta":40,"style":40},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkDrawIndexedIndirectCommand {\n uint32_t indexCount;\n uint32_t instanceCount;\n uint32_t firstIndex;\n int32_t vertexOffset;\n uint32_t firstInstance;\n} VkDrawIndexedIndirectCommand;\n","C","c","",[42],{"type":14,"tag":22,"props":43,"children":44},{"__ignoreMap":40},[45,68,82,95,108,122,135],{"type":14,"tag":46,"props":47,"children":50},"span",{"class":48,"line":49},"line",1,[51,57,62],{"type":14,"tag":46,"props":52,"children":54},{"style":53},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[55],{"type":19,"value":56},"typedef",{"type":14,"tag":46,"props":58,"children":59},{"style":53},[60],{"type":19,"value":61}," struct",{"type":14,"tag":46,"props":63,"children":65},{"style":64},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[66],{"type":19,"value":67}," VkDrawIndexedIndirectCommand {\n",{"type":14,"tag":46,"props":69,"children":71},{"class":48,"line":70},2,[72,77],{"type":14,"tag":46,"props":73,"children":74},{"style":53},[75],{"type":19,"value":76}," uint32_t",{"type":14,"tag":46,"props":78,"children":79},{"style":64},[80],{"type":19,"value":81}," indexCount;\n",{"type":14,"tag":46,"props":83,"children":85},{"class":48,"line":84},3,[86,90],{"type":14,"tag":46,"props":87,"children":88},{"style":53},[89],{"type":19,"value":76},{"type":14,"tag":46,"props":91,"children":92},{"style":64},[93],{"type":19,"value":94}," instanceCount;\n",{"type":14,"tag":46,"props":96,"children":98},{"class":48,"line":97},4,[99,103],{"type":14,"tag":46,"props":100,"children":101},{"style":53},[102],{"type":19,"value":76},{"type":14,"tag":46,"props":104,"children":105},{"style":64},[106],{"type":19,"value":107}," firstIndex;\n",{"type":14,"tag":46,"props":109,"children":111},{"class":48,"line":110},5,[112,117],{"type":14,"tag":46,"props":113,"children":114},{"style":53},[115],{"type":19,"value":116}," int32_t",{"type":14,"tag":46,"props":118,"children":119},{"style":64},[120],{"type":19,"value":121}," vertexOffset;\n",{"type":14,"tag":46,"props":123,"children":125},{"class":48,"line":124},6,[126,130],{"type":14,"tag":46,"props":127,"children":128},{"style":53},[129],{"type":19,"value":76},{"type":14,"tag":46,"props":131,"children":132},{"style":64},[133],{"type":19,"value":134}," firstInstance;\n",{"type":14,"tag":46,"props":136,"children":138},{"class":48,"line":137},7,[139],{"type":14,"tag":46,"props":140,"children":141},{"style":64},[142],{"type":19,"value":143},"} VkDrawIndexedIndirectCommand;\n",{"type":14,"tag":34,"props":145,"children":150},{"className":146,"code":147,"filename":148,"language":149,"meta":40,"style":40},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct DrawIndexedIndirectCommand {\n index_count: u32,\n instance_count: u32,\n first_index: u32,\n vertex_offset: i32,\n first_instance: u32,\n}\n","Rust","rs",[151],{"type":14,"tag":22,"props":152,"children":153},{"__ignoreMap":40},[154,177,200,220,240,261,281],{"type":14,"tag":46,"props":155,"children":156},{"class":48,"line":49},[157,162,166,172],{"type":14,"tag":46,"props":158,"children":159},{"style":53},[160],{"type":19,"value":161},"pub",{"type":14,"tag":46,"props":163,"children":164},{"style":53},[165],{"type":19,"value":61},{"type":14,"tag":46,"props":167,"children":169},{"style":168},"--shiki-default:#953800;--shiki-dark:#FFA657",[170],{"type":19,"value":171}," DrawIndexedIndirectCommand",{"type":14,"tag":46,"props":173,"children":174},{"style":64},[175],{"type":19,"value":176}," {\n",{"type":14,"tag":46,"props":178,"children":179},{"class":48,"line":70},[180,185,190,195],{"type":14,"tag":46,"props":181,"children":182},{"style":64},[183],{"type":19,"value":184}," index_count",{"type":14,"tag":46,"props":186,"children":187},{"style":53},[188],{"type":19,"value":189},":",{"type":14,"tag":46,"props":191,"children":192},{"style":168},[193],{"type":19,"value":194}," u32",{"type":14,"tag":46,"props":196,"children":197},{"style":64},[198],{"type":19,"value":199},",\n",{"type":14,"tag":46,"props":201,"children":202},{"class":48,"line":84},[203,208,212,216],{"type":14,"tag":46,"props":204,"children":205},{"style":64},[206],{"type":19,"value":207}," instance_count",{"type":14,"tag":46,"props":209,"children":210},{"style":53},[211],{"type":19,"value":189},{"type":14,"tag":46,"props":213,"children":214},{"style":168},[215],{"type":19,"value":194},{"type":14,"tag":46,"props":217,"children":218},{"style":64},[219],{"type":19,"value":199},{"type":14,"tag":46,"props":221,"children":222},{"class":48,"line":97},[223,228,232,236],{"type":14,"tag":46,"props":224,"children":225},{"style":64},[226],{"type":19,"value":227}," first_index",{"type":14,"tag":46,"props":229,"children":230},{"style":53},[231],{"type":19,"value":189},{"type":14,"tag":46,"props":233,"children":234},{"style":168},[235],{"type":19,"value":194},{"type":14,"tag":46,"props":237,"children":238},{"style":64},[239],{"type":19,"value":199},{"type":14,"tag":46,"props":241,"children":242},{"class":48,"line":110},[243,248,252,257],{"type":14,"tag":46,"props":244,"children":245},{"style":64},[246],{"type":19,"value":247}," vertex_offset",{"type":14,"tag":46,"props":249,"children":250},{"style":53},[251],{"type":19,"value":189},{"type":14,"tag":46,"props":253,"children":254},{"style":168},[255],{"type":19,"value":256}," i32",{"type":14,"tag":46,"props":258,"children":259},{"style":64},[260],{"type":19,"value":199},{"type":14,"tag":46,"props":262,"children":263},{"class":48,"line":124},[264,269,273,277],{"type":14,"tag":46,"props":265,"children":266},{"style":64},[267],{"type":19,"value":268}," first_instance",{"type":14,"tag":46,"props":270,"children":271},{"style":53},[272],{"type":19,"value":189},{"type":14,"tag":46,"props":274,"children":275},{"style":168},[276],{"type":19,"value":194},{"type":14,"tag":46,"props":278,"children":279},{"style":64},[280],{"type":19,"value":199},{"type":14,"tag":46,"props":282,"children":283},{"class":48,"line":137},[284],{"type":14,"tag":46,"props":285,"children":286},{"style":64},[287],{"type":19,"value":288},"}\n",{"type":14,"tag":290,"props":291,"children":292},"ul",{},[293,305,316,327,338],{"type":14,"tag":294,"props":295,"children":296},"li",{},[297,303],{"type":14,"tag":22,"props":298,"children":300},{"className":299},[],[301],{"type":19,"value":302},"indexCount",{"type":19,"value":304}," is the number of vertices to draw.",{"type":14,"tag":294,"props":306,"children":307},{},[308,314],{"type":14,"tag":22,"props":309,"children":311},{"className":310},[],[312],{"type":19,"value":313},"instanceCount",{"type":19,"value":315}," is the number of instances to draw.",{"type":14,"tag":294,"props":317,"children":318},{},[319,325],{"type":14,"tag":22,"props":320,"children":322},{"className":321},[],[323],{"type":19,"value":324},"firstIndex",{"type":19,"value":326}," is the base index within the index buffer.",{"type":14,"tag":294,"props":328,"children":329},{},[330,336],{"type":14,"tag":22,"props":331,"children":333},{"className":332},[],[334],{"type":19,"value":335},"vertexOffset",{"type":19,"value":337}," is the value added to the vertex index before\nindexing into the vertex buffer.",{"type":14,"tag":294,"props":339,"children":340},{},[341,347],{"type":14,"tag":22,"props":342,"children":344},{"className":343},[],[345],{"type":19,"value":346},"firstInstance",{"type":19,"value":348}," is the instance ID of the first instance to draw.",{"type":14,"tag":15,"props":350,"children":351},{},[352,354,359,361,368],{"type":19,"value":353},"The members of ",{"type":14,"tag":22,"props":355,"children":357},{"className":356},[],[358],{"type":19,"value":4},{"type":19,"value":360}," have the same meaning as\nthe similarly named parameters of ",{"type":14,"tag":362,"props":363,"children":365},"a",{"href":364},"/man/vkCmdDrawIndexed",[366],{"type":19,"value":367},"vkCmdDrawIndexed",{"type":19,"value":369},".",{"type":14,"tag":371,"props":372,"children":374},"validity-group",{"name":373},"Valid Usage",[375,489,574,694,714],{"type":14,"tag":376,"props":377,"children":379},"validity-field",{"name":378},"VUID-VkDrawIndexedIndirectCommand-pNext-09461",[380],{"type":14,"tag":15,"props":381,"children":382},{},[383,385,391,393,399,401,407,409,415,417,421,422,428,430,436,438,444,446,452,453,459,461,467,469,474,476,481,483],{"type":19,"value":384},"If the bound graphics pipeline state was created with\n",{"type":14,"tag":362,"props":386,"children":388},{"href":387},"/man/VkPipelineVertexInputDivisorStateCreateInfoKHR",[389],{"type":19,"value":390},"VkPipelineVertexInputDivisorStateCreateInfoKHR",{"type":19,"value":392}," in the ",{"type":14,"tag":22,"props":394,"children":396},{"className":395},[],[397],{"type":19,"value":398},"pNext",{"type":19,"value":400},"\nchain of ",{"type":14,"tag":362,"props":402,"children":404},{"href":403},"/man/VkGraphicsPipelineCreateInfo",[405],{"type":19,"value":406},"VkGraphicsPipelineCreateInfo",{"type":19,"value":408},"::",{"type":14,"tag":22,"props":410,"children":412},{"className":411},[],[413],{"type":19,"value":414},"pVertexInputState",{"type":19,"value":416},",\nany member of\n",{"type":14,"tag":362,"props":418,"children":419},{"href":387},[420],{"type":19,"value":390},{"type":19,"value":408},{"type":14,"tag":22,"props":423,"children":425},{"className":424},[],[426],{"type":19,"value":427},"pVertexBindingDivisors",{"type":19,"value":429},"\nhas a value other than ",{"type":14,"tag":22,"props":431,"children":433},{"className":432},[],[434],{"type":19,"value":435},"1",{"type":19,"value":437}," in ",{"type":14,"tag":22,"props":439,"children":441},{"className":440},[],[442],{"type":19,"value":443},"divisor",{"type":19,"value":445},", and\n",{"type":14,"tag":362,"props":447,"children":449},{"href":448},"/man/VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR",[450],{"type":19,"value":451},"VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR",{"type":19,"value":408},{"type":14,"tag":22,"props":454,"children":456},{"className":455},[],[457],{"type":19,"value":458},"supportsNonZeroFirstInstance",{"type":19,"value":460},"\nis ",{"type":14,"tag":22,"props":462,"children":464},{"className":463},[],[465],{"type":19,"value":466},"VK_FALSE",{"type":19,"value":468},", then ",{"type":14,"tag":22,"props":470,"children":472},{"className":471},[],[473],{"type":19,"value":346},{"type":19,"value":475}," ",{"type":14,"tag":477,"props":478,"children":480},"normative",{"type":479},"must",[],{"type":19,"value":482}," be ",{"type":14,"tag":22,"props":484,"children":486},{"className":485},[],[487],{"type":19,"value":488},"0",{"type":14,"tag":376,"props":490,"children":492},{"name":491},"VUID-VkDrawIndexedIndirectCommand-None-09462",[493],{"type":14,"tag":15,"props":494,"children":495},{},[496,498,504,506,512,514,520,522,528,530,535,536,541,542,546,547,552,553,558,559,564,565,568,569],{"type":19,"value":497},"If\n",{"type":14,"tag":362,"props":499,"children":501},{"href":500},"/chapters/shaders#shaders-objects",[502],{"type":19,"value":503},"shader objects",{"type":19,"value":505}," are used for drawing or\nthe bound graphics pipeline state was created with the\n",{"type":14,"tag":22,"props":507,"children":509},{"className":508},[],[510],{"type":19,"value":511},"VK_DYNAMIC_STATE_VERTEX_INPUT_EXT",{"type":19,"value":513}," dynamic state enabled, any\nmember of the ",{"type":14,"tag":22,"props":515,"children":517},{"className":516},[],[518],{"type":19,"value":519},"pVertexBindingDescriptions",{"type":19,"value":521}," parameter to the\n",{"type":14,"tag":362,"props":523,"children":525},{"href":524},"/man/vkCmdSetVertexInputEXT",[526],{"type":19,"value":527},"vkCmdSetVertexInputEXT",{"type":19,"value":529}," call that sets this dynamic state has a\nvalue other than ",{"type":14,"tag":22,"props":531,"children":533},{"className":532},[],[534],{"type":19,"value":435},{"type":19,"value":437},{"type":14,"tag":22,"props":537,"children":539},{"className":538},[],[540],{"type":19,"value":443},{"type":19,"value":445},{"type":14,"tag":362,"props":543,"children":544},{"href":448},[545],{"type":19,"value":451},{"type":19,"value":408},{"type":14,"tag":22,"props":548,"children":550},{"className":549},[],[551],{"type":19,"value":458},{"type":19,"value":460},{"type":14,"tag":22,"props":554,"children":556},{"className":555},[],[557],{"type":19,"value":466},{"type":19,"value":468},{"type":14,"tag":22,"props":560,"children":562},{"className":561},[],[563],{"type":19,"value":346},{"type":19,"value":475},{"type":14,"tag":477,"props":566,"children":567},{"type":479},[],{"type":19,"value":482},{"type":14,"tag":22,"props":570,"children":572},{"className":571},[],[573],{"type":19,"value":488},{"type":14,"tag":376,"props":575,"children":577},{"name":576},"VUID-VkDrawIndexedIndirectCommand-robustBufferAccess2-08798",[578],{"type":14,"tag":15,"props":579,"children":580},{},[581,583,593,595,601,603,608,610,615,617,623,625,628,630,635,637,643,645,650,652,657,659,665,667,673,675,680,682,687,688],{"type":19,"value":582},"If ",{"type":14,"tag":362,"props":584,"children":586},{"href":585},"/man/VkPhysicalDeviceRobustness2FeaturesEXT#features-robustBufferAccess2",[587],{"type":14,"tag":22,"props":588,"children":590},{"className":589},[],[591],{"type":19,"value":592},"robustBufferAccess2",{"type":19,"value":594}," is not\nenabled, (",{"type":14,"tag":22,"props":596,"children":598},{"className":597},[],[599],{"type":19,"value":600},"indexSize",{"type":19,"value":602}," × (",{"type":14,"tag":22,"props":604,"children":606},{"className":605},[],[607],{"type":19,"value":324},{"type":19,"value":609}," +\n",{"type":14,"tag":22,"props":611,"children":613},{"className":612},[],[614],{"type":19,"value":302},{"type":19,"value":616},") + ",{"type":14,"tag":22,"props":618,"children":620},{"className":619},[],[621],{"type":19,"value":622},"offset",{"type":19,"value":624},") ",{"type":14,"tag":477,"props":626,"children":627},{"type":479},[],{"type":19,"value":629}," be less than or equal to\nthe size of the bound index buffer, with ",{"type":14,"tag":22,"props":631,"children":633},{"className":632},[],[634],{"type":19,"value":600},{"type":19,"value":636}," being based on\nthe type specified by ",{"type":14,"tag":22,"props":638,"children":640},{"className":639},[],[641],{"type":19,"value":642},"indexType",{"type":19,"value":644},", where the index buffer,\n",{"type":14,"tag":22,"props":646,"children":648},{"className":647},[],[649],{"type":19,"value":642},{"type":19,"value":651},", and ",{"type":14,"tag":22,"props":653,"children":655},{"className":654},[],[656],{"type":19,"value":622},{"type":19,"value":658}," are specified via\n",{"type":14,"tag":22,"props":660,"children":662},{"className":661},[],[663],{"type":19,"value":664},"vkCmdBindIndexBuffer",{"type":19,"value":666},"\nor ",{"type":14,"tag":22,"props":668,"children":670},{"className":669},[],[671],{"type":19,"value":672},"vkCmdBindIndexBuffer2KHR",{"type":19,"value":674},".\nIf ",{"type":14,"tag":22,"props":676,"children":678},{"className":677},[],[679],{"type":19,"value":672},{"type":19,"value":681}," is used to bind the index buffer, the\nsize of the bound index buffer is\n",{"type":14,"tag":362,"props":683,"children":685},{"href":684},"/man/vkCmdBindIndexBuffer2KHR",[686],{"type":19,"value":672},{"type":19,"value":408},{"type":14,"tag":22,"props":689,"children":691},{"className":690},[],[692],{"type":19,"value":693},"size",{"type":14,"tag":376,"props":695,"children":697},{"name":696},"VUID-VkDrawIndexedIndirectCommand-None-00552",[698],{"type":14,"tag":15,"props":699,"children":700},{},[701,703,706,708],{"type":19,"value":702},"For a given vertex buffer binding, any attribute data fetched ",{"type":14,"tag":477,"props":704,"children":705},{"type":479},[],{"type":19,"value":707}," be\nentirely contained within the corresponding vertex buffer binding, as\ndescribed in ",{"type":14,"tag":362,"props":709,"children":711},{"href":710},"/chapters/fxvertex#fxvertex-input",[712],{"type":19,"value":713},"Vertex Input Description",{"type":14,"tag":376,"props":715,"children":717},{"name":716},"VUID-VkDrawIndexedIndirectCommand-firstInstance-00554",[718],{"type":14,"tag":15,"props":719,"children":720},{},[721,723,733,735,740,741,744,745],{"type":19,"value":722},"If the ",{"type":14,"tag":362,"props":724,"children":726},{"href":725},"/man/VkPhysicalDeviceFeatures#features-drawIndirectFirstInstance",[727],{"type":14,"tag":22,"props":728,"children":730},{"className":729},[],[731],{"type":19,"value":732},"drawIndirectFirstInstance",{"type":19,"value":734}," feature is not enabled,\n",{"type":14,"tag":22,"props":736,"children":738},{"className":737},[],[739],{"type":19,"value":346},{"type":19,"value":475},{"type":14,"tag":477,"props":742,"children":743},{"type":479},[],{"type":19,"value":482},{"type":14,"tag":22,"props":746,"children":748},{"className":747},[],[749],{"type":19,"value":488},{"type":14,"tag":751,"props":752,"children":753},"style",{},[754],{"type":19,"value":755},"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":40,"searchDepth":70,"depth":70,"links":757},[],"markdown",1725732550705]