[{"data":1,"prerenderedAt":747},["ShallowReactive",2],{"$f5K9Xj1S50I1LX0lW-6JoRSJ2ZTCHAZE-jhWt-WtUnEQ":3},{"title":4,"description":5,"parent":6,"structextends":7,"type":10,"xrefs":11,"body":12,"_type":746,"_id":4},"VkPhysicalDeviceTensorFeaturesARM","Structure describing tensor features that can be supported by an implementation","VK_ARM_tensors",[8,9],"VkPhysicalDeviceFeatures2","VkDeviceCreateInfo","structs",[],{"type":13,"children":14,"toc":744},"root",[15,31,421,433,624,707,738],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20,23,29],{"type":21,"value":22},"text","The ",{"type":16,"tag":24,"props":25,"children":27},"code",{"className":26},[],[28],{"type":21,"value":4},{"type":21,"value":30}," structure is defined as:",{"type":16,"tag":32,"props":33,"children":34},"code-group",{},[35,156],{"type":16,"tag":36,"props":37,"children":43},"pre",{"className":38,"code":39,"filename":40,"language":41,"meta":42,"style":42},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPhysicalDeviceTensorFeaturesARM {\n VkStructureType sType;\n void* pNext;\n VkBool32 tensorNonPacked;\n VkBool32 shaderTensorAccess;\n VkBool32 shaderStorageTensorArrayDynamicIndexing;\n VkBool32 shaderStorageTensorArrayNonUniformIndexing;\n VkBool32 descriptorBindingStorageTensorUpdateAfterBind;\n VkBool32 tensors;\n} VkPhysicalDeviceTensorFeaturesARM;\n","C","c","",[44],{"type":16,"tag":24,"props":45,"children":46},{"__ignoreMap":42},[47,70,79,93,102,111,120,129,138,147],{"type":16,"tag":48,"props":49,"children":52},"span",{"class":50,"line":51},"line",1,[53,59,64],{"type":16,"tag":48,"props":54,"children":56},{"style":55},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[57],{"type":21,"value":58},"typedef",{"type":16,"tag":48,"props":60,"children":61},{"style":55},[62],{"type":21,"value":63}," struct",{"type":16,"tag":48,"props":65,"children":67},{"style":66},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[68],{"type":21,"value":69}," VkPhysicalDeviceTensorFeaturesARM {\n",{"type":16,"tag":48,"props":71,"children":73},{"class":50,"line":72},2,[74],{"type":16,"tag":48,"props":75,"children":76},{"style":66},[77],{"type":21,"value":78}," VkStructureType sType;\n",{"type":16,"tag":48,"props":80,"children":82},{"class":50,"line":81},3,[83,88],{"type":16,"tag":48,"props":84,"children":85},{"style":55},[86],{"type":21,"value":87}," void*",{"type":16,"tag":48,"props":89,"children":90},{"style":66},[91],{"type":21,"value":92}," pNext;\n",{"type":16,"tag":48,"props":94,"children":96},{"class":50,"line":95},4,[97],{"type":16,"tag":48,"props":98,"children":99},{"style":66},[100],{"type":21,"value":101}," VkBool32 tensorNonPacked;\n",{"type":16,"tag":48,"props":103,"children":105},{"class":50,"line":104},5,[106],{"type":16,"tag":48,"props":107,"children":108},{"style":66},[109],{"type":21,"value":110}," VkBool32 shaderTensorAccess;\n",{"type":16,"tag":48,"props":112,"children":114},{"class":50,"line":113},6,[115],{"type":16,"tag":48,"props":116,"children":117},{"style":66},[118],{"type":21,"value":119}," VkBool32 shaderStorageTensorArrayDynamicIndexing;\n",{"type":16,"tag":48,"props":121,"children":123},{"class":50,"line":122},7,[124],{"type":16,"tag":48,"props":125,"children":126},{"style":66},[127],{"type":21,"value":128}," VkBool32 shaderStorageTensorArrayNonUniformIndexing;\n",{"type":16,"tag":48,"props":130,"children":132},{"class":50,"line":131},8,[133],{"type":16,"tag":48,"props":134,"children":135},{"style":66},[136],{"type":21,"value":137}," VkBool32 descriptorBindingStorageTensorUpdateAfterBind;\n",{"type":16,"tag":48,"props":139,"children":141},{"class":50,"line":140},9,[142],{"type":16,"tag":48,"props":143,"children":144},{"style":66},[145],{"type":21,"value":146}," VkBool32 tensors;\n",{"type":16,"tag":48,"props":148,"children":150},{"class":50,"line":149},10,[151],{"type":16,"tag":48,"props":152,"children":153},{"style":66},[154],{"type":21,"value":155},"} VkPhysicalDeviceTensorFeaturesARM;\n",{"type":16,"tag":36,"props":157,"children":162},{"className":158,"code":159,"filename":160,"language":161,"meta":42,"style":42},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceTensorFeaturesARM {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n tensor_non_packed: vk::Bool32,\n shader_tensor_access: vk::Bool32,\n shader_storage_tensor_array_dynamic_indexing: vk::Bool32,\n shader_storage_tensor_array_non_uniform_indexing: vk::Bool32,\n descriptor_binding_storage_tensor_update_after_bind: vk::Bool32,\n tensors: vk::Bool32,\n}\n","Rust","rs",[163],{"type":16,"tag":24,"props":164,"children":165},{"__ignoreMap":42},[166,189,222,244,273,301,329,357,385,413],{"type":16,"tag":48,"props":167,"children":168},{"class":50,"line":51},[169,174,178,184],{"type":16,"tag":48,"props":170,"children":171},{"style":55},[172],{"type":21,"value":173},"pub",{"type":16,"tag":48,"props":175,"children":176},{"style":55},[177],{"type":21,"value":63},{"type":16,"tag":48,"props":179,"children":181},{"style":180},"--shiki-default:#953800;--shiki-dark:#FFA657",[182],{"type":21,"value":183}," PhysicalDeviceTensorFeaturesARM",{"type":16,"tag":48,"props":185,"children":186},{"style":66},[187],{"type":21,"value":188}," {\n",{"type":16,"tag":48,"props":190,"children":191},{"class":50,"line":72},[192,197,202,207,212,217],{"type":16,"tag":48,"props":193,"children":194},{"style":66},[195],{"type":21,"value":196}," s_type",{"type":16,"tag":48,"props":198,"children":199},{"style":55},[200],{"type":21,"value":201},":",{"type":16,"tag":48,"props":203,"children":204},{"style":180},[205],{"type":21,"value":206}," vk",{"type":16,"tag":48,"props":208,"children":209},{"style":55},[210],{"type":21,"value":211},"::",{"type":16,"tag":48,"props":213,"children":214},{"style":180},[215],{"type":21,"value":216},"StructureType",{"type":16,"tag":48,"props":218,"children":219},{"style":66},[220],{"type":21,"value":221},",\n",{"type":16,"tag":48,"props":223,"children":224},{"class":50,"line":81},[225,230,234,239],{"type":16,"tag":48,"props":226,"children":227},{"style":66},[228],{"type":21,"value":229}," p_next",{"type":16,"tag":48,"props":231,"children":232},{"style":55},[233],{"type":21,"value":201},{"type":16,"tag":48,"props":235,"children":236},{"style":55},[237],{"type":21,"value":238}," *mut",{"type":16,"tag":48,"props":240,"children":241},{"style":66},[242],{"type":21,"value":243}," c_void,\n",{"type":16,"tag":48,"props":245,"children":246},{"class":50,"line":95},[247,252,256,260,264,269],{"type":16,"tag":48,"props":248,"children":249},{"style":66},[250],{"type":21,"value":251}," tensor_non_packed",{"type":16,"tag":48,"props":253,"children":254},{"style":55},[255],{"type":21,"value":201},{"type":16,"tag":48,"props":257,"children":258},{"style":180},[259],{"type":21,"value":206},{"type":16,"tag":48,"props":261,"children":262},{"style":55},[263],{"type":21,"value":211},{"type":16,"tag":48,"props":265,"children":266},{"style":180},[267],{"type":21,"value":268},"Bool32",{"type":16,"tag":48,"props":270,"children":271},{"style":66},[272],{"type":21,"value":221},{"type":16,"tag":48,"props":274,"children":275},{"class":50,"line":104},[276,281,285,289,293,297],{"type":16,"tag":48,"props":277,"children":278},{"style":66},[279],{"type":21,"value":280}," shader_tensor_access",{"type":16,"tag":48,"props":282,"children":283},{"style":55},[284],{"type":21,"value":201},{"type":16,"tag":48,"props":286,"children":287},{"style":180},[288],{"type":21,"value":206},{"type":16,"tag":48,"props":290,"children":291},{"style":55},[292],{"type":21,"value":211},{"type":16,"tag":48,"props":294,"children":295},{"style":180},[296],{"type":21,"value":268},{"type":16,"tag":48,"props":298,"children":299},{"style":66},[300],{"type":21,"value":221},{"type":16,"tag":48,"props":302,"children":303},{"class":50,"line":113},[304,309,313,317,321,325],{"type":16,"tag":48,"props":305,"children":306},{"style":66},[307],{"type":21,"value":308}," shader_storage_tensor_array_dynamic_indexing",{"type":16,"tag":48,"props":310,"children":311},{"style":55},[312],{"type":21,"value":201},{"type":16,"tag":48,"props":314,"children":315},{"style":180},[316],{"type":21,"value":206},{"type":16,"tag":48,"props":318,"children":319},{"style":55},[320],{"type":21,"value":211},{"type":16,"tag":48,"props":322,"children":323},{"style":180},[324],{"type":21,"value":268},{"type":16,"tag":48,"props":326,"children":327},{"style":66},[328],{"type":21,"value":221},{"type":16,"tag":48,"props":330,"children":331},{"class":50,"line":122},[332,337,341,345,349,353],{"type":16,"tag":48,"props":333,"children":334},{"style":66},[335],{"type":21,"value":336}," shader_storage_tensor_array_non_uniform_indexing",{"type":16,"tag":48,"props":338,"children":339},{"style":55},[340],{"type":21,"value":201},{"type":16,"tag":48,"props":342,"children":343},{"style":180},[344],{"type":21,"value":206},{"type":16,"tag":48,"props":346,"children":347},{"style":55},[348],{"type":21,"value":211},{"type":16,"tag":48,"props":350,"children":351},{"style":180},[352],{"type":21,"value":268},{"type":16,"tag":48,"props":354,"children":355},{"style":66},[356],{"type":21,"value":221},{"type":16,"tag":48,"props":358,"children":359},{"class":50,"line":131},[360,365,369,373,377,381],{"type":16,"tag":48,"props":361,"children":362},{"style":66},[363],{"type":21,"value":364}," descriptor_binding_storage_tensor_update_after_bind",{"type":16,"tag":48,"props":366,"children":367},{"style":55},[368],{"type":21,"value":201},{"type":16,"tag":48,"props":370,"children":371},{"style":180},[372],{"type":21,"value":206},{"type":16,"tag":48,"props":374,"children":375},{"style":55},[376],{"type":21,"value":211},{"type":16,"tag":48,"props":378,"children":379},{"style":180},[380],{"type":21,"value":268},{"type":16,"tag":48,"props":382,"children":383},{"style":66},[384],{"type":21,"value":221},{"type":16,"tag":48,"props":386,"children":387},{"class":50,"line":140},[388,393,397,401,405,409],{"type":16,"tag":48,"props":389,"children":390},{"style":66},[391],{"type":21,"value":392}," tensors",{"type":16,"tag":48,"props":394,"children":395},{"style":55},[396],{"type":21,"value":201},{"type":16,"tag":48,"props":398,"children":399},{"style":180},[400],{"type":21,"value":206},{"type":16,"tag":48,"props":402,"children":403},{"style":55},[404],{"type":21,"value":211},{"type":16,"tag":48,"props":406,"children":407},{"style":180},[408],{"type":21,"value":268},{"type":16,"tag":48,"props":410,"children":411},{"style":66},[412],{"type":21,"value":221},{"type":16,"tag":48,"props":414,"children":415},{"class":50,"line":149},[416],{"type":16,"tag":48,"props":417,"children":418},{"style":66},[419],{"type":21,"value":420},"}\n",{"type":16,"tag":17,"props":422,"children":423},{},[424,426,431],{"type":21,"value":425},"The members of the ",{"type":16,"tag":24,"props":427,"children":429},{"className":428},[],[430],{"type":21,"value":4},{"type":21,"value":432}," structure\ndescribe the following features:",{"type":16,"tag":434,"props":435,"children":436},"ul",{},[437,456,487,532,574,608],{"type":16,"tag":438,"props":439,"children":440},"li",{},[441,446,448,454],{"type":16,"tag":442,"props":443,"children":445},"anchor",{"id":444},"features-tensorNonPacked",[],{"type":21,"value":447}," ",{"type":16,"tag":24,"props":449,"children":451},{"className":450},[],[452],{"type":21,"value":453},"tensorNonPacked",{"type":21,"value":455}," indicates whether the\nimplementation supports the creation of tensors that are not packed\ntensors.",{"type":16,"tag":438,"props":457,"children":458},{},[459,463,464,470,472,477,479,485],{"type":16,"tag":442,"props":460,"children":462},{"id":461},"features-shaderTensorAccess",[],{"type":21,"value":447},{"type":16,"tag":24,"props":465,"children":467},{"className":466},[],[468],{"type":21,"value":469},"shaderTensorAccess",{"type":21,"value":471}," indicates\nwhether shader modules ",{"type":16,"tag":473,"props":474,"children":476},"normative",{"type":475},"can",[],{"type":21,"value":478}," declare the ",{"type":16,"tag":24,"props":480,"children":482},{"className":481},[],[483],{"type":21,"value":484},"TensorsARM",{"type":21,"value":486}," capability.",{"type":16,"tag":438,"props":488,"children":489},{},[490,494,500,502,505,507,513,514,518,520,523,525,531],{"type":16,"tag":442,"props":491,"children":493},{"id":492},"features-shaderStorageTensorArrayDynamicIndexing",[],{"type":16,"tag":24,"props":495,"children":497},{"className":496},[],[498],{"type":21,"value":499},"shaderStorageBufferArrayDynamicIndexing",{"type":21,"value":501}," indicates whether arrays\nof storage tensors ",{"type":16,"tag":473,"props":503,"children":504},{"type":475},[],{"type":21,"value":506}," be indexed by dynamically uniform integer\nexpressions in shader code.\nIf this feature is not enabled, resources with a descriptor type of\n",{"type":16,"tag":24,"props":508,"children":510},{"className":509},[],[511],{"type":21,"value":512},"VK_DESCRIPTOR_TYPE_TENSOR_ARM",{"type":21,"value":447},{"type":16,"tag":473,"props":515,"children":517},{"type":516},"must",[],{"type":21,"value":519}," be indexed only by constant\nintegral expressions when aggregated into arrays in shader code.\nThis also indicates whether shader modules ",{"type":16,"tag":473,"props":521,"children":522},{"type":475},[],{"type":21,"value":524}," declare the\n",{"type":16,"tag":24,"props":526,"children":528},{"className":527},[],[529],{"type":21,"value":530},"StorageTensorArrayDynamicIndexingARM",{"type":21,"value":486},{"type":16,"tag":438,"props":533,"children":534},{},[535,539,545,547,550,552,557,558,561,563,566,567,573],{"type":16,"tag":442,"props":536,"children":538},{"id":537},"features-shaderStorageTensorArrayNonUniformIndexing",[],{"type":16,"tag":24,"props":540,"children":542},{"className":541},[],[543],{"type":21,"value":544},"shaderStorageTensorArrayNonUniformIndexing",{"type":21,"value":546}," indicates whether\narrays of storage tensors ",{"type":16,"tag":473,"props":548,"children":549},{"type":475},[],{"type":21,"value":551}," be indexed by non-uniform integer\nexpressions in shader code.\nIf this feature is not enabled, resources with a descriptor type of\n",{"type":16,"tag":24,"props":553,"children":555},{"className":554},[],[556],{"type":21,"value":512},{"type":21,"value":447},{"type":16,"tag":473,"props":559,"children":560},{"type":516},[],{"type":21,"value":562}," not be indexed by non-uniform\ninteger expressions when aggregated into arrays in shader code.\nThis also indicates whether shader modules ",{"type":16,"tag":473,"props":564,"children":565},{"type":475},[],{"type":21,"value":524},{"type":16,"tag":24,"props":568,"children":570},{"className":569},[],[571],{"type":21,"value":572},"StorageTensorArrayNonUniformIndexingARM",{"type":21,"value":486},{"type":16,"tag":438,"props":575,"children":576},{},[577,581,587,589,595,596,599,601,606],{"type":16,"tag":442,"props":578,"children":580},{"id":579},"features-descriptorBindingStorageTensorUpdateAfterBind",[],{"type":16,"tag":24,"props":582,"children":584},{"className":583},[],[585],{"type":21,"value":586},"descriptorBindingStorageTensorUpdateAfterBind",{"type":21,"value":588}," indicates whether\nthe implementation supports updating storage tensor descriptors after a\nset is bound.\nIf this feature is not enabled,\n",{"type":16,"tag":24,"props":590,"children":592},{"className":591},[],[593],{"type":21,"value":594},"VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT",{"type":21,"value":447},{"type":16,"tag":473,"props":597,"children":598},{"type":516},[],{"type":21,"value":600}," not be used with\n",{"type":16,"tag":24,"props":602,"children":604},{"className":603},[],[605],{"type":21,"value":512},{"type":21,"value":607},".",{"type":16,"tag":438,"props":609,"children":610},{},[611,615,616,622],{"type":16,"tag":442,"props":612,"children":614},{"id":613},"features-tensors",[],{"type":21,"value":447},{"type":16,"tag":24,"props":617,"children":619},{"className":618},[],[620],{"type":21,"value":621},"tensors",{"type":21,"value":623}," indicates whether the implementation\nsupports tensor resources.",{"type":16,"tag":17,"props":625,"children":626},{},[627,629,634,636,642,644,650,652,658,660,666,668,673,675,678,680,686,688,693,695,700,702,706],{"type":21,"value":628},"If the ",{"type":16,"tag":24,"props":630,"children":632},{"className":631},[],[633],{"type":21,"value":4},{"type":21,"value":635}," structure is included in the ",{"type":16,"tag":24,"props":637,"children":639},{"className":638},[],[640],{"type":21,"value":641},"pNext",{"type":21,"value":643}," chain of the\n",{"type":16,"tag":645,"props":646,"children":648},"a",{"href":647},"/man/VkPhysicalDeviceFeatures2",[649],{"type":21,"value":8},{"type":21,"value":651}," structure passed to\n",{"type":16,"tag":645,"props":653,"children":655},{"href":654},"/man/vkGetPhysicalDeviceFeatures2",[656],{"type":21,"value":657},"vkGetPhysicalDeviceFeatures2",{"type":21,"value":659},", it is filled in to indicate whether each\ncorresponding feature is supported.\nIf the application wishes to use a ",{"type":16,"tag":645,"props":661,"children":663},{"href":662},"/man/VkDevice",[664],{"type":21,"value":665},"VkDevice",{"type":21,"value":667}," with any features\ndescribed by ",{"type":16,"tag":24,"props":669,"children":671},{"className":670},[],[672],{"type":21,"value":4},{"type":21,"value":674},", it ",{"type":16,"tag":473,"props":676,"children":677},{"type":516},[],{"type":21,"value":679}," add an instance of the structure,\nwith the desired feature members set to ",{"type":16,"tag":24,"props":681,"children":683},{"className":682},[],[684],{"type":21,"value":685},"VK_TRUE",{"type":21,"value":687},", to the ",{"type":16,"tag":24,"props":689,"children":691},{"className":690},[],[692],{"type":21,"value":641},{"type":21,"value":694},"\nchain of ",{"type":16,"tag":645,"props":696,"children":698},{"href":697},"/man/VkDeviceCreateInfo",[699],{"type":21,"value":9},{"type":21,"value":701}," when creating the ",{"type":16,"tag":645,"props":703,"children":704},{"href":662},[705],{"type":21,"value":665},{"type":21,"value":607},{"type":16,"tag":708,"props":709,"children":711},"validity-group",{"name":710},"Valid Usage (Implicit)",[712],{"type":16,"tag":713,"props":714,"children":716},"validity-field",{"name":715},"VUID-VkPhysicalDeviceTensorFeaturesARM-sType-sType",[717],{"type":16,"tag":17,"props":718,"children":719},{},[720,726,727,730,732],{"type":16,"tag":24,"props":721,"children":723},{"className":722},[],[724],{"type":21,"value":725},"sType",{"type":21,"value":447},{"type":16,"tag":473,"props":728,"children":729},{"type":516},[],{"type":21,"value":731}," be ",{"type":16,"tag":24,"props":733,"children":735},{"className":734},[],[736],{"type":21,"value":737},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TENSOR_FEATURES_ARM",{"type":16,"tag":739,"props":740,"children":741},"style",{},[742],{"type":21,"value":743},"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":42,"searchDepth":72,"depth":72,"links":745},[],"markdown",1773054768799]