[{"data":1,"prerenderedAt":582},["ShallowReactive",2],{"Tuew09F0tz":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":581,"_id":4},"VkVertexInputAttributeDescription","Structure specifying vertex input attribute description","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":579},"root",[12,28,281,330,543,573],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","Each vertex input attribute is specified by the\n",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure, defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,125],{"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 VkVertexInputAttributeDescription {\n uint32_t location;\n uint32_t binding;\n VkFormat format;\n uint32_t offset;\n} VkVertexInputAttributeDescription;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,81,94,103,116],{"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}," VkVertexInputAttributeDescription {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71,76],{"type":13,"tag":45,"props":72,"children":73},{"style":52},[74],{"type":18,"value":75}," uint32_t",{"type":13,"tag":45,"props":77,"children":78},{"style":63},[79],{"type":18,"value":80}," location;\n",{"type":13,"tag":45,"props":82,"children":84},{"class":47,"line":83},3,[85,89],{"type":13,"tag":45,"props":86,"children":87},{"style":52},[88],{"type":18,"value":75},{"type":13,"tag":45,"props":90,"children":91},{"style":63},[92],{"type":18,"value":93}," binding;\n",{"type":13,"tag":45,"props":95,"children":97},{"class":47,"line":96},4,[98],{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102}," VkFormat format;\n",{"type":13,"tag":45,"props":104,"children":106},{"class":47,"line":105},5,[107,111],{"type":13,"tag":45,"props":108,"children":109},{"style":52},[110],{"type":18,"value":75},{"type":13,"tag":45,"props":112,"children":113},{"style":63},[114],{"type":18,"value":115}," offset;\n",{"type":13,"tag":45,"props":117,"children":119},{"class":47,"line":118},6,[120],{"type":13,"tag":45,"props":121,"children":122},{"style":63},[123],{"type":18,"value":124},"} VkVertexInputAttributeDescription;\n",{"type":13,"tag":33,"props":126,"children":131},{"className":127,"code":128,"filename":129,"language":130,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct VertexInputAttributeDescription {\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",[132],{"type":13,"tag":21,"props":133,"children":134},{"__ignoreMap":39},[135,158,187,212,248,273],{"type":13,"tag":45,"props":136,"children":137},{"class":47,"line":48},[138,143,147,153],{"type":13,"tag":45,"props":139,"children":140},{"style":52},[141],{"type":18,"value":142},"pub",{"type":13,"tag":45,"props":144,"children":145},{"style":52},[146],{"type":18,"value":60},{"type":13,"tag":45,"props":148,"children":150},{"style":149},"--shiki-default:#953800;--shiki-dark:#FFA657",[151],{"type":18,"value":152}," VertexInputAttributeDescription",{"type":13,"tag":45,"props":154,"children":155},{"style":63},[156],{"type":18,"value":157}," {\n",{"type":13,"tag":45,"props":159,"children":160},{"class":47,"line":69},[161,166,171,176,181],{"type":13,"tag":45,"props":162,"children":163},{"style":63},[164],{"type":18,"value":165}," location",{"type":13,"tag":45,"props":167,"children":168},{"style":52},[169],{"type":18,"value":170},":",{"type":13,"tag":45,"props":172,"children":173},{"style":149},[174],{"type":18,"value":175}," u32",{"type":13,"tag":45,"props":177,"children":178},{"style":63},[179],{"type":18,"value":180},", ",{"type":13,"tag":45,"props":182,"children":184},{"style":183},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[185],{"type":18,"value":186},"// location of the shader vertex attrib\n",{"type":13,"tag":45,"props":188,"children":189},{"class":47,"line":83},[190,195,199,203,207],{"type":13,"tag":45,"props":191,"children":192},{"style":63},[193],{"type":18,"value":194}," binding",{"type":13,"tag":45,"props":196,"children":197},{"style":52},[198],{"type":18,"value":170},{"type":13,"tag":45,"props":200,"children":201},{"style":149},[202],{"type":18,"value":175},{"type":13,"tag":45,"props":204,"children":205},{"style":63},[206],{"type":18,"value":180},{"type":13,"tag":45,"props":208,"children":209},{"style":183},[210],{"type":18,"value":211},"// Vertex buffer binding id\n",{"type":13,"tag":45,"props":213,"children":214},{"class":47,"line":96},[215,220,224,229,234,239,243],{"type":13,"tag":45,"props":216,"children":217},{"style":63},[218],{"type":18,"value":219}," format",{"type":13,"tag":45,"props":221,"children":222},{"style":52},[223],{"type":18,"value":170},{"type":13,"tag":45,"props":225,"children":226},{"style":149},[227],{"type":18,"value":228}," vk",{"type":13,"tag":45,"props":230,"children":231},{"style":52},[232],{"type":18,"value":233},"::",{"type":13,"tag":45,"props":235,"children":236},{"style":149},[237],{"type":18,"value":238},"Format",{"type":13,"tag":45,"props":240,"children":241},{"style":63},[242],{"type":18,"value":180},{"type":13,"tag":45,"props":244,"children":245},{"style":183},[246],{"type":18,"value":247},"// format of source data\n",{"type":13,"tag":45,"props":249,"children":250},{"class":47,"line":105},[251,256,260,264,268],{"type":13,"tag":45,"props":252,"children":253},{"style":63},[254],{"type":18,"value":255}," offset",{"type":13,"tag":45,"props":257,"children":258},{"style":52},[259],{"type":18,"value":170},{"type":13,"tag":45,"props":261,"children":262},{"style":149},[263],{"type":18,"value":175},{"type":13,"tag":45,"props":265,"children":266},{"style":63},[267],{"type":18,"value":180},{"type":13,"tag":45,"props":269,"children":270},{"style":183},[271],{"type":18,"value":272},"// Offset of first element in bytes from base of vertex\n",{"type":13,"tag":45,"props":274,"children":275},{"class":47,"line":118},[276],{"type":13,"tag":45,"props":277,"children":278},{"style":63},[279],{"type":18,"value":280},"}\n",{"type":13,"tag":282,"props":283,"children":284},"ul",{},[285,297,308,319],{"type":13,"tag":286,"props":287,"children":288},"li",{},[289,295],{"type":13,"tag":21,"props":290,"children":292},{"className":291},[],[293],{"type":18,"value":294},"location",{"type":18,"value":296}," is the shader input location number for this attribute.",{"type":13,"tag":286,"props":298,"children":299},{},[300,306],{"type":13,"tag":21,"props":301,"children":303},{"className":302},[],[304],{"type":18,"value":305},"binding",{"type":18,"value":307}," is the binding number which this attribute takes its data\nfrom.",{"type":13,"tag":286,"props":309,"children":310},{},[311,317],{"type":13,"tag":21,"props":312,"children":314},{"className":313},[],[315],{"type":18,"value":316},"format",{"type":18,"value":318}," is the size and type of the vertex attribute data.",{"type":13,"tag":286,"props":320,"children":321},{},[322,328],{"type":13,"tag":21,"props":323,"children":325},{"className":324},[],[326],{"type":18,"value":327},"offset",{"type":18,"value":329}," is a byte offset of this attribute relative to the start of\nan element in the vertex input binding.",{"type":13,"tag":331,"props":332,"children":334},"validity-group",{"name":333},"Valid Usage",[335,370,399,429,464],{"type":13,"tag":336,"props":337,"children":339},"validity-field",{"name":338},"VUID-VkVertexInputAttributeDescription-location-00620",[340],{"type":13,"tag":14,"props":341,"children":342},{},[343,348,350,355,357,363,364],{"type":13,"tag":21,"props":344,"children":346},{"className":345},[],[347],{"type":18,"value":294},{"type":18,"value":349}," ",{"type":13,"tag":351,"props":352,"children":354},"normative",{"type":353},"must",[],{"type":18,"value":356}," be less than\n",{"type":13,"tag":21,"props":358,"children":360},{"className":359},[],[361],{"type":18,"value":362},"VkPhysicalDeviceLimits",{"type":18,"value":233},{"type":13,"tag":21,"props":365,"children":367},{"className":366},[],[368],{"type":18,"value":369},"maxVertexInputAttributes",{"type":13,"tag":336,"props":371,"children":373},{"name":372},"VUID-VkVertexInputAttributeDescription-binding-00621",[374],{"type":13,"tag":14,"props":375,"children":376},{},[377,382,383,386,387,392,393],{"type":13,"tag":21,"props":378,"children":380},{"className":379},[],[381],{"type":18,"value":305},{"type":18,"value":349},{"type":13,"tag":351,"props":384,"children":385},{"type":353},[],{"type":18,"value":356},{"type":13,"tag":21,"props":388,"children":390},{"className":389},[],[391],{"type":18,"value":362},{"type":18,"value":233},{"type":13,"tag":21,"props":394,"children":396},{"className":395},[],[397],{"type":18,"value":398},"maxVertexInputBindings",{"type":13,"tag":336,"props":400,"children":402},{"name":401},"VUID-VkVertexInputAttributeDescription-offset-00622",[403],{"type":13,"tag":14,"props":404,"children":405},{},[406,411,412,415,417,422,423],{"type":13,"tag":21,"props":407,"children":409},{"className":408},[],[410],{"type":18,"value":327},{"type":18,"value":349},{"type":13,"tag":351,"props":413,"children":414},{"type":353},[],{"type":18,"value":416}," be less than or equal to\n",{"type":13,"tag":21,"props":418,"children":420},{"className":419},[],[421],{"type":18,"value":362},{"type":18,"value":233},{"type":13,"tag":21,"props":424,"children":426},{"className":425},[],[427],{"type":18,"value":428},"maxVertexInputAttributeOffset",{"type":13,"tag":336,"props":430,"children":432},{"name":431},"VUID-VkVertexInputAttributeDescription-format-00623",[433],{"type":13,"tag":14,"props":434,"children":435},{},[436,438,445,447,452,453,456,458],{"type":18,"value":437},"The ",{"type":13,"tag":439,"props":440,"children":442},"a",{"href":441},"/chapters/resources#resources-buffer-view-format-features",[443],{"type":18,"value":444},"format features",{"type":18,"value":446}," of\n",{"type":13,"tag":21,"props":448,"children":450},{"className":449},[],[451],{"type":18,"value":316},{"type":18,"value":349},{"type":13,"tag":351,"props":454,"children":455},{"type":353},[],{"type":18,"value":457}," contain ",{"type":13,"tag":21,"props":459,"children":461},{"className":460},[],[462],{"type":18,"value":463},"VK_FORMAT_FEATURE_VERTEX_BUFFER_BIT",{"type":13,"tag":336,"props":465,"children":467},{"name":466},"VUID-VkVertexInputAttributeDescription-vertexAttributeAccessBeyondStride-04457",[468],{"type":13,"tag":14,"props":469,"children":470},{},[471,473,479,481,487,488,494,496,502,504,509,511,516,517,520,522,528,530,536,538],{"type":18,"value":472},"If the ",{"type":13,"tag":439,"props":474,"children":476},{"href":475},"/extensions/VK_KHR_portability_subset",[477],{"type":18,"value":478},"VK_KHR_portability_subset",{"type":18,"value":480}," extension is enabled, and\n",{"type":13,"tag":439,"props":482,"children":484},{"href":483},"/man/VkPhysicalDevicePortabilitySubsetFeaturesKHR",[485],{"type":18,"value":486},"VkPhysicalDevicePortabilitySubsetFeaturesKHR",{"type":18,"value":233},{"type":13,"tag":21,"props":489,"children":491},{"className":490},[],[492],{"type":18,"value":493},"vertexAttributeAccessBeyondStride",{"type":18,"value":495},"\nis ",{"type":13,"tag":21,"props":497,"children":499},{"className":498},[],[500],{"type":18,"value":501},"VK_FALSE",{"type":18,"value":503},", the sum of ",{"type":13,"tag":21,"props":505,"children":507},{"className":506},[],[508],{"type":18,"value":327},{"type":18,"value":510}," plus the size of the vertex\nattribute data described by ",{"type":13,"tag":21,"props":512,"children":514},{"className":513},[],[515],{"type":18,"value":316},{"type":18,"value":349},{"type":13,"tag":351,"props":518,"children":519},{"type":353},[],{"type":18,"value":521}," not be greater than\n",{"type":13,"tag":21,"props":523,"children":525},{"className":524},[],[526],{"type":18,"value":527},"stride",{"type":18,"value":529}," in the ",{"type":13,"tag":439,"props":531,"children":533},{"href":532},"/man/VkVertexInputBindingDescription",[534],{"type":18,"value":535},"VkVertexInputBindingDescription",{"type":18,"value":537}," referenced in\n",{"type":13,"tag":21,"props":539,"children":541},{"className":540},[],[542],{"type":18,"value":305},{"type":13,"tag":331,"props":544,"children":546},{"name":545},"Valid Usage (Implicit)",[547],{"type":13,"tag":336,"props":548,"children":550},{"name":549},"VUID-VkVertexInputAttributeDescription-format-parameter",[551],{"type":13,"tag":14,"props":552,"children":553},{},[554,559,560,563,565,571],{"type":13,"tag":21,"props":555,"children":557},{"className":556},[],[558],{"type":18,"value":316},{"type":18,"value":349},{"type":13,"tag":351,"props":561,"children":562},{"type":353},[],{"type":18,"value":564}," be a valid ",{"type":13,"tag":439,"props":566,"children":568},{"href":567},"/man/VkFormat",[569],{"type":18,"value":570},"VkFormat",{"type":18,"value":572}," value",{"type":13,"tag":574,"props":575,"children":576},"style",{},[577],{"type":18,"value":578},"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":580},[],"markdown",1729612484832]