[{"data":1,"prerenderedAt":593},["ShallowReactive",2],{"ENahUgO1XV":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":10,"_type":592,"_id":4},"VkDrawIndirectCommand","Structure specifying an indirect drawing command","VK_VERSION_1_0","structs",[9],"vkCmdDrawIndirect",{"type":11,"children":12,"toc":590},"root",[13,29,254,303,324,584],{"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,130],{"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 VkDrawIndirectCommand {\n uint32_t vertexCount;\n uint32_t instanceCount;\n uint32_t firstVertex;\n uint32_t firstInstance;\n} VkDrawIndirectCommand;\n","C","c","",[42],{"type":14,"tag":22,"props":43,"children":44},{"__ignoreMap":40},[45,68,82,95,108,121],{"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}," VkDrawIndirectCommand {\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}," vertexCount;\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}," firstVertex;\n",{"type":14,"tag":46,"props":109,"children":111},{"class":48,"line":110},5,[112,116],{"type":14,"tag":46,"props":113,"children":114},{"style":53},[115],{"type":19,"value":76},{"type":14,"tag":46,"props":117,"children":118},{"style":64},[119],{"type":19,"value":120}," firstInstance;\n",{"type":14,"tag":46,"props":122,"children":124},{"class":48,"line":123},6,[125],{"type":14,"tag":46,"props":126,"children":127},{"style":64},[128],{"type":19,"value":129},"} VkDrawIndirectCommand;\n",{"type":14,"tag":34,"props":131,"children":136},{"className":132,"code":133,"filename":134,"language":135,"meta":40,"style":40},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct DrawIndirectCommand {\n vertex_count: u32,\n instance_count: u32,\n first_vertex: u32,\n first_instance: u32,\n}\n","Rust","rs",[137],{"type":14,"tag":22,"props":138,"children":139},{"__ignoreMap":40},[140,163,186,206,226,246],{"type":14,"tag":46,"props":141,"children":142},{"class":48,"line":49},[143,148,152,158],{"type":14,"tag":46,"props":144,"children":145},{"style":53},[146],{"type":19,"value":147},"pub",{"type":14,"tag":46,"props":149,"children":150},{"style":53},[151],{"type":19,"value":61},{"type":14,"tag":46,"props":153,"children":155},{"style":154},"--shiki-default:#953800;--shiki-dark:#FFA657",[156],{"type":19,"value":157}," DrawIndirectCommand",{"type":14,"tag":46,"props":159,"children":160},{"style":64},[161],{"type":19,"value":162}," {\n",{"type":14,"tag":46,"props":164,"children":165},{"class":48,"line":70},[166,171,176,181],{"type":14,"tag":46,"props":167,"children":168},{"style":64},[169],{"type":19,"value":170}," vertex_count",{"type":14,"tag":46,"props":172,"children":173},{"style":53},[174],{"type":19,"value":175},":",{"type":14,"tag":46,"props":177,"children":178},{"style":154},[179],{"type":19,"value":180}," u32",{"type":14,"tag":46,"props":182,"children":183},{"style":64},[184],{"type":19,"value":185},",\n",{"type":14,"tag":46,"props":187,"children":188},{"class":48,"line":84},[189,194,198,202],{"type":14,"tag":46,"props":190,"children":191},{"style":64},[192],{"type":19,"value":193}," instance_count",{"type":14,"tag":46,"props":195,"children":196},{"style":53},[197],{"type":19,"value":175},{"type":14,"tag":46,"props":199,"children":200},{"style":154},[201],{"type":19,"value":180},{"type":14,"tag":46,"props":203,"children":204},{"style":64},[205],{"type":19,"value":185},{"type":14,"tag":46,"props":207,"children":208},{"class":48,"line":97},[209,214,218,222],{"type":14,"tag":46,"props":210,"children":211},{"style":64},[212],{"type":19,"value":213}," first_vertex",{"type":14,"tag":46,"props":215,"children":216},{"style":53},[217],{"type":19,"value":175},{"type":14,"tag":46,"props":219,"children":220},{"style":154},[221],{"type":19,"value":180},{"type":14,"tag":46,"props":223,"children":224},{"style":64},[225],{"type":19,"value":185},{"type":14,"tag":46,"props":227,"children":228},{"class":48,"line":110},[229,234,238,242],{"type":14,"tag":46,"props":230,"children":231},{"style":64},[232],{"type":19,"value":233}," first_instance",{"type":14,"tag":46,"props":235,"children":236},{"style":53},[237],{"type":19,"value":175},{"type":14,"tag":46,"props":239,"children":240},{"style":154},[241],{"type":19,"value":180},{"type":14,"tag":46,"props":243,"children":244},{"style":64},[245],{"type":19,"value":185},{"type":14,"tag":46,"props":247,"children":248},{"class":48,"line":123},[249],{"type":14,"tag":46,"props":250,"children":251},{"style":64},[252],{"type":19,"value":253},"}\n",{"type":14,"tag":255,"props":256,"children":257},"ul",{},[258,270,281,292],{"type":14,"tag":259,"props":260,"children":261},"li",{},[262,268],{"type":14,"tag":22,"props":263,"children":265},{"className":264},[],[266],{"type":19,"value":267},"vertexCount",{"type":19,"value":269}," is the number of vertices to draw.",{"type":14,"tag":259,"props":271,"children":272},{},[273,279],{"type":14,"tag":22,"props":274,"children":276},{"className":275},[],[277],{"type":19,"value":278},"instanceCount",{"type":19,"value":280}," is the number of instances to draw.",{"type":14,"tag":259,"props":282,"children":283},{},[284,290],{"type":14,"tag":22,"props":285,"children":287},{"className":286},[],[288],{"type":19,"value":289},"firstVertex",{"type":19,"value":291}," is the index of the first vertex to draw.",{"type":14,"tag":259,"props":293,"children":294},{},[295,301],{"type":14,"tag":22,"props":296,"children":298},{"className":297},[],[299],{"type":19,"value":300},"firstInstance",{"type":19,"value":302}," is the instance ID of the first instance to draw.",{"type":14,"tag":15,"props":304,"children":305},{},[306,308,313,315,322],{"type":19,"value":307},"The members of ",{"type":14,"tag":22,"props":309,"children":311},{"className":310},[],[312],{"type":19,"value":4},{"type":19,"value":314}," have the same meaning as the\nsimilarly named parameters of ",{"type":14,"tag":316,"props":317,"children":319},"a",{"href":318},"/man/vkCmdDraw",[320],{"type":19,"value":321},"vkCmdDraw",{"type":19,"value":323},".",{"type":14,"tag":325,"props":326,"children":328},"validity-group",{"name":327},"Valid Usage",[329,443,528,548],{"type":14,"tag":330,"props":331,"children":333},"validity-field",{"name":332},"VUID-VkDrawIndirectCommand-pNext-09461",[334],{"type":14,"tag":15,"props":335,"children":336},{},[337,339,345,347,353,355,361,363,369,371,375,376,382,384,390,392,398,400,406,407,413,415,421,423,428,430,435,437],{"type":19,"value":338},"If the bound graphics pipeline state was created with\n",{"type":14,"tag":316,"props":340,"children":342},{"href":341},"/man/VkPipelineVertexInputDivisorStateCreateInfoKHR",[343],{"type":19,"value":344},"VkPipelineVertexInputDivisorStateCreateInfoKHR",{"type":19,"value":346}," in the ",{"type":14,"tag":22,"props":348,"children":350},{"className":349},[],[351],{"type":19,"value":352},"pNext",{"type":19,"value":354},"\nchain of ",{"type":14,"tag":316,"props":356,"children":358},{"href":357},"/man/VkGraphicsPipelineCreateInfo",[359],{"type":19,"value":360},"VkGraphicsPipelineCreateInfo",{"type":19,"value":362},"::",{"type":14,"tag":22,"props":364,"children":366},{"className":365},[],[367],{"type":19,"value":368},"pVertexInputState",{"type":19,"value":370},",\nany member of\n",{"type":14,"tag":316,"props":372,"children":373},{"href":341},[374],{"type":19,"value":344},{"type":19,"value":362},{"type":14,"tag":22,"props":377,"children":379},{"className":378},[],[380],{"type":19,"value":381},"pVertexBindingDivisors",{"type":19,"value":383},"\nhas a value other than ",{"type":14,"tag":22,"props":385,"children":387},{"className":386},[],[388],{"type":19,"value":389},"1",{"type":19,"value":391}," in ",{"type":14,"tag":22,"props":393,"children":395},{"className":394},[],[396],{"type":19,"value":397},"divisor",{"type":19,"value":399},", and\n",{"type":14,"tag":316,"props":401,"children":403},{"href":402},"/man/VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR",[404],{"type":19,"value":405},"VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR",{"type":19,"value":362},{"type":14,"tag":22,"props":408,"children":410},{"className":409},[],[411],{"type":19,"value":412},"supportsNonZeroFirstInstance",{"type":19,"value":414},"\nis ",{"type":14,"tag":22,"props":416,"children":418},{"className":417},[],[419],{"type":19,"value":420},"VK_FALSE",{"type":19,"value":422},", then ",{"type":14,"tag":22,"props":424,"children":426},{"className":425},[],[427],{"type":19,"value":300},{"type":19,"value":429}," ",{"type":14,"tag":431,"props":432,"children":434},"normative",{"type":433},"must",[],{"type":19,"value":436}," be ",{"type":14,"tag":22,"props":438,"children":440},{"className":439},[],[441],{"type":19,"value":442},"0",{"type":14,"tag":330,"props":444,"children":446},{"name":445},"VUID-VkDrawIndirectCommand-None-09462",[447],{"type":14,"tag":15,"props":448,"children":449},{},[450,452,458,460,466,468,474,476,482,484,489,490,495,496,500,501,506,507,512,513,518,519,522,523],{"type":19,"value":451},"If\n",{"type":14,"tag":316,"props":453,"children":455},{"href":454},"/chapters/shaders#shaders-objects",[456],{"type":19,"value":457},"shader objects",{"type":19,"value":459}," are used for drawing or\nthe bound graphics pipeline state was created with the\n",{"type":14,"tag":22,"props":461,"children":463},{"className":462},[],[464],{"type":19,"value":465},"VK_DYNAMIC_STATE_VERTEX_INPUT_EXT",{"type":19,"value":467}," dynamic state enabled, any\nmember of the ",{"type":14,"tag":22,"props":469,"children":471},{"className":470},[],[472],{"type":19,"value":473},"pVertexBindingDescriptions",{"type":19,"value":475}," parameter to the\n",{"type":14,"tag":316,"props":477,"children":479},{"href":478},"/man/vkCmdSetVertexInputEXT",[480],{"type":19,"value":481},"vkCmdSetVertexInputEXT",{"type":19,"value":483}," call that sets this dynamic state has a\nvalue other than ",{"type":14,"tag":22,"props":485,"children":487},{"className":486},[],[488],{"type":19,"value":389},{"type":19,"value":391},{"type":14,"tag":22,"props":491,"children":493},{"className":492},[],[494],{"type":19,"value":397},{"type":19,"value":399},{"type":14,"tag":316,"props":497,"children":498},{"href":402},[499],{"type":19,"value":405},{"type":19,"value":362},{"type":14,"tag":22,"props":502,"children":504},{"className":503},[],[505],{"type":19,"value":412},{"type":19,"value":414},{"type":14,"tag":22,"props":508,"children":510},{"className":509},[],[511],{"type":19,"value":420},{"type":19,"value":422},{"type":14,"tag":22,"props":514,"children":516},{"className":515},[],[517],{"type":19,"value":300},{"type":19,"value":429},{"type":14,"tag":431,"props":520,"children":521},{"type":433},[],{"type":19,"value":436},{"type":14,"tag":22,"props":524,"children":526},{"className":525},[],[527],{"type":19,"value":442},{"type":14,"tag":330,"props":529,"children":531},{"name":530},"VUID-VkDrawIndirectCommand-None-00500",[532],{"type":14,"tag":15,"props":533,"children":534},{},[535,537,540,542],{"type":19,"value":536},"For a given vertex buffer binding, any attribute data fetched ",{"type":14,"tag":431,"props":538,"children":539},{"type":433},[],{"type":19,"value":541}," be\nentirely contained within the corresponding vertex buffer binding, as\ndescribed in ",{"type":14,"tag":316,"props":543,"children":545},{"href":544},"/chapters/fxvertex#fxvertex-input",[546],{"type":19,"value":547},"Vertex Input Description",{"type":14,"tag":330,"props":549,"children":551},{"name":550},"VUID-VkDrawIndirectCommand-firstInstance-00501",[552],{"type":14,"tag":15,"props":553,"children":554},{},[555,557,567,569,574,575,578,579],{"type":19,"value":556},"If the ",{"type":14,"tag":316,"props":558,"children":560},{"href":559},"/man/VkPhysicalDeviceFeatures#features-drawIndirectFirstInstance",[561],{"type":14,"tag":22,"props":562,"children":564},{"className":563},[],[565],{"type":19,"value":566},"drawIndirectFirstInstance",{"type":19,"value":568}," feature is not enabled,\n",{"type":14,"tag":22,"props":570,"children":572},{"className":571},[],[573],{"type":19,"value":300},{"type":19,"value":429},{"type":14,"tag":431,"props":576,"children":577},{"type":433},[],{"type":19,"value":436},{"type":14,"tag":22,"props":580,"children":582},{"className":581},[],[583],{"type":19,"value":442},{"type":14,"tag":585,"props":586,"children":587},"style",{},[588],{"type":19,"value":589},"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":591},[],"markdown",1725732550803]