[{"data":1,"prerenderedAt":788},["ShallowReactive",2],{"EmS9waIJpQ":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":787,"_id":4},"VkPhysicalDeviceCooperativeMatrix2FeaturesNV","Structure describing cooperative matrix features that can be supported by an implementation","VK_NV_cooperative_matrix2","structs",[],{"type":10,"children":11,"toc":785},"root",[12,28,455,460,663,748,779],{"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\nas:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,162],{"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 VkPhysicalDeviceCooperativeMatrix2FeaturesNV {\n VkStructureType sType;\n void* pNext;\n VkBool32 cooperativeMatrixWorkgroupScope;\n VkBool32 cooperativeMatrixFlexibleDimensions;\n VkBool32 cooperativeMatrixReductions;\n VkBool32 cooperativeMatrixConversions;\n VkBool32 cooperativeMatrixPerElementOperations;\n VkBool32 cooperativeMatrixTensorAddressing;\n VkBool32 cooperativeMatrixBlockLoads;\n} VkPhysicalDeviceCooperativeMatrix2FeaturesNV;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,90,99,108,117,126,135,144,153],{"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}," VkPhysicalDeviceCooperativeMatrix2FeaturesNV {\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],{"type":13,"tag":45,"props":95,"children":96},{"style":63},[97],{"type":18,"value":98}," VkBool32 cooperativeMatrixWorkgroupScope;\n",{"type":13,"tag":45,"props":100,"children":102},{"class":47,"line":101},5,[103],{"type":13,"tag":45,"props":104,"children":105},{"style":63},[106],{"type":18,"value":107}," VkBool32 cooperativeMatrixFlexibleDimensions;\n",{"type":13,"tag":45,"props":109,"children":111},{"class":47,"line":110},6,[112],{"type":13,"tag":45,"props":113,"children":114},{"style":63},[115],{"type":18,"value":116}," VkBool32 cooperativeMatrixReductions;\n",{"type":13,"tag":45,"props":118,"children":120},{"class":47,"line":119},7,[121],{"type":13,"tag":45,"props":122,"children":123},{"style":63},[124],{"type":18,"value":125}," VkBool32 cooperativeMatrixConversions;\n",{"type":13,"tag":45,"props":127,"children":129},{"class":47,"line":128},8,[130],{"type":13,"tag":45,"props":131,"children":132},{"style":63},[133],{"type":18,"value":134}," VkBool32 cooperativeMatrixPerElementOperations;\n",{"type":13,"tag":45,"props":136,"children":138},{"class":47,"line":137},9,[139],{"type":13,"tag":45,"props":140,"children":141},{"style":63},[142],{"type":18,"value":143}," VkBool32 cooperativeMatrixTensorAddressing;\n",{"type":13,"tag":45,"props":145,"children":147},{"class":47,"line":146},10,[148],{"type":13,"tag":45,"props":149,"children":150},{"style":63},[151],{"type":18,"value":152}," VkBool32 cooperativeMatrixBlockLoads;\n",{"type":13,"tag":45,"props":154,"children":156},{"class":47,"line":155},11,[157],{"type":13,"tag":45,"props":158,"children":159},{"style":63},[160],{"type":18,"value":161},"} VkPhysicalDeviceCooperativeMatrix2FeaturesNV;\n",{"type":13,"tag":33,"props":163,"children":168},{"className":164,"code":165,"filename":166,"language":167,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceCooperativeMatrix2FeaturesNV {\n s_type: vk::StructureType,\n p_next: *mut c_void,\n cooperative_matrix_workgroup_scope: vk::Bool32,\n cooperative_matrix_flexible_dimensions: vk::Bool32,\n cooperative_matrix_reductions: vk::Bool32,\n cooperative_matrix_conversions: vk::Bool32,\n cooperative_matrix_per_element_operations: vk::Bool32,\n cooperative_matrix_tensor_addressing: vk::Bool32,\n cooperative_matrix_block_loads: vk::Bool32,\n}\n","Rust","rs",[169],{"type":13,"tag":21,"props":170,"children":171},{"__ignoreMap":39},[172,195,228,250,279,307,335,363,391,419,447],{"type":13,"tag":45,"props":173,"children":174},{"class":47,"line":48},[175,180,184,190],{"type":13,"tag":45,"props":176,"children":177},{"style":52},[178],{"type":18,"value":179},"pub",{"type":13,"tag":45,"props":181,"children":182},{"style":52},[183],{"type":18,"value":60},{"type":13,"tag":45,"props":185,"children":187},{"style":186},"--shiki-default:#953800;--shiki-dark:#FFA657",[188],{"type":18,"value":189}," PhysicalDeviceCooperativeMatrix2FeaturesNV",{"type":13,"tag":45,"props":191,"children":192},{"style":63},[193],{"type":18,"value":194}," {\n",{"type":13,"tag":45,"props":196,"children":197},{"class":47,"line":69},[198,203,208,213,218,223],{"type":13,"tag":45,"props":199,"children":200},{"style":63},[201],{"type":18,"value":202}," s_type",{"type":13,"tag":45,"props":204,"children":205},{"style":52},[206],{"type":18,"value":207},":",{"type":13,"tag":45,"props":209,"children":210},{"style":186},[211],{"type":18,"value":212}," vk",{"type":13,"tag":45,"props":214,"children":215},{"style":52},[216],{"type":18,"value":217},"::",{"type":13,"tag":45,"props":219,"children":220},{"style":186},[221],{"type":18,"value":222},"StructureType",{"type":13,"tag":45,"props":224,"children":225},{"style":63},[226],{"type":18,"value":227},",\n",{"type":13,"tag":45,"props":229,"children":230},{"class":47,"line":78},[231,236,240,245],{"type":13,"tag":45,"props":232,"children":233},{"style":63},[234],{"type":18,"value":235}," p_next",{"type":13,"tag":45,"props":237,"children":238},{"style":52},[239],{"type":18,"value":207},{"type":13,"tag":45,"props":241,"children":242},{"style":52},[243],{"type":18,"value":244}," *mut",{"type":13,"tag":45,"props":246,"children":247},{"style":63},[248],{"type":18,"value":249}," c_void,\n",{"type":13,"tag":45,"props":251,"children":252},{"class":47,"line":92},[253,258,262,266,270,275],{"type":13,"tag":45,"props":254,"children":255},{"style":63},[256],{"type":18,"value":257}," cooperative_matrix_workgroup_scope",{"type":13,"tag":45,"props":259,"children":260},{"style":52},[261],{"type":18,"value":207},{"type":13,"tag":45,"props":263,"children":264},{"style":186},[265],{"type":18,"value":212},{"type":13,"tag":45,"props":267,"children":268},{"style":52},[269],{"type":18,"value":217},{"type":13,"tag":45,"props":271,"children":272},{"style":186},[273],{"type":18,"value":274},"Bool32",{"type":13,"tag":45,"props":276,"children":277},{"style":63},[278],{"type":18,"value":227},{"type":13,"tag":45,"props":280,"children":281},{"class":47,"line":101},[282,287,291,295,299,303],{"type":13,"tag":45,"props":283,"children":284},{"style":63},[285],{"type":18,"value":286}," cooperative_matrix_flexible_dimensions",{"type":13,"tag":45,"props":288,"children":289},{"style":52},[290],{"type":18,"value":207},{"type":13,"tag":45,"props":292,"children":293},{"style":186},[294],{"type":18,"value":212},{"type":13,"tag":45,"props":296,"children":297},{"style":52},[298],{"type":18,"value":217},{"type":13,"tag":45,"props":300,"children":301},{"style":186},[302],{"type":18,"value":274},{"type":13,"tag":45,"props":304,"children":305},{"style":63},[306],{"type":18,"value":227},{"type":13,"tag":45,"props":308,"children":309},{"class":47,"line":110},[310,315,319,323,327,331],{"type":13,"tag":45,"props":311,"children":312},{"style":63},[313],{"type":18,"value":314}," cooperative_matrix_reductions",{"type":13,"tag":45,"props":316,"children":317},{"style":52},[318],{"type":18,"value":207},{"type":13,"tag":45,"props":320,"children":321},{"style":186},[322],{"type":18,"value":212},{"type":13,"tag":45,"props":324,"children":325},{"style":52},[326],{"type":18,"value":217},{"type":13,"tag":45,"props":328,"children":329},{"style":186},[330],{"type":18,"value":274},{"type":13,"tag":45,"props":332,"children":333},{"style":63},[334],{"type":18,"value":227},{"type":13,"tag":45,"props":336,"children":337},{"class":47,"line":119},[338,343,347,351,355,359],{"type":13,"tag":45,"props":339,"children":340},{"style":63},[341],{"type":18,"value":342}," cooperative_matrix_conversions",{"type":13,"tag":45,"props":344,"children":345},{"style":52},[346],{"type":18,"value":207},{"type":13,"tag":45,"props":348,"children":349},{"style":186},[350],{"type":18,"value":212},{"type":13,"tag":45,"props":352,"children":353},{"style":52},[354],{"type":18,"value":217},{"type":13,"tag":45,"props":356,"children":357},{"style":186},[358],{"type":18,"value":274},{"type":13,"tag":45,"props":360,"children":361},{"style":63},[362],{"type":18,"value":227},{"type":13,"tag":45,"props":364,"children":365},{"class":47,"line":128},[366,371,375,379,383,387],{"type":13,"tag":45,"props":367,"children":368},{"style":63},[369],{"type":18,"value":370}," cooperative_matrix_per_element_operations",{"type":13,"tag":45,"props":372,"children":373},{"style":52},[374],{"type":18,"value":207},{"type":13,"tag":45,"props":376,"children":377},{"style":186},[378],{"type":18,"value":212},{"type":13,"tag":45,"props":380,"children":381},{"style":52},[382],{"type":18,"value":217},{"type":13,"tag":45,"props":384,"children":385},{"style":186},[386],{"type":18,"value":274},{"type":13,"tag":45,"props":388,"children":389},{"style":63},[390],{"type":18,"value":227},{"type":13,"tag":45,"props":392,"children":393},{"class":47,"line":137},[394,399,403,407,411,415],{"type":13,"tag":45,"props":395,"children":396},{"style":63},[397],{"type":18,"value":398}," cooperative_matrix_tensor_addressing",{"type":13,"tag":45,"props":400,"children":401},{"style":52},[402],{"type":18,"value":207},{"type":13,"tag":45,"props":404,"children":405},{"style":186},[406],{"type":18,"value":212},{"type":13,"tag":45,"props":408,"children":409},{"style":52},[410],{"type":18,"value":217},{"type":13,"tag":45,"props":412,"children":413},{"style":186},[414],{"type":18,"value":274},{"type":13,"tag":45,"props":416,"children":417},{"style":63},[418],{"type":18,"value":227},{"type":13,"tag":45,"props":420,"children":421},{"class":47,"line":146},[422,427,431,435,439,443],{"type":13,"tag":45,"props":423,"children":424},{"style":63},[425],{"type":18,"value":426}," cooperative_matrix_block_loads",{"type":13,"tag":45,"props":428,"children":429},{"style":52},[430],{"type":18,"value":207},{"type":13,"tag":45,"props":432,"children":433},{"style":186},[434],{"type":18,"value":212},{"type":13,"tag":45,"props":436,"children":437},{"style":52},[438],{"type":18,"value":217},{"type":13,"tag":45,"props":440,"children":441},{"style":186},[442],{"type":18,"value":274},{"type":13,"tag":45,"props":444,"children":445},{"style":63},[446],{"type":18,"value":227},{"type":13,"tag":45,"props":448,"children":449},{"class":47,"line":155},[450],{"type":13,"tag":45,"props":451,"children":452},{"style":63},[453],{"type":18,"value":454},"}\n",{"type":13,"tag":14,"props":456,"children":457},{},[458],{"type":18,"value":459},"This structure describes the following features:",{"type":13,"tag":461,"props":462,"children":463},"ul",{},[464,485,504,520,543,566,588,611,641],{"type":13,"tag":465,"props":466,"children":467},"li",{},[468,474,476,483],{"type":13,"tag":21,"props":469,"children":471},{"className":470},[],[472],{"type":18,"value":473},"sType",{"type":18,"value":475}," is a ",{"type":13,"tag":477,"props":478,"children":480},"a",{"href":479},"/man/VkStructureType",[481],{"type":18,"value":482},"VkStructureType",{"type":18,"value":484}," value identifying this structure.",{"type":13,"tag":465,"props":486,"children":487},{},[488,494,496,502],{"type":13,"tag":21,"props":489,"children":491},{"className":490},[],[492],{"type":18,"value":493},"pNext",{"type":18,"value":495}," is ",{"type":13,"tag":21,"props":497,"children":499},{"className":498},[],[500],{"type":18,"value":501},"NULL",{"type":18,"value":503}," or a pointer to a structure extending this\nstructure.",{"type":13,"tag":465,"props":505,"children":506},{},[507,512,518],{"type":13,"tag":508,"props":509,"children":511},"anchor",{"id":510},"features-cooperativeMatrixWorkgroupScope",[],{"type":13,"tag":21,"props":513,"children":515},{"className":514},[],[516],{"type":18,"value":517},"cooperativeMatrixWorkgroupScope",{"type":18,"value":519}," indicates that the implementation\nsupports workgroup scope cooperative matrices.",{"type":13,"tag":465,"props":521,"children":522},{},[523,527,533,535,541],{"type":13,"tag":508,"props":524,"children":526},{"id":525},"features-cooperativeMatrixFlexibleDimensions",[],{"type":13,"tag":21,"props":528,"children":530},{"className":529},[],[531],{"type":18,"value":532},"cooperativeMatrixFlexibleDimensions",{"type":18,"value":534}," indicates that the\nimplementation supports cooperative matrix sizes that are a multiple of\nthe granularity advertised in\n",{"type":13,"tag":477,"props":536,"children":538},{"href":537},"/man/VkCooperativeMatrixFlexibleDimensionsPropertiesNV",[539],{"type":18,"value":540},"VkCooperativeMatrixFlexibleDimensionsPropertiesNV",{"type":18,"value":542},".",{"type":13,"tag":465,"props":544,"children":545},{},[546,550,556,558,564],{"type":13,"tag":508,"props":547,"children":549},{"id":548},"features-cooperativeMatrixReductions",[],{"type":13,"tag":21,"props":551,"children":553},{"className":552},[],[554],{"type":18,"value":555},"cooperativeMatrixReductions",{"type":18,"value":557}," indicates that the implementation\nsupports the ",{"type":13,"tag":21,"props":559,"children":561},{"className":560},[],[562],{"type":18,"value":563},"CooperativeMatrixReductionsNV",{"type":18,"value":565}," SPIR-V capability.\nThis allows performing (row, column, 2x2, or all element) reductions on\nmatrices.",{"type":13,"tag":465,"props":567,"children":568},{},[569,573,579,580,586],{"type":13,"tag":508,"props":570,"children":572},{"id":571},"features-cooperativeMatrixConversions",[],{"type":13,"tag":21,"props":574,"children":576},{"className":575},[],[577],{"type":18,"value":578},"cooperativeMatrixConversions",{"type":18,"value":557},{"type":13,"tag":21,"props":581,"children":583},{"className":582},[],[584],{"type":18,"value":585},"CooperativeMatrixConversionsNV",{"type":18,"value":587}," SPIR-V capability.\nThis allows converting accumulator matrices to A or B matrices.",{"type":13,"tag":465,"props":589,"children":590},{},[591,595,601,603,609],{"type":13,"tag":508,"props":592,"children":594},{"id":593},"features-cooperativeMatrixPerElementOperations",[],{"type":13,"tag":21,"props":596,"children":598},{"className":597},[],[599],{"type":18,"value":600},"cooperativeMatrixPerElementOperations",{"type":18,"value":602}," indicates that the\nimplementation supports the ",{"type":13,"tag":21,"props":604,"children":606},{"className":605},[],[607],{"type":18,"value":608},"CooperativeMatrixPerElementOperationsNV",{"type":18,"value":610},"\nSPIR-V capability.\nThis allows performing element-wise operations on matrix elements using\na callback function.",{"type":13,"tag":465,"props":612,"children":613},{},[614,618,624,625,631,633,639],{"type":13,"tag":508,"props":615,"children":617},{"id":616},"features-cooperativeMatrixTensorAddressing",[],{"type":13,"tag":21,"props":619,"children":621},{"className":620},[],[622],{"type":18,"value":623},"cooperativeMatrixTensorAddressing",{"type":18,"value":602},{"type":13,"tag":21,"props":626,"children":628},{"className":627},[],[629],{"type":18,"value":630},"TensorAddressingNV",{"type":18,"value":632}," and\n",{"type":13,"tag":21,"props":634,"children":636},{"className":635},[],[637],{"type":18,"value":638},"CooperativeMatrixTensorAddressingNV",{"type":18,"value":640}," SPIR-V capabilities.\nThis allows using tensor layout and tensor view types for matrix loads\nand stores.",{"type":13,"tag":465,"props":642,"children":643},{},[644,648,654,655,661],{"type":13,"tag":508,"props":645,"children":647},{"id":646},"features-cooperativeMatrixBlockLoads",[],{"type":13,"tag":21,"props":649,"children":651},{"className":650},[],[652],{"type":18,"value":653},"cooperativeMatrixBlockLoads",{"type":18,"value":557},{"type":13,"tag":21,"props":656,"children":658},{"className":657},[],[659],{"type":18,"value":660},"CooperativeMatrixBlockLoadsNV",{"type":18,"value":662}," SPIR-V capability.\nThis allows setting block size for loads and using a callback function\nto decode block elements.",{"type":13,"tag":14,"props":664,"children":665},{},[666,668,673,675,680,682,688,690,696,698,704,706,711,713,718,720,726,728,733,735,741,743,747],{"type":18,"value":667},"If the ",{"type":13,"tag":21,"props":669,"children":671},{"className":670},[],[672],{"type":18,"value":4},{"type":18,"value":674}," structure is included in the ",{"type":13,"tag":21,"props":676,"children":678},{"className":677},[],[679],{"type":18,"value":493},{"type":18,"value":681}," chain of the\n",{"type":13,"tag":477,"props":683,"children":685},{"href":684},"/man/VkPhysicalDeviceFeatures2",[686],{"type":18,"value":687},"VkPhysicalDeviceFeatures2",{"type":18,"value":689}," structure passed to\n",{"type":13,"tag":477,"props":691,"children":693},{"href":692},"/man/vkGetPhysicalDeviceFeatures2",[694],{"type":18,"value":695},"vkGetPhysicalDeviceFeatures2",{"type":18,"value":697},", it is filled in to indicate whether each\ncorresponding feature is supported.\nIf the application wishes to use a ",{"type":13,"tag":477,"props":699,"children":701},{"href":700},"/man/VkDevice",[702],{"type":18,"value":703},"VkDevice",{"type":18,"value":705}," with any features\ndescribed by ",{"type":13,"tag":21,"props":707,"children":709},{"className":708},[],[710],{"type":18,"value":4},{"type":18,"value":712},", it ",{"type":13,"tag":714,"props":715,"children":717},"normative",{"type":716},"must",[],{"type":18,"value":719}," add an instance of the structure,\nwith the desired feature members set to ",{"type":13,"tag":21,"props":721,"children":723},{"className":722},[],[724],{"type":18,"value":725},"VK_TRUE",{"type":18,"value":727},", to the ",{"type":13,"tag":21,"props":729,"children":731},{"className":730},[],[732],{"type":18,"value":493},{"type":18,"value":734},"\nchain of ",{"type":13,"tag":477,"props":736,"children":738},{"href":737},"/man/VkDeviceCreateInfo",[739],{"type":18,"value":740},"VkDeviceCreateInfo",{"type":18,"value":742}," when creating the ",{"type":13,"tag":477,"props":744,"children":745},{"href":700},[746],{"type":18,"value":703},{"type":18,"value":542},{"type":13,"tag":749,"props":750,"children":752},"validity-group",{"name":751},"Valid Usage (Implicit)",[753],{"type":13,"tag":754,"props":755,"children":757},"validity-field",{"name":756},"VUID-VkPhysicalDeviceCooperativeMatrix2FeaturesNV-sType-sType",[758],{"type":13,"tag":14,"props":759,"children":760},{},[761,766,768,771,773],{"type":13,"tag":21,"props":762,"children":764},{"className":763},[],[765],{"type":18,"value":473},{"type":18,"value":767}," ",{"type":13,"tag":714,"props":769,"children":770},{"type":716},[],{"type":18,"value":772}," be ",{"type":13,"tag":21,"props":774,"children":776},{"className":775},[],[777],{"type":18,"value":778},"VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_2_FEATURES_NV",{"type":13,"tag":780,"props":781,"children":782},"style",{},[783],{"type":18,"value":784},"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":786},[],"markdown",1744876557609]