[{"data":1,"prerenderedAt":1647},["ShallowReactive",2],{"nSJf3HaJcq":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":1646,"_id":4},"vkCmdBindVertexBuffers2","Bind vertex buffers to a command buffer and dynamically set strides","VK_VERSION_1_3","protos",[],{"type":10,"children":11,"toc":1644},"root",[12,20,465,567,736,809,847,869,1263,1592,1638],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17],{"type":18,"value":19},"text","Alternatively, to bind vertex buffers, along with their sizes and strides,\nto a command buffer for use in subsequent drawing commands, call:",{"type":13,"tag":21,"props":22,"children":23},"code-group",{},[24,221],{"type":13,"tag":25,"props":26,"children":32},"pre",{"className":27,"code":28,"filename":29,"language":30,"meta":31,"style":31},"language-c shiki shiki-themes github-light-default github-dark-default","void vkCmdBindVertexBuffers2EXT(\n VkCommandBuffer commandBuffer,\n uint32_t firstBinding,\n uint32_t bindingCount,\n const VkBuffer* pBuffers,\n const VkDeviceSize* pOffsets,\n const VkDeviceSize* pSizes,\n const VkDeviceSize* pStrides);\n","C","c","",[33],{"type":13,"tag":34,"props":35,"children":36},"code",{"__ignoreMap":31},[37,61,81,99,116,144,170,195],{"type":13,"tag":38,"props":39,"children":42},"span",{"class":40,"line":41},"line",1,[43,49,55],{"type":13,"tag":38,"props":44,"children":46},{"style":45},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[47],{"type":18,"value":48},"void",{"type":13,"tag":38,"props":50,"children":52},{"style":51},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[53],{"type":18,"value":54}," vkCmdBindVertexBuffers2EXT",{"type":13,"tag":38,"props":56,"children":58},{"style":57},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[59],{"type":18,"value":60},"(\n",{"type":13,"tag":38,"props":62,"children":64},{"class":40,"line":63},2,[65,70,76],{"type":13,"tag":38,"props":66,"children":67},{"style":57},[68],{"type":18,"value":69}," VkCommandBuffer ",{"type":13,"tag":38,"props":71,"children":73},{"style":72},"--shiki-default:#953800;--shiki-dark:#FFA657",[74],{"type":18,"value":75},"commandBuffer",{"type":13,"tag":38,"props":77,"children":78},{"style":57},[79],{"type":18,"value":80},",\n",{"type":13,"tag":38,"props":82,"children":84},{"class":40,"line":83},3,[85,90,95],{"type":13,"tag":38,"props":86,"children":87},{"style":45},[88],{"type":18,"value":89}," uint32_t",{"type":13,"tag":38,"props":91,"children":92},{"style":72},[93],{"type":18,"value":94}," firstBinding",{"type":13,"tag":38,"props":96,"children":97},{"style":57},[98],{"type":18,"value":80},{"type":13,"tag":38,"props":100,"children":102},{"class":40,"line":101},4,[103,107,112],{"type":13,"tag":38,"props":104,"children":105},{"style":45},[106],{"type":18,"value":89},{"type":13,"tag":38,"props":108,"children":109},{"style":72},[110],{"type":18,"value":111}," bindingCount",{"type":13,"tag":38,"props":113,"children":114},{"style":57},[115],{"type":18,"value":80},{"type":13,"tag":38,"props":117,"children":119},{"class":40,"line":118},5,[120,125,130,135,140],{"type":13,"tag":38,"props":121,"children":122},{"style":45},[123],{"type":18,"value":124}," const",{"type":13,"tag":38,"props":126,"children":127},{"style":57},[128],{"type":18,"value":129}," VkBuffer",{"type":13,"tag":38,"props":131,"children":132},{"style":45},[133],{"type":18,"value":134},"*",{"type":13,"tag":38,"props":136,"children":137},{"style":72},[138],{"type":18,"value":139}," pBuffers",{"type":13,"tag":38,"props":141,"children":142},{"style":57},[143],{"type":18,"value":80},{"type":13,"tag":38,"props":145,"children":147},{"class":40,"line":146},6,[148,152,157,161,166],{"type":13,"tag":38,"props":149,"children":150},{"style":45},[151],{"type":18,"value":124},{"type":13,"tag":38,"props":153,"children":154},{"style":57},[155],{"type":18,"value":156}," VkDeviceSize",{"type":13,"tag":38,"props":158,"children":159},{"style":45},[160],{"type":18,"value":134},{"type":13,"tag":38,"props":162,"children":163},{"style":72},[164],{"type":18,"value":165}," pOffsets",{"type":13,"tag":38,"props":167,"children":168},{"style":57},[169],{"type":18,"value":80},{"type":13,"tag":38,"props":171,"children":173},{"class":40,"line":172},7,[174,178,182,186,191],{"type":13,"tag":38,"props":175,"children":176},{"style":45},[177],{"type":18,"value":124},{"type":13,"tag":38,"props":179,"children":180},{"style":57},[181],{"type":18,"value":156},{"type":13,"tag":38,"props":183,"children":184},{"style":45},[185],{"type":18,"value":134},{"type":13,"tag":38,"props":187,"children":188},{"style":72},[189],{"type":18,"value":190}," pSizes",{"type":13,"tag":38,"props":192,"children":193},{"style":57},[194],{"type":18,"value":80},{"type":13,"tag":38,"props":196,"children":198},{"class":40,"line":197},8,[199,203,207,211,216],{"type":13,"tag":38,"props":200,"children":201},{"style":45},[202],{"type":18,"value":124},{"type":13,"tag":38,"props":204,"children":205},{"style":57},[206],{"type":18,"value":156},{"type":13,"tag":38,"props":208,"children":209},{"style":45},[210],{"type":18,"value":134},{"type":13,"tag":38,"props":212,"children":213},{"style":72},[214],{"type":18,"value":215}," pStrides",{"type":13,"tag":38,"props":217,"children":218},{"style":57},[219],{"type":18,"value":220},");\n",{"type":13,"tag":25,"props":222,"children":227},{"className":223,"code":224,"filename":225,"language":226,"meta":31,"style":31},"language-rs shiki shiki-themes github-light-default github-dark-default","pub fn cmd_bind_vertex_buffers2_ext(\n command_buffer: vk::CommandBuffer,\n first_binding: u32,\n binding_count: u32,\n p_buffers: *const vk::Buffer,\n p_offsets: *const vk::DeviceSize,\n p_sizes: *const vk::DeviceSize,\n p_strides: *const vk::DeviceSize,\n);\n","Rust","rs",[228],{"type":13,"tag":34,"props":229,"children":230},{"__ignoreMap":31},[231,253,285,306,326,360,393,425,457],{"type":13,"tag":38,"props":232,"children":233},{"class":40,"line":41},[234,239,244,249],{"type":13,"tag":38,"props":235,"children":236},{"style":45},[237],{"type":18,"value":238},"pub",{"type":13,"tag":38,"props":240,"children":241},{"style":45},[242],{"type":18,"value":243}," fn",{"type":13,"tag":38,"props":245,"children":246},{"style":51},[247],{"type":18,"value":248}," cmd_bind_vertex_buffers2_ext",{"type":13,"tag":38,"props":250,"children":251},{"style":57},[252],{"type":18,"value":60},{"type":13,"tag":38,"props":254,"children":255},{"class":40,"line":63},[256,261,266,271,276,281],{"type":13,"tag":38,"props":257,"children":258},{"style":57},[259],{"type":18,"value":260}," command_buffer",{"type":13,"tag":38,"props":262,"children":263},{"style":45},[264],{"type":18,"value":265},":",{"type":13,"tag":38,"props":267,"children":268},{"style":72},[269],{"type":18,"value":270}," vk",{"type":13,"tag":38,"props":272,"children":273},{"style":45},[274],{"type":18,"value":275},"::",{"type":13,"tag":38,"props":277,"children":278},{"style":72},[279],{"type":18,"value":280},"CommandBuffer",{"type":13,"tag":38,"props":282,"children":283},{"style":57},[284],{"type":18,"value":80},{"type":13,"tag":38,"props":286,"children":287},{"class":40,"line":83},[288,293,297,302],{"type":13,"tag":38,"props":289,"children":290},{"style":57},[291],{"type":18,"value":292}," first_binding",{"type":13,"tag":38,"props":294,"children":295},{"style":45},[296],{"type":18,"value":265},{"type":13,"tag":38,"props":298,"children":299},{"style":72},[300],{"type":18,"value":301}," u32",{"type":13,"tag":38,"props":303,"children":304},{"style":57},[305],{"type":18,"value":80},{"type":13,"tag":38,"props":307,"children":308},{"class":40,"line":101},[309,314,318,322],{"type":13,"tag":38,"props":310,"children":311},{"style":57},[312],{"type":18,"value":313}," binding_count",{"type":13,"tag":38,"props":315,"children":316},{"style":45},[317],{"type":18,"value":265},{"type":13,"tag":38,"props":319,"children":320},{"style":72},[321],{"type":18,"value":301},{"type":13,"tag":38,"props":323,"children":324},{"style":57},[325],{"type":18,"value":80},{"type":13,"tag":38,"props":327,"children":328},{"class":40,"line":118},[329,334,338,343,347,351,356],{"type":13,"tag":38,"props":330,"children":331},{"style":57},[332],{"type":18,"value":333}," p_buffers",{"type":13,"tag":38,"props":335,"children":336},{"style":45},[337],{"type":18,"value":265},{"type":13,"tag":38,"props":339,"children":340},{"style":45},[341],{"type":18,"value":342}," *const",{"type":13,"tag":38,"props":344,"children":345},{"style":72},[346],{"type":18,"value":270},{"type":13,"tag":38,"props":348,"children":349},{"style":45},[350],{"type":18,"value":275},{"type":13,"tag":38,"props":352,"children":353},{"style":72},[354],{"type":18,"value":355},"Buffer",{"type":13,"tag":38,"props":357,"children":358},{"style":57},[359],{"type":18,"value":80},{"type":13,"tag":38,"props":361,"children":362},{"class":40,"line":146},[363,368,372,376,380,384,389],{"type":13,"tag":38,"props":364,"children":365},{"style":57},[366],{"type":18,"value":367}," p_offsets",{"type":13,"tag":38,"props":369,"children":370},{"style":45},[371],{"type":18,"value":265},{"type":13,"tag":38,"props":373,"children":374},{"style":45},[375],{"type":18,"value":342},{"type":13,"tag":38,"props":377,"children":378},{"style":72},[379],{"type":18,"value":270},{"type":13,"tag":38,"props":381,"children":382},{"style":45},[383],{"type":18,"value":275},{"type":13,"tag":38,"props":385,"children":386},{"style":72},[387],{"type":18,"value":388},"DeviceSize",{"type":13,"tag":38,"props":390,"children":391},{"style":57},[392],{"type":18,"value":80},{"type":13,"tag":38,"props":394,"children":395},{"class":40,"line":172},[396,401,405,409,413,417,421],{"type":13,"tag":38,"props":397,"children":398},{"style":57},[399],{"type":18,"value":400}," p_sizes",{"type":13,"tag":38,"props":402,"children":403},{"style":45},[404],{"type":18,"value":265},{"type":13,"tag":38,"props":406,"children":407},{"style":45},[408],{"type":18,"value":342},{"type":13,"tag":38,"props":410,"children":411},{"style":72},[412],{"type":18,"value":270},{"type":13,"tag":38,"props":414,"children":415},{"style":45},[416],{"type":18,"value":275},{"type":13,"tag":38,"props":418,"children":419},{"style":72},[420],{"type":18,"value":388},{"type":13,"tag":38,"props":422,"children":423},{"style":57},[424],{"type":18,"value":80},{"type":13,"tag":38,"props":426,"children":427},{"class":40,"line":197},[428,433,437,441,445,449,453],{"type":13,"tag":38,"props":429,"children":430},{"style":57},[431],{"type":18,"value":432}," p_strides",{"type":13,"tag":38,"props":434,"children":435},{"style":45},[436],{"type":18,"value":265},{"type":13,"tag":38,"props":438,"children":439},{"style":45},[440],{"type":18,"value":342},{"type":13,"tag":38,"props":442,"children":443},{"style":72},[444],{"type":18,"value":270},{"type":13,"tag":38,"props":446,"children":447},{"style":45},[448],{"type":18,"value":275},{"type":13,"tag":38,"props":450,"children":451},{"style":72},[452],{"type":18,"value":388},{"type":13,"tag":38,"props":454,"children":455},{"style":57},[456],{"type":18,"value":80},{"type":13,"tag":38,"props":458,"children":460},{"class":40,"line":459},9,[461],{"type":13,"tag":38,"props":462,"children":463},{"style":57},[464],{"type":18,"value":220},{"type":13,"tag":466,"props":467,"children":468},"ul",{},[469,480,491,502,513,524,550],{"type":13,"tag":470,"props":471,"children":472},"li",{},[473,478],{"type":13,"tag":34,"props":474,"children":476},{"className":475},[],[477],{"type":18,"value":75},{"type":18,"value":479}," is the command buffer into which the command is\nrecorded.",{"type":13,"tag":470,"props":481,"children":482},{},[483,489],{"type":13,"tag":34,"props":484,"children":486},{"className":485},[],[487],{"type":18,"value":488},"firstBinding",{"type":18,"value":490}," is the index of the first vertex input binding whose\nstate is updated by the command.",{"type":13,"tag":470,"props":492,"children":493},{},[494,500],{"type":13,"tag":34,"props":495,"children":497},{"className":496},[],[498],{"type":18,"value":499},"bindingCount",{"type":18,"value":501}," is the number of vertex input bindings whose state is\nupdated by the command.",{"type":13,"tag":470,"props":503,"children":504},{},[505,511],{"type":13,"tag":34,"props":506,"children":508},{"className":507},[],[509],{"type":18,"value":510},"pBuffers",{"type":18,"value":512}," is a pointer to an array of buffer handles.",{"type":13,"tag":470,"props":514,"children":515},{},[516,522],{"type":13,"tag":34,"props":517,"children":519},{"className":518},[],[520],{"type":18,"value":521},"pOffsets",{"type":18,"value":523}," is a pointer to an array of buffer offsets.",{"type":13,"tag":470,"props":525,"children":526},{},[527,533,535,541,543,548],{"type":13,"tag":34,"props":528,"children":530},{"className":529},[],[531],{"type":18,"value":532},"pSizes",{"type":18,"value":534}," is ",{"type":13,"tag":34,"props":536,"children":538},{"className":537},[],[539],{"type":18,"value":540},"NULL",{"type":18,"value":542}," or a pointer to an array of the size in bytes of\nvertex data bound from ",{"type":13,"tag":34,"props":544,"children":546},{"className":545},[],[547],{"type":18,"value":510},{"type":18,"value":549},".",{"type":13,"tag":470,"props":551,"children":552},{},[553,559,560,565],{"type":13,"tag":34,"props":554,"children":556},{"className":555},[],[557],{"type":18,"value":558},"pStrides",{"type":18,"value":534},{"type":13,"tag":34,"props":561,"children":563},{"className":562},[],[564],{"type":18,"value":540},{"type":18,"value":566}," or a pointer to an array of buffer strides.",{"type":13,"tag":14,"props":568,"children":569},{},[570,572,577,579,584,586,591,593,598,600,605,607,612,614,619,621,626,628,633,635,640,642,647,648,653,655,661,663,668,669,674,676,681,683,694,696,701,703,708,710,716,718,721,723,727,729,735],{"type":18,"value":571},"The values taken from elements i of ",{"type":13,"tag":34,"props":573,"children":575},{"className":574},[],[576],{"type":18,"value":510},{"type":18,"value":578}," and ",{"type":13,"tag":34,"props":580,"children":582},{"className":581},[],[583],{"type":18,"value":521},{"type":18,"value":585},"\nreplace the current state for the vertex input binding\n",{"type":13,"tag":34,"props":587,"children":589},{"className":588},[],[590],{"type":18,"value":488},{"type":18,"value":592}," + i, for i in [0,\n",{"type":13,"tag":34,"props":594,"children":596},{"className":595},[],[597],{"type":18,"value":499},{"type":18,"value":599},").\nThe vertex input binding is updated to start at the offset indicated by\n",{"type":13,"tag":34,"props":601,"children":603},{"className":602},[],[604],{"type":18,"value":521},{"type":18,"value":606},"[i] from the start of the buffer ",{"type":13,"tag":34,"props":608,"children":610},{"className":609},[],[611],{"type":18,"value":510},{"type":18,"value":613},"[i].\nIf ",{"type":13,"tag":34,"props":615,"children":617},{"className":616},[],[618],{"type":18,"value":532},{"type":18,"value":620}," is not ",{"type":13,"tag":34,"props":622,"children":624},{"className":623},[],[625],{"type":18,"value":540},{"type":18,"value":627}," then ",{"type":13,"tag":34,"props":629,"children":631},{"className":630},[],[632],{"type":18,"value":532},{"type":18,"value":634},"[i] specifies the bound size\nof the vertex buffer starting from the corresponding elements of\n",{"type":13,"tag":34,"props":636,"children":638},{"className":637},[],[639],{"type":18,"value":510},{"type":18,"value":641},"[i] plus ",{"type":13,"tag":34,"props":643,"children":645},{"className":644},[],[646],{"type":18,"value":521},{"type":18,"value":613},{"type":13,"tag":34,"props":649,"children":651},{"className":650},[],[652],{"type":18,"value":532},{"type":18,"value":654},"[i] is ",{"type":13,"tag":34,"props":656,"children":658},{"className":657},[],[659],{"type":18,"value":660},"VK_WHOLE_SIZE",{"type":18,"value":662}," then the bound size is from\n",{"type":13,"tag":34,"props":664,"children":666},{"className":665},[],[667],{"type":18,"value":510},{"type":18,"value":641},{"type":13,"tag":34,"props":670,"children":672},{"className":671},[],[673],{"type":18,"value":521},{"type":18,"value":675},"[i] to the end of the buffer\n",{"type":13,"tag":34,"props":677,"children":679},{"className":678},[],[680],{"type":18,"value":510},{"type":18,"value":682},"[i].\nAll vertex input attributes that use each of these bindings will use these\nupdated addresses in their address calculations for subsequent drawing\ncommands.\nIf the ",{"type":13,"tag":684,"props":685,"children":687},"a",{"href":686},"/man/VkPhysicalDeviceRobustness2FeaturesEXT#features-nullDescriptor",[688],{"type":13,"tag":34,"props":689,"children":691},{"className":690},[],[692],{"type":18,"value":693},"nullDescriptor",{"type":18,"value":695}," feature is enabled,\nelements of ",{"type":13,"tag":34,"props":697,"children":699},{"className":698},[],[700],{"type":18,"value":510},{"type":18,"value":702}," ",{"type":13,"tag":704,"props":705,"children":707},"normative",{"type":706},"can",[],{"type":18,"value":709}," be ",{"type":13,"tag":684,"props":711,"children":713},{"href":712},"/man/VK_NULL_HANDLE",[714],{"type":18,"value":715},"VK_NULL_HANDLE",{"type":18,"value":717},", and ",{"type":13,"tag":704,"props":719,"children":720},{"type":706},[],{"type":18,"value":722}," be used by\nthe vertex shader.\nIf a vertex input attribute is bound to a vertex input binding that is\n",{"type":13,"tag":684,"props":724,"children":725},{"href":712},[726],{"type":18,"value":715},{"type":18,"value":728},", the values taken from memory are considered to be\nzero, and missing G, B, or A components are\n",{"type":13,"tag":684,"props":730,"children":732},{"href":731},"/chapters/fxvertex#fxvertex-input-extraction",[733],{"type":18,"value":734},"filled with (0,0,1)",{"type":18,"value":549},{"type":13,"tag":14,"props":737,"children":738},{},[739,741,747,749,754,756,761,763,769,771,777,779,785,786,792,794,800,801,807],{"type":18,"value":740},"This command also ",{"type":13,"tag":684,"props":742,"children":744},{"href":743},"/chapters/pipelines#pipelines-dynamic-state",[745],{"type":18,"value":746},"dynamically sets",{"type":18,"value":748}," the byte\nstrides between consecutive elements within buffer ",{"type":13,"tag":34,"props":750,"children":752},{"className":751},[],[753],{"type":18,"value":510},{"type":18,"value":755},"[i] to the\ncorresponding ",{"type":13,"tag":34,"props":757,"children":759},{"className":758},[],[760],{"type":18,"value":558},{"type":18,"value":762},"[i] value\nwhen drawing using ",{"type":13,"tag":684,"props":764,"children":766},{"href":765},"/chapters/shaders#shaders-objects",[767],{"type":18,"value":768},"shader objects",{"type":18,"value":770},", or\nwhen the graphics pipeline is created with\n",{"type":13,"tag":34,"props":772,"children":774},{"className":773},[],[775],{"type":18,"value":776},"VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE",{"type":18,"value":778}," set in\n",{"type":13,"tag":684,"props":780,"children":782},{"href":781},"/man/VkPipelineDynamicStateCreateInfo",[783],{"type":18,"value":784},"VkPipelineDynamicStateCreateInfo",{"type":18,"value":275},{"type":13,"tag":34,"props":787,"children":789},{"className":788},[],[790],{"type":18,"value":791},"pDynamicStates",{"type":18,"value":793},".\nOtherwise, strides are specified by the\n",{"type":13,"tag":684,"props":795,"children":797},{"href":796},"/man/VkVertexInputBindingDescription",[798],{"type":18,"value":799},"VkVertexInputBindingDescription",{"type":18,"value":275},{"type":13,"tag":34,"props":802,"children":804},{"className":803},[],[805],{"type":18,"value":806},"stride",{"type":18,"value":808}," values used to create\nthe currently active pipeline.",{"type":13,"tag":14,"props":810,"children":811},{},[812,814,818,820,826,828,834,835,838,840,845],{"type":18,"value":813},"If\ndrawing using ",{"type":13,"tag":684,"props":815,"children":816},{"href":765},[817],{"type":18,"value":768},{"type":18,"value":819},"\nor if\nthe bound pipeline state object was also created with the\n",{"type":13,"tag":34,"props":821,"children":823},{"className":822},[],[824],{"type":18,"value":825},"VK_DYNAMIC_STATE_VERTEX_INPUT_EXT",{"type":18,"value":827}," dynamic state enabled\nthen ",{"type":13,"tag":684,"props":829,"children":831},{"href":830},"/man/vkCmdSetVertexInputEXT",[832],{"type":18,"value":833},"vkCmdSetVertexInputEXT",{"type":18,"value":702},{"type":13,"tag":704,"props":836,"children":837},{"type":706},[],{"type":18,"value":839}," be used instead of\n",{"type":13,"tag":34,"props":841,"children":843},{"className":842},[],[844],{"type":18,"value":4},{"type":18,"value":846}," to set the stride.",{"type":13,"tag":848,"props":849,"children":850},"note",{},[851],{"type":13,"tag":14,"props":852,"children":853},{},[854,856,861,863,867],{"type":18,"value":855},"Unlike the static state to set the same, ",{"type":13,"tag":34,"props":857,"children":859},{"className":858},[],[860],{"type":18,"value":558},{"type":18,"value":862}," must be between 0\nand the maximum extent of the attributes in the binding.\n",{"type":13,"tag":684,"props":864,"children":865},{"href":830},[866],{"type":18,"value":833},{"type":18,"value":868}," does not have this restriction so can be used\nif other stride values are desired.",{"type":13,"tag":870,"props":871,"children":873},"validity-group",{"name":872},"Valid Usage",[874,907,944,982,1038,1066,1095,1129,1161,1205],{"type":13,"tag":875,"props":876,"children":878},"validity-field",{"name":877},"VUID-vkCmdBindVertexBuffers2-firstBinding-03355",[879],{"type":13,"tag":14,"props":880,"children":881},{},[882,887,888,892,894,900,901],{"type":13,"tag":34,"props":883,"children":885},{"className":884},[],[886],{"type":18,"value":488},{"type":18,"value":702},{"type":13,"tag":704,"props":889,"children":891},{"type":890},"must",[],{"type":18,"value":893}," be less than\n",{"type":13,"tag":34,"props":895,"children":897},{"className":896},[],[898],{"type":18,"value":899},"VkPhysicalDeviceLimits",{"type":18,"value":275},{"type":13,"tag":34,"props":902,"children":904},{"className":903},[],[905],{"type":18,"value":906},"maxVertexInputBindings",{"type":13,"tag":875,"props":908,"children":910},{"name":909},"VUID-vkCmdBindVertexBuffers2-firstBinding-03356",[911],{"type":13,"tag":14,"props":912,"children":913},{},[914,916,921,922,927,928,931,933,938,939],{"type":18,"value":915},"The sum of ",{"type":13,"tag":34,"props":917,"children":919},{"className":918},[],[920],{"type":18,"value":488},{"type":18,"value":578},{"type":13,"tag":34,"props":923,"children":925},{"className":924},[],[926],{"type":18,"value":499},{"type":18,"value":702},{"type":13,"tag":704,"props":929,"children":930},{"type":890},[],{"type":18,"value":932}," be less than\nor equal to ",{"type":13,"tag":34,"props":934,"children":936},{"className":935},[],[937],{"type":18,"value":899},{"type":18,"value":275},{"type":13,"tag":34,"props":940,"children":942},{"className":941},[],[943],{"type":18,"value":906},{"type":13,"tag":875,"props":945,"children":947},{"name":946},"VUID-vkCmdBindVertexBuffers2-pOffsets-03357",[948],{"type":13,"tag":14,"props":949,"children":950},{},[951,953,958,959,964,966,971,972,975,977],{"type":18,"value":952},"If ",{"type":13,"tag":34,"props":954,"children":956},{"className":955},[],[957],{"type":18,"value":532},{"type":18,"value":620},{"type":13,"tag":34,"props":960,"children":962},{"className":961},[],[963],{"type":18,"value":540},{"type":18,"value":965},", all elements of ",{"type":13,"tag":34,"props":967,"children":969},{"className":968},[],[970],{"type":18,"value":521},{"type":18,"value":702},{"type":13,"tag":704,"props":973,"children":974},{"type":890},[],{"type":18,"value":976}," be\nless than the size of the corresponding element in ",{"type":13,"tag":34,"props":978,"children":980},{"className":979},[],[981],{"type":18,"value":510},{"type":13,"tag":875,"props":983,"children":985},{"name":984},"VUID-vkCmdBindVertexBuffers2-pSizes-03358",[986],{"type":13,"tag":14,"props":987,"children":988},{},[989,990,995,996,1001,1002,1007,1009,1014,1016,1021,1022,1027,1028,1031,1033],{"type":18,"value":952},{"type":13,"tag":34,"props":991,"children":993},{"className":992},[],[994],{"type":18,"value":532},{"type":18,"value":620},{"type":13,"tag":34,"props":997,"children":999},{"className":998},[],[1000],{"type":18,"value":540},{"type":18,"value":965},{"type":13,"tag":34,"props":1003,"children":1005},{"className":1004},[],[1006],{"type":18,"value":521},{"type":18,"value":1008}," plus\n",{"type":13,"tag":34,"props":1010,"children":1012},{"className":1011},[],[1013],{"type":18,"value":532},{"type":18,"value":1015},"\n, where ",{"type":13,"tag":34,"props":1017,"children":1019},{"className":1018},[],[1020],{"type":18,"value":532},{"type":18,"value":620},{"type":13,"tag":34,"props":1023,"children":1025},{"className":1024},[],[1026],{"type":18,"value":660},{"type":18,"value":80},{"type":13,"tag":704,"props":1029,"children":1030},{"type":890},[],{"type":18,"value":1032}," be less than or equal to the size of the corresponding element in\n",{"type":13,"tag":34,"props":1034,"children":1036},{"className":1035},[],[1037],{"type":18,"value":510},{"type":13,"tag":875,"props":1039,"children":1041},{"name":1040},"VUID-vkCmdBindVertexBuffers2-pBuffers-03359",[1042],{"type":13,"tag":14,"props":1043,"children":1044},{},[1045,1047,1052,1053,1056,1058,1064],{"type":18,"value":1046},"All elements of ",{"type":13,"tag":34,"props":1048,"children":1050},{"className":1049},[],[1051],{"type":18,"value":510},{"type":18,"value":702},{"type":13,"tag":704,"props":1054,"children":1055},{"type":890},[],{"type":18,"value":1057}," have been created with the\n",{"type":13,"tag":34,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":18,"value":1063},"VK_BUFFER_USAGE_VERTEX_BUFFER_BIT",{"type":18,"value":1065}," flag",{"type":13,"tag":875,"props":1067,"children":1069},{"name":1068},"VUID-vkCmdBindVertexBuffers2-pBuffers-03360",[1070],{"type":13,"tag":14,"props":1071,"children":1072},{},[1073,1075,1080,1082,1085,1087,1093],{"type":18,"value":1074},"Each element of ",{"type":13,"tag":34,"props":1076,"children":1078},{"className":1077},[],[1079],{"type":18,"value":510},{"type":18,"value":1081}," that is non-sparse ",{"type":13,"tag":704,"props":1083,"children":1084},{"type":890},[],{"type":18,"value":1086}," be bound\ncompletely and contiguously to a single ",{"type":13,"tag":34,"props":1088,"children":1090},{"className":1089},[],[1091],{"type":18,"value":1092},"VkDeviceMemory",{"type":18,"value":1094}," object",{"type":13,"tag":875,"props":1096,"children":1098},{"name":1097},"VUID-vkCmdBindVertexBuffers2-pBuffers-04111",[1099],{"type":13,"tag":14,"props":1100,"children":1101},{},[1102,1104,1112,1114,1119,1120,1123,1125],{"type":18,"value":1103},"If the ",{"type":13,"tag":684,"props":1105,"children":1106},{"href":686},[1107],{"type":13,"tag":34,"props":1108,"children":1110},{"className":1109},[],[1111],{"type":18,"value":693},{"type":18,"value":1113}," feature is not\nenabled, all elements of ",{"type":13,"tag":34,"props":1115,"children":1117},{"className":1116},[],[1118],{"type":18,"value":510},{"type":18,"value":702},{"type":13,"tag":704,"props":1121,"children":1122},{"type":890},[],{"type":18,"value":1124}," not be\n",{"type":13,"tag":684,"props":1126,"children":1127},{"href":712},[1128],{"type":18,"value":715},{"type":13,"tag":875,"props":1130,"children":1132},{"name":1131},"VUID-vkCmdBindVertexBuffers2-pBuffers-04112",[1133],{"type":13,"tag":14,"props":1134,"children":1135},{},[1136,1138,1143,1144,1148,1150,1155,1156,1159],{"type":18,"value":1137},"If an element of ",{"type":13,"tag":34,"props":1139,"children":1141},{"className":1140},[],[1142],{"type":18,"value":510},{"type":18,"value":534},{"type":13,"tag":684,"props":1145,"children":1146},{"href":712},[1147],{"type":18,"value":715},{"type":18,"value":1149},", then the\ncorresponding element of ",{"type":13,"tag":34,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":18,"value":521},{"type":18,"value":702},{"type":13,"tag":704,"props":1157,"children":1158},{"type":890},[],{"type":18,"value":1160}," be zero",{"type":13,"tag":875,"props":1162,"children":1164},{"name":1163},"VUID-vkCmdBindVertexBuffers2-pStrides-03362",[1165],{"type":13,"tag":14,"props":1166,"children":1167},{},[1168,1169,1174,1175,1180,1182,1187,1188,1191,1193,1198,1199],{"type":18,"value":952},{"type":13,"tag":34,"props":1170,"children":1172},{"className":1171},[],[1173],{"type":18,"value":558},{"type":18,"value":620},{"type":13,"tag":34,"props":1176,"children":1178},{"className":1177},[],[1179],{"type":18,"value":540},{"type":18,"value":1181}," each element of ",{"type":13,"tag":34,"props":1183,"children":1185},{"className":1184},[],[1186],{"type":18,"value":558},{"type":18,"value":702},{"type":13,"tag":704,"props":1189,"children":1190},{"type":890},[],{"type":18,"value":1192}," be\nless than or equal to\n",{"type":13,"tag":34,"props":1194,"children":1196},{"className":1195},[],[1197],{"type":18,"value":899},{"type":18,"value":275},{"type":13,"tag":34,"props":1200,"children":1202},{"className":1201},[],[1203],{"type":18,"value":1204},"maxVertexInputBindingStride",{"type":13,"tag":875,"props":1206,"children":1208},{"name":1207},"VUID-vkCmdBindVertexBuffers2-pStrides-06209",[1209],{"type":13,"tag":14,"props":1210,"children":1211},{},[1212,1213,1218,1219,1224,1225,1230,1231,1234,1236,1242,1243,1249,1250,1254,1255,1261],{"type":18,"value":952},{"type":13,"tag":34,"props":1214,"children":1216},{"className":1215},[],[1217],{"type":18,"value":558},{"type":18,"value":620},{"type":13,"tag":34,"props":1220,"children":1222},{"className":1221},[],[1223],{"type":18,"value":540},{"type":18,"value":1181},{"type":13,"tag":34,"props":1226,"children":1228},{"className":1227},[],[1229],{"type":18,"value":558},{"type":18,"value":702},{"type":13,"tag":704,"props":1232,"children":1233},{"type":890},[],{"type":18,"value":1235}," be\neither 0 or greater than or equal to the maximum extent of all vertex\ninput attributes fetched from the corresponding binding, where the\nextent is calculated as the\n",{"type":13,"tag":684,"props":1237,"children":1239},{"href":1238},"/man/VkVertexInputAttributeDescription",[1240],{"type":18,"value":1241},"VkVertexInputAttributeDescription",{"type":18,"value":275},{"type":13,"tag":34,"props":1244,"children":1246},{"className":1245},[],[1247],{"type":18,"value":1248},"offset",{"type":18,"value":1008},{"type":13,"tag":684,"props":1251,"children":1252},{"href":1238},[1253],{"type":18,"value":1241},{"type":18,"value":275},{"type":13,"tag":34,"props":1256,"children":1258},{"className":1257},[],[1259],{"type":18,"value":1260},"format",{"type":18,"value":1262}," size",{"type":13,"tag":870,"props":1264,"children":1266},{"name":1265},"Valid Usage (Implicit)",[1267,1293,1331,1362,1404,1445,1469,1498,1512,1558],{"type":13,"tag":875,"props":1268,"children":1270},{"name":1269},"VUID-vkCmdBindVertexBuffers2-commandBuffer-parameter",[1271],{"type":13,"tag":14,"props":1272,"children":1273},{},[1274,1279,1280,1283,1285,1291],{"type":13,"tag":34,"props":1275,"children":1277},{"className":1276},[],[1278],{"type":18,"value":75},{"type":18,"value":702},{"type":13,"tag":704,"props":1281,"children":1282},{"type":890},[],{"type":18,"value":1284}," be a valid ",{"type":13,"tag":684,"props":1286,"children":1288},{"href":1287},"/man/VkCommandBuffer",[1289],{"type":18,"value":1290},"VkCommandBuffer",{"type":18,"value":1292}," handle",{"type":13,"tag":875,"props":1294,"children":1296},{"name":1295},"VUID-vkCmdBindVertexBuffers2-pBuffers-parameter",[1297],{"type":13,"tag":14,"props":1298,"children":1299},{},[1300,1305,1306,1309,1311,1316,1318,1322,1323,1329],{"type":13,"tag":34,"props":1301,"children":1303},{"className":1302},[],[1304],{"type":18,"value":510},{"type":18,"value":702},{"type":13,"tag":704,"props":1307,"children":1308},{"type":890},[],{"type":18,"value":1310}," be a valid pointer to an array of ",{"type":13,"tag":34,"props":1312,"children":1314},{"className":1313},[],[1315],{"type":18,"value":499},{"type":18,"value":1317}," valid or ",{"type":13,"tag":684,"props":1319,"children":1320},{"href":712},[1321],{"type":18,"value":715},{"type":18,"value":702},{"type":13,"tag":684,"props":1324,"children":1326},{"href":1325},"/man/VkBuffer",[1327],{"type":18,"value":1328},"VkBuffer",{"type":18,"value":1330}," handles",{"type":13,"tag":875,"props":1332,"children":1334},{"name":1333},"VUID-vkCmdBindVertexBuffers2-pOffsets-parameter",[1335],{"type":13,"tag":14,"props":1336,"children":1337},{},[1338,1343,1344,1347,1348,1353,1354,1360],{"type":13,"tag":34,"props":1339,"children":1341},{"className":1340},[],[1342],{"type":18,"value":521},{"type":18,"value":702},{"type":13,"tag":704,"props":1345,"children":1346},{"type":890},[],{"type":18,"value":1310},{"type":13,"tag":34,"props":1349,"children":1351},{"className":1350},[],[1352],{"type":18,"value":499},{"type":18,"value":702},{"type":13,"tag":684,"props":1355,"children":1357},{"href":1356},"/man/VkDeviceSize",[1358],{"type":18,"value":1359},"VkDeviceSize",{"type":18,"value":1361}," values",{"type":13,"tag":875,"props":1363,"children":1365},{"name":1364},"VUID-vkCmdBindVertexBuffers2-pSizes-parameter",[1366],{"type":13,"tag":14,"props":1367,"children":1368},{},[1369,1370,1375,1376,1381,1383,1388,1389,1392,1393,1398,1399,1403],{"type":18,"value":952},{"type":13,"tag":34,"props":1371,"children":1373},{"className":1372},[],[1374],{"type":18,"value":532},{"type":18,"value":620},{"type":13,"tag":34,"props":1377,"children":1379},{"className":1378},[],[1380],{"type":18,"value":540},{"type":18,"value":1382},", ",{"type":13,"tag":34,"props":1384,"children":1386},{"className":1385},[],[1387],{"type":18,"value":532},{"type":18,"value":702},{"type":13,"tag":704,"props":1390,"children":1391},{"type":890},[],{"type":18,"value":1310},{"type":13,"tag":34,"props":1394,"children":1396},{"className":1395},[],[1397],{"type":18,"value":499},{"type":18,"value":702},{"type":13,"tag":684,"props":1400,"children":1401},{"href":1356},[1402],{"type":18,"value":1359},{"type":18,"value":1361},{"type":13,"tag":875,"props":1405,"children":1407},{"name":1406},"VUID-vkCmdBindVertexBuffers2-pStrides-parameter",[1408],{"type":13,"tag":14,"props":1409,"children":1410},{},[1411,1412,1417,1418,1423,1424,1429,1430,1433,1434,1439,1440,1444],{"type":18,"value":952},{"type":13,"tag":34,"props":1413,"children":1415},{"className":1414},[],[1416],{"type":18,"value":558},{"type":18,"value":620},{"type":13,"tag":34,"props":1419,"children":1421},{"className":1420},[],[1422],{"type":18,"value":540},{"type":18,"value":1382},{"type":13,"tag":34,"props":1425,"children":1427},{"className":1426},[],[1428],{"type":18,"value":558},{"type":18,"value":702},{"type":13,"tag":704,"props":1431,"children":1432},{"type":890},[],{"type":18,"value":1310},{"type":13,"tag":34,"props":1435,"children":1437},{"className":1436},[],[1438],{"type":18,"value":499},{"type":18,"value":702},{"type":13,"tag":684,"props":1441,"children":1442},{"href":1356},[1443],{"type":18,"value":1359},{"type":18,"value":1361},{"type":13,"tag":875,"props":1446,"children":1448},{"name":1447},"VUID-vkCmdBindVertexBuffers2-commandBuffer-recording",[1449],{"type":13,"tag":14,"props":1450,"children":1451},{},[1452,1457,1458,1461,1463],{"type":13,"tag":34,"props":1453,"children":1455},{"className":1454},[],[1456],{"type":18,"value":75},{"type":18,"value":702},{"type":13,"tag":704,"props":1459,"children":1460},{"type":890},[],{"type":18,"value":1462}," be in the ",{"type":13,"tag":684,"props":1464,"children":1466},{"href":1465},"/chapters/commandbuffers#commandbuffers-lifecycle",[1467],{"type":18,"value":1468},"recording state",{"type":13,"tag":875,"props":1470,"children":1472},{"name":1471},"VUID-vkCmdBindVertexBuffers2-commandBuffer-cmdpool",[1473],{"type":13,"tag":14,"props":1474,"children":1475},{},[1476,1478,1484,1486,1491,1493,1496],{"type":18,"value":1477},"The ",{"type":13,"tag":34,"props":1479,"children":1481},{"className":1480},[],[1482],{"type":18,"value":1483},"VkCommandPool",{"type":18,"value":1485}," that ",{"type":13,"tag":34,"props":1487,"children":1489},{"className":1488},[],[1490],{"type":18,"value":75},{"type":18,"value":1492}," was allocated from ",{"type":13,"tag":704,"props":1494,"children":1495},{"type":890},[],{"type":18,"value":1497}," support graphics operations",{"type":13,"tag":875,"props":1499,"children":1501},{"name":1500},"VUID-vkCmdBindVertexBuffers2-videocoding",[1502],{"type":13,"tag":14,"props":1503,"children":1504},{},[1505,1507,1510],{"type":18,"value":1506},"This command ",{"type":13,"tag":704,"props":1508,"children":1509},{"type":890},[],{"type":18,"value":1511}," only be called outside of a video coding scope",{"type":13,"tag":875,"props":1513,"children":1515},{"name":1514},"VUID-vkCmdBindVertexBuffers2-bindingCount-arraylength",[1516],{"type":13,"tag":14,"props":1517,"children":1518},{},[1519,1521,1526,1528,1533,1535,1540,1541,1546,1547,1550,1552],{"type":18,"value":1520},"If any of ",{"type":13,"tag":34,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":18,"value":532},{"type":18,"value":1527},", or ",{"type":13,"tag":34,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":18,"value":558},{"type":18,"value":1534}," are not ",{"type":13,"tag":34,"props":1536,"children":1538},{"className":1537},[],[1539],{"type":18,"value":540},{"type":18,"value":1382},{"type":13,"tag":34,"props":1542,"children":1544},{"className":1543},[],[1545],{"type":18,"value":499},{"type":18,"value":702},{"type":13,"tag":704,"props":1548,"children":1549},{"type":890},[],{"type":18,"value":1551}," be greater than ",{"type":13,"tag":34,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":18,"value":1557},"0",{"type":13,"tag":875,"props":1559,"children":1561},{"name":1560},"VUID-vkCmdBindVertexBuffers2-commonparent",[1562],{"type":13,"tag":14,"props":1563,"children":1564},{},[1565,1567,1572,1574,1579,1581,1584,1586],{"type":18,"value":1566},"Both of ",{"type":13,"tag":34,"props":1568,"children":1570},{"className":1569},[],[1571],{"type":18,"value":75},{"type":18,"value":1573},", and the elements of ",{"type":13,"tag":34,"props":1575,"children":1577},{"className":1576},[],[1578],{"type":18,"value":510},{"type":18,"value":1580}," that are valid handles of non-ignored parameters ",{"type":13,"tag":704,"props":1582,"children":1583},{"type":890},[],{"type":18,"value":1585}," have been created, allocated, or retrieved from the same ",{"type":13,"tag":684,"props":1587,"children":1589},{"href":1588},"/man/VkDevice",[1590],{"type":18,"value":1591},"VkDevice",{"type":13,"tag":1593,"props":1594,"children":1596},"validity-box",{"name":1595},"Host Synchronization",[1597],{"type":13,"tag":466,"props":1598,"children":1599},{},[1600,1616],{"type":13,"tag":470,"props":1601,"children":1602},{},[1603,1605,1610,1611,1614],{"type":18,"value":1604},"Host access to ",{"type":13,"tag":34,"props":1606,"children":1608},{"className":1607},[],[1609],{"type":18,"value":75},{"type":18,"value":702},{"type":13,"tag":704,"props":1612,"children":1613},{"type":890},[],{"type":18,"value":1615}," be externally synchronized",{"type":13,"tag":470,"props":1617,"children":1618},{},[1619,1621,1626,1627,1632,1633,1636],{"type":18,"value":1620},"Host access to the ",{"type":13,"tag":34,"props":1622,"children":1624},{"className":1623},[],[1625],{"type":18,"value":1483},{"type":18,"value":1485},{"type":13,"tag":34,"props":1628,"children":1630},{"className":1629},[],[1631],{"type":18,"value":75},{"type":18,"value":1492},{"type":13,"tag":704,"props":1634,"children":1635},{"type":890},[],{"type":18,"value":1637}," be externally synchronized\n::",{"type":13,"tag":1639,"props":1640,"children":1641},"style",{},[1642],{"type":18,"value":1643},"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":31,"searchDepth":63,"depth":63,"links":1645},[],"markdown",1725732598113]