[{"data":1,"prerenderedAt":718},["ShallowReactive",2],{"guh2KhlLmD":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":717,"_id":4},"VkVertexInputAttributeDescription2EXT","Structure specifying the extended vertex input attribute description","VK_EXT_vertex_input_dynamic_state, VK_EXT_shader_object","structs",[],{"type":10,"children":11,"toc":715},"root",[12,28,356,444,655,709],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,148],{"type":13,"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","typedef struct VkVertexInputAttributeDescription2EXT {\n VkStructureType sType;\n void* pNext;\n uint32_t location;\n uint32_t binding;\n VkFormat format;\n uint32_t offset;\n} VkVertexInputAttributeDescription2EXT;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,104,117,126,139],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkVertexInputAttributeDescription2EXT {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkStructureType sType;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80,85],{"type":13,"tag":45,"props":81,"children":82},{"style":52},[83],{"type":18,"value":84}," void*",{"type":13,"tag":45,"props":86,"children":87},{"style":63},[88],{"type":18,"value":89}," pNext;\n",{"type":13,"tag":45,"props":91,"children":93},{"class":47,"line":92},4,[94,99],{"type":13,"tag":45,"props":95,"children":96},{"style":52},[97],{"type":18,"value":98}," uint32_t",{"type":13,"tag":45,"props":100,"children":101},{"style":63},[102],{"type":18,"value":103}," location;\n",{"type":13,"tag":45,"props":105,"children":107},{"class":47,"line":106},5,[108,112],{"type":13,"tag":45,"props":109,"children":110},{"style":52},[111],{"type":18,"value":98},{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," binding;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},6,[121],{"type":13,"tag":45,"props":122,"children":123},{"style":63},[124],{"type":18,"value":125}," VkFormat format;\n",{"type":13,"tag":45,"props":127,"children":129},{"class":47,"line":128},7,[130,134],{"type":13,"tag":45,"props":131,"children":132},{"style":52},[133],{"type":18,"value":98},{"type":13,"tag":45,"props":135,"children":136},{"style":63},[137],{"type":18,"value":138}," offset;\n",{"type":13,"tag":45,"props":140,"children":142},{"class":47,"line":141},8,[143],{"type":13,"tag":45,"props":144,"children":145},{"style":63},[146],{"type":18,"value":147},"} VkVertexInputAttributeDescription2EXT;\n",{"type":13,"tag":33,"props":149,"children":154},{"className":150,"code":151,"filename":152,"language":153,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct VertexInputAttributeDescription2EXT {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n location: u32, // location of the shader vertex attrib\n binding: u32, // Vertex buffer binding id\n format: vk::Format, // format of source data\n offset: u32, // Offset of first element in bytes from base of vertex\n}\n","Rust","rs",[155],{"type":13,"tag":21,"props":156,"children":157},{"__ignoreMap":39},[158,181,214,236,264,289,323,348],{"type":13,"tag":45,"props":159,"children":160},{"class":47,"line":48},[161,166,170,176],{"type":13,"tag":45,"props":162,"children":163},{"style":52},[164],{"type":18,"value":165},"pub",{"type":13,"tag":45,"props":167,"children":168},{"style":52},[169],{"type":18,"value":60},{"type":13,"tag":45,"props":171,"children":173},{"style":172},"--shiki-default:#953800;--shiki-dark:#FFA657",[174],{"type":18,"value":175}," VertexInputAttributeDescription2EXT",{"type":13,"tag":45,"props":177,"children":178},{"style":63},[179],{"type":18,"value":180}," {\n",{"type":13,"tag":45,"props":182,"children":183},{"class":47,"line":69},[184,189,194,199,204,209],{"type":13,"tag":45,"props":185,"children":186},{"style":63},[187],{"type":18,"value":188}," s_type",{"type":13,"tag":45,"props":190,"children":191},{"style":52},[192],{"type":18,"value":193},":",{"type":13,"tag":45,"props":195,"children":196},{"style":172},[197],{"type":18,"value":198}," vk",{"type":13,"tag":45,"props":200,"children":201},{"style":52},[202],{"type":18,"value":203},"::",{"type":13,"tag":45,"props":205,"children":206},{"style":172},[207],{"type":18,"value":208},"StructureType",{"type":13,"tag":45,"props":210,"children":211},{"style":63},[212],{"type":18,"value":213},",\n",{"type":13,"tag":45,"props":215,"children":216},{"class":47,"line":78},[217,222,226,231],{"type":13,"tag":45,"props":218,"children":219},{"style":63},[220],{"type":18,"value":221}," p_next",{"type":13,"tag":45,"props":223,"children":224},{"style":52},[225],{"type":18,"value":193},{"type":13,"tag":45,"props":227,"children":228},{"style":52},[229],{"type":18,"value":230}," *mut",{"type":13,"tag":45,"props":232,"children":233},{"style":63},[234],{"type":18,"value":235}," c_void,\n",{"type":13,"tag":45,"props":237,"children":238},{"class":47,"line":92},[239,244,248,253,258],{"type":13,"tag":45,"props":240,"children":241},{"style":63},[242],{"type":18,"value":243}," location",{"type":13,"tag":45,"props":245,"children":246},{"style":52},[247],{"type":18,"value":193},{"type":13,"tag":45,"props":249,"children":250},{"style":172},[251],{"type":18,"value":252}," u32",{"type":13,"tag":45,"props":254,"children":255},{"style":63},[256],{"type":18,"value":257},", ",{"type":13,"tag":45,"props":259,"children":261},{"style":260},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[262],{"type":18,"value":263},"// location of the shader vertex attrib\n",{"type":13,"tag":45,"props":265,"children":266},{"class":47,"line":106},[267,272,276,280,284],{"type":13,"tag":45,"props":268,"children":269},{"style":63},[270],{"type":18,"value":271}," binding",{"type":13,"tag":45,"props":273,"children":274},{"style":52},[275],{"type":18,"value":193},{"type":13,"tag":45,"props":277,"children":278},{"style":172},[279],{"type":18,"value":252},{"type":13,"tag":45,"props":281,"children":282},{"style":63},[283],{"type":18,"value":257},{"type":13,"tag":45,"props":285,"children":286},{"style":260},[287],{"type":18,"value":288},"// Vertex buffer binding id\n",{"type":13,"tag":45,"props":290,"children":291},{"class":47,"line":119},[292,297,301,305,309,314,318],{"type":13,"tag":45,"props":293,"children":294},{"style":63},[295],{"type":18,"value":296}," format",{"type":13,"tag":45,"props":298,"children":299},{"style":52},[300],{"type":18,"value":193},{"type":13,"tag":45,"props":302,"children":303},{"style":172},[304],{"type":18,"value":198},{"type":13,"tag":45,"props":306,"children":307},{"style":52},[308],{"type":18,"value":203},{"type":13,"tag":45,"props":310,"children":311},{"style":172},[312],{"type":18,"value":313},"Format",{"type":13,"tag":45,"props":315,"children":316},{"style":63},[317],{"type":18,"value":257},{"type":13,"tag":45,"props":319,"children":320},{"style":260},[321],{"type":18,"value":322},"// format of source data\n",{"type":13,"tag":45,"props":324,"children":325},{"class":47,"line":128},[326,331,335,339,343],{"type":13,"tag":45,"props":327,"children":328},{"style":63},[329],{"type":18,"value":330}," offset",{"type":13,"tag":45,"props":332,"children":333},{"style":52},[334],{"type":18,"value":193},{"type":13,"tag":45,"props":336,"children":337},{"style":172},[338],{"type":18,"value":252},{"type":13,"tag":45,"props":340,"children":341},{"style":63},[342],{"type":18,"value":257},{"type":13,"tag":45,"props":344,"children":345},{"style":260},[346],{"type":18,"value":347},"// Offset of first element in bytes from base of vertex\n",{"type":13,"tag":45,"props":349,"children":350},{"class":47,"line":141},[351],{"type":13,"tag":45,"props":352,"children":353},{"style":63},[354],{"type":18,"value":355},"}\n",{"type":13,"tag":357,"props":358,"children":359},"ul",{},[360,381,400,411,422,433],{"type":13,"tag":361,"props":362,"children":363},"li",{},[364,370,372,379],{"type":13,"tag":21,"props":365,"children":367},{"className":366},[],[368],{"type":18,"value":369},"sType",{"type":18,"value":371}," is a ",{"type":13,"tag":373,"props":374,"children":376},"a",{"href":375},"/man/VkStructureType",[377],{"type":18,"value":378},"VkStructureType",{"type":18,"value":380}," value identifying this structure.",{"type":13,"tag":361,"props":382,"children":383},{},[384,390,392,398],{"type":13,"tag":21,"props":385,"children":387},{"className":386},[],[388],{"type":18,"value":389},"pNext",{"type":18,"value":391}," is ",{"type":13,"tag":21,"props":393,"children":395},{"className":394},[],[396],{"type":18,"value":397},"NULL",{"type":18,"value":399}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":361,"props":401,"children":402},{},[403,409],{"type":13,"tag":21,"props":404,"children":406},{"className":405},[],[407],{"type":18,"value":408},"location",{"type":18,"value":410}," is the shader input location number for this attribute.",{"type":13,"tag":361,"props":412,"children":413},{},[414,420],{"type":13,"tag":21,"props":415,"children":417},{"className":416},[],[418],{"type":18,"value":419},"binding",{"type":18,"value":421}," is the binding number which this attribute takes its data\nfrom.",{"type":13,"tag":361,"props":423,"children":424},{},[425,431],{"type":13,"tag":21,"props":426,"children":428},{"className":427},[],[429],{"type":18,"value":430},"format",{"type":18,"value":432}," is the size and type of the vertex attribute data.",{"type":13,"tag":361,"props":434,"children":435},{},[436,442],{"type":13,"tag":21,"props":437,"children":439},{"className":438},[],[440],{"type":18,"value":441},"offset",{"type":18,"value":443}," is a byte offset of this attribute relative to the start of\nan element in the vertex input binding.",{"type":13,"tag":445,"props":446,"children":448},"validity-group",{"name":447},"Valid Usage",[449,484,513,543,576],{"type":13,"tag":450,"props":451,"children":453},"validity-field",{"name":452},"VUID-VkVertexInputAttributeDescription2EXT-location-06228",[454],{"type":13,"tag":14,"props":455,"children":456},{},[457,462,464,469,471,477,478],{"type":13,"tag":21,"props":458,"children":460},{"className":459},[],[461],{"type":18,"value":408},{"type":18,"value":463}," ",{"type":13,"tag":465,"props":466,"children":468},"normative",{"type":467},"must",[],{"type":18,"value":470}," be less than\n",{"type":13,"tag":21,"props":472,"children":474},{"className":473},[],[475],{"type":18,"value":476},"VkPhysicalDeviceLimits",{"type":18,"value":203},{"type":13,"tag":21,"props":479,"children":481},{"className":480},[],[482],{"type":18,"value":483},"maxVertexInputAttributes",{"type":13,"tag":450,"props":485,"children":487},{"name":486},"VUID-VkVertexInputAttributeDescription2EXT-binding-06229",[488],{"type":13,"tag":14,"props":489,"children":490},{},[491,496,497,500,501,506,507],{"type":13,"tag":21,"props":492,"children":494},{"className":493},[],[495],{"type":18,"value":419},{"type":18,"value":463},{"type":13,"tag":465,"props":498,"children":499},{"type":467},[],{"type":18,"value":470},{"type":13,"tag":21,"props":502,"children":504},{"className":503},[],[505],{"type":18,"value":476},{"type":18,"value":203},{"type":13,"tag":21,"props":508,"children":510},{"className":509},[],[511],{"type":18,"value":512},"maxVertexInputBindings",{"type":13,"tag":450,"props":514,"children":516},{"name":515},"VUID-VkVertexInputAttributeDescription2EXT-offset-06230",[517],{"type":13,"tag":14,"props":518,"children":519},{},[520,525,526,529,531,536,537],{"type":13,"tag":21,"props":521,"children":523},{"className":522},[],[524],{"type":18,"value":441},{"type":18,"value":463},{"type":13,"tag":465,"props":527,"children":528},{"type":467},[],{"type":18,"value":530}," be less than or equal to\n",{"type":13,"tag":21,"props":532,"children":534},{"className":533},[],[535],{"type":18,"value":476},{"type":18,"value":203},{"type":13,"tag":21,"props":538,"children":540},{"className":539},[],[541],{"type":18,"value":542},"maxVertexInputAttributeOffset",{"type":13,"tag":450,"props":544,"children":546},{"name":545},"VUID-VkVertexInputAttributeDescription2EXT-format-04805",[547],{"type":13,"tag":14,"props":548,"children":549},{},[550,551,557,559,564,565,568,570],{"type":18,"value":19},{"type":13,"tag":373,"props":552,"children":554},{"href":553},"/chapters/resources#resources-buffer-view-format-features",[555],{"type":18,"value":556},"format features",{"type":18,"value":558}," of\n",{"type":13,"tag":21,"props":560,"children":562},{"className":561},[],[563],{"type":18,"value":430},{"type":18,"value":463},{"type":13,"tag":465,"props":566,"children":567},{"type":467},[],{"type":18,"value":569}," contain ",{"type":13,"tag":21,"props":571,"children":573},{"className":572},[],[574],{"type":18,"value":575},"VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",{"type":13,"tag":450,"props":577,"children":579},{"name":578},"VUID-VkVertexInputAttributeDescription2EXT-vertexAttributeAccessBeyondStride-04806",[580],{"type":13,"tag":14,"props":581,"children":582},{},[583,585,591,593,599,600,606,608,614,616,621,623,628,629,632,634,640,642,648,650],{"type":18,"value":584},"If the ",{"type":13,"tag":373,"props":586,"children":588},{"href":587},"/extensions/VK_KHR_portability_subset",[589],{"type":18,"value":590},"VK_KHR_portability_subset",{"type":18,"value":592}," extension is enabled, and\n",{"type":13,"tag":373,"props":594,"children":596},{"href":595},"/man/VkPhysicalDevicePortabilitySubsetFeaturesKHR",[597],{"type":18,"value":598},"VkPhysicalDevicePortabilitySubsetFeaturesKHR",{"type":18,"value":203},{"type":13,"tag":21,"props":601,"children":603},{"className":602},[],[604],{"type":18,"value":605},"vertexAttributeAccessBeyondStride",{"type":18,"value":607},"\nis ",{"type":13,"tag":21,"props":609,"children":611},{"className":610},[],[612],{"type":18,"value":613},"VK_FALSE",{"type":18,"value":615},", the sum of ",{"type":13,"tag":21,"props":617,"children":619},{"className":618},[],[620],{"type":18,"value":441},{"type":18,"value":622}," plus the size of the vertex\nattribute data described by ",{"type":13,"tag":21,"props":624,"children":626},{"className":625},[],[627],{"type":18,"value":430},{"type":18,"value":463},{"type":13,"tag":465,"props":630,"children":631},{"type":467},[],{"type":18,"value":633}," not be greater than\n",{"type":13,"tag":21,"props":635,"children":637},{"className":636},[],[638],{"type":18,"value":639},"stride",{"type":18,"value":641}," in the ",{"type":13,"tag":373,"props":643,"children":645},{"href":644},"/man/VkVertexInputBindingDescription2EXT",[646],{"type":18,"value":647},"VkVertexInputBindingDescription2EXT",{"type":18,"value":649}," referenced\nin ",{"type":13,"tag":21,"props":651,"children":653},{"className":652},[],[654],{"type":18,"value":419},{"type":13,"tag":445,"props":656,"children":658},{"name":657},"Valid Usage (Implicit)",[659,683],{"type":13,"tag":450,"props":660,"children":662},{"name":661},"VUID-VkVertexInputAttributeDescription2EXT-sType-sType",[663],{"type":13,"tag":14,"props":664,"children":665},{},[666,671,672,675,677],{"type":13,"tag":21,"props":667,"children":669},{"className":668},[],[670],{"type":18,"value":369},{"type":18,"value":463},{"type":13,"tag":465,"props":673,"children":674},{"type":467},[],{"type":18,"value":676}," be ",{"type":13,"tag":21,"props":678,"children":680},{"className":679},[],[681],{"type":18,"value":682},"VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT",{"type":13,"tag":450,"props":684,"children":686},{"name":685},"VUID-VkVertexInputAttributeDescription2EXT-format-parameter",[687],{"type":13,"tag":14,"props":688,"children":689},{},[690,695,696,699,701,707],{"type":13,"tag":21,"props":691,"children":693},{"className":692},[],[694],{"type":18,"value":430},{"type":18,"value":463},{"type":13,"tag":465,"props":697,"children":698},{"type":467},[],{"type":18,"value":700}," be a valid ",{"type":13,"tag":373,"props":702,"children":704},{"href":703},"/man/VkFormat",[705],{"type":18,"value":706},"VkFormat",{"type":18,"value":708}," value",{"type":13,"tag":710,"props":711,"children":712},"style",{},[713],{"type":18,"value":714},"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":69,"depth":69,"links":716},[],"markdown",1725732590872]