[{"data":1,"prerenderedAt":7280},["ShallowReactive",2],{"$flTTP1ACxoY3JWxDGBY-XekRsZsxpvIpMBaq215gW9ag":3,"$fGGa3jm2fyiZgwLdx4RmmiEvaouuONKLYoKH9T7IQulI":263,"$f4kfYk1wyQVYw6WV3dIpQ9-MqTrz7xXhISAX2hhbeZNY":1866},[4,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,233,236,239,242,245,248,251,254,257,260],{"index":5,"title":6,"id":7,"appendix":8},0,"Preamble","preamble",false,{"index":10,"title":11,"id":12,"appendix":8},1,"Introduction","introduction",{"index":14,"title":15,"id":16,"appendix":8},2,"Fundamentals","fundamentals",{"index":18,"title":19,"id":20,"appendix":8},3,"Initialization","initialization",{"index":22,"title":23,"id":24,"appendix":8},4,"Devices and Queues","devsandqueues",{"index":26,"title":27,"id":28,"appendix":8},5,"Command Buffers","commandbuffers",{"index":30,"title":31,"id":32,"appendix":8},6,"Synchronization and Cache Control","synchronization",{"index":34,"title":35,"id":36,"appendix":8},7,"Render Pass","renderpass",{"index":38,"title":39,"id":40,"appendix":8},8,"Shaders","shaders",{"index":42,"title":43,"id":44,"appendix":8},9,"Pipelines","pipelines",{"index":46,"title":47,"id":48,"appendix":8},10,"Memory Allocation","memory",{"index":50,"title":51,"id":52,"appendix":8},11,"Resource Creation","resources",{"index":54,"title":55,"id":56,"appendix":8},12,"Images","images",{"index":58,"title":59,"id":60,"appendix":8},13,"Samplers","samplers",{"index":62,"title":63,"id":64,"appendix":8},14,"Resource Descriptors","descriptors",{"index":66,"title":67,"id":68,"appendix":8},15,"Descriptor Heaps","descriptorheaps",{"index":70,"title":71,"id":72,"appendix":8},16,"Shader Interfaces","interfaces",{"index":74,"title":75,"id":76,"appendix":8},17,"Image Operations","textures",{"index":78,"title":79,"id":80,"appendix":8},18,"Fragment Density Map Operations","fragmentdensitymapops",{"index":82,"title":83,"id":84,"appendix":8},19,"Tensor Operations","tensors",{"index":86,"title":87,"id":88,"appendix":8},20,"Queries","queries",{"index":90,"title":91,"id":92,"appendix":8},21,"Clear Commands","clears",{"index":94,"title":95,"id":96,"appendix":8},22,"Copy Commands","copies",{"index":98,"title":99,"id":100,"appendix":8},23,"Drawing Commands","drawing",{"index":102,"title":103,"id":104,"appendix":8},24,"Fixed-Function Vertex Processing","fxvertex",{"index":106,"title":107,"id":108,"appendix":8},25,"Tessellation","tessellation",{"index":110,"title":111,"id":112,"appendix":8},26,"Geometry Shading","geometry",{"index":114,"title":115,"id":116,"appendix":8},27,"Mesh Shading","mesh",{"index":118,"title":119,"id":120,"appendix":8},28,"Cluster Culling Shading","cluster-culling",{"index":122,"title":123,"id":124,"appendix":8},29,"Fixed-Function Vertex Post-Processing","vertexpostproc",{"index":126,"title":127,"id":128,"appendix":8},30,"Rasterization","primsrast",{"index":130,"title":131,"id":132,"appendix":8},31,"Fragment Operations","fragops",{"index":134,"title":135,"id":136,"appendix":8},32,"The Framebuffer","framebuffer",{"index":138,"title":139,"id":140,"appendix":8},33,"Dispatching Commands","dispatch",{"index":142,"title":143,"id":144,"appendix":8},34,"Device-Generated Commands","device-generated-commands",{"index":146,"title":147,"id":148,"appendix":8},35,"Sparse Resources","sparsememory",{"index":150,"title":151,"id":152,"appendix":8},36,"Window System Integration (WSI)","wsi",{"index":154,"title":155,"id":156,"appendix":8},37,"Deferred Host Operations","deferred-host-operations",{"index":158,"title":159,"id":160,"appendix":8},38,"Private Data","private-data",{"index":162,"title":163,"id":164,"appendix":8},39,"Acceleration Structures","acceleration-structure",{"index":166,"title":167,"id":168,"appendix":8},40,"Compressed triangle data","compressed-triangle-data",{"index":170,"title":171,"id":172,"appendix":8},41,"Micromap","micromap",{"index":174,"title":175,"id":176,"appendix":8},42,"Ray Traversal","ray-traversal",{"index":178,"title":179,"id":180,"appendix":8},43,"Ray Tracing","ray-tracing",{"index":182,"title":183,"id":184,"appendix":8},44,"Memory Decompression","memory-decompression",{"index":186,"title":187,"id":188,"appendix":8},45,"Video Coding","video-coding",{"index":190,"title":191,"id":192,"appendix":8},46,"Optical Flow","opticalflow",{"index":194,"title":195,"id":196,"appendix":8},47,"Execution Graphs","executiongraphs",{"index":198,"title":199,"id":200,"appendix":8},48,"External Compute Queues","external-compute-queues",{"index":202,"title":203,"id":204,"appendix":8},49,"Data graphs","graphs",{"index":206,"title":207,"id":208,"appendix":8},50,"Extending Vulkan","extendingvulkan",{"index":210,"title":211,"id":212,"appendix":8},51,"Features","features",{"index":214,"title":215,"id":216,"appendix":8},52,"Limits","limits",{"index":218,"title":219,"id":220,"appendix":8},53,"Formats","formats",{"index":222,"title":223,"id":224,"appendix":8},54,"Additional Capabilities","capabilities",{"index":226,"title":227,"id":228,"appendix":8},55,"Debugging","debugging",{"index":5,"title":230,"id":231,"appendix":232},"Vulkan Environment for SPIR-V","spirvenv",true,{"index":10,"title":234,"id":235,"appendix":232},"Memory Model","memory-model",{"index":14,"title":237,"id":238,"appendix":232},"Compressed Image Formats","compressed_image_formats",{"index":18,"title":240,"id":241,"appendix":232},"Core Revisions (Informative)","versions",{"index":22,"title":243,"id":244,"appendix":232},"Layers & Extensions (Informative)","extensions",{"index":26,"title":246,"id":247,"appendix":232},"Vulkan Roadmap Milestones","roadmap",{"index":30,"title":249,"id":250,"appendix":232},"Legacy and Superseded Functionality","legacy",{"index":34,"title":252,"id":253,"appendix":232},"API Boilerplate","boilerplate",{"index":38,"title":255,"id":256,"appendix":232},"Invariance","invariance",{"index":42,"title":258,"id":259,"appendix":232},"Lexicon","lexicon",{"index":46,"title":261,"id":262,"appendix":232},"Credits (Informative)","credits",[264,272,277,282,287,290,295,298,301,304,308,312,315,318,321,323,325,328,331,335,337,341,343,346,348,351,359,363,369,373,376,381,385,389,393,395,399,402,406,411,418,424,426,430,436,439,443,448,452,456,460,464,467,470,473,479,482,485,489,493,498,502,505,507,512,515,520,526,529,533,537,540,546,549,553,556,560,563,567,570,574,578,581,586,591,594,597,602,605,609,614,619,623,627,631,635,640,644,648,651,654,658,661,664,667,671,676,680,683,687,692,696,701,704,708,711,716,720,724,727,731,736,739,744,748,751,754,758,762,766,771,775,778,783,787,792,796,799,803,807,811,814,816,821,825,829,832,835,838,841,844,847,850,853,856,859,862,866,870,873,876,879,882,885,888,891,894,898,902,907,910,915,918,921,924,927,929,933,938,942,946,950,952,956,959,962,969,973,977,981,987,989,993,997,1000,1003,1007,1012,1017,1023,1027,1029,1033,1036,1041,1045,1050,1054,1058,1060,1063,1066,1068,1072,1075,1078,1082,1087,1091,1095,1097,1102,1106,1110,1112,1114,1117,1119,1122,1125,1129,1133,1135,1139,1142,1146,1149,1151,1154,1158,1160,1164,1167,1170,1173,1177,1180,1183,1186,1189,1191,1194,1198,1201,1203,1206,1208,1210,1212,1215,1219,1222,1225,1229,1233,1236,1239,1241,1244,1246,1248,1252,1256,1259,1262,1266,1269,1274,1279,1281,1285,1289,1292,1296,1299,1301,1305,1309,1311,1313,1318,1321,1325,1328,1331,1334,1337,1339,1342,1346,1349,1352,1356,1359,1363,1367,1370,1373,1376,1379,1382,1386,1389,1392,1394,1396,1401,1402,1405,1409,1412,1415,1418,1421,1424,1426,1430,1433,1436,1439,1443,1447,1449,1451,1454,1458,1460,1464,1467,1469,1472,1476,1480,1482,1486,1489,1492,1495,1498,1502,1507,1512,1516,1522,1526,1528,1532,1536,1539,1542,1546,1550,1554,1557,1560,1563,1567,1569,1574,1578,1580,1586,1589,1592,1595,1599,1602,1606,1611,1614,1617,1621,1623,1626,1628,1631,1633,1635,1638,1641,1644,1647,1650,1653,1655,1659,1663,1667,1671,1674,1677,1681,1684,1688,1692,1696,1698,1702,1706,1710,1713,1716,1719,1722,1725,1728,1731,1734,1737,1740,1743,1746,1749,1752,1755,1760,1763,1766,1769,1772,1776,1779,1783,1787,1790,1793,1796,1799,1802,1805,1809,1814,1817,1820,1823,1829,1833,1837,1841,1846,1850,1854,1857,1861],{"number":265,"type":266,"author":267,"provisional":232,"depends":268,"platform":269,"contact":270,"extension":271,"proposal":232},479,"device","AMD","VK_KHR_acceleration_structure+(VK_KHR_maintenance5,VK_VERSION_1_4)","provisional","Stu Smith @stu-s","VK_AMDX_dense_geometry_format",{"number":273,"type":266,"author":267,"provisional":232,"depends":274,"platform":269,"contact":275,"extension":276,"proposal":232},135,"((VK_KHR_synchronization2+VK_KHR_spirv_1_4+VK_EXT_extended_dynamic_state),VK_VERSION_1_3)+VK_KHR_maintenance5+VK_KHR_pipeline_library","Tobias Hector @tobski","VK_AMDX_shader_enqueue",{"number":278,"type":266,"author":267,"provisional":8,"depends":279,"contact":280,"extension":281,"proposal":232},477,"VK_KHR_get_physical_device_properties2,VK_VERSION_1_1","Stu Smith","VK_AMD_anti_lag",{"number":283,"type":266,"author":267,"provisional":8,"specialuse":284,"contact":285,"extension":286,"proposal":8},180,"devtools","Daniel Rakos @drakos-amd","VK_AMD_buffer_marker",{"number":288,"type":266,"author":267,"provisional":8,"depends":279,"contact":275,"extension":289,"proposal":8},230,"VK_AMD_device_coherent_memory",{"number":291,"type":266,"author":267,"provisional":8,"depends":292,"contact":293,"extension":294,"proposal":8},214,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain","Matthaeus G. Chajdas @anteru","VK_AMD_display_native_hdr",{"number":142,"type":266,"author":267,"promotedto":296,"provisional":8,"contact":285,"extension":297,"proposal":8},"VK_KHR_draw_indirect_count","VK_AMD_draw_indirect_count",{"number":110,"type":266,"author":267,"provisional":8,"contact":299,"extension":300,"proposal":8},"Dominik Witczak @dominikwitczakamd","VK_AMD_gcn_shader",{"number":154,"type":266,"author":267,"deprecatedby":302,"provisional":8,"contact":299,"extension":303,"proposal":8},"VK_KHR_shader_float16_int8","VK_AMD_gpu_shader_half_float",{"number":305,"type":266,"author":267,"deprecatedby":302,"provisional":8,"contact":306,"extension":307,"proposal":8},133,"Qun Lin @linqun","VK_AMD_gpu_shader_int16",{"number":309,"type":266,"author":267,"provisional":8,"contact":310,"extension":311,"proposal":8},190,"Martin Dinkov @mdinkov","VK_AMD_memory_overallocation_behavior",{"number":313,"type":266,"author":267,"provisional":8,"contact":293,"extension":314,"proposal":8},137,"VK_AMD_mixed_attachment_samples",{"number":150,"type":266,"author":267,"obsoletedby":316,"provisional":8,"contact":293,"extension":317,"proposal":8},"VK_KHR_maintenance1","VK_AMD_negative_viewport_height",{"number":319,"type":266,"author":267,"provisional":8,"contact":293,"extension":320,"proposal":8},184,"VK_AMD_pipeline_compiler_control",{"number":82,"type":266,"author":267,"provisional":8,"contact":285,"extension":322,"proposal":8},"VK_AMD_rasterization_order",{"number":158,"type":266,"author":267,"provisional":8,"contact":299,"extension":324,"proposal":8},"VK_AMD_shader_ballot",{"number":326,"type":266,"author":267,"provisional":8,"depends":279,"contact":310,"extension":327,"proposal":8},186,"VK_AMD_shader_core_properties",{"number":329,"type":266,"author":267,"provisional":8,"depends":327,"contact":293,"extension":330,"proposal":8},228,"VK_AMD_shader_core_properties2",{"number":332,"type":266,"author":333,"provisional":8,"depends":279,"contact":275,"extension":334,"proposal":232},322,"EXT","VK_AMD_shader_early_and_late_fragment_tests",{"number":94,"type":266,"author":267,"provisional":8,"contact":306,"extension":336,"proposal":8},"VK_AMD_shader_explicit_vertex_parameter",{"number":338,"type":266,"author":267,"provisional":8,"contact":339,"extension":340,"proposal":8},138,"Aaron Hagan @AaronHaganAMD","VK_AMD_shader_fragment_mask",{"number":194,"type":266,"author":267,"provisional":8,"contact":299,"extension":342,"proposal":8},"VK_AMD_shader_image_load_store_lod",{"number":178,"type":266,"author":267,"provisional":8,"specialuse":284,"contact":344,"extension":345,"proposal":8},"Jaakko Konttinen @jaakkoamd","VK_AMD_shader_info",{"number":90,"type":266,"author":267,"provisional":8,"contact":306,"extension":347,"proposal":8},"VK_AMD_shader_trinary_minmax",{"number":174,"type":266,"author":267,"provisional":8,"depends":279,"contact":349,"extension":350,"proposal":8},"Rex Xu @amdrexu","VK_AMD_texture_gather_bias_lod",{"number":352,"type":266,"author":353,"provisional":8,"depends":354,"platform":355,"specialuse":356,"contact":357,"extension":358,"proposal":232},469,"ANDROID","VK_ANDROID_external_memory_android_hardware_buffer","android","glemulation","Chris Forbes @chrisforbes","VK_ANDROID_external_format_resolve",{"number":360,"type":266,"author":353,"provisional":8,"depends":361,"platform":355,"contact":362,"extension":354,"proposal":8},130,"((VK_KHR_sampler_ycbcr_conversion+VK_KHR_external_memory+VK_KHR_dedicated_allocation),VK_VERSION_1_1)+VK_EXT_queue_family_foreign","Jesse Hall @critsec",{"number":364,"type":266,"author":365,"provisional":8,"depends":366,"contact":367,"extension":368,"proposal":8},508,"ARM","VK_VERSION_1_3+VK_KHR_maintenance5+VK_KHR_deferred_host_operations","Kevin Petit @kpet","VK_ARM_data_graph",{"number":370,"type":266,"author":365,"provisional":8,"depends":279,"contact":371,"extension":372,"proposal":8},610,"Jan-Harald Fredriksen @janharaldfredriksen-arm","VK_ARM_format_pack",{"number":374,"type":266,"author":365,"provisional":8,"depends":279,"specialuse":284,"contact":371,"extension":375,"proposal":232},606,"VK_ARM_performance_counters_by_region",{"number":377,"type":266,"author":365,"provisional":8,"depends":378,"contact":379,"extension":380,"proposal":232},597,"VK_EXT_opacity_micromap","Mathieu Robart @mathieurobart-arm","VK_ARM_pipeline_opacity_micromap",{"number":382,"type":266,"author":365,"promotedto":383,"provisional":8,"depends":279,"contact":371,"extension":384,"proposal":8},343,"VK_EXT_rasterization_order_attachment_access","VK_ARM_rasterization_order_attachment_access",{"number":386,"type":266,"author":365,"provisional":8,"depends":387,"contact":371,"extension":388,"proposal":232},425,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_ARM_render_pass_striped",{"number":390,"type":266,"author":365,"provisional":8,"depends":391,"contact":367,"extension":392,"proposal":8},418,"VK_ARM_shader_core_builtins","VK_ARM_scheduling_controls",{"number":394,"type":266,"author":365,"provisional":8,"depends":279,"contact":367,"extension":391,"proposal":8},498,{"number":396,"type":266,"author":365,"provisional":8,"depends":397,"contact":371,"extension":398,"proposal":8},416,"VK_VERSION_1_1","VK_ARM_shader_core_properties",{"number":400,"type":266,"author":365,"provisional":8,"depends":279,"specialuse":284,"contact":371,"extension":401,"proposal":232},608,"VK_ARM_shader_instrumentation",{"number":403,"type":266,"author":365,"provisional":8,"depends":404,"contact":367,"extension":405,"proposal":232},461,"VK_VERSION_1_3","VK_ARM_tensors",{"number":407,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":408,"contact":409,"extension":410,"proposal":8},341,"vulkansc","Joshua Ashton @Joshua-Ashton","VK_EXT_4444_formats",{"number":412,"type":413,"author":333,"provisional":8,"depends":414,"ratified":415,"contact":416,"extension":417,"proposal":8},286,"instance","VK_EXT_direct_mode_display","vulkan","Drew DeVault sir@cmpwn.com","VK_EXT_acquire_drm_display",{"number":419,"type":413,"author":420,"provisional":8,"depends":414,"platform":421,"ratified":415,"contact":422,"extension":423,"proposal":8},90,"NV","xlib_xrandr","James Jones @cubanismo","VK_EXT_acquire_xlib_display",{"extension":425,"proposal":8},"VK_EXT_application_parameters",{"number":427,"type":266,"author":365,"provisional":8,"depends":279,"ratified":428,"contact":371,"extension":429,"proposal":8},68,"vulkan,vulkansc","VK_EXT_astc_decode_mode",{"number":431,"type":266,"author":333,"provisional":8,"depends":432,"ratified":415,"specialuse":433,"contact":434,"extension":435,"proposal":232},525,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_attachment_feedback_loop_layout","glemulation,d3demulation","Mike Blumenkrantz @zmike","VK_EXT_attachment_feedback_loop_dynamic_state",{"number":437,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":433,"contact":409,"extension":438,"proposal":232},340,"VK_EXT_attachment_feedback_loop_layout",{"number":440,"type":266,"author":420,"provisional":8,"depends":279,"ratified":428,"contact":441,"extension":442,"proposal":8},149,"Jeff Bolz @jeffbolznv","VK_EXT_blend_operation_advanced",{"number":444,"type":266,"author":333,"provisional":8,"depends":445,"ratified":415,"specialuse":433,"contact":446,"extension":447,"proposal":8},412,"VK_EXT_custom_border_color","Piers Daniell @pdaniell-nv","VK_EXT_border_color_swizzle",{"number":449,"type":266,"author":420,"deprecatedby":450,"provisional":8,"depends":279,"contact":441,"extension":451,"proposal":8},245,"VK_KHR_buffer_device_address","VK_EXT_buffer_device_address",{"number":453,"type":266,"author":333,"promotedto":454,"provisional":8,"depends":279,"contact":285,"extension":455,"proposal":232},185,"VK_KHR_calibrated_timestamps","VK_EXT_calibrated_timestamps",{"number":457,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":458,"extension":459,"proposal":8},382,"Sharif Elcott @selcott","VK_EXT_color_write_enable",{"number":461,"type":266,"author":420,"provisional":8,"depends":279,"ratified":415,"contact":462,"extension":463,"proposal":8},82,"Vikram Kushwaha @vkushwaha","VK_EXT_conditional_rendering",{"number":465,"type":266,"author":420,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":466,"proposal":8},102,"VK_EXT_conservative_rasterization",{"number":468,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"specialuse":433,"contact":469,"extension":445,"proposal":8},288,"Liam Middlebrook @liam-middlebrook",{"number":471,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":434,"extension":472,"proposal":232},629,"VK_EXT_custom_resolve",{"number":98,"type":266,"author":474,"promotedto":475,"provisional":8,"depends":476,"specialuse":228,"contact":477,"extension":478,"proposal":8},"Baldur Karlsson","VK_EXT_debug_utils","VK_EXT_debug_report","Baldur Karlsson @baldurk","VK_EXT_debug_marker",{"number":54,"type":413,"author":480,"deprecatedby":475,"provisional":8,"specialuse":228,"contact":481,"extension":476,"proposal":8},"GOOGLE","Courtney Goeltzenleuchter @courtney-g",{"number":483,"type":413,"author":333,"provisional":8,"ratified":428,"specialuse":228,"contact":484,"extension":475,"proposal":8},129,"Mark Young @marky-lunarg",{"number":486,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":487,"contact":409,"extension":488,"proposal":232},284,"d3demulation","VK_EXT_depth_bias_control",{"number":490,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":491,"extension":492,"proposal":232},583,"Jules Blok @jules","VK_EXT_depth_clamp_control",{"number":494,"type":266,"author":333,"promotedto":495,"provisional":8,"depends":279,"ratified":415,"contact":496,"extension":497,"proposal":8},422,"VK_KHR_depth_clamp_zero_one","Graeme Leese @gnl21","VK_EXT_depth_clamp_zero_one",{"number":499,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":356,"contact":500,"extension":501,"proposal":8},356,"Shahbaz Youssefi @syoussefi","VK_EXT_depth_clip_control",{"number":503,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"specialuse":487,"contact":446,"extension":504,"proposal":8},103,"VK_EXT_depth_clip_enable",{"number":62,"type":266,"author":420,"provisional":8,"ratified":428,"contact":446,"extension":506,"proposal":8},"VK_EXT_depth_range_unrestricted",{"number":508,"type":266,"author":333,"deprecatedby":509,"provisional":8,"depends":510,"ratified":415,"contact":275,"extension":511,"proposal":232},317,"VK_EXT_descriptor_heap","((((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_buffer_device_address+VK_EXT_descriptor_indexing),VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_EXT_descriptor_buffer",{"number":513,"type":266,"author":333,"provisional":8,"depends":514,"ratified":415,"contact":275,"extension":509,"proposal":232},136,"VK_KHR_maintenance5+(VK_KHR_buffer_device_address,VK_VERSION_1_2)",{"number":516,"type":266,"author":420,"promotedto":517,"provisional":8,"depends":518,"ratified":415,"contact":441,"extension":519,"proposal":8},162,"VK_VERSION_1_2","(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance3),VK_VERSION_1_1","VK_EXT_descriptor_indexing",{"number":521,"type":266,"author":333,"provisional":8,"depends":522,"ratified":415,"specialuse":523,"contact":524,"extension":525,"proposal":8},355,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_debug_utils","debugging,devtools","Ralph Potter gitlab:@r_potter","VK_EXT_device_address_binding_report",{"number":527,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":524,"extension":528,"proposal":232},342,"VK_EXT_device_fault",{"number":530,"type":266,"author":333,"provisional":8,"depends":531,"ratified":415,"contact":434,"extension":532,"proposal":232},573,"((VK_KHR_buffer_device_address,VK_VERSION_1_2)+VK_KHR_maintenance5),VK_VERSION_1_3","VK_EXT_device_generated_commands",{"number":534,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":284,"contact":535,"extension":536,"proposal":8},285,"Yiwei Zhang @zzyiwei","VK_EXT_device_memory_report",{"number":538,"type":413,"author":420,"provisional":8,"depends":539,"ratified":428,"contact":422,"extension":414,"proposal":8},89,"VK_KHR_display",{"number":541,"type":413,"author":333,"provisional":8,"depends":542,"platform":543,"ratified":415,"contact":544,"extension":545,"proposal":8},347,"VK_KHR_surface","directfb","Nicolas Caramelli @caramelli","VK_EXT_directfb_surface",{"number":547,"type":266,"author":420,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":548,"proposal":8},100,"VK_EXT_discard_rectangles",{"number":550,"type":266,"author":420,"provisional":8,"depends":551,"ratified":428,"contact":422,"extension":552,"proposal":8},92,"VK_EXT_display_surface_counter+VK_KHR_swapchain","VK_EXT_display_control",{"number":554,"type":413,"author":420,"provisional":8,"depends":539,"ratified":428,"contact":422,"extension":555,"proposal":8},91,"VK_EXT_display_surface_counter",{"number":557,"type":266,"author":333,"provisional":8,"depends":558,"ratified":415,"contact":446,"extension":559,"proposal":232},500,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_dynamic_rendering),VK_VERSION_1_3","VK_EXT_dynamic_rendering_unused_attachments",{"number":561,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":562,"proposal":8},268,"VK_EXT_extended_dynamic_state",{"number":564,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":428,"contact":565,"extension":566,"proposal":8},378,"Vikram Kushwaha @vkushwaha-nv","VK_EXT_extended_dynamic_state2",{"number":568,"type":266,"author":420,"provisional":8,"depends":279,"ratified":415,"contact":446,"extension":569,"proposal":232},456,"VK_EXT_extended_dynamic_state3",{"number":571,"type":266,"author":333,"provisional":8,"depends":572,"ratified":415,"contact":422,"extension":573,"proposal":232},454,"VK_KHR_external_memory,VK_VERSION_1_1","VK_EXT_external_memory_acquire_unmodified",{"number":575,"type":266,"author":333,"provisional":8,"depends":576,"ratified":428,"contact":422,"extension":577,"proposal":8},126,"VK_KHR_external_memory_fd","VK_EXT_external_memory_dma_buf",{"number":579,"type":266,"author":333,"provisional":8,"depends":572,"ratified":428,"contact":285,"extension":580,"proposal":8},179,"VK_EXT_external_memory_host",{"number":582,"type":266,"author":333,"provisional":8,"depends":572,"platform":583,"ratified":415,"contact":584,"extension":585,"proposal":232},603,"metal","Aitor Camacho Larrondo @aitor-lunarg","VK_EXT_external_memory_metal",{"number":587,"type":266,"author":588,"provisional":8,"ratified":428,"contact":589,"extension":590,"proposal":8},171,"QCOM","Matthew Netsch @mnetsch","VK_EXT_filter_cubic",{"number":592,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":589,"extension":593,"proposal":8},219,"VK_EXT_fragment_density_map",{"number":595,"type":266,"author":333,"provisional":8,"depends":593,"ratified":415,"contact":589,"extension":596,"proposal":8},333,"VK_EXT_fragment_density_map2",{"number":598,"type":266,"author":333,"provisional":8,"depends":599,"ratified":415,"contact":600,"extension":601,"proposal":232},620,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map+(VK_KHR_create_renderpass2,VK_VERSION_1_2)+(VK_VERSION_1_3,VK_KHR_dynamic_rendering)","Connor Abbott @cwabbott0","VK_EXT_fragment_density_map_offset",{"number":603,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":604,"proposal":8},252,"VK_EXT_fragment_shader_interlock",{"number":606,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":607,"extension":608,"proposal":232},376,"James Fitzpatrick @jamesfitzpatrick","VK_EXT_frame_boundary",{"number":610,"type":266,"author":333,"provisional":8,"depends":611,"platform":612,"ratified":415,"contact":422,"extension":613,"proposal":8},256,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_surface+VK_KHR_get_surface_capabilities2+VK_KHR_swapchain","win32","VK_EXT_full_screen_exclusive",{"number":615,"type":266,"author":333,"promotedto":616,"provisional":8,"contact":617,"extension":618,"proposal":8},175,"VK_KHR_global_priority","Andres Rodriguez @lostgoat","VK_EXT_global_priority",{"number":620,"type":266,"author":333,"promotedto":616,"provisional":8,"depends":621,"contact":535,"extension":622,"proposal":8},389,"VK_EXT_global_priority+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_global_priority_query",{"number":624,"type":266,"author":267,"provisional":8,"depends":625,"ratified":415,"contact":275,"extension":626,"proposal":232},321,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_pipeline_library","VK_EXT_graphics_pipeline_library",{"number":628,"type":266,"author":480,"provisional":8,"depends":629,"ratified":428,"contact":481,"extension":630,"proposal":8},106,"VK_KHR_swapchain","VK_EXT_hdr_metadata",{"number":632,"type":413,"author":333,"provisional":8,"depends":542,"ratified":428,"contact":633,"extension":634,"proposal":8},257,"Lisa Wu @chengtianww","VK_EXT_headless_surface",{"number":636,"type":266,"author":333,"promotedto":637,"provisional":8,"depends":638,"ratified":415,"contact":500,"extension":639,"proposal":232},271,"VK_VERSION_1_4","((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_copy_commands2+VK_KHR_format_feature_flags2),VK_VERSION_1_3","VK_EXT_host_image_copy",{"number":641,"type":266,"author":333,"promotedto":517,"provisional":8,"depends":279,"contact":642,"extension":643,"proposal":8},262,"Bas Nieuwenhuizen @BNieuwenhuizen","VK_EXT_host_query_reset",{"number":645,"type":266,"author":333,"provisional":8,"depends":646,"ratified":415,"specialuse":356,"contact":434,"extension":647,"proposal":8},394,"(VK_KHR_maintenance1+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","VK_EXT_image_2d_view_of_3d",{"number":649,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":371,"extension":650,"proposal":232},339,"VK_EXT_image_compression_control",{"number":652,"type":266,"author":333,"provisional":8,"depends":650,"ratified":415,"contact":371,"extension":653,"proposal":8},438,"VK_EXT_image_compression_control_swapchain",{"number":655,"type":266,"author":333,"provisional":8,"depends":656,"ratified":428,"contact":422,"extension":657,"proposal":8},159,"(((VK_KHR_bind_memory2+VK_KHR_get_physical_device_properties2+VK_KHR_sampler_ycbcr_conversion),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2","VK_EXT_image_drm_format_modifier",{"number":659,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":408,"contact":496,"extension":660,"proposal":8},336,"VK_EXT_image_robustness",{"number":662,"type":266,"author":333,"provisional":8,"depends":646,"ratified":415,"specialuse":487,"contact":434,"extension":663,"proposal":232},419,"VK_EXT_image_sliced_view_of_3d",{"number":665,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":409,"extension":666,"proposal":8},392,"VK_EXT_image_view_min_lod",{"number":668,"type":266,"author":333,"promotedto":669,"provisional":8,"depends":279,"contact":446,"extension":670,"proposal":8},266,"VK_KHR_index_type_uint8","VK_EXT_index_type_uint8",{"number":672,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":673,"contact":674,"extension":675,"proposal":8},139,"(VK_KHR_get_physical_device_properties2+VK_KHR_maintenance1),VK_VERSION_1_1","Daniel Rakos @aqnuep","VK_EXT_inline_uniform_block",{"number":677,"type":413,"author":333,"provisional":8,"ratified":428,"contact":678,"extension":679,"proposal":232},497,"Christophe Riccio @christophe","VK_EXT_layer_settings",{"number":681,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":356,"contact":500,"extension":682,"proposal":232},466,"VK_EXT_legacy_dithering",{"number":684,"type":266,"author":333,"provisional":8,"depends":685,"ratified":415,"specialuse":356,"contact":434,"extension":686,"proposal":232},496,"VK_EXT_vertex_input_dynamic_state","VK_EXT_legacy_vertex_attributes",{"number":688,"type":266,"author":333,"promotedto":689,"provisional":8,"depends":279,"specialuse":690,"contact":441,"extension":691,"proposal":8},260,"VK_KHR_line_rasterization","cadsupport","VK_EXT_line_rasterization",{"number":693,"type":266,"author":333,"promotedto":694,"provisional":8,"ratified":415,"contact":500,"extension":695,"proposal":8},401,"VK_KHR_load_store_op_none","VK_EXT_load_store_op_none",{"number":697,"type":266,"author":333,"provisional":8,"depends":698,"ratified":415,"contact":699,"extension":700,"proposal":232},273,"VK_KHR_map_memory2,VK_VERSION_1_4","Faith Ekstrand @gfxstrand","VK_EXT_map_memory_placed",{"number":702,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":441,"extension":703,"proposal":8},238,"VK_EXT_memory_budget",{"number":705,"type":266,"author":333,"provisional":8,"depends":706,"ratified":415,"contact":565,"extension":707,"proposal":232},551,"VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address","VK_EXT_memory_decompression",{"number":709,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":710,"proposal":8},239,"VK_EXT_memory_priority",{"number":712,"type":266,"author":333,"provisional":8,"depends":713,"ratified":415,"contact":714,"extension":715,"proposal":232},329,"VK_KHR_spirv_1_4,VK_VERSION_1_2","Christoph Kubisch @pixeljetstream","VK_EXT_mesh_shader",{"number":717,"type":266,"author":333,"provisional":8,"platform":583,"ratified":415,"contact":718,"extension":719,"proposal":232},312,"Bill Hollings @billhollings","VK_EXT_metal_objects",{"number":721,"type":413,"author":333,"provisional":8,"depends":542,"platform":583,"ratified":415,"contact":722,"extension":723,"proposal":8},218,"Dzmitry Malyshau @kvark","VK_EXT_metal_surface",{"number":725,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":434,"extension":726,"proposal":8},393,"VK_EXT_multi_draw",{"number":728,"type":266,"author":333,"provisional":8,"depends":729,"ratified":415,"contact":500,"extension":730,"proposal":232},377,"(VK_KHR_create_renderpass2+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_EXT_multisampled_render_to_single_sampled",{"number":732,"type":266,"author":333,"provisional":8,"depends":733,"ratified":415,"specialuse":487,"contact":734,"extension":735,"proposal":232},495,"VK_KHR_maintenance3,VK_VERSION_1_1","Joshua Ashton @Joshua-Ashton,Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_mutable_descriptor_type",{"number":737,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":446,"extension":738,"proposal":8},452,"VK_EXT_nested_command_buffer",{"number":740,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":741,"contact":742,"extension":743,"proposal":232},423,"d3demulation,glemulation","Georg Lehmann @DadSchoorse","VK_EXT_non_seamless_cube_map",{"number":745,"type":266,"author":333,"provisional":8,"depends":746,"ratified":415,"contact":747,"extension":378,"proposal":232},397,"VK_KHR_acceleration_structure+(VK_KHR_synchronization2,VK_VERSION_1_3)","Christoph Kubisch @pixeljetstream, Eric Werness",{"number":749,"type":266,"author":333,"provisional":8,"depends":710,"ratified":415,"contact":446,"extension":750,"proposal":8},413,"VK_EXT_pageable_device_local_memory",{"number":752,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":293,"extension":753,"proposal":8},213,"VK_EXT_pci_bus_info",{"number":755,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":756,"extension":757,"proposal":8},354,"Simon Ser @emersion","VK_EXT_physical_device_drm",{"number":759,"type":266,"author":267,"promotedto":404,"provisional":8,"depends":279,"contact":760,"extension":761,"proposal":8},298,"Gregory Grebe @grgrebe_amd","VK_EXT_pipeline_creation_cache_control",{"number":763,"type":266,"author":480,"promotedto":404,"provisional":8,"specialuse":284,"contact":764,"extension":765,"proposal":8},193,"Jean-Francois Roy @jfroy","VK_EXT_pipeline_creation_feedback",{"number":767,"type":266,"author":333,"provisional":8,"depends":768,"ratified":415,"contact":769,"extension":770,"proposal":232},499,"VK_KHR_ray_tracing_pipeline+VK_KHR_pipeline_library","Hans-Kristian Arntzen @HansKristian-Work","VK_EXT_pipeline_library_group_handles",{"number":772,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":773,"extension":774,"proposal":8},373,"Mukund Keshava @mkeshavanv","VK_EXT_pipeline_properties",{"number":776,"type":266,"author":333,"promotedto":637,"provisional":8,"depends":279,"ratified":415,"contact":500,"extension":777,"proposal":232},467,"VK_EXT_pipeline_protected_access",{"number":779,"type":266,"author":780,"promotedto":637,"provisional":8,"depends":279,"ratified":415,"contact":781,"extension":782,"proposal":8},69,"IMG","Jarred Davies","VK_EXT_pipeline_robustness",{"number":784,"type":266,"author":420,"provisional":8,"ratified":428,"contact":785,"extension":786,"proposal":8},156,"Daniel Koch @dgkoch","VK_EXT_post_depth_coverage",{"number":788,"type":266,"author":333,"promotedto":789,"provisional":8,"depends":629,"ratified":415,"contact":790,"extension":791,"proposal":232},362,"VK_KHR_present_mode_fifo_latest_ready","Lionel Duc @nvlduc","VK_EXT_present_mode_fifo_latest_ready",{"number":793,"type":266,"author":333,"provisional":8,"depends":794,"ratified":415,"contact":790,"extension":795,"proposal":232},209,"VK_KHR_swapchain+VK_KHR_present_id2+VK_KHR_get_surface_capabilities2+VK_KHR_calibrated_timestamps","VK_EXT_present_timing",{"number":797,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":356,"contact":500,"extension":798,"proposal":8},357,"VK_EXT_primitive_topology_list_restart",{"number":800,"type":266,"author":333,"provisional":8,"depends":801,"ratified":415,"specialuse":356,"contact":500,"extension":802,"proposal":232},383,"VK_EXT_transform_feedback","VK_EXT_primitives_generated_query",{"number":804,"type":266,"author":420,"promotedto":404,"provisional":8,"depends":279,"contact":805,"extension":806,"proposal":8},296,"Matthew Rusch @mattruschnv","VK_EXT_private_data",{"number":808,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"specialuse":356,"contact":809,"extension":810,"proposal":8},255,"Jesse Hall @jessehall","VK_EXT_provoking_vertex",{"number":812,"type":266,"author":333,"provisional":8,"depends":572,"ratified":428,"contact":422,"extension":813,"proposal":8},127,"VK_EXT_queue_family_foreign",{"number":815,"type":266,"author":365,"provisional":8,"depends":279,"ratified":415,"contact":371,"extension":383,"proposal":232},464,{"number":817,"type":266,"author":333,"provisional":8,"depends":818,"ratified":415,"contact":819,"extension":820,"proposal":232},582,"VK_KHR_ray_tracing_pipeline","Eric Werness @ewerness-nv","VK_EXT_ray_tracing_invocation_reorder",{"number":822,"type":266,"author":333,"provisional":8,"depends":823,"ratified":415,"contact":371,"extension":824,"proposal":8},345,"VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1","VK_EXT_rgba10x6_formats",{"number":826,"type":266,"author":333,"promotedto":827,"provisional":8,"depends":279,"ratified":428,"contact":469,"extension":828,"proposal":8},287,"VK_KHR_robustness2","VK_EXT_robustness2",{"number":830,"type":266,"author":267,"provisional":8,"depends":279,"ratified":428,"contact":285,"extension":831,"proposal":8},144,"VK_EXT_sample_locations",{"number":833,"type":266,"author":420,"promotedto":517,"provisional":8,"depends":279,"contact":441,"extension":834,"proposal":8},131,"VK_EXT_sampler_filter_minmax",{"number":836,"type":266,"author":333,"promotedto":517,"provisional":8,"depends":279,"contact":275,"extension":837,"proposal":8},222,"VK_EXT_scalar_block_layout",{"number":839,"type":266,"author":333,"promotedto":517,"provisional":8,"contact":285,"extension":840,"proposal":8},247,"VK_EXT_separate_stencil_usage",{"number":842,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":843,"proposal":232},628,"VK_EXT_shader_64bit_indexing",{"number":845,"type":266,"author":420,"provisional":8,"depends":279,"ratified":428,"contact":565,"extension":846,"proposal":8},261,"VK_EXT_shader_atomic_float",{"number":848,"type":266,"author":333,"provisional":8,"depends":846,"ratified":415,"contact":699,"extension":849,"proposal":8},274,"VK_EXT_shader_atomic_float2",{"number":851,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":408,"contact":441,"extension":852,"proposal":8},277,"VK_EXT_shader_demote_to_helper_invocation",{"number":854,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":855,"proposal":232},568,"VK_EXT_shader_float8",{"number":857,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":275,"extension":858,"proposal":8},235,"VK_EXT_shader_image_atomic_int64",{"number":860,"type":266,"author":333,"provisional":8,"depends":517,"ratified":415,"contact":441,"extension":861,"proposal":232},636,"VK_EXT_shader_long_vector",{"number":863,"type":266,"author":333,"provisional":8,"depends":864,"ratified":415,"contact":769,"extension":865,"proposal":232},463,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_pipeline_creation_cache_control),VK_VERSION_1_3","VK_EXT_shader_module_identifier",{"number":867,"type":266,"author":333,"provisional":8,"depends":558,"ratified":415,"contact":868,"extension":869,"proposal":232},483,"Daniel Story @daniel-story","VK_EXT_shader_object",{"number":871,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":872,"proposal":232},565,"VK_EXT_shader_replicated_composites",{"number":874,"type":266,"author":333,"provisional":8,"ratified":428,"contact":299,"extension":875,"proposal":8},141,"VK_EXT_shader_stencil_export",{"number":877,"type":266,"author":420,"deprecatedby":517,"provisional":8,"contact":785,"extension":878,"proposal":8},65,"VK_EXT_shader_subgroup_ballot",{"number":880,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":881,"proposal":8},663,"VK_EXT_shader_subgroup_partitioned",{"number":883,"type":266,"author":420,"deprecatedby":397,"provisional":8,"contact":785,"extension":884,"proposal":8},66,"VK_EXT_shader_subgroup_vote",{"number":886,"type":266,"author":333,"provisional":8,"depends":404,"ratified":415,"contact":371,"extension":887,"proposal":232},396,"VK_EXT_shader_tile_image",{"number":889,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":446,"extension":890,"proposal":232},643,"VK_EXT_shader_uniform_buffer_unsized_array",{"number":892,"type":266,"author":420,"promotedto":517,"provisional":8,"contact":785,"extension":893,"proposal":8},163,"VK_EXT_shader_viewport_index_layer",{"number":895,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":397,"ratified":408,"contact":896,"extension":897,"proposal":8},226,"Neil Henning @sheredom","VK_EXT_subgroup_size_control",{"number":899,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":900,"extension":901,"proposal":232},459,"Ting Wei @catweiting","VK_EXT_subpass_merge_feedback",{"number":903,"type":413,"author":333,"promotedto":904,"provisional":8,"depends":905,"ratified":415,"contact":500,"extension":906,"proposal":232},275,"VK_KHR_surface_maintenance1","VK_KHR_surface+VK_KHR_get_surface_capabilities2","VK_EXT_surface_maintenance1",{"number":908,"type":413,"author":480,"provisional":8,"depends":542,"ratified":428,"contact":481,"extension":909,"proposal":8},105,"VK_EXT_swapchain_colorspace",{"number":911,"type":266,"author":333,"promotedto":912,"provisional":8,"depends":913,"ratified":415,"contact":500,"extension":914,"proposal":232},276,"VK_KHR_swapchain_maintenance1","VK_KHR_swapchain+VK_EXT_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_EXT_swapchain_maintenance1",{"number":916,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":279,"ratified":408,"contact":441,"extension":917,"proposal":8},282,"VK_EXT_texel_buffer_alignment",{"number":919,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":371,"extension":920,"proposal":232},289,"VK_EXT_texture_compression_astc_3d",{"number":922,"type":266,"author":365,"promotedto":404,"provisional":8,"depends":279,"ratified":408,"contact":371,"extension":923,"proposal":8},67,"VK_EXT_texture_compression_astc_hdr",{"number":925,"type":266,"author":333,"promotedto":404,"provisional":8,"contact":275,"extension":926,"proposal":8},246,"VK_EXT_tooling_info",{"number":122,"type":266,"author":420,"provisional":8,"depends":279,"ratified":415,"specialuse":928,"contact":446,"extension":801,"proposal":8},"glemulation,d3demulation,devtools",{"number":930,"type":266,"author":480,"provisional":8,"ratified":415,"contact":931,"extension":932,"proposal":8},161,"Cort Stratton @cdwfs","VK_EXT_validation_cache",{"number":934,"type":413,"author":935,"deprecatedby":679,"provisional":8,"ratified":415,"specialuse":228,"contact":936,"extension":937,"proposal":8},248,"LUNARG","Karl Schultz @karl-lunarg","VK_EXT_validation_features",{"number":939,"type":413,"author":480,"deprecatedby":679,"provisional":8,"specialuse":228,"contact":940,"extension":941,"proposal":8},62,"Tobin Ehlis @tobine","VK_EXT_validation_flags",{"number":943,"type":266,"author":420,"promotedto":944,"provisional":8,"depends":279,"contact":462,"extension":945,"proposal":8},191,"VK_KHR_vertex_attribute_divisor","VK_EXT_vertex_attribute_divisor",{"number":947,"type":266,"author":333,"promotedto":948,"provisional":8,"depends":279,"contact":446,"extension":949,"proposal":8},609,"VK_KHR_maintenance9","VK_EXT_vertex_attribute_robustness",{"number":951,"type":266,"author":333,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":685,"proposal":8},353,{"number":953,"type":266,"author":333,"promotedto":404,"provisional":8,"depends":823,"ratified":408,"contact":954,"extension":955,"proposal":8},331,"Tony Zlatinski @tzlatinski","VK_EXT_ycbcr_2plane_444_formats",{"number":957,"type":266,"author":333,"provisional":8,"depends":823,"ratified":428,"contact":446,"extension":958,"proposal":8},253,"VK_EXT_ycbcr_image_arrays",{"number":960,"type":266,"author":333,"provisional":8,"depends":279,"ratified":415,"contact":434,"extension":961,"proposal":232},621,"VK_EXT_zero_initialize_device_memory",{"number":963,"type":266,"author":964,"provisional":8,"depends":965,"platform":966,"contact":967,"extension":968,"proposal":8},367,"FUCHSIA","VK_FUCHSIA_external_memory+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","fuchsia","John Rosasco @rosasco","VK_FUCHSIA_buffer_collection",{"number":970,"type":266,"author":964,"provisional":8,"depends":971,"platform":966,"contact":967,"extension":972,"proposal":8},365,"(VK_KHR_external_memory_capabilities+VK_KHR_external_memory),VK_VERSION_1_1","VK_FUCHSIA_external_memory",{"number":974,"type":266,"author":964,"provisional":8,"depends":975,"platform":966,"contact":967,"extension":976,"proposal":8},366,"VK_KHR_external_semaphore_capabilities+VK_KHR_external_semaphore","VK_FUCHSIA_external_semaphore",{"number":978,"type":413,"author":964,"provisional":8,"depends":542,"platform":966,"contact":979,"extension":980,"proposal":8},215,"Craig Stout @cdotstout","VK_FUCHSIA_imagepipe_surface",{"number":982,"type":266,"author":983,"provisional":8,"depends":984,"platform":985,"contact":764,"extension":986,"proposal":8},192,"GGP","VK_KHR_swapchain+VK_GGP_stream_descriptor_surface","ggp","VK_GGP_frame_token",{"number":206,"type":413,"author":983,"provisional":8,"depends":542,"platform":985,"contact":764,"extension":988,"proposal":8},"VK_GGP_stream_descriptor_surface",{"number":990,"type":266,"author":480,"provisional":8,"contact":991,"extension":992,"proposal":8},225,"Hai Nguyen @chaoticbob","VK_GOOGLE_decorate_string",{"number":994,"type":266,"author":480,"provisional":8,"depends":629,"contact":995,"extension":996,"proposal":8},93,"Ian Elliott @ianelliottus","VK_GOOGLE_display_timing",{"number":998,"type":266,"author":480,"provisional":8,"contact":991,"extension":999,"proposal":8},224,"VK_GOOGLE_hlsl_functionality1",{"number":1001,"type":413,"author":480,"provisional":8,"depends":542,"specialuse":356,"contact":500,"extension":1002,"proposal":232},434,"VK_GOOGLE_surfaceless_query",{"number":1004,"type":266,"author":480,"provisional":8,"contact":1005,"extension":1006,"proposal":8},290,"Kaye Mason @chaleur","VK_GOOGLE_user_type",{"number":1008,"type":266,"author":1009,"provisional":8,"depends":279,"contact":1010,"extension":1011,"proposal":232},405,"HUAWEI","Yuchang Wang @richard_Wang2","VK_HUAWEI_cluster_culling_shader",{"number":1013,"type":266,"author":1009,"provisional":8,"depends":1014,"contact":1015,"extension":1016,"proposal":8},591,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_swapchain+VK_EXT_hdr_metadata","Zehui Lin @bactlink","VK_HUAWEI_hdr_vivid",{"number":1018,"type":266,"author":1019,"provisional":8,"depends":1020,"contact":1021,"extension":1022,"proposal":232},371,"Huawei","VK_KHR_ray_tracing_pipeline+(VK_KHR_synchronization2,VK_VERSION_1_3)","Pan Gao @PanGao-h","VK_HUAWEI_invocation_mask",{"number":1024,"type":266,"author":1009,"provisional":8,"depends":1025,"contact":1021,"extension":1026,"proposal":8},370,"((VK_KHR_create_renderpass2,VK_VERSION_1_2)+VK_KHR_synchronization2),VK_VERSION_1_3","VK_HUAWEI_subpass_shading",{"number":70,"type":266,"author":780,"provisional":8,"contact":275,"extension":1028,"proposal":8},"VK_IMG_filter_cubic",{"number":226,"type":266,"author":780,"deprecatedby":1030,"provisional":8,"contact":1031,"extension":1032,"proposal":8},null,"Stuart Smith","VK_IMG_format_pvrtc",{"number":1034,"type":266,"author":780,"provisional":8,"depends":279,"specialuse":356,"contact":607,"extension":1035,"proposal":8},111,"VK_IMG_relaxed_line_rasterization",{"number":1037,"type":266,"author":1038,"provisional":8,"specialuse":284,"contact":1039,"extension":1040,"proposal":8},211,"INTEL","Lionel Landwerlin @llandwerlin","VK_INTEL_performance_query",{"number":1042,"type":266,"author":1038,"provisional":8,"depends":279,"contact":1043,"extension":1044,"proposal":8},210,"Ian Romanick @ianromanick","VK_INTEL_shader_integer_functions2",{"number":1046,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1048,"ratified":415,"contact":371,"extension":1049,"proposal":8},84,"KHR","(VK_KHR_get_physical_device_properties2+VK_KHR_storage_buffer_storage_class),VK_VERSION_1_1","VK_KHR_16bit_storage",{"number":1051,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1048,"ratified":415,"contact":1052,"extension":1053,"proposal":8},178,"Alexander Galazin @alegal-arm","VK_KHR_8bit_storage",{"number":1055,"type":266,"author":1047,"provisional":8,"depends":1056,"ratified":415,"contact":785,"extension":1057,"proposal":8},151,"((VK_VERSION_1_1+VK_EXT_descriptor_indexing+VK_KHR_buffer_device_address),VK_VERSION_1_2)+VK_KHR_deferred_host_operations","VK_KHR_acceleration_structure",{"number":42,"type":413,"author":1047,"provisional":8,"depends":542,"platform":355,"ratified":415,"contact":362,"extension":1059,"proposal":8},"VK_KHR_android_surface",{"number":1061,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":275,"extension":1062,"proposal":8},158,"VK_KHR_bind_memory2",{"number":1064,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1065,"ratified":415,"contact":441,"extension":450,"proposal":8},258,"(VK_KHR_get_physical_device_properties2+VK_KHR_device_group),VK_VERSION_1_1",{"number":1067,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":428,"contact":674,"extension":454,"proposal":8},544,{"number":1069,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":1070,"extension":1071,"proposal":232},512,"Jean-Noe Morissette @MagicPoncho","VK_KHR_compute_shader_derivatives",{"number":1073,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":1074,"proposal":232},507,"VK_KHR_cooperative_matrix",{"number":1076,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":428,"contact":589,"extension":1077,"proposal":8},338,"VK_KHR_copy_commands2",{"number":1079,"type":266,"author":1047,"provisional":8,"depends":1080,"ratified":415,"contact":565,"extension":1081,"proposal":232},550,"(VK_KHR_get_physical_device_properties2+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_KHR_copy_memory_indirect",{"number":1083,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1084,"ratified":415,"contact":1085,"extension":1086,"proposal":8},110,"(VK_KHR_multiview+VK_KHR_maintenance2),VK_VERSION_1_1","Tobias Hector @tobias","VK_KHR_create_renderpass2",{"number":1088,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1089,"ratified":415,"contact":422,"extension":1090,"proposal":8},128,"VK_KHR_get_memory_requirements2,VK_VERSION_1_1","VK_KHR_dedicated_allocation",{"number":1092,"type":266,"author":1047,"provisional":8,"ratified":415,"contact":1093,"extension":1094,"proposal":8},269,"Josh Barczak @jbarczak","VK_KHR_deferred_host_operations",{"number":1096,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":496,"extension":495,"proposal":8},605,{"number":1098,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1099,"ratified":415,"contact":1100,"extension":1101,"proposal":8},200,"VK_KHR_create_renderpass2,VK_VERSION_1_2","Jan-Harald Fredriksen @janharald","VK_KHR_depth_stencil_resolve",{"number":1103,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":1104,"extension":1105,"proposal":8},86,"Markus Tavenrath @mtavenrath","VK_KHR_descriptor_update_template",{"number":1107,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1108,"ratified":415,"contact":441,"extension":1109,"proposal":8},61,"VK_KHR_device_group_creation","VK_KHR_device_group",{"number":1111,"type":413,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":441,"extension":1108,"proposal":8},71,{"number":18,"type":413,"author":1047,"provisional":8,"depends":542,"ratified":428,"contact":1113,"extension":539,"proposal":8},"James Jones @cubanismo,Norbert Nopper @FslNopper",{"number":22,"type":266,"author":1047,"provisional":8,"depends":1115,"ratified":428,"contact":422,"extension":1116,"proposal":8},"VK_KHR_swapchain+VK_KHR_display","VK_KHR_display_swapchain",{"number":1118,"type":266,"author":1047,"promotedto":517,"provisional":8,"ratified":415,"contact":446,"extension":296,"proposal":8},170,{"number":1120,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":285,"extension":1121,"proposal":8},197,"VK_KHR_driver_properties",{"number":186,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":1123,"ratified":415,"contact":275,"extension":1124,"proposal":232},"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_depth_stencil_resolve),VK_VERSION_1_2","VK_KHR_dynamic_rendering",{"number":1126,"type":266,"author":267,"promotedto":637,"provisional":8,"depends":1127,"ratified":415,"contact":275,"extension":1128,"proposal":232},233,"VK_KHR_dynamic_rendering,VK_VERSION_1_3","VK_KHR_dynamic_rendering_local_read",{"number":1130,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1131,"ratified":415,"contact":362,"extension":1132,"proposal":8},114,"VK_KHR_external_fence_capabilities","VK_KHR_external_fence",{"number":1134,"type":413,"author":1047,"promotedto":397,"provisional":8,"depends":279,"ratified":415,"contact":362,"extension":1131,"proposal":8},113,{"number":1136,"type":266,"author":1047,"provisional":8,"depends":1137,"ratified":428,"contact":362,"extension":1138,"proposal":8},116,"VK_KHR_external_fence,VK_VERSION_1_1","VK_KHR_external_fence_fd",{"number":1140,"type":266,"author":1047,"provisional":8,"depends":1132,"platform":612,"ratified":415,"contact":362,"extension":1141,"proposal":8},115,"VK_KHR_external_fence_win32",{"number":1143,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1144,"ratified":415,"contact":422,"extension":1145,"proposal":8},73,"VK_KHR_external_memory_capabilities,VK_VERSION_1_1","VK_KHR_external_memory",{"number":1147,"type":413,"author":1047,"promotedto":397,"provisional":8,"depends":279,"ratified":415,"contact":422,"extension":1148,"proposal":8},72,"VK_KHR_external_memory_capabilities",{"number":1150,"type":266,"author":1047,"provisional":8,"depends":572,"ratified":428,"contact":422,"extension":576,"proposal":8},75,{"number":1152,"type":266,"author":1047,"provisional":8,"depends":572,"platform":612,"ratified":415,"contact":422,"extension":1153,"proposal":8},74,"VK_KHR_external_memory_win32",{"number":1155,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1156,"ratified":415,"contact":422,"extension":1157,"proposal":8},78,"VK_KHR_external_semaphore_capabilities","VK_KHR_external_semaphore",{"number":1159,"type":413,"author":1047,"promotedto":397,"provisional":8,"depends":279,"ratified":415,"contact":422,"extension":1156,"proposal":8},77,{"number":1161,"type":266,"author":1047,"provisional":8,"depends":1162,"ratified":428,"contact":422,"extension":1163,"proposal":8},80,"VK_KHR_external_semaphore,VK_VERSION_1_1","VK_KHR_external_semaphore_fd",{"number":1165,"type":266,"author":1047,"provisional":8,"depends":1157,"platform":612,"ratified":415,"contact":422,"extension":1166,"proposal":8},79,"VK_KHR_external_semaphore_win32",{"number":1168,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":415,"contact":1039,"extension":1169,"proposal":8},361,"VK_KHR_format_feature_flags2",{"number":1171,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":280,"extension":1172,"proposal":232},323,"VK_KHR_fragment_shader_barycentric",{"number":1174,"type":266,"author":1047,"provisional":8,"depends":1175,"ratified":428,"contact":275,"extension":1176,"proposal":232},227,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_create_renderpass2),VK_VERSION_1_2","VK_KHR_fragment_shading_rate",{"number":1178,"type":413,"author":1047,"provisional":8,"depends":539,"ratified":428,"contact":422,"extension":1179,"proposal":8},122,"VK_KHR_get_display_properties2",{"number":1181,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":699,"extension":1182,"proposal":8},147,"VK_KHR_get_memory_requirements2",{"number":1184,"type":413,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":441,"extension":1185,"proposal":8},60,"VK_KHR_get_physical_device_properties2",{"number":1187,"type":413,"author":1047,"provisional":8,"depends":542,"ratified":428,"contact":422,"extension":1188,"proposal":8},120,"VK_KHR_get_surface_capabilities2",{"number":1190,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":428,"contact":275,"extension":616,"proposal":8},189,{"number":1192,"type":266,"author":1047,"promotedto":517,"provisional":8,"ratified":415,"contact":699,"extension":1193,"proposal":8},148,"VK_KHR_image_format_list",{"number":1195,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1196,"ratified":415,"contact":1085,"extension":1197,"proposal":8},109,"(((VK_KHR_get_physical_device_properties2+VK_KHR_maintenance2),VK_VERSION_1_1)+VK_KHR_image_format_list),VK_VERSION_1_2","VK_KHR_imageless_framebuffer",{"number":1199,"type":266,"author":1047,"provisional":8,"depends":629,"ratified":428,"contact":995,"extension":1200,"proposal":8},85,"VK_KHR_incremental_present",{"number":1202,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":669,"proposal":8},534,{"number":1204,"type":266,"author":1047,"provisional":8,"depends":397,"ratified":415,"contact":500,"extension":1205,"proposal":232},505,"VK_KHR_internally_synchronized_queues",{"number":1207,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":428,"contact":446,"extension":689,"proposal":8},535,{"number":1209,"type":266,"author":1047,"promotedto":637,"provisional":8,"ratified":415,"contact":500,"extension":694,"proposal":232},527,{"number":1211,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":446,"extension":316,"proposal":8},70,{"number":1213,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":434,"extension":1214,"proposal":232},631,"VK_KHR_maintenance10",{"number":1216,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":1217,"extension":1218,"proposal":8},118,"Michael Worcester @michaelworcester","VK_KHR_maintenance2",{"number":1220,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":1221,"proposal":8},169,"VK_KHR_maintenance3",{"number":1223,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":397,"ratified":415,"contact":446,"extension":1224,"proposal":8},414,"VK_KHR_maintenance4",{"number":1226,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":1227,"ratified":415,"contact":270,"extension":1228,"proposal":232},471,"(VK_VERSION_1_1+VK_KHR_dynamic_rendering),VK_VERSION_1_3","VK_KHR_maintenance5",{"number":1230,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":397,"ratified":415,"contact":1231,"extension":1232,"proposal":232},546,"Jon Leech @oddhack","VK_KHR_maintenance6",{"number":1234,"type":266,"author":1047,"provisional":8,"depends":397,"ratified":415,"contact":434,"extension":1235,"proposal":232},563,"VK_KHR_maintenance7",{"number":1237,"type":266,"author":1047,"provisional":8,"depends":397,"ratified":415,"contact":434,"extension":1238,"proposal":232},575,"VK_KHR_maintenance8",{"number":1240,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":434,"extension":948,"proposal":232},585,{"number":1242,"type":266,"author":1047,"promotedto":637,"provisional":8,"ratified":415,"contact":699,"extension":1243,"proposal":232},272,"VK_KHR_map_memory2",{"number":222,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":1245,"proposal":8},"VK_KHR_multiview",{"extension":1247,"proposal":8},"VK_KHR_object_refresh",{"number":1249,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":428,"specialuse":284,"contact":1250,"extension":1251,"proposal":8},117,"Alon Or-bach @alonorbach","VK_KHR_performance_query",{"number":1253,"type":266,"author":1047,"provisional":8,"depends":1254,"ratified":415,"contact":270,"extension":1255,"proposal":232},484,"VK_KHR_maintenance5,VK_VERSION_1_4","VK_KHR_pipeline_binary",{"number":1257,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"specialuse":284,"contact":699,"extension":1258,"proposal":8},270,"VK_KHR_pipeline_executable_properties",{"number":1260,"type":266,"author":1047,"provisional":8,"ratified":415,"contact":714,"extension":1261,"proposal":8},291,"VK_KHR_pipeline_library",{"number":1263,"type":413,"author":1047,"provisional":8,"ratified":415,"contact":1264,"extension":1265,"proposal":8},395,"Charles Giessen @charles-lunarg","VK_KHR_portability_enumeration",{"number":1267,"type":266,"author":1047,"provisional":232,"depends":279,"platform":269,"ratified":415,"contact":718,"extension":1268,"proposal":8},164,"VK_KHR_portability_subset",{"number":1270,"type":266,"author":1047,"provisional":8,"depends":1271,"ratified":415,"contact":1272,"extension":1273,"proposal":8},295,"VK_KHR_swapchain+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Keith Packard @keithp","VK_KHR_present_id",{"number":1275,"type":266,"author":1047,"provisional":8,"depends":1276,"ratified":415,"contact":1277,"extension":1278,"proposal":232},480,"VK_KHR_get_surface_capabilities2+VK_KHR_surface+VK_KHR_swapchain","Daniel Stone","VK_KHR_present_id2",{"number":1280,"type":266,"author":1047,"provisional":8,"depends":629,"ratified":415,"contact":790,"extension":789,"proposal":232},622,{"number":1282,"type":266,"author":1047,"provisional":8,"depends":1283,"ratified":415,"contact":1272,"extension":1284,"proposal":8},249,"VK_KHR_swapchain+VK_KHR_present_id","VK_KHR_present_wait",{"number":1286,"type":266,"author":1047,"provisional":8,"depends":1287,"ratified":415,"contact":1277,"extension":1288,"proposal":232},481,"VK_KHR_get_surface_capabilities2+VK_KHR_surface+VK_KHR_swapchain+VK_KHR_present_id2","VK_KHR_present_wait2",{"number":1290,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":1291,"proposal":8},81,"VK_KHR_push_descriptor",{"number":1293,"type":266,"author":1047,"provisional":8,"depends":1294,"ratified":415,"contact":785,"extension":1295,"proposal":8},349,"(VK_KHR_spirv_1_4,VK_VERSION_1_2)+VK_KHR_acceleration_structure","VK_KHR_ray_query",{"number":1297,"type":266,"author":1047,"provisional":8,"depends":1057,"ratified":415,"contact":785,"extension":1298,"proposal":8},387,"VK_KHR_ray_tracing_maintenance1",{"number":1300,"type":266,"author":1047,"provisional":8,"depends":1294,"ratified":415,"contact":785,"extension":818,"proposal":8},348,{"number":1302,"type":266,"author":1047,"provisional":8,"depends":1057,"ratified":415,"contact":1303,"extension":1304,"proposal":232},482,"Eric Werness","VK_KHR_ray_tracing_position_fetch",{"number":1306,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":1307,"extension":1308,"proposal":8},145,"John Kessenich @johnkslang","VK_KHR_relaxed_block_layout",{"number":1310,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":446,"extension":827,"proposal":8},613,{"number":66,"type":266,"author":1047,"promotedto":517,"provisional":8,"ratified":415,"contact":275,"extension":1312,"proposal":8},"VK_KHR_sampler_mirror_clamp_to_edge",{"number":1314,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1315,"ratified":415,"contact":1316,"extension":1317,"proposal":8},157,"(VK_KHR_maintenance1+VK_KHR_bind_memory2+VK_KHR_get_memory_requirements2+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Andrew Garrard @fluppeteer","VK_KHR_sampler_ycbcr_conversion",{"number":1319,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1175,"ratified":415,"contact":446,"extension":1320,"proposal":8},242,"VK_KHR_separate_depth_stencil_layouts",{"number":1322,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":1323,"extension":1324,"proposal":8},181,"Aaron Hagan @ahagan","VK_KHR_shader_atomic_int64",{"number":1326,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":275,"extension":1327,"proposal":232},142,"VK_KHR_shader_bfloat16",{"number":1329,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":428,"contact":1323,"extension":1330,"proposal":8},182,"VK_KHR_shader_clock",{"number":1332,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":785,"extension":1333,"proposal":8},64,"VK_KHR_shader_draw_parameters",{"number":1335,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":1336,"proposal":232},545,"VK_KHR_shader_expect_assume",{"number":1338,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":1052,"extension":302,"proposal":8},83,{"number":1340,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":1052,"extension":1341,"proposal":8},198,"VK_KHR_shader_float_controls",{"number":1343,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":1344,"ratified":415,"contact":496,"extension":1345,"proposal":232},529,"VK_VERSION_1_1+VK_KHR_shader_float_controls","VK_KHR_shader_float_controls2",{"number":1347,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":496,"extension":1348,"proposal":232},580,"VK_KHR_shader_fma",{"number":1350,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":1351,"proposal":232},281,"VK_KHR_shader_integer_dot_product",{"number":1353,"type":266,"author":1047,"provisional":8,"depends":397,"ratified":415,"contact":1354,"extension":1355,"proposal":232},435,"Alan Baker @alan-baker","VK_KHR_shader_maximal_reconvergence",{"number":1357,"type":266,"author":1047,"promotedto":404,"provisional":8,"ratified":415,"contact":477,"extension":1358,"proposal":8},294,"VK_KHR_shader_non_semantic_info",{"number":1360,"type":266,"author":1047,"provisional":8,"depends":1361,"ratified":415,"contact":275,"extension":1362,"proposal":232},236,"((VK_VERSION_1_1+VK_KHR_vulkan_memory_model),VK_VERSION_1_2)+VK_KHR_shader_maximal_reconvergence","VK_KHR_shader_quad_control",{"number":1364,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":1365,"extension":1366,"proposal":232},559,"Nathan Gauër @Keenuts","VK_KHR_shader_relaxed_extended_instruction",{"number":1368,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":397,"ratified":415,"contact":896,"extension":1369,"proposal":8},176,"VK_KHR_shader_subgroup_extended_types",{"number":1371,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":415,"contact":367,"extension":1372,"proposal":232},417,"VK_KHR_shader_subgroup_rotate",{"number":1374,"type":266,"author":1047,"provisional":8,"depends":397,"ratified":415,"contact":1354,"extension":1375,"proposal":8},324,"VK_KHR_shader_subgroup_uniform_control_flow",{"number":1377,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":428,"contact":362,"extension":1378,"proposal":8},216,"VK_KHR_shader_terminate_invocation",{"number":1380,"type":266,"author":1047,"provisional":8,"depends":1185,"ratified":415,"contact":1354,"extension":1381,"proposal":232},388,"VK_KHR_shader_untyped_pointers",{"number":1383,"type":266,"author":1047,"provisional":8,"depends":1384,"ratified":428,"contact":1250,"extension":1385,"proposal":8},112,"VK_KHR_swapchain+VK_KHR_get_surface_capabilities2+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","VK_KHR_shared_presentable_image",{"number":1387,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":1344,"ratified":415,"contact":362,"extension":1388,"proposal":8},237,"VK_KHR_spirv_1_4",{"number":1390,"type":266,"author":1047,"promotedto":397,"provisional":8,"ratified":415,"contact":1052,"extension":1391,"proposal":8},132,"VK_KHR_storage_buffer_storage_class",{"number":10,"type":413,"author":1047,"provisional":8,"ratified":428,"contact":1393,"extension":542,"proposal":8},"James Jones @cubanismo,Ian Elliott @ianelliottus",{"number":1395,"type":413,"author":1047,"provisional":8,"depends":905,"ratified":415,"contact":500,"extension":904,"proposal":232},487,{"number":1397,"type":413,"author":1047,"provisional":8,"depends":1398,"ratified":415,"contact":1399,"extension":1400,"proposal":8},240,"VK_VERSION_1_1+VK_KHR_get_surface_capabilities2","Sandeep Shinde @sashinde","VK_KHR_surface_protected_capabilities",{"number":14,"type":266,"author":1047,"provisional":8,"depends":542,"ratified":428,"contact":1393,"extension":629,"proposal":8},{"number":1403,"type":266,"author":1047,"provisional":8,"depends":1404,"ratified":415,"contact":500,"extension":912,"proposal":232},488,"VK_KHR_swapchain+VK_KHR_surface_maintenance1+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)",{"number":1406,"type":266,"author":1047,"provisional":8,"depends":1407,"ratified":428,"contact":285,"extension":1408,"proposal":8},201,"VK_KHR_swapchain+(VK_KHR_maintenance2,VK_VERSION_1_1)+(VK_KHR_image_format_list,VK_VERSION_1_2)","VK_KHR_swapchain_mutable_format",{"number":1410,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":428,"contact":275,"extension":1411,"proposal":8},315,"VK_KHR_synchronization2",{"number":1413,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":699,"extension":1414,"proposal":8},208,"VK_KHR_timeline_semaphore",{"number":1416,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":500,"extension":1417,"proposal":232},528,"VK_KHR_unified_image_layouts",{"number":1419,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":496,"extension":1420,"proposal":8},254,"VK_KHR_uniform_buffer_standard_layout",{"number":1422,"type":266,"author":1047,"promotedto":397,"provisional":8,"depends":1048,"ratified":415,"contact":362,"extension":1423,"proposal":8},121,"VK_KHR_variable_pointers",{"number":1425,"type":266,"author":1047,"promotedto":637,"provisional":8,"depends":279,"ratified":428,"contact":500,"extension":944,"proposal":232},526,{"number":1427,"type":266,"author":1047,"provisional":8,"depends":1428,"ratified":415,"contact":674,"extension":1429,"proposal":232},513,"VK_KHR_video_decode_queue","VK_KHR_video_decode_av1",{"number":170,"type":266,"author":1047,"provisional":8,"depends":1428,"ratified":415,"contact":1431,"extension":1432,"proposal":232},"peter.fang@amd.com","VK_KHR_video_decode_h264",{"number":1434,"type":266,"author":1047,"provisional":8,"depends":1428,"ratified":415,"contact":1431,"extension":1435,"proposal":232},188,"VK_KHR_video_decode_h265",{"number":106,"type":266,"author":1047,"provisional":8,"depends":1437,"ratified":415,"contact":1438,"extension":1428,"proposal":232},"VK_KHR_video_queue+(VK_KHR_synchronization2,VK_VERSION_1_3)","jake.beju@amd.com",{"number":1440,"type":266,"author":1047,"provisional":8,"depends":1428,"ratified":415,"contact":1441,"extension":1442,"proposal":232},515,"Ahmed Abdelkhalek @aabdelkh","VK_KHR_video_decode_vp9",{"number":1444,"type":266,"author":1047,"provisional":8,"depends":1445,"ratified":415,"contact":674,"extension":1446,"proposal":232},514,"VK_KHR_video_encode_queue","VK_KHR_video_encode_av1",{"number":162,"type":266,"author":1047,"provisional":8,"depends":1445,"ratified":415,"contact":1441,"extension":1448,"proposal":232},"VK_KHR_video_encode_h264",{"number":166,"type":266,"author":1047,"provisional":8,"depends":1445,"ratified":415,"contact":1441,"extension":1450,"proposal":232},"VK_KHR_video_encode_h265",{"number":1452,"type":266,"author":1047,"provisional":8,"depends":1445,"ratified":415,"contact":1441,"extension":1453,"proposal":232},553,"VK_KHR_video_encode_intra_refresh",{"number":1455,"type":266,"author":1047,"provisional":8,"depends":1456,"ratified":415,"contact":1441,"extension":1457,"proposal":232},554,"VK_KHR_video_encode_queue+(VK_KHR_format_feature_flags2,VK_VERSION_1_3)","VK_KHR_video_encode_quantization_map",{"number":1459,"type":266,"author":1047,"provisional":8,"depends":1437,"ratified":415,"contact":1441,"extension":1445,"proposal":232},300,{"number":1461,"type":266,"author":1047,"provisional":8,"depends":1462,"ratified":415,"contact":674,"extension":1463,"proposal":232},516,"VK_KHR_video_queue","VK_KHR_video_maintenance1",{"number":1465,"type":266,"author":1047,"provisional":8,"depends":1462,"ratified":415,"contact":674,"extension":1466,"proposal":232},587,"VK_KHR_video_maintenance2",{"number":102,"type":266,"author":1047,"provisional":8,"depends":1468,"ratified":415,"contact":954,"extension":1462,"proposal":232},"(VK_VERSION_1_1+VK_KHR_synchronization2),VK_VERSION_1_3",{"number":1470,"type":266,"author":1047,"promotedto":517,"provisional":8,"depends":279,"ratified":415,"contact":441,"extension":1471,"proposal":8},212,"VK_KHR_vulkan_memory_model",{"number":34,"type":413,"author":1047,"provisional":8,"depends":542,"platform":1473,"ratified":415,"contact":1474,"extension":1475,"proposal":8},"wayland","Jesse Hall @critsec,Ian Elliott @ianelliottus","VK_KHR_wayland_surface",{"number":1477,"type":266,"author":1047,"provisional":8,"depends":1153,"platform":612,"ratified":415,"contact":1478,"extension":1479,"proposal":8},76,"Carsten Rohde @crohde","VK_KHR_win32_keyed_mutex",{"number":46,"type":413,"author":1047,"provisional":8,"depends":542,"platform":612,"ratified":415,"contact":1474,"extension":1481,"proposal":8},"VK_KHR_win32_surface",{"number":1483,"type":266,"author":1047,"provisional":8,"depends":279,"ratified":415,"contact":1484,"extension":1485,"proposal":8},337,"Caio Marcelo de Oliveira Filho @cmarcelo","VK_KHR_workgroup_memory_explicit_layout",{"number":30,"type":413,"author":1047,"provisional":8,"depends":542,"platform":1487,"ratified":415,"contact":1474,"extension":1488,"proposal":8},"xcb","VK_KHR_xcb_surface",{"number":26,"type":413,"author":1047,"provisional":8,"depends":542,"platform":1490,"ratified":415,"contact":1474,"extension":1491,"proposal":8},"xlib","VK_KHR_xlib_surface",{"number":1493,"type":266,"author":1047,"promotedto":404,"provisional":8,"depends":279,"ratified":415,"contact":1354,"extension":1494,"proposal":8},326,"VK_KHR_zero_initialize_workgroup_memory",{"number":1496,"type":413,"author":935,"provisional":8,"contact":1264,"extension":1497,"proposal":232},460,"VK_LUNARG_direct_driver_loading",{"number":1499,"type":266,"author":1500,"provisional":8,"depends":279,"specialuse":487,"contact":769,"extension":1501,"proposal":8},576,"MESA","VK_MESA_image_alignment_control",{"number":1503,"type":266,"author":1504,"provisional":8,"depends":279,"contact":1505,"extension":1506,"proposal":232},531,"MSFT","Jesse Natalie @jenatali","VK_MSFT_layered_driver",{"number":1508,"type":413,"author":1509,"deprecatedby":723,"provisional":8,"depends":542,"platform":1510,"contact":718,"extension":1511,"proposal":8},123,"MVK","ios","VK_MVK_ios_surface",{"number":1513,"type":413,"author":1509,"deprecatedby":723,"provisional":8,"depends":542,"platform":1514,"contact":718,"extension":1515,"proposal":8},124,"macos","VK_MVK_macos_surface",{"number":1517,"type":413,"author":1518,"provisional":8,"depends":542,"platform":1519,"contact":1520,"extension":1521,"proposal":8},63,"NN","vi","Mathias Heyer gitlab:@mheyer","VK_NN_vi_surface",{"number":126,"type":266,"author":1523,"provisional":8,"contact":1524,"extension":1525,"proposal":8},"NVX","Eric Werness @ewerness-nv,Liam Middlebrook @liam-middlebrook","VK_NVX_binary_import",{"number":130,"type":266,"author":1523,"provisional":8,"contact":819,"extension":1527,"proposal":8},"VK_NVX_image_view_handle",{"number":1529,"type":266,"author":1523,"provisional":8,"depends":1530,"contact":441,"extension":1531,"proposal":8},98,"VK_KHR_multiview,VK_VERSION_1_1","VK_NVX_multiview_per_view_attributes",{"number":1533,"type":266,"author":420,"provisional":8,"depends":414,"platform":612,"contact":1534,"extension":1535,"proposal":8},346,"Jeff Juliano @jjuliano","VK_NV_acquire_winrt_display",{"number":1537,"type":266,"author":420,"provisional":8,"contact":819,"extension":1538,"proposal":8},88,"VK_NV_clip_space_w_scaling",{"number":1540,"type":266,"author":420,"provisional":8,"depends":1057,"contact":462,"extension":1541,"proposal":232},570,"VK_NV_cluster_acceleration_structure",{"number":1543,"type":266,"author":420,"provisional":8,"depends":279,"contact":1544,"extension":1545,"proposal":8},560,"Lujin Wang @lujinwangnv","VK_NV_command_buffer_inheritance",{"number":1547,"type":266,"author":420,"provisional":8,"depends":279,"contact":1548,"extension":1549,"proposal":232},646,"Chris Lentini @clentini","VK_NV_compute_occupancy_priority",{"number":1551,"type":266,"author":420,"promotedto":1071,"provisional":8,"depends":279,"contact":1552,"extension":1553,"proposal":8},202,"Pat Brown @nvpbrown","VK_NV_compute_shader_derivatives",{"number":1555,"type":266,"author":420,"provisional":8,"depends":279,"contact":441,"extension":1556,"proposal":8},250,"VK_NV_cooperative_matrix",{"number":1558,"type":266,"author":420,"provisional":8,"depends":1074,"contact":441,"extension":1559,"proposal":232},594,"VK_NV_cooperative_matrix2",{"number":1561,"type":266,"author":420,"provisional":8,"depends":279,"contact":441,"extension":1562,"proposal":232},492,"VK_NV_cooperative_vector",{"number":1564,"type":266,"author":420,"promotedto":1081,"provisional":8,"depends":1565,"contact":565,"extension":1566,"proposal":8},427,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_copy_memory_indirect",{"number":210,"type":266,"author":420,"provisional":8,"depends":279,"contact":785,"extension":1568,"proposal":8},"VK_NV_corner_sampled_image",{"number":1570,"type":266,"author":420,"provisional":8,"depends":1571,"contact":1572,"extension":1573,"proposal":8},251,"VK_NV_framebuffer_mixed_samples+(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)","Kedarnath Thangudu @kthangudu","VK_NV_coverage_reduction_mode",{"number":1575,"type":266,"author":420,"provisional":232,"depends":279,"platform":269,"contact":1576,"extension":1577,"proposal":8},308,"Tristan Lorach @tlorach","VK_NV_cuda_kernel_launch",{"number":114,"type":266,"author":420,"deprecatedby":1090,"provisional":8,"contact":441,"extension":1579,"proposal":8},"VK_NV_dedicated_allocation",{"number":1581,"type":266,"author":1582,"provisional":8,"depends":1583,"contact":1584,"extension":1585,"proposal":8},241,"NVIDIA","(VK_KHR_dedicated_allocation+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Nuno Subtil @nsubtil","VK_NV_dedicated_allocation_image_aliasing",{"number":1587,"type":266,"author":420,"provisional":8,"depends":397,"contact":446,"extension":1588,"proposal":8},547,"VK_NV_descriptor_pool_overallocation",{"number":1590,"type":266,"author":1582,"provisional":8,"depends":279,"contact":1584,"extension":1591,"proposal":8},207,"VK_NV_device_diagnostic_checkpoints",{"number":1593,"type":266,"author":420,"provisional":8,"depends":279,"contact":1572,"extension":1594,"proposal":8},301,"VK_NV_device_diagnostics_config",{"number":1596,"type":266,"author":420,"provisional":8,"depends":1597,"contact":714,"extension":1598,"proposal":8},278,"(VK_VERSION_1_1+VK_KHR_buffer_device_address),VK_VERSION_1_2","VK_NV_device_generated_commands",{"number":1600,"type":266,"author":420,"provisional":8,"depends":1598,"contact":565,"extension":1601,"proposal":8},429,"VK_NV_device_generated_commands_compute",{"number":1603,"type":266,"author":420,"deprecatedby":1541,"provisional":232,"depends":378,"platform":269,"contact":1604,"extension":1605,"proposal":8},398,"Christoph Kubisch @pixeljetstream, Eric Werness @ewerness-nv","VK_NV_displacement_micromap",{"number":1607,"type":413,"author":420,"provisional":8,"depends":1608,"contact":1609,"extension":1610,"proposal":232},552,"VK_KHR_display+VK_KHR_get_display_properties2","Russell Chou @russellcnv","VK_NV_display_stereo",{"number":1612,"type":266,"author":420,"provisional":8,"depends":279,"contact":1609,"extension":1613,"proposal":8},493,"VK_NV_extended_sparse_address_space",{"number":1615,"type":266,"author":420,"provisional":8,"contact":1548,"extension":1616,"proposal":232},557,"VK_NV_external_compute_queue",{"number":1618,"type":266,"author":420,"deprecatedby":1145,"provisional":8,"depends":1619,"contact":422,"extension":1620,"proposal":8},57,"VK_NV_external_memory_capabilities","VK_NV_external_memory",{"number":1622,"type":413,"author":420,"deprecatedby":1148,"provisional":8,"contact":422,"extension":1619,"proposal":8},56,{"number":1624,"type":266,"author":420,"provisional":8,"depends":572,"contact":1478,"extension":1625,"proposal":8},372,"VK_NV_external_memory_rdma",{"extension":1627,"proposal":8},"VK_NV_external_memory_sci_buf",{"number":1629,"type":266,"author":420,"deprecatedby":1153,"provisional":8,"depends":1620,"platform":612,"contact":422,"extension":1630,"proposal":8},58,"VK_NV_external_memory_win32",{"extension":1632,"proposal":8},"VK_NV_external_sci_sync",{"extension":1634,"proposal":8},"VK_NV_external_sci_sync2",{"number":1636,"type":266,"author":420,"provisional":8,"contact":441,"extension":1637,"proposal":8},154,"VK_NV_fill_rectangle",{"number":1639,"type":266,"author":420,"provisional":8,"contact":441,"extension":1640,"proposal":8},150,"VK_NV_fragment_coverage_to_color",{"number":1642,"type":266,"author":420,"promotedto":1172,"provisional":8,"depends":279,"contact":1552,"extension":1643,"proposal":8},204,"VK_NV_fragment_shader_barycentric",{"number":1645,"type":266,"author":420,"provisional":8,"depends":1176,"contact":1552,"extension":1646,"proposal":8},327,"VK_NV_fragment_shading_rate_enums",{"number":1648,"type":266,"author":420,"provisional":8,"contact":441,"extension":1649,"proposal":8},153,"VK_NV_framebuffer_mixed_samples",{"number":1651,"type":266,"author":420,"provisional":8,"contact":785,"extension":1652,"proposal":8},96,"VK_NV_geometry_shader_passthrough",{"number":58,"type":266,"author":420,"deprecatedby":1030,"provisional":8,"contact":446,"extension":1654,"proposal":8},"VK_NV_glsl_shader",{"number":1656,"type":266,"author":420,"provisional":8,"depends":279,"contact":1657,"extension":1658,"proposal":8},279,"David Zhao Akeley @akeley98","VK_NV_inherited_viewport_scissor",{"number":1660,"type":266,"author":1582,"provisional":8,"depends":279,"contact":1661,"extension":1662,"proposal":8},431,"sourav parmar @souravpNV","VK_NV_linear_color_attachment",{"number":1664,"type":266,"author":420,"provisional":8,"contact":1665,"extension":1666,"proposal":8},311,"Charles Hansen @cshansen","VK_NV_low_latency",{"number":1668,"type":266,"author":420,"provisional":8,"depends":1669,"contact":1665,"extension":1670,"proposal":8},506,"(VK_VERSION_1_2,VK_KHR_timeline_semaphore)+(VK_KHR_present_id,VK_KHR_present_id2)","VK_NV_low_latency2",{"number":1672,"type":266,"author":420,"promotedto":707,"provisional":8,"depends":1565,"contact":565,"extension":1673,"proposal":8},428,"VK_NV_memory_decompression",{"number":1675,"type":266,"author":420,"provisional":8,"depends":279,"contact":714,"extension":1676,"proposal":8},203,"VK_NV_mesh_shader",{"number":1678,"type":266,"author":420,"provisional":8,"depends":1679,"contact":1478,"extension":1680,"proposal":8},465,"((VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_KHR_format_feature_flags2+VK_KHR_synchronization2),VK_VERSION_1_3","VK_NV_optical_flow",{"number":1682,"type":266,"author":420,"provisional":8,"depends":1057,"contact":462,"extension":1683,"proposal":232},571,"VK_NV_partitioned_acceleration_structure",{"number":1685,"type":266,"author":420,"provisional":8,"depends":1686,"contact":446,"extension":1687,"proposal":8},517,"VK_KHR_maintenance6,VK_VERSION_1_4","VK_NV_per_stage_descriptor_set",{"number":1689,"type":266,"author":420,"provisional":8,"depends":611,"contact":1690,"extension":1691,"proposal":8},293,"Liya Li @liyli","VK_NV_present_barrier",{"number":1693,"type":266,"author":420,"provisional":8,"depends":279,"contact":1694,"extension":1695,"proposal":8},614,"Charles Hansen @chansen","VK_NV_present_metering",{"extension":1697,"proposal":8},"VK_NV_private_vendor_info",{"number":1699,"type":266,"author":420,"provisional":8,"contact":1700,"extension":1701,"proposal":232},581,"Vassili Nikolaev @vasnik1","VK_NV_push_constant_bank",{"number":1703,"type":266,"author":420,"provisional":8,"depends":279,"contact":1704,"extension":1705,"proposal":8},556,"Rodrigo Locatti @rlocatti","VK_NV_raw_access_chains",{"number":1707,"type":266,"author":420,"deprecatedby":818,"provisional":8,"depends":1708,"contact":819,"extension":1709,"proposal":8},166,"(VK_KHR_get_physical_device_properties2+VK_KHR_get_memory_requirements2),VK_VERSION_1_1","VK_NV_ray_tracing",{"number":1711,"type":266,"author":420,"promotedto":820,"provisional":8,"depends":818,"contact":819,"extension":1712,"proposal":8},491,"VK_NV_ray_tracing_invocation_reorder",{"number":1714,"type":266,"author":420,"provisional":8,"depends":818,"contact":462,"extension":1715,"proposal":232},430,"VK_NV_ray_tracing_linear_swept_spheres",{"number":1717,"type":266,"author":420,"provisional":8,"depends":818,"contact":1303,"extension":1718,"proposal":8},328,"VK_NV_ray_tracing_motion_blur",{"number":1720,"type":266,"author":420,"provisional":8,"depends":279,"contact":565,"extension":1721,"proposal":232},569,"VK_NV_ray_tracing_validation",{"number":1723,"type":266,"author":420,"provisional":8,"depends":279,"contact":1572,"extension":1724,"proposal":8},167,"VK_NV_representative_fragment_test",{"number":1726,"type":266,"author":420,"provisional":8,"contact":446,"extension":1727,"proposal":8},95,"VK_NV_sample_mask_override_coverage",{"number":1729,"type":266,"author":420,"provisional":8,"depends":279,"contact":1552,"extension":1730,"proposal":8},206,"VK_NV_scissor_exclusive",{"number":1732,"type":266,"author":420,"provisional":8,"depends":279,"contact":441,"extension":1733,"proposal":8},564,"VK_NV_shader_atomic_float16_vector",{"number":1735,"type":266,"author":420,"provisional":8,"depends":279,"contact":1552,"extension":1736,"proposal":8},205,"VK_NV_shader_image_footprint",{"number":1738,"type":266,"author":420,"provisional":8,"depends":397,"contact":785,"extension":1739,"proposal":8},155,"VK_NV_shader_sm_builtins",{"number":1741,"type":266,"author":420,"promotedto":881,"provisional":8,"depends":397,"contact":441,"extension":1742,"proposal":8},199,"VK_NV_shader_subgroup_partitioned",{"number":1744,"type":266,"author":420,"provisional":8,"depends":279,"contact":1552,"extension":1745,"proposal":8},165,"VK_NV_shading_rate_image",{"number":1747,"type":266,"author":420,"provisional":8,"contact":785,"extension":1748,"proposal":8},97,"VK_NV_viewport_array2",{"number":1750,"type":266,"author":420,"provisional":8,"contact":446,"extension":1751,"proposal":8},99,"VK_NV_viewport_swizzle",{"number":1753,"type":266,"author":420,"promotedto":1479,"provisional":8,"depends":1630,"platform":612,"contact":1478,"extension":1754,"proposal":8},59,"VK_NV_win32_keyed_mutex",{"number":1756,"type":266,"author":1009,"provisional":8,"depends":361,"platform":1757,"contact":1758,"extension":1759,"proposal":8},453,"ohos","Weilan Chen @wchen-h","VK_OHOS_external_memory",{"number":1761,"type":266,"author":1009,"provisional":8,"platform":1757,"contact":1758,"extension":1762,"proposal":8},589,"VK_OHOS_native_buffer",{"number":1764,"type":413,"author":1009,"provisional":8,"depends":542,"platform":1757,"contact":1758,"extension":1765,"proposal":8},588,"VK_OHOS_surface",{"number":1767,"type":266,"author":588,"provisional":8,"depends":1074,"contact":589,"extension":1768,"proposal":232},173,"VK_QCOM_cooperative_matrix_conversion",{"number":1770,"type":266,"author":588,"provisional":8,"depends":368,"contact":589,"extension":1771,"proposal":232},630,"VK_QCOM_data_graph_model",{"number":1773,"type":266,"author":588,"provisional":8,"depends":1774,"contact":589,"extension":1775,"proposal":8},522,"(VK_EXT_filter_cubic)+(VK_VERSION_1_2,VK_EXT_sampler_filter_minmax)","VK_QCOM_filter_cubic_clamp",{"number":1777,"type":266,"author":588,"provisional":8,"depends":590,"contact":589,"extension":1778,"proposal":8},520,"VK_QCOM_filter_cubic_weights",{"number":1780,"type":266,"author":588,"promotedto":601,"provisional":8,"depends":1781,"contact":589,"extension":1782,"proposal":8},426,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+VK_EXT_fragment_density_map","VK_QCOM_fragment_density_map_offset",{"number":1784,"type":266,"author":588,"provisional":8,"depends":1785,"contact":589,"extension":1786,"proposal":232},441,"VK_KHR_format_feature_flags2,VK_VERSION_1_3","VK_QCOM_image_processing",{"number":1788,"type":266,"author":588,"provisional":8,"depends":1786,"contact":589,"extension":1789,"proposal":8},519,"VK_QCOM_image_processing2",{"number":1791,"type":266,"author":588,"provisional":8,"depends":279,"contact":589,"extension":1792,"proposal":8},511,"VK_QCOM_multiview_per_view_render_areas",{"number":1794,"type":266,"author":588,"provisional":8,"depends":279,"contact":589,"extension":1795,"proposal":8},489,"VK_QCOM_multiview_per_view_viewports",{"number":1797,"type":266,"author":588,"promotedto":472,"provisional":8,"contact":589,"extension":1798,"proposal":8},172,"VK_QCOM_render_pass_shader_resolve",{"number":1800,"type":266,"author":588,"provisional":8,"contact":589,"extension":1801,"proposal":8},302,"VK_QCOM_render_pass_store_ops",{"number":1803,"type":266,"author":588,"provisional":8,"contact":589,"extension":1804,"proposal":8},283,"VK_QCOM_render_pass_transform",{"number":1806,"type":266,"author":588,"provisional":8,"depends":1807,"contact":589,"extension":1808,"proposal":8},334,"VK_KHR_copy_commands2,VK_VERSION_1_3","VK_QCOM_rotated_copy_commands",{"number":1810,"type":266,"author":588,"provisional":8,"depends":1811,"contact":1812,"extension":1813,"proposal":232},548,"(VK_KHR_get_memory_requirements2+VK_KHR_get_physical_device_properties2),VK_VERSION_1_1","Patrick Boyle @pboyleQCOM","VK_QCOM_tile_memory_heap",{"number":1815,"type":266,"author":588,"provisional":8,"depends":279,"contact":589,"extension":1816,"proposal":232},485,"VK_QCOM_tile_properties",{"number":1818,"type":266,"author":588,"provisional":8,"depends":1816,"contact":589,"extension":1819,"proposal":232},310,"VK_QCOM_tile_shading",{"number":1821,"type":266,"author":588,"provisional":8,"depends":279,"contact":589,"extension":1822,"proposal":8},521,"VK_QCOM_ycbcr_degamma",{"number":1824,"type":266,"author":1825,"provisional":8,"depends":361,"platform":1826,"contact":1827,"extension":1828,"proposal":8},530,"QNX","screen","Mike Gorchak @mgorchak-blackberry, Aaron Ruby @aruby-blackberry","VK_QNX_external_memory_screen_buffer",{"number":1830,"type":413,"author":1825,"provisional":8,"depends":542,"platform":1826,"contact":1831,"extension":1832,"proposal":8},379,"Mike Gorchak @mgorchak-blackberry","VK_QNX_screen_surface",{"number":1834,"type":266,"author":1835,"provisional":8,"depends":279,"contact":524,"extension":1836,"proposal":8},486,"SEC","VK_SEC_amigo_profiling",{"number":1838,"type":266,"author":1835,"provisional":8,"depends":279,"contact":1839,"extension":1840,"proposal":8},638,"Chris Hambacher @chambacher","VK_SEC_pipeline_cache_incremental_mode",{"number":1842,"type":413,"author":1835,"provisional":8,"depends":542,"platform":1843,"contact":1844,"extension":1845,"proposal":8},665,"ubm","Minji Choe @minjichoe","VK_SEC_ubm_surface",{"number":1847,"type":266,"author":1848,"provisional":8,"depends":279,"specialuse":487,"contact":769,"extension":1849,"proposal":8},421,"VALVE","VK_VALVE_descriptor_set_host_mapping",{"number":1851,"type":266,"author":1848,"provisional":8,"depends":1852,"contact":600,"extension":1853,"proposal":8},612,"(VK_KHR_maintenance5,VK_VERSION_1_4)+VK_EXT_fragment_density_map","VK_VALVE_fragment_density_map_layered",{"number":1855,"type":266,"author":1848,"promotedto":735,"provisional":8,"depends":1221,"specialuse":487,"contact":734,"extension":1856,"proposal":8},352,"VK_VALVE_mutable_descriptor_type",{"number":1858,"type":266,"author":1848,"provisional":8,"depends":1859,"contact":742,"extension":1860,"proposal":8},674,"(VK_KHR_get_physical_device_properties2,VK_VERSION_1_1)+(VK_KHR_shader_float16_int8,VK_VERSION_1_2)","VK_VALVE_shader_mixed_float_dot_product",{"number":1862,"type":266,"author":1848,"provisional":8,"depends":1863,"contact":1864,"extension":1865,"proposal":8},391,"VK_KHR_video_encode_queue+(VK_KHR_sampler_ycbcr_conversion,VK_VERSION_1_1)","Autumn Ashton @misyltoad","VK_VALVE_video_encode_rgb_conversion",{"title":1867,"description":1868,"body":1869,"_type":7279,"_id":1867},"VK_QCOM_cooperative_matrix_conversion.proposal","This document proposes a new extension that adds additional shader\ninstructions for\nVK_KHR_cooperative_matrix.",{"type":1870,"children":1871,"toc":7262},"root",[1872,1890,1897,1902,1907,1912,1918,1923,1929,1943,2009,2021,2042,2048,2058,2113,2154,2159,2277,2282,2292,2351,2386,2392,2435,2481,2501,2513,2540,2697,2702,2739,2849,2854,2877,2926,2936,2968,3121,3126,3136,3191,3202,3207,3217,3273,3307,3407,3460,3565,3570,3575,3637,3658,3664,3670,3675,4572,4578,5188,5194,5912,5918,5923,7256],{"type":1873,"tag":1874,"props":1875,"children":1876},"element","p",{},[1877,1880,1888],{"type":1878,"value":1879},"text","This document proposes a new extension that adds additional shader\ninstructions for\n",{"type":1873,"tag":1881,"props":1882,"children":1886},"a",{"href":1883,"rel":1884},"https://docs.vulkan.org/spec/latest/appendices/extensions.html#VK_KHR_cooperative_matrix.html",[1885],"nofollow",[1887],{"type":1878,"value":1074},{"type":1878,"value":1889},".",{"type":1873,"tag":1891,"props":1892,"children":1894},"h2",{"id":1893},"_problem_statement",[1895],{"type":1878,"value":1896},"Problem Statement",{"type":1873,"tag":1874,"props":1898,"children":1899},{},[1900],{"type":1878,"value":1901},"The baseline Cooperative Matrix extension achieves great performance\nboost for simple matrix multiplication operations when data is loaded\nto and from memory.",{"type":1873,"tag":1874,"props":1903,"children":1904},{},[1905],{"type":1878,"value":1906},"However, most use cases which leverage matrix\nmultiplication hardware, such as Convolution and Large Language Models,\nrequire additional manipulation of input and output data which the opaque\ncooperative matrix objects do not support directly.",{"type":1873,"tag":1874,"props":1908,"children":1909},{},[1910],{"type":1878,"value":1911},"The cooperative matrix extension explicitly requires staging data through\nshared memory to perform these invocation-level manipulation operations.\nAn extension is needed that allows implementations\nto create optimized data conversions between the invocation\nand subgroup scope without explicitly going through shared memory.",{"type":1873,"tag":1891,"props":1913,"children":1915},{"id":1914},"_solution_space",[1916],{"type":1878,"value":1917},"Solution Space",{"type":1873,"tag":1874,"props":1919,"children":1920},{},[1921],{"type":1878,"value":1922},"An explicit conversion API allows the application to bypass staging\nto shared memory.",{"type":1873,"tag":1891,"props":1924,"children":1926},{"id":1925},"_proposal",[1927],{"type":1878,"value":1928},"Proposal",{"type":1873,"tag":1874,"props":1930,"children":1931},{},[1932,1934,1941],{"type":1878,"value":1933},"This proposal exposes support for the\n",{"type":1873,"tag":1935,"props":1936,"children":1938},"code",{"className":1937},[],[1939],{"type":1878,"value":1940},"SPV_QCOM_cooperative_matrix_conversion",{"type":1878,"value":1942}," SPIR-V extension. This extension\nprovides the following:",{"type":1873,"tag":1944,"props":1945,"children":1946},"ul",{},[1947,1965],{"type":1873,"tag":1948,"props":1949,"children":1950},"li",{},[1951,1953],{"type":1878,"value":1952},"Capabilities:",{"type":1873,"tag":1944,"props":1954,"children":1955},{},[1956],{"type":1873,"tag":1948,"props":1957,"children":1958},{},[1959],{"type":1873,"tag":1935,"props":1960,"children":1962},{"className":1961},[],[1963],{"type":1878,"value":1964},"CooperativeMatrixConversionQCOM",{"type":1873,"tag":1948,"props":1966,"children":1967},{},[1968,1970],{"type":1878,"value":1969},"Instructions:",{"type":1873,"tag":1944,"props":1971,"children":1972},{},[1973,1982,1991,2000],{"type":1873,"tag":1948,"props":1974,"children":1975},{},[1976],{"type":1873,"tag":1935,"props":1977,"children":1979},{"className":1978},[],[1980],{"type":1878,"value":1981},"OpBitCastArrayQCOM",{"type":1873,"tag":1948,"props":1983,"children":1984},{},[1985],{"type":1873,"tag":1935,"props":1986,"children":1988},{"className":1987},[],[1989],{"type":1878,"value":1990},"OpCompositeConstructCoopMatQCOM",{"type":1873,"tag":1948,"props":1992,"children":1993},{},[1994],{"type":1873,"tag":1935,"props":1995,"children":1997},{"className":1996},[],[1998],{"type":1878,"value":1999},"OpCompositeExtractCoopMatQCOM",{"type":1873,"tag":1948,"props":2001,"children":2002},{},[2003],{"type":1873,"tag":1935,"props":2004,"children":2006},{"className":2005},[],[2007],{"type":1878,"value":2008},"OpExtractSubArrayQCOM",{"type":1873,"tag":1874,"props":2010,"children":2011},{},[2012,2014,2020],{"type":1878,"value":2013},"This extension is compatible with the GLSL extension\n",{"type":1873,"tag":1935,"props":2015,"children":2017},{"className":2016},[],[2018],{"type":1878,"value":2019},"GLSL_QCOM_cooperative_matrix_conversion",{"type":1878,"value":1889},{"type":1873,"tag":1874,"props":2022,"children":2023},{},[2024,2026,2032,2034,2040],{"type":1878,"value":2025},"Unlike ",{"type":1873,"tag":1935,"props":2027,"children":2029},{"className":2028},[],[2030],{"type":1878,"value":2031},"GLSL_KHR_cooperative_matrix.txt",{"type":1878,"value":2033},", these instructions permit\nthe per-invocation vectors to be located in private memory. Allowing\n",{"type":1873,"tag":1881,"props":2035,"children":2037},{"href":2036},"/404#coopmatconv-examples",[2038],{"type":1878,"value":2039},"workflows",{"type":1878,"value":2041}," where shared memory staging\nis not required. These can also enable applications to write\nless vendor-dependent shaders, bypassing vendor required\nloading constraints and shuffling of data.",{"type":1873,"tag":2043,"props":2044,"children":2046},"h3",{"id":2045},"_opbitcastarrayqcom",[2047],{"type":1878,"value":1981},{"type":1873,"tag":1874,"props":2049,"children":2050},{},[2051,2056],{"type":1873,"tag":1935,"props":2052,"children":2054},{"className":2053},[],[2055],{"type":1878,"value":1981},{"type":1878,"value":2057}," can be used to perform a bit-cast conversion between\ncompatible one-dimensional arrays. The GLSL equivalent is:",{"type":1873,"tag":2059,"props":2060,"children":2065},"pre",{"className":2061,"code":2062,"language":2063,"meta":2064,"style":2064},"language-c shiki shiki-themes github-light-default github-dark-default","void bitcastQCOM(SrcTy srcArr[SrcLen], DstTy dstArr[DstLen]);\n","c","",[2066],{"type":1873,"tag":1935,"props":2067,"children":2068},{"__ignoreMap":2064},[2069],{"type":1873,"tag":2070,"props":2071,"children":2073},"span",{"class":2072,"line":10},"line",[2074,2080,2086,2092,2098,2103,2108],{"type":1873,"tag":2070,"props":2075,"children":2077},{"style":2076},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[2078],{"type":1878,"value":2079},"void",{"type":1873,"tag":2070,"props":2081,"children":2083},{"style":2082},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[2084],{"type":1878,"value":2085}," bitcastQCOM",{"type":1873,"tag":2070,"props":2087,"children":2089},{"style":2088},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[2090],{"type":1878,"value":2091},"(SrcTy ",{"type":1873,"tag":2070,"props":2093,"children":2095},{"style":2094},"--shiki-default:#953800;--shiki-dark:#FFA657",[2096],{"type":1878,"value":2097},"srcArr",{"type":1873,"tag":2070,"props":2099,"children":2100},{"style":2088},[2101],{"type":1878,"value":2102},"[SrcLen], DstTy ",{"type":1873,"tag":2070,"props":2104,"children":2105},{"style":2094},[2106],{"type":1878,"value":2107},"dstArr",{"type":1873,"tag":2070,"props":2109,"children":2110},{"style":2088},[2111],{"type":1878,"value":2112},"[DstLen]);\n",{"type":1873,"tag":1944,"props":2114,"children":2115},{},[2116,2121],{"type":1873,"tag":1948,"props":2117,"children":2118},{},[2119],{"type":1878,"value":2120},"The size in bytes of the source and destination arrays must be the same",{"type":1873,"tag":1948,"props":2122,"children":2123},{},[2124,2126,2132,2134,2140,2141,2147,2148],{"type":1878,"value":2125},"Valid types include ",{"type":1873,"tag":1935,"props":2127,"children":2129},{"className":2128},[],[2130],{"type":1878,"value":2131},"int32_t",{"type":1878,"value":2133},", ",{"type":1873,"tag":1935,"props":2135,"children":2137},{"className":2136},[],[2138],{"type":1878,"value":2139},"uint32_t",{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2142,"children":2144},{"className":2143},[],[2145],{"type":1878,"value":2146},"float32_t",{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":1878,"value":2153},"float16_t",{"type":1873,"tag":1874,"props":2155,"children":2156},{},[2157],{"type":1878,"value":2158},"Examples:",{"type":1873,"tag":2059,"props":2160,"children":2162},{"className":2061,"code":2161,"language":2063,"meta":2064,"style":2064},"uint32_t uvecA[8];\nfloat vecB[8];\nbitcastQCOM(vecB, uvecA);\n\nfloat16_t f16_vecB[16];\nbitcastQCOM(f16_vecB, uvecA);\n",[2163],{"type":1873,"tag":1935,"props":2164,"children":2165},{"__ignoreMap":2064},[2166,2194,2219,2232,2240,2265],{"type":1873,"tag":2070,"props":2167,"children":2168},{"class":2072,"line":10},[2169,2173,2178,2183,2189],{"type":1873,"tag":2070,"props":2170,"children":2171},{"style":2076},[2172],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":2174,"children":2175},{"style":2094},[2176],{"type":1878,"value":2177}," uvecA",{"type":1873,"tag":2070,"props":2179,"children":2180},{"style":2088},[2181],{"type":1878,"value":2182},"[",{"type":1873,"tag":2070,"props":2184,"children":2186},{"style":2185},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[2187],{"type":1878,"value":2188},"8",{"type":1873,"tag":2070,"props":2190,"children":2191},{"style":2088},[2192],{"type":1878,"value":2193},"];\n",{"type":1873,"tag":2070,"props":2195,"children":2196},{"class":2072,"line":14},[2197,2202,2207,2211,2215],{"type":1873,"tag":2070,"props":2198,"children":2199},{"style":2076},[2200],{"type":1878,"value":2201},"float",{"type":1873,"tag":2070,"props":2203,"children":2204},{"style":2094},[2205],{"type":1878,"value":2206}," vecB",{"type":1873,"tag":2070,"props":2208,"children":2209},{"style":2088},[2210],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":2212,"children":2213},{"style":2185},[2214],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":2216,"children":2217},{"style":2088},[2218],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":2220,"children":2221},{"class":2072,"line":18},[2222,2227],{"type":1873,"tag":2070,"props":2223,"children":2224},{"style":2082},[2225],{"type":1878,"value":2226},"bitcastQCOM",{"type":1873,"tag":2070,"props":2228,"children":2229},{"style":2088},[2230],{"type":1878,"value":2231},"(vecB, uvecA);\n",{"type":1873,"tag":2070,"props":2233,"children":2234},{"class":2072,"line":22},[2235],{"type":1873,"tag":2070,"props":2236,"children":2237},{"emptyLinePlaceholder":232},[2238],{"type":1878,"value":2239},"\n",{"type":1873,"tag":2070,"props":2241,"children":2242},{"class":2072,"line":26},[2243,2247,2252,2256,2261],{"type":1873,"tag":2070,"props":2244,"children":2245},{"style":2185},[2246],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":2248,"children":2249},{"style":2094},[2250],{"type":1878,"value":2251}," f16_vecB",{"type":1873,"tag":2070,"props":2253,"children":2254},{"style":2088},[2255],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":2257,"children":2258},{"style":2185},[2259],{"type":1878,"value":2260},"16",{"type":1873,"tag":2070,"props":2262,"children":2263},{"style":2088},[2264],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":2266,"children":2267},{"class":2072,"line":30},[2268,2272],{"type":1873,"tag":2070,"props":2269,"children":2270},{"style":2082},[2271],{"type":1878,"value":2226},{"type":1873,"tag":2070,"props":2273,"children":2274},{"style":2088},[2275],{"type":1878,"value":2276},"(f16_vecB, uvecA);\n",{"type":1873,"tag":2043,"props":2278,"children":2280},{"id":2279},"_opcompositeconstructcoopmatqcom",[2281],{"type":1878,"value":1990},{"type":1873,"tag":1874,"props":2283,"children":2284},{},[2285,2290],{"type":1873,"tag":1935,"props":2286,"children":2288},{"className":2287},[],[2289],{"type":1878,"value":1990},{"type":1878,"value":2291}," can be used to construct a cooperative matrix cooperatively\nusing a vector from each subgroup invocation. The GLSL equivalent is:",{"type":1873,"tag":2059,"props":2293,"children":2295},{"className":2061,"code":2294,"language":2063,"meta":2064,"style":2064},"void vectorToCoopmatQCOM(SrcEltTy vec[SrcVecLen], coopmat\u003CDstEltTy, gl_ScopeSubgroup, NumRows, NumCols, CoopMatUse> cm);\n",[2296],{"type":1873,"tag":1935,"props":2297,"children":2298},{"__ignoreMap":2064},[2299],{"type":1873,"tag":2070,"props":2300,"children":2301},{"class":2072,"line":10},[2302,2306,2311,2316,2321,2326,2331,2336,2341,2346],{"type":1873,"tag":2070,"props":2303,"children":2304},{"style":2076},[2305],{"type":1878,"value":2079},{"type":1873,"tag":2070,"props":2307,"children":2308},{"style":2082},[2309],{"type":1878,"value":2310}," vectorToCoopmatQCOM",{"type":1873,"tag":2070,"props":2312,"children":2313},{"style":2088},[2314],{"type":1878,"value":2315},"(SrcEltTy ",{"type":1873,"tag":2070,"props":2317,"children":2318},{"style":2094},[2319],{"type":1878,"value":2320},"vec",{"type":1873,"tag":2070,"props":2322,"children":2323},{"style":2088},[2324],{"type":1878,"value":2325},"[SrcVecLen], coopmat",{"type":1873,"tag":2070,"props":2327,"children":2328},{"style":2076},[2329],{"type":1878,"value":2330},"\u003C",{"type":1873,"tag":2070,"props":2332,"children":2333},{"style":2088},[2334],{"type":1878,"value":2335},"DstEltTy, gl_ScopeSubgroup, NumRows, NumCols, CoopMatUse",{"type":1873,"tag":2070,"props":2337,"children":2338},{"style":2076},[2339],{"type":1878,"value":2340},">",{"type":1873,"tag":2070,"props":2342,"children":2343},{"style":2094},[2344],{"type":1878,"value":2345}," cm",{"type":1873,"tag":2070,"props":2347,"children":2348},{"style":2088},[2349],{"type":1878,"value":2350},");\n",{"type":1873,"tag":1944,"props":2352,"children":2353},{},[2354],{"type":1873,"tag":1948,"props":2355,"children":2356},{},[2357,2363,2365,2371,2372,2378,2380],{"type":1873,"tag":1935,"props":2358,"children":2360},{"className":2359},[],[2361],{"type":1878,"value":2362},"CoopMatUse",{"type":1878,"value":2364}," determines the type of cooperative matrix and must be one of\n",{"type":1873,"tag":1935,"props":2366,"children":2368},{"className":2367},[],[2369],{"type":1878,"value":2370},"gl_MatrixUseA",{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2373,"children":2375},{"className":2374},[],[2376],{"type":1878,"value":2377},"gl_MatrixUseB",{"type":1878,"value":2379},", and ",{"type":1873,"tag":1935,"props":2381,"children":2383},{"className":2382},[],[2384],{"type":1878,"value":2385},"gl_MatrixUseAccumulator",{"type":1873,"tag":2387,"props":2388,"children":2390},"h4",{"id":2389},"_gl_matrixusea",[2391],{"type":1878,"value":2370},{"type":1873,"tag":1874,"props":2393,"children":2394},{},[2395,2397,2402,2404,2409,2411,2417,2419,2425,2427,2433],{"type":1878,"value":2396},"When ",{"type":1873,"tag":1935,"props":2398,"children":2400},{"className":2399},[],[2401],{"type":1878,"value":2362},{"type":1878,"value":2403}," type is ",{"type":1873,"tag":1935,"props":2405,"children":2407},{"className":2406},[],[2408],{"type":1878,"value":2370},{"type":1878,"value":2410},", the per-invocation vectors fill in the rows of the matrix, where\nthe vector for ",{"type":1873,"tag":1935,"props":2412,"children":2414},{"className":2413},[],[2415],{"type":1878,"value":2416},"gl_SubgroupInvocationID == i",{"type":1878,"value":2418}," fills in row ",{"type":1873,"tag":1935,"props":2420,"children":2422},{"className":2421},[],[2423],{"type":1878,"value":2424},"i",{"type":1878,"value":2426}," of the matrix. Vectors belonging to invocations in\nexcess of ",{"type":1873,"tag":1935,"props":2428,"children":2430},{"className":2429},[],[2431],{"type":1878,"value":2432},"NumRows",{"type":1878,"value":2434}," are ignored and not copied.",{"type":1873,"tag":1874,"props":2436,"children":2437},{},[2438,2440,2445,2447,2453,2455,2460,2461,2466,2467,2473,2474,2480],{"type":1878,"value":2439},"The matrix ",{"type":1873,"tag":1935,"props":2441,"children":2443},{"className":2442},[],[2444],{"type":1878,"value":2432},{"type":1878,"value":2446}," must be a constant less than or equal to the ",{"type":1873,"tag":1935,"props":2448,"children":2450},{"className":2449},[],[2451],{"type":1878,"value":2452},"gl_SubgroupSize",{"type":1878,"value":2454}," and have a length in bytes\nequal to 32. The permitted types of the matrix are ",{"type":1873,"tag":1935,"props":2456,"children":2458},{"className":2457},[],[2459],{"type":1878,"value":2146},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2462,"children":2464},{"className":2463},[],[2465],{"type":1878,"value":2153},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2468,"children":2470},{"className":2469},[],[2471],{"type":1878,"value":2472},"uint8_t",{"type":1878,"value":2379},{"type":1873,"tag":1935,"props":2475,"children":2477},{"className":2476},[],[2478],{"type":1878,"value":2479},"int8_t",{"type":1878,"value":1889},{"type":1873,"tag":1874,"props":2482,"children":2483},{},[2484,2486,2491,2493,2499],{"type":1878,"value":2485},"Both ",{"type":1873,"tag":1935,"props":2487,"children":2489},{"className":2488},[],[2490],{"type":1878,"value":2432},{"type":1878,"value":2492}," and ",{"type":1873,"tag":1935,"props":2494,"children":2496},{"className":2495},[],[2497],{"type":1878,"value":2498},"NumCols",{"type":1878,"value":2500}," are permitted to be specialization constants.",{"type":1873,"tag":1874,"props":2502,"children":2503},{},[2504,2506,2511],{"type":1878,"value":2505},"The source and destination element types must match with the length of the source vector equal to the number of\ncolumns ",{"type":1873,"tag":1935,"props":2507,"children":2509},{"className":2508},[],[2510],{"type":1878,"value":2498},{"type":1878,"value":2512}," of the cooperative matrix.",{"type":1873,"tag":1874,"props":2514,"children":2515},{},[2516,2518,2523,2525,2531,2533,2538],{"type":1878,"value":2517},"However, a special case is allowed where the source type is ",{"type":1873,"tag":1935,"props":2519,"children":2521},{"className":2520},[],[2522],{"type":1878,"value":2139},{"type":1878,"value":2524}," and length is 8, which defines an implicit\nbit cast to ",{"type":1873,"tag":1935,"props":2526,"children":2528},{"className":2527},[],[2529],{"type":1878,"value":2530},"DstEltTy",{"type":1878,"value":2532},". Applications may get better performance by packing source vector elements into\n",{"type":1873,"tag":1935,"props":2534,"children":2536},{"className":2535},[],[2537],{"type":1878,"value":2139},{"type":1878,"value":2539}," over the float16 and 8-bit integer types.",{"type":1873,"tag":2059,"props":2541,"children":2543},{"className":2061,"code":2542,"language":2063,"meta":2064,"style":2064},"coopmat\u003Cint8_t, gl_ScopeSubgroup, 64, 32, gl_MatrixUseA> si8_matA;\nint8_t sivec[32];\n\n// Load the 64 invocation vectors of int8[32] into each row of the 64x32 matrix\nvectorToCoopmatQCOM(sivec, si8_matA);\n\n// Alternative efficient packed upload case, with each element of uivec packed with 4 elements of matrix\nuint32_t uivec[8];\nvectorToCoopmatQCOM(uivec, si8_matA);\n",[2544],{"type":1873,"tag":1935,"props":2545,"children":2546},{"__ignoreMap":2064},[2547,2593,2617,2624,2633,2646,2653,2661,2685],{"type":1873,"tag":2070,"props":2548,"children":2549},{"class":2072,"line":10},[2550,2555,2560,2565,2570,2574,2579,2584,2588],{"type":1873,"tag":2070,"props":2551,"children":2552},{"style":2088},[2553],{"type":1878,"value":2554},"coopmat",{"type":1873,"tag":2070,"props":2556,"children":2557},{"style":2076},[2558],{"type":1878,"value":2559},"\u003Cint8_t",{"type":1873,"tag":2070,"props":2561,"children":2562},{"style":2088},[2563],{"type":1878,"value":2564},", gl_ScopeSubgroup, ",{"type":1873,"tag":2070,"props":2566,"children":2567},{"style":2185},[2568],{"type":1878,"value":2569},"64",{"type":1873,"tag":2070,"props":2571,"children":2572},{"style":2088},[2573],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":2575,"children":2576},{"style":2185},[2577],{"type":1878,"value":2578},"32",{"type":1873,"tag":2070,"props":2580,"children":2581},{"style":2088},[2582],{"type":1878,"value":2583},", gl_MatrixUseA",{"type":1873,"tag":2070,"props":2585,"children":2586},{"style":2076},[2587],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":2589,"children":2590},{"style":2088},[2591],{"type":1878,"value":2592}," si8_matA;\n",{"type":1873,"tag":2070,"props":2594,"children":2595},{"class":2072,"line":14},[2596,2600,2605,2609,2613],{"type":1873,"tag":2070,"props":2597,"children":2598},{"style":2076},[2599],{"type":1878,"value":2479},{"type":1873,"tag":2070,"props":2601,"children":2602},{"style":2094},[2603],{"type":1878,"value":2604}," sivec",{"type":1873,"tag":2070,"props":2606,"children":2607},{"style":2088},[2608],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":2610,"children":2611},{"style":2185},[2612],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":2614,"children":2615},{"style":2088},[2616],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":2618,"children":2619},{"class":2072,"line":18},[2620],{"type":1873,"tag":2070,"props":2621,"children":2622},{"emptyLinePlaceholder":232},[2623],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":2625,"children":2626},{"class":2072,"line":22},[2627],{"type":1873,"tag":2070,"props":2628,"children":2630},{"style":2629},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[2631],{"type":1878,"value":2632},"// Load the 64 invocation vectors of int8[32] into each row of the 64x32 matrix\n",{"type":1873,"tag":2070,"props":2634,"children":2635},{"class":2072,"line":26},[2636,2641],{"type":1873,"tag":2070,"props":2637,"children":2638},{"style":2082},[2639],{"type":1878,"value":2640},"vectorToCoopmatQCOM",{"type":1873,"tag":2070,"props":2642,"children":2643},{"style":2088},[2644],{"type":1878,"value":2645},"(sivec, si8_matA);\n",{"type":1873,"tag":2070,"props":2647,"children":2648},{"class":2072,"line":30},[2649],{"type":1873,"tag":2070,"props":2650,"children":2651},{"emptyLinePlaceholder":232},[2652],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":2654,"children":2655},{"class":2072,"line":34},[2656],{"type":1873,"tag":2070,"props":2657,"children":2658},{"style":2629},[2659],{"type":1878,"value":2660},"// Alternative efficient packed upload case, with each element of uivec packed with 4 elements of matrix\n",{"type":1873,"tag":2070,"props":2662,"children":2663},{"class":2072,"line":38},[2664,2668,2673,2677,2681],{"type":1873,"tag":2070,"props":2665,"children":2666},{"style":2076},[2667],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":2669,"children":2670},{"style":2094},[2671],{"type":1878,"value":2672}," uivec",{"type":1873,"tag":2070,"props":2674,"children":2675},{"style":2088},[2676],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":2678,"children":2679},{"style":2185},[2680],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":2682,"children":2683},{"style":2088},[2684],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":2686,"children":2687},{"class":2072,"line":42},[2688,2692],{"type":1873,"tag":2070,"props":2689,"children":2690},{"style":2082},[2691],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":2693,"children":2694},{"style":2088},[2695],{"type":1878,"value":2696},"(uivec, si8_matA);\n",{"type":1873,"tag":2387,"props":2698,"children":2700},{"id":2699},"_gl_matrixuseb",[2701],{"type":1878,"value":2377},{"type":1873,"tag":1874,"props":2703,"children":2704},{},[2705,2706,2711,2712,2717,2719,2724,2726,2731,2732,2737],{"type":1878,"value":2396},{"type":1873,"tag":1935,"props":2707,"children":2709},{"className":2708},[],[2710],{"type":1878,"value":2362},{"type":1878,"value":2403},{"type":1873,"tag":1935,"props":2713,"children":2715},{"className":2714},[],[2716],{"type":1878,"value":2377},{"type":1878,"value":2718},", it operates similar to ",{"type":1873,"tag":1935,"props":2720,"children":2722},{"className":2721},[],[2723],{"type":1878,"value":2370},{"type":1878,"value":2725}," except that the per-invocation\nvectors fill in the columns of the matrix. The rules are the same with ",{"type":1873,"tag":1935,"props":2727,"children":2729},{"className":2728},[],[2730],{"type":1878,"value":2432},{"type":1878,"value":2492},{"type":1873,"tag":1935,"props":2733,"children":2735},{"className":2734},[],[2736],{"type":1878,"value":2498},{"type":1878,"value":2738}," swapped.",{"type":1873,"tag":2059,"props":2740,"children":2742},{"className":2061,"code":2741,"language":2063,"meta":2064,"style":2064},"coopmat\u003Cfloat32_t, gl_ScopeSubgroup, 8, 64, gl_MatrixUseA> f32_matB;\nfloat32_t fvec[8];\n\n// Load the 64 invocation vectors of fp32[8] into each column of the 8x64 matrix\n// Fp32 is already efficiently packed, so packing into uint32 is not necessary\nvectorToCoopmatQCOM(fvec, f32_matB);\n",[2743],{"type":1873,"tag":1935,"props":2744,"children":2745},{"__ignoreMap":2064},[2746,2790,2814,2821,2829,2837],{"type":1873,"tag":2070,"props":2747,"children":2748},{"class":2072,"line":10},[2749,2753,2757,2761,2765,2769,2773,2777,2781,2785],{"type":1873,"tag":2070,"props":2750,"children":2751},{"style":2088},[2752],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":2754,"children":2755},{"style":2076},[2756],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":2758,"children":2759},{"style":2185},[2760],{"type":1878,"value":2146},{"type":1873,"tag":2070,"props":2762,"children":2763},{"style":2088},[2764],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":2766,"children":2767},{"style":2185},[2768],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":2770,"children":2771},{"style":2088},[2772],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":2774,"children":2775},{"style":2185},[2776],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":2778,"children":2779},{"style":2088},[2780],{"type":1878,"value":2583},{"type":1873,"tag":2070,"props":2782,"children":2783},{"style":2076},[2784],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":2786,"children":2787},{"style":2088},[2788],{"type":1878,"value":2789}," f32_matB;\n",{"type":1873,"tag":2070,"props":2791,"children":2792},{"class":2072,"line":14},[2793,2797,2802,2806,2810],{"type":1873,"tag":2070,"props":2794,"children":2795},{"style":2185},[2796],{"type":1878,"value":2146},{"type":1873,"tag":2070,"props":2798,"children":2799},{"style":2094},[2800],{"type":1878,"value":2801}," fvec",{"type":1873,"tag":2070,"props":2803,"children":2804},{"style":2088},[2805],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":2807,"children":2808},{"style":2185},[2809],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":2811,"children":2812},{"style":2088},[2813],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":2815,"children":2816},{"class":2072,"line":18},[2817],{"type":1873,"tag":2070,"props":2818,"children":2819},{"emptyLinePlaceholder":232},[2820],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":2822,"children":2823},{"class":2072,"line":22},[2824],{"type":1873,"tag":2070,"props":2825,"children":2826},{"style":2629},[2827],{"type":1878,"value":2828},"// Load the 64 invocation vectors of fp32[8] into each column of the 8x64 matrix\n",{"type":1873,"tag":2070,"props":2830,"children":2831},{"class":2072,"line":26},[2832],{"type":1873,"tag":2070,"props":2833,"children":2834},{"style":2629},[2835],{"type":1878,"value":2836},"// Fp32 is already efficiently packed, so packing into uint32 is not necessary\n",{"type":1873,"tag":2070,"props":2838,"children":2839},{"class":2072,"line":30},[2840,2844],{"type":1873,"tag":2070,"props":2841,"children":2842},{"style":2082},[2843],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":2845,"children":2846},{"style":2088},[2847],{"type":1878,"value":2848},"(fvec, f32_matB);\n",{"type":1873,"tag":2387,"props":2850,"children":2852},{"id":2851},"_gl_matrixuseaccumulator",[2853],{"type":1878,"value":2385},{"type":1873,"tag":1874,"props":2855,"children":2856},{},[2857,2858,2863,2864,2869,2870,2875],{"type":1878,"value":2396},{"type":1873,"tag":1935,"props":2859,"children":2861},{"className":2860},[],[2862],{"type":1878,"value":2362},{"type":1878,"value":2403},{"type":1873,"tag":1935,"props":2865,"children":2867},{"className":2866},[],[2868],{"type":1878,"value":2385},{"type":1878,"value":2718},{"type":1873,"tag":1935,"props":2871,"children":2873},{"className":2872},[],[2874],{"type":1878,"value":2370},{"type":1878,"value":2876}," except that\nthe constraints on the fields are different.",{"type":1873,"tag":1874,"props":2878,"children":2879},{},[2880,2882,2887,2888,2893,2895,2900,2902,2907,2908,2913,2914,2919,2920,2925],{"type":1878,"value":2881},"The rows of the matrix must be of length ",{"type":1873,"tag":1935,"props":2883,"children":2885},{"className":2884},[],[2886],{"type":1878,"value":2452},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2889,"children":2891},{"className":2890},[],[2892],{"type":1878,"value":2452},{"type":1878,"value":2894},"/2, or ",{"type":1873,"tag":1935,"props":2896,"children":2898},{"className":2897},[],[2899],{"type":1878,"value":2452},{"type":1878,"value":2901},"/4\nelements. The permitted types of the matrix are ",{"type":1873,"tag":1935,"props":2903,"children":2905},{"className":2904},[],[2906],{"type":1878,"value":2146},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2909,"children":2911},{"className":2910},[],[2912],{"type":1878,"value":2153},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":2915,"children":2917},{"className":2916},[],[2918],{"type":1878,"value":2139},{"type":1878,"value":2379},{"type":1873,"tag":1935,"props":2921,"children":2923},{"className":2922},[],[2924],{"type":1878,"value":2131},{"type":1878,"value":1889},{"type":1873,"tag":1874,"props":2927,"children":2928},{},[2929,2930,2935],{"type":1878,"value":2505},{"type":1873,"tag":1935,"props":2931,"children":2933},{"className":2932},[],[2934],{"type":1878,"value":2498},{"type":1878,"value":2512},{"type":1873,"tag":1874,"props":2937,"children":2938},{},[2939,2940,2945,2947,2952,2954,2959,2961,2966],{"type":1878,"value":2517},{"type":1873,"tag":1935,"props":2941,"children":2943},{"className":2942},[],[2944],{"type":1878,"value":2139},{"type":1878,"value":2946},", destination type is ",{"type":1873,"tag":1935,"props":2948,"children":2950},{"className":2949},[],[2951],{"type":1878,"value":2153},{"type":1878,"value":2953},",\nand length is ",{"type":1873,"tag":1935,"props":2955,"children":2957},{"className":2956},[],[2958],{"type":1878,"value":2498},{"type":1878,"value":2960},"/2, which defines an implicit bit cast. Applications may get better performance by\npacking source vector elements into ",{"type":1873,"tag":1935,"props":2962,"children":2964},{"className":2963},[],[2965],{"type":1878,"value":2139},{"type":1878,"value":2967}," over the float16 type.",{"type":1873,"tag":2059,"props":2969,"children":2971},{"className":2061,"code":2970,"language":2063,"meta":2064,"style":2064},"coopmat\u003Cfloat16_t, gl_ScopeSubgroup, 64, 32, gl_MatrixUseAccumulator> fp16_matAcc;\nfloat16_t fpvec[32];\n\n// Load the 64 invocation vectors of float16_t[32] into each row of the 64x32 matrix\nvectorToCoopmatQCOM(fpvec, fp16_matAcc);\n\n// Alternative efficient packed upload case, with each element of uivec packed with 2 elements of matrix\nuint32_t uivec[16];\nvectorToCoopmatQCOM(uivec, fp16_matAcc);\n",[2972],{"type":1873,"tag":1935,"props":2973,"children":2974},{"__ignoreMap":2064},[2975,3020,3044,3051,3059,3071,3078,3086,3109],{"type":1873,"tag":2070,"props":2976,"children":2977},{"class":2072,"line":10},[2978,2982,2986,2990,2994,2998,3002,3006,3011,3015],{"type":1873,"tag":2070,"props":2979,"children":2980},{"style":2088},[2981],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":2983,"children":2984},{"style":2076},[2985],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":2987,"children":2988},{"style":2185},[2989],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":2991,"children":2992},{"style":2088},[2993],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":2995,"children":2996},{"style":2185},[2997],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":2999,"children":3000},{"style":2088},[3001],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":3003,"children":3004},{"style":2185},[3005],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":3007,"children":3008},{"style":2088},[3009],{"type":1878,"value":3010},", gl_MatrixUseAccumulator",{"type":1873,"tag":2070,"props":3012,"children":3013},{"style":2076},[3014],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":3016,"children":3017},{"style":2088},[3018],{"type":1878,"value":3019}," fp16_matAcc;\n",{"type":1873,"tag":2070,"props":3021,"children":3022},{"class":2072,"line":14},[3023,3027,3032,3036,3040],{"type":1873,"tag":2070,"props":3024,"children":3025},{"style":2185},[3026],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":3028,"children":3029},{"style":2094},[3030],{"type":1878,"value":3031}," fpvec",{"type":1873,"tag":2070,"props":3033,"children":3034},{"style":2088},[3035],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":3037,"children":3038},{"style":2185},[3039],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":3041,"children":3042},{"style":2088},[3043],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":3045,"children":3046},{"class":2072,"line":18},[3047],{"type":1873,"tag":2070,"props":3048,"children":3049},{"emptyLinePlaceholder":232},[3050],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":3052,"children":3053},{"class":2072,"line":22},[3054],{"type":1873,"tag":2070,"props":3055,"children":3056},{"style":2629},[3057],{"type":1878,"value":3058},"// Load the 64 invocation vectors of float16_t[32] into each row of the 64x32 matrix\n",{"type":1873,"tag":2070,"props":3060,"children":3061},{"class":2072,"line":26},[3062,3066],{"type":1873,"tag":2070,"props":3063,"children":3064},{"style":2082},[3065],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":3067,"children":3068},{"style":2088},[3069],{"type":1878,"value":3070},"(fpvec, fp16_matAcc);\n",{"type":1873,"tag":2070,"props":3072,"children":3073},{"class":2072,"line":30},[3074],{"type":1873,"tag":2070,"props":3075,"children":3076},{"emptyLinePlaceholder":232},[3077],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":3079,"children":3080},{"class":2072,"line":34},[3081],{"type":1873,"tag":2070,"props":3082,"children":3083},{"style":2629},[3084],{"type":1878,"value":3085},"// Alternative efficient packed upload case, with each element of uivec packed with 2 elements of matrix\n",{"type":1873,"tag":2070,"props":3087,"children":3088},{"class":2072,"line":38},[3089,3093,3097,3101,3105],{"type":1873,"tag":2070,"props":3090,"children":3091},{"style":2076},[3092],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":3094,"children":3095},{"style":2094},[3096],{"type":1878,"value":2672},{"type":1873,"tag":2070,"props":3098,"children":3099},{"style":2088},[3100],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":3102,"children":3103},{"style":2185},[3104],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":3106,"children":3107},{"style":2088},[3108],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":3110,"children":3111},{"class":2072,"line":42},[3112,3116],{"type":1873,"tag":2070,"props":3113,"children":3114},{"style":2082},[3115],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":3117,"children":3118},{"style":2088},[3119],{"type":1878,"value":3120},"(uivec, fp16_matAcc);\n",{"type":1873,"tag":2043,"props":3122,"children":3124},{"id":3123},"_opcompositeextractcoopmatqcom",[3125],{"type":1878,"value":1999},{"type":1873,"tag":1874,"props":3127,"children":3128},{},[3129,3134],{"type":1873,"tag":1935,"props":3130,"children":3132},{"className":3131},[],[3133],{"type":1878,"value":1999},{"type":1878,"value":3135}," can be used to concurrently extract rows or columns from\na cooperative matrix into per-invocation vectors. The GLSL equivalent is:",{"type":1873,"tag":2059,"props":3137,"children":3139},{"className":2061,"code":3138,"language":2063,"meta":2064,"style":2064},"void coopmatToVectorQCOM(coopmat\u003CSrcEltTy, gl_ScopeSubgroup, NumRows, NumCols, CoopMatUse> cm, DstEltTy vec[DstVecLen]);\n",[3140],{"type":1873,"tag":1935,"props":3141,"children":3142},{"__ignoreMap":2064},[3143],{"type":1873,"tag":2070,"props":3144,"children":3145},{"class":2072,"line":10},[3146,3150,3155,3160,3164,3169,3173,3177,3182,3186],{"type":1873,"tag":2070,"props":3147,"children":3148},{"style":2076},[3149],{"type":1878,"value":2079},{"type":1873,"tag":2070,"props":3151,"children":3152},{"style":2082},[3153],{"type":1878,"value":3154}," coopmatToVectorQCOM",{"type":1873,"tag":2070,"props":3156,"children":3157},{"style":2088},[3158],{"type":1878,"value":3159},"(coopmat",{"type":1873,"tag":2070,"props":3161,"children":3162},{"style":2076},[3163],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":3165,"children":3166},{"style":2088},[3167],{"type":1878,"value":3168},"SrcEltTy, gl_ScopeSubgroup, NumRows, NumCols, CoopMatUse",{"type":1873,"tag":2070,"props":3170,"children":3171},{"style":2076},[3172],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":3174,"children":3175},{"style":2094},[3176],{"type":1878,"value":2345},{"type":1873,"tag":2070,"props":3178,"children":3179},{"style":2088},[3180],{"type":1878,"value":3181},", DstEltTy ",{"type":1873,"tag":2070,"props":3183,"children":3184},{"style":2094},[3185],{"type":1878,"value":2320},{"type":1873,"tag":2070,"props":3187,"children":3188},{"style":2088},[3189],{"type":1878,"value":3190},"[DstVecLen]);\n",{"type":1873,"tag":1874,"props":3192,"children":3193},{},[3194,3196,3201],{"type":1878,"value":3195},"This performs the inverse operation of ",{"type":1873,"tag":1935,"props":3197,"children":3199},{"className":3198},[],[3200],{"type":1878,"value":1990},{"type":1878,"value":1889},{"type":1873,"tag":2043,"props":3203,"children":3205},{"id":3204},"_opextractsubarrayqcom",[3206],{"type":1878,"value":2008},{"type":1873,"tag":1874,"props":3208,"children":3209},{},[3210,3215],{"type":1873,"tag":1935,"props":3211,"children":3213},{"className":3212},[],[3214],{"type":1878,"value":2008},{"type":1878,"value":3216}," can be used to slice an array into a sub-array. The GLSL equivalent is:",{"type":1873,"tag":2059,"props":3218,"children":3220},{"className":2061,"code":3219,"language":2063,"meta":2064,"style":2064},"void extractSubArrayQCOM(EltTy srcArr[SrcLen], int start_index, EltTy dstArr[DstLen]);\n",[3221],{"type":1873,"tag":1935,"props":3222,"children":3223},{"__ignoreMap":2064},[3224],{"type":1873,"tag":2070,"props":3225,"children":3226},{"class":2072,"line":10},[3227,3231,3236,3241,3245,3250,3255,3260,3265,3269],{"type":1873,"tag":2070,"props":3228,"children":3229},{"style":2076},[3230],{"type":1878,"value":2079},{"type":1873,"tag":2070,"props":3232,"children":3233},{"style":2082},[3234],{"type":1878,"value":3235}," extractSubArrayQCOM",{"type":1873,"tag":2070,"props":3237,"children":3238},{"style":2088},[3239],{"type":1878,"value":3240},"(EltTy ",{"type":1873,"tag":2070,"props":3242,"children":3243},{"style":2094},[3244],{"type":1878,"value":2097},{"type":1873,"tag":2070,"props":3246,"children":3247},{"style":2088},[3248],{"type":1878,"value":3249},"[SrcLen], ",{"type":1873,"tag":2070,"props":3251,"children":3252},{"style":2076},[3253],{"type":1878,"value":3254},"int",{"type":1873,"tag":2070,"props":3256,"children":3257},{"style":2094},[3258],{"type":1878,"value":3259}," start_index",{"type":1873,"tag":2070,"props":3261,"children":3262},{"style":2088},[3263],{"type":1878,"value":3264},", EltTy ",{"type":1873,"tag":2070,"props":3266,"children":3267},{"style":2094},[3268],{"type":1878,"value":2107},{"type":1873,"tag":2070,"props":3270,"children":3271},{"style":2088},[3272],{"type":1878,"value":2112},{"type":1873,"tag":1874,"props":3274,"children":3275},{},[3276,3278,3284,3286,3291,3293,3299,3301,3306],{"type":1878,"value":3277},"Copies ",{"type":1873,"tag":1935,"props":3279,"children":3281},{"className":3280},[],[3282],{"type":1878,"value":3283},"DstLen",{"type":1878,"value":3285}," elements from ",{"type":1873,"tag":1935,"props":3287,"children":3289},{"className":3288},[],[3290],{"type":1878,"value":2097},{"type":1878,"value":3292}," starting at ",{"type":1873,"tag":1935,"props":3294,"children":3296},{"className":3295},[],[3297],{"type":1878,"value":3298},"start_index",{"type":1878,"value":3300}," into ",{"type":1873,"tag":1935,"props":3302,"children":3304},{"className":3303},[],[3305],{"type":1878,"value":2107},{"type":1878,"value":1889},{"type":1873,"tag":1944,"props":3308,"children":3309},{},[3310,3345,3350,3375,3391],{"type":1873,"tag":1948,"props":3311,"children":3312},{},[3313,3319,3321,3326,3327,3332,3333,3338,3340],{"type":1873,"tag":1935,"props":3314,"children":3316},{"className":3315},[],[3317],{"type":1878,"value":3318},"EltTy",{"type":1878,"value":3320}," must be one of ",{"type":1873,"tag":1935,"props":3322,"children":3324},{"className":3323},[],[3325],{"type":1878,"value":2139},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":3328,"children":3330},{"className":3329},[],[3331],{"type":1878,"value":2131},{"type":1878,"value":2133},{"type":1873,"tag":1935,"props":3334,"children":3336},{"className":3335},[],[3337],{"type":1878,"value":2146},{"type":1878,"value":3339},", or ",{"type":1873,"tag":1935,"props":3341,"children":3343},{"className":3342},[],[3344],{"type":1878,"value":2153},{"type":1873,"tag":1948,"props":3346,"children":3347},{},[3348],{"type":1878,"value":3349},"App must not specify a copy region out of bounds of the source array",{"type":1873,"tag":1948,"props":3351,"children":3352},{},[3353,3359,3361,3367,3369],{"type":1873,"tag":1935,"props":3354,"children":3356},{"className":3355},[],[3357],{"type":1878,"value":3358},"SrcLen",{"type":1878,"value":3360}," must be equal to an enumerated ",{"type":1873,"tag":1935,"props":3362,"children":3364},{"className":3363},[],[3365],{"type":1878,"value":3366},"VkCooperativeMatrixPropertiesKHR",{"type":1878,"value":3368},"::`NSize` with ",{"type":1873,"tag":1935,"props":3370,"children":3372},{"className":3371},[],[3373],{"type":1878,"value":3374},"vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR",{"type":1873,"tag":1948,"props":3376,"children":3377},{},[3378,3383,3384,3389],{"type":1873,"tag":1935,"props":3379,"children":3381},{"className":3380},[],[3382],{"type":1878,"value":3283},{"type":1878,"value":3360},{"type":1873,"tag":1935,"props":3385,"children":3387},{"className":3386},[],[3388],{"type":1878,"value":3366},{"type":1878,"value":3390},"::`KSize`",{"type":1873,"tag":1948,"props":3392,"children":3393},{},[3394,3399,3401,3406],{"type":1873,"tag":1935,"props":3395,"children":3397},{"className":3396},[],[3398],{"type":1878,"value":3298},{"type":1878,"value":3400}," must be a multiple an enumerated ",{"type":1873,"tag":1935,"props":3402,"children":3404},{"className":3403},[],[3405],{"type":1878,"value":3366},{"type":1878,"value":3390},{"type":1873,"tag":1874,"props":3408,"children":3409},{},[3410,3412,3418,3419,3425,3427,3432,3434,3439,3441,3446,3447,3452,3454,3459],{"type":1878,"value":3411},"The ",{"type":1873,"tag":1935,"props":3413,"children":3415},{"className":3414},[],[3416],{"type":1878,"value":3417},"NSize",{"type":1878,"value":2492},{"type":1873,"tag":1935,"props":3420,"children":3422},{"className":3421},[],[3423],{"type":1878,"value":3424},"KSize",{"type":1878,"value":3426}," requirements do not need to be from the same enumerated ",{"type":1873,"tag":1935,"props":3428,"children":3430},{"className":3429},[],[3431],{"type":1878,"value":3366},{"type":1878,"value":3433}," structure,\nbut the ",{"type":1873,"tag":1935,"props":3435,"children":3437},{"className":3436},[],[3438],{"type":1878,"value":3424},{"type":1878,"value":3440}," requirements for the ",{"type":1873,"tag":1935,"props":3442,"children":3444},{"className":3443},[],[3445],{"type":1878,"value":3283},{"type":1878,"value":2492},{"type":1873,"tag":1935,"props":3448,"children":3450},{"className":3449},[],[3451],{"type":1878,"value":3298},{"type":1878,"value":3453}," must be the same ",{"type":1873,"tag":1935,"props":3455,"children":3457},{"className":3456},[],[3458],{"type":1878,"value":3424},{"type":1878,"value":1889},{"type":1873,"tag":2059,"props":3461,"children":3463},{"className":2061,"code":3462,"language":2063,"meta":2064,"style":2064},"float32_t uvecAcc[32];\nfloat32_t uvecA[8];\nextractSubArrayQCOM(uvecAcc, 3, uvecA);\n…\nextractSubArrayQCOM(uvecAcc, 24, uvecA);\n",[3464],{"type":1873,"tag":1935,"props":3465,"children":3466},{"__ignoreMap":2064},[3467,3491,3514,3537,3545],{"type":1873,"tag":2070,"props":3468,"children":3469},{"class":2072,"line":10},[3470,3474,3479,3483,3487],{"type":1873,"tag":2070,"props":3471,"children":3472},{"style":2185},[3473],{"type":1878,"value":2146},{"type":1873,"tag":2070,"props":3475,"children":3476},{"style":2094},[3477],{"type":1878,"value":3478}," uvecAcc",{"type":1873,"tag":2070,"props":3480,"children":3481},{"style":2088},[3482],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":3484,"children":3485},{"style":2185},[3486],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":3488,"children":3489},{"style":2088},[3490],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":3492,"children":3493},{"class":2072,"line":14},[3494,3498,3502,3506,3510],{"type":1873,"tag":2070,"props":3495,"children":3496},{"style":2185},[3497],{"type":1878,"value":2146},{"type":1873,"tag":2070,"props":3499,"children":3500},{"style":2094},[3501],{"type":1878,"value":2177},{"type":1873,"tag":2070,"props":3503,"children":3504},{"style":2088},[3505],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":3507,"children":3508},{"style":2185},[3509],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":3511,"children":3512},{"style":2088},[3513],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":3515,"children":3516},{"class":2072,"line":18},[3517,3522,3527,3532],{"type":1873,"tag":2070,"props":3518,"children":3519},{"style":2082},[3520],{"type":1878,"value":3521},"extractSubArrayQCOM",{"type":1873,"tag":2070,"props":3523,"children":3524},{"style":2088},[3525],{"type":1878,"value":3526},"(uvecAcc, ",{"type":1873,"tag":2070,"props":3528,"children":3529},{"style":2185},[3530],{"type":1878,"value":3531},"3",{"type":1873,"tag":2070,"props":3533,"children":3534},{"style":2088},[3535],{"type":1878,"value":3536},", uvecA);\n",{"type":1873,"tag":2070,"props":3538,"children":3539},{"class":2072,"line":22},[3540],{"type":1873,"tag":2070,"props":3541,"children":3542},{"style":2088},[3543],{"type":1878,"value":3544},"…\n",{"type":1873,"tag":2070,"props":3546,"children":3547},{"class":2072,"line":26},[3548,3552,3556,3561],{"type":1873,"tag":2070,"props":3549,"children":3550},{"style":2082},[3551],{"type":1878,"value":3521},{"type":1873,"tag":2070,"props":3553,"children":3554},{"style":2088},[3555],{"type":1878,"value":3526},{"type":1873,"tag":2070,"props":3557,"children":3558},{"style":2185},[3559],{"type":1878,"value":3560},"24",{"type":1873,"tag":2070,"props":3562,"children":3563},{"style":2088},[3564],{"type":1878,"value":3536},{"type":1873,"tag":2043,"props":3566,"children":3568},{"id":3567},"_features",[3569],{"type":1878,"value":211},{"type":1873,"tag":1874,"props":3571,"children":3572},{},[3573],{"type":1878,"value":3574},"The following feature structure is proposed:",{"type":1873,"tag":2059,"props":3576,"children":3578},{"className":2061,"code":3577,"language":2063,"meta":2064,"style":2064},"typedef struct VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {\n VkStructureType sType;\n void* pNext;\n VkBool32 cooperativeMatrixConversion;\n} VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM;\n",[3579],{"type":1873,"tag":1935,"props":3580,"children":3581},{"__ignoreMap":2064},[3582,3600,3608,3621,3629],{"type":1873,"tag":2070,"props":3583,"children":3584},{"class":2072,"line":10},[3585,3590,3595],{"type":1873,"tag":2070,"props":3586,"children":3587},{"style":2076},[3588],{"type":1878,"value":3589},"typedef",{"type":1873,"tag":2070,"props":3591,"children":3592},{"style":2076},[3593],{"type":1878,"value":3594}," struct",{"type":1873,"tag":2070,"props":3596,"children":3597},{"style":2088},[3598],{"type":1878,"value":3599}," VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM {\n",{"type":1873,"tag":2070,"props":3601,"children":3602},{"class":2072,"line":14},[3603],{"type":1873,"tag":2070,"props":3604,"children":3605},{"style":2088},[3606],{"type":1878,"value":3607}," VkStructureType sType;\n",{"type":1873,"tag":2070,"props":3609,"children":3610},{"class":2072,"line":18},[3611,3616],{"type":1873,"tag":2070,"props":3612,"children":3613},{"style":2076},[3614],{"type":1878,"value":3615}," void*",{"type":1873,"tag":2070,"props":3617,"children":3618},{"style":2088},[3619],{"type":1878,"value":3620}," pNext;\n",{"type":1873,"tag":2070,"props":3622,"children":3623},{"class":2072,"line":22},[3624],{"type":1873,"tag":2070,"props":3625,"children":3626},{"style":2088},[3627],{"type":1878,"value":3628}," VkBool32 cooperativeMatrixConversion;\n",{"type":1873,"tag":2070,"props":3630,"children":3631},{"class":2072,"line":26},[3632],{"type":1873,"tag":2070,"props":3633,"children":3634},{"style":2088},[3635],{"type":1878,"value":3636},"} VkPhysicalDeviceCooperativeMatrixConversionFeaturesQCOM;\n",{"type":1873,"tag":1944,"props":3638,"children":3639},{},[3640],{"type":1873,"tag":1948,"props":3641,"children":3642},{},[3643,3649,3651,3656],{"type":1873,"tag":1935,"props":3644,"children":3646},{"className":3645},[],[3647],{"type":1878,"value":3648},"cooperativeMatrixConversion",{"type":1878,"value":3650}," allows shaders to define the ",{"type":1873,"tag":1935,"props":3652,"children":3654},{"className":3653},[],[3655],{"type":1878,"value":1964},{"type":1878,"value":3657},"\ncapability",{"type":1873,"tag":1891,"props":3659,"children":3661},{"id":3660},"coopmatconv-examples",[3662],{"type":1878,"value":3663},"Examples",{"type":1873,"tag":2043,"props":3665,"children":3667},{"id":3666},"_convolution",[3668],{"type":1878,"value":3669},"Convolution",{"type":1873,"tag":1874,"props":3671,"children":3672},{},[3673],{"type":1878,"value":3674},"Uses the implicit im2col technique with a NHWC tensor:",{"type":1873,"tag":2059,"props":3676,"children":3678},{"className":2061,"code":3677,"language":2063,"meta":2064,"style":2064},"for (uint32_t step = 0; step \u003C TOTAL_K; step += TILE_K)\n{\n uint32_t subMatrixBStartInElements = col * FILTER_H * FILTER_W * strideBinElements + step;\n for (uint32_t filter_row = 0; filter_row \u003C FILTER_H; filter_row++)\n for (uint32_t filter_col = 0; filter_col \u003C FILTER_W; filter_col++)\n {\n // load matB input data using coop_mat extension\n coopmat\u003Cfloat, gl_ScopeSubgroup, TILE_K, TILE_N, gl_MatrixUseB> matB;\n coopMatLoad(matB, inputB, subMatrixBStartInElements, FILTER_H * FILTER_W * strideBinElements, LAYOUT_K_FIRST);\n\n // load vecA input data as vectors using regular vector load\n float vecA[TILE_K];\n uint32_t input_row = STRIDE * out_row + DILATION * (filter_row - FILTER_H/2);\n uint32_t input_col = STRIDE * out_col + DILATION * (filter_col - FILTER_W/2);\n for (int i=0; i\u003CTILE_K; i++)\n vecA[i] = inputA[(input_row * INPUT_W + input_col) * strideAinElements + step + i];\n\n // zero fill vecA vector data for out of boundary cases\n if ((input_row \u003C 0) || (input_row >= INPUT_H) || (input_col \u003C 0) || (input_col >= INPUT_W))\n for (int i=0; i\u003CTILE_K; i++) vecA[i] = float(0);\n\n // convert vecA to matA and perform matrix multiplication\n coopmat\u003Cfloat, gl_ScopeSubgroup, TILE_M, TILE_K, gl_MatrixUseA> matA;\n vectorToCoopmatQCOM(vecA, matA);\n matC = coopMatMulAdd(matA, matB, matC);\n\n subMatrixBStartInElements += strideBinElements;\n }\n}\n",[3679],{"type":1873,"tag":1935,"props":3680,"children":3681},{"__ignoreMap":2064},[3682,3738,3746,3806,3859,3910,3918,3926,3953,3983,3990,3998,4016,4089,4156,4208,4279,4286,4294,4378,4457,4464,4472,4497,4510,4532,4539,4556,4564],{"type":1873,"tag":2070,"props":3683,"children":3684},{"class":2072,"line":10},[3685,3690,3695,3699,3704,3709,3714,3719,3723,3728,3733],{"type":1873,"tag":2070,"props":3686,"children":3687},{"style":2076},[3688],{"type":1878,"value":3689},"for",{"type":1873,"tag":2070,"props":3691,"children":3692},{"style":2088},[3693],{"type":1878,"value":3694}," (",{"type":1873,"tag":2070,"props":3696,"children":3697},{"style":2076},[3698],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":3700,"children":3701},{"style":2088},[3702],{"type":1878,"value":3703}," step ",{"type":1873,"tag":2070,"props":3705,"children":3706},{"style":2076},[3707],{"type":1878,"value":3708},"=",{"type":1873,"tag":2070,"props":3710,"children":3711},{"style":2185},[3712],{"type":1878,"value":3713}," 0",{"type":1873,"tag":2070,"props":3715,"children":3716},{"style":2088},[3717],{"type":1878,"value":3718},"; step ",{"type":1873,"tag":2070,"props":3720,"children":3721},{"style":2076},[3722],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":3724,"children":3725},{"style":2088},[3726],{"type":1878,"value":3727}," TOTAL_K; step ",{"type":1873,"tag":2070,"props":3729,"children":3730},{"style":2076},[3731],{"type":1878,"value":3732},"+=",{"type":1873,"tag":2070,"props":3734,"children":3735},{"style":2088},[3736],{"type":1878,"value":3737}," TILE_K)\n",{"type":1873,"tag":2070,"props":3739,"children":3740},{"class":2072,"line":14},[3741],{"type":1873,"tag":2070,"props":3742,"children":3743},{"style":2088},[3744],{"type":1878,"value":3745},"{\n",{"type":1873,"tag":2070,"props":3747,"children":3748},{"class":2072,"line":18},[3749,3754,3759,3763,3768,3773,3778,3782,3787,3791,3796,3801],{"type":1873,"tag":2070,"props":3750,"children":3751},{"style":2076},[3752],{"type":1878,"value":3753}," uint32_t",{"type":1873,"tag":2070,"props":3755,"children":3756},{"style":2088},[3757],{"type":1878,"value":3758}," subMatrixBStartInElements ",{"type":1873,"tag":2070,"props":3760,"children":3761},{"style":2076},[3762],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":3764,"children":3765},{"style":2088},[3766],{"type":1878,"value":3767}," col ",{"type":1873,"tag":2070,"props":3769,"children":3770},{"style":2076},[3771],{"type":1878,"value":3772},"*",{"type":1873,"tag":2070,"props":3774,"children":3775},{"style":2088},[3776],{"type":1878,"value":3777}," FILTER_H ",{"type":1873,"tag":2070,"props":3779,"children":3780},{"style":2076},[3781],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":3783,"children":3784},{"style":2088},[3785],{"type":1878,"value":3786}," FILTER_W ",{"type":1873,"tag":2070,"props":3788,"children":3789},{"style":2076},[3790],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":3792,"children":3793},{"style":2088},[3794],{"type":1878,"value":3795}," strideBinElements ",{"type":1873,"tag":2070,"props":3797,"children":3798},{"style":2076},[3799],{"type":1878,"value":3800},"+",{"type":1873,"tag":2070,"props":3802,"children":3803},{"style":2088},[3804],{"type":1878,"value":3805}," step;\n",{"type":1873,"tag":2070,"props":3807,"children":3808},{"class":2072,"line":22},[3809,3814,3818,3822,3827,3831,3835,3840,3844,3849,3854],{"type":1873,"tag":2070,"props":3810,"children":3811},{"style":2076},[3812],{"type":1878,"value":3813}," for",{"type":1873,"tag":2070,"props":3815,"children":3816},{"style":2088},[3817],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":3819,"children":3820},{"style":2076},[3821],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":3823,"children":3824},{"style":2088},[3825],{"type":1878,"value":3826}," filter_row ",{"type":1873,"tag":2070,"props":3828,"children":3829},{"style":2076},[3830],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":3832,"children":3833},{"style":2185},[3834],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":3836,"children":3837},{"style":2088},[3838],{"type":1878,"value":3839},"; filter_row ",{"type":1873,"tag":2070,"props":3841,"children":3842},{"style":2076},[3843],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":3845,"children":3846},{"style":2088},[3847],{"type":1878,"value":3848}," FILTER_H; filter_row",{"type":1873,"tag":2070,"props":3850,"children":3851},{"style":2076},[3852],{"type":1878,"value":3853},"++",{"type":1873,"tag":2070,"props":3855,"children":3856},{"style":2088},[3857],{"type":1878,"value":3858},")\n",{"type":1873,"tag":2070,"props":3860,"children":3861},{"class":2072,"line":26},[3862,3867,3871,3875,3880,3884,3888,3893,3897,3902,3906],{"type":1873,"tag":2070,"props":3863,"children":3864},{"style":2076},[3865],{"type":1878,"value":3866}," for",{"type":1873,"tag":2070,"props":3868,"children":3869},{"style":2088},[3870],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":3872,"children":3873},{"style":2076},[3874],{"type":1878,"value":2139},{"type":1873,"tag":2070,"props":3876,"children":3877},{"style":2088},[3878],{"type":1878,"value":3879}," filter_col ",{"type":1873,"tag":2070,"props":3881,"children":3882},{"style":2076},[3883],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":3885,"children":3886},{"style":2185},[3887],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":3889,"children":3890},{"style":2088},[3891],{"type":1878,"value":3892},"; filter_col ",{"type":1873,"tag":2070,"props":3894,"children":3895},{"style":2076},[3896],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":3898,"children":3899},{"style":2088},[3900],{"type":1878,"value":3901}," FILTER_W; filter_col",{"type":1873,"tag":2070,"props":3903,"children":3904},{"style":2076},[3905],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":3907,"children":3908},{"style":2088},[3909],{"type":1878,"value":3858},{"type":1873,"tag":2070,"props":3911,"children":3912},{"class":2072,"line":30},[3913],{"type":1873,"tag":2070,"props":3914,"children":3915},{"style":2088},[3916],{"type":1878,"value":3917}," {\n",{"type":1873,"tag":2070,"props":3919,"children":3920},{"class":2072,"line":34},[3921],{"type":1873,"tag":2070,"props":3922,"children":3923},{"style":2629},[3924],{"type":1878,"value":3925}," // load matB input data using coop_mat extension\n",{"type":1873,"tag":2070,"props":3927,"children":3928},{"class":2072,"line":38},[3929,3934,3939,3944,3948],{"type":1873,"tag":2070,"props":3930,"children":3931},{"style":2088},[3932],{"type":1878,"value":3933}," coopmat",{"type":1873,"tag":2070,"props":3935,"children":3936},{"style":2076},[3937],{"type":1878,"value":3938},"\u003Cfloat",{"type":1873,"tag":2070,"props":3940,"children":3941},{"style":2088},[3942],{"type":1878,"value":3943},", gl_ScopeSubgroup, TILE_K, TILE_N, gl_MatrixUseB",{"type":1873,"tag":2070,"props":3945,"children":3946},{"style":2076},[3947],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":3949,"children":3950},{"style":2088},[3951],{"type":1878,"value":3952}," matB;\n",{"type":1873,"tag":2070,"props":3954,"children":3955},{"class":2072,"line":42},[3956,3961,3966,3970,3974,3978],{"type":1873,"tag":2070,"props":3957,"children":3958},{"style":2082},[3959],{"type":1878,"value":3960}," coopMatLoad",{"type":1873,"tag":2070,"props":3962,"children":3963},{"style":2088},[3964],{"type":1878,"value":3965},"(matB, inputB, subMatrixBStartInElements, FILTER_H ",{"type":1873,"tag":2070,"props":3967,"children":3968},{"style":2076},[3969],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":3971,"children":3972},{"style":2088},[3973],{"type":1878,"value":3786},{"type":1873,"tag":2070,"props":3975,"children":3976},{"style":2076},[3977],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":3979,"children":3980},{"style":2088},[3981],{"type":1878,"value":3982}," strideBinElements, LAYOUT_K_FIRST);\n",{"type":1873,"tag":2070,"props":3984,"children":3985},{"class":2072,"line":46},[3986],{"type":1873,"tag":2070,"props":3987,"children":3988},{"emptyLinePlaceholder":232},[3989],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":3991,"children":3992},{"class":2072,"line":50},[3993],{"type":1873,"tag":2070,"props":3994,"children":3995},{"style":2629},[3996],{"type":1878,"value":3997}," // load vecA input data as vectors using regular vector load\n",{"type":1873,"tag":2070,"props":3999,"children":4000},{"class":2072,"line":54},[4001,4006,4011],{"type":1873,"tag":2070,"props":4002,"children":4003},{"style":2076},[4004],{"type":1878,"value":4005}," float",{"type":1873,"tag":2070,"props":4007,"children":4008},{"style":2094},[4009],{"type":1878,"value":4010}," vecA",{"type":1873,"tag":2070,"props":4012,"children":4013},{"style":2088},[4014],{"type":1878,"value":4015},"[TILE_K];\n",{"type":1873,"tag":2070,"props":4017,"children":4018},{"class":2072,"line":58},[4019,4024,4029,4033,4038,4042,4047,4051,4056,4060,4065,4070,4075,4080,4085],{"type":1873,"tag":2070,"props":4020,"children":4021},{"style":2076},[4022],{"type":1878,"value":4023}," uint32_t",{"type":1873,"tag":2070,"props":4025,"children":4026},{"style":2088},[4027],{"type":1878,"value":4028}," input_row ",{"type":1873,"tag":2070,"props":4030,"children":4031},{"style":2076},[4032],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4034,"children":4035},{"style":2088},[4036],{"type":1878,"value":4037}," STRIDE ",{"type":1873,"tag":2070,"props":4039,"children":4040},{"style":2076},[4041],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4043,"children":4044},{"style":2088},[4045],{"type":1878,"value":4046}," out_row ",{"type":1873,"tag":2070,"props":4048,"children":4049},{"style":2076},[4050],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":4052,"children":4053},{"style":2088},[4054],{"type":1878,"value":4055}," DILATION ",{"type":1873,"tag":2070,"props":4057,"children":4058},{"style":2076},[4059],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4061,"children":4062},{"style":2088},[4063],{"type":1878,"value":4064}," (filter_row ",{"type":1873,"tag":2070,"props":4066,"children":4067},{"style":2076},[4068],{"type":1878,"value":4069},"-",{"type":1873,"tag":2070,"props":4071,"children":4072},{"style":2088},[4073],{"type":1878,"value":4074}," FILTER_H",{"type":1873,"tag":2070,"props":4076,"children":4077},{"style":2076},[4078],{"type":1878,"value":4079},"/",{"type":1873,"tag":2070,"props":4081,"children":4082},{"style":2185},[4083],{"type":1878,"value":4084},"2",{"type":1873,"tag":2070,"props":4086,"children":4087},{"style":2088},[4088],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":4090,"children":4091},{"class":2072,"line":62},[4092,4096,4101,4105,4109,4113,4118,4122,4126,4130,4135,4139,4144,4148,4152],{"type":1873,"tag":2070,"props":4093,"children":4094},{"style":2076},[4095],{"type":1878,"value":4023},{"type":1873,"tag":2070,"props":4097,"children":4098},{"style":2088},[4099],{"type":1878,"value":4100}," input_col ",{"type":1873,"tag":2070,"props":4102,"children":4103},{"style":2076},[4104],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4106,"children":4107},{"style":2088},[4108],{"type":1878,"value":4037},{"type":1873,"tag":2070,"props":4110,"children":4111},{"style":2076},[4112],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4114,"children":4115},{"style":2088},[4116],{"type":1878,"value":4117}," out_col ",{"type":1873,"tag":2070,"props":4119,"children":4120},{"style":2076},[4121],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":4123,"children":4124},{"style":2088},[4125],{"type":1878,"value":4055},{"type":1873,"tag":2070,"props":4127,"children":4128},{"style":2076},[4129],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4131,"children":4132},{"style":2088},[4133],{"type":1878,"value":4134}," (filter_col ",{"type":1873,"tag":2070,"props":4136,"children":4137},{"style":2076},[4138],{"type":1878,"value":4069},{"type":1873,"tag":2070,"props":4140,"children":4141},{"style":2088},[4142],{"type":1878,"value":4143}," FILTER_W",{"type":1873,"tag":2070,"props":4145,"children":4146},{"style":2076},[4147],{"type":1878,"value":4079},{"type":1873,"tag":2070,"props":4149,"children":4150},{"style":2185},[4151],{"type":1878,"value":4084},{"type":1873,"tag":2070,"props":4153,"children":4154},{"style":2088},[4155],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":4157,"children":4158},{"class":2072,"line":66},[4159,4164,4168,4172,4177,4181,4186,4191,4195,4200,4204],{"type":1873,"tag":2070,"props":4160,"children":4161},{"style":2076},[4162],{"type":1878,"value":4163}," for",{"type":1873,"tag":2070,"props":4165,"children":4166},{"style":2088},[4167],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":4169,"children":4170},{"style":2076},[4171],{"type":1878,"value":3254},{"type":1873,"tag":2070,"props":4173,"children":4174},{"style":2088},[4175],{"type":1878,"value":4176}," i",{"type":1873,"tag":2070,"props":4178,"children":4179},{"style":2076},[4180],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4182,"children":4183},{"style":2185},[4184],{"type":1878,"value":4185},"0",{"type":1873,"tag":2070,"props":4187,"children":4188},{"style":2088},[4189],{"type":1878,"value":4190},"; i",{"type":1873,"tag":2070,"props":4192,"children":4193},{"style":2076},[4194],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4196,"children":4197},{"style":2088},[4198],{"type":1878,"value":4199},"TILE_K; i",{"type":1873,"tag":2070,"props":4201,"children":4202},{"style":2076},[4203],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":4205,"children":4206},{"style":2088},[4207],{"type":1878,"value":3858},{"type":1873,"tag":2070,"props":4209,"children":4210},{"class":2072,"line":70},[4211,4216,4221,4225,4230,4235,4239,4244,4248,4253,4257,4262,4266,4270,4274],{"type":1873,"tag":2070,"props":4212,"children":4213},{"style":2094},[4214],{"type":1878,"value":4215}," vecA",{"type":1873,"tag":2070,"props":4217,"children":4218},{"style":2088},[4219],{"type":1878,"value":4220},"[i] ",{"type":1873,"tag":2070,"props":4222,"children":4223},{"style":2076},[4224],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4226,"children":4227},{"style":2094},[4228],{"type":1878,"value":4229}," inputA",{"type":1873,"tag":2070,"props":4231,"children":4232},{"style":2088},[4233],{"type":1878,"value":4234},"[(input_row ",{"type":1873,"tag":2070,"props":4236,"children":4237},{"style":2076},[4238],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4240,"children":4241},{"style":2088},[4242],{"type":1878,"value":4243}," INPUT_W ",{"type":1873,"tag":2070,"props":4245,"children":4246},{"style":2076},[4247],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":4249,"children":4250},{"style":2088},[4251],{"type":1878,"value":4252}," input_col) ",{"type":1873,"tag":2070,"props":4254,"children":4255},{"style":2076},[4256],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":4258,"children":4259},{"style":2088},[4260],{"type":1878,"value":4261}," strideAinElements ",{"type":1873,"tag":2070,"props":4263,"children":4264},{"style":2076},[4265],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":4267,"children":4268},{"style":2088},[4269],{"type":1878,"value":3703},{"type":1873,"tag":2070,"props":4271,"children":4272},{"style":2076},[4273],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":4275,"children":4276},{"style":2088},[4277],{"type":1878,"value":4278}," i];\n",{"type":1873,"tag":2070,"props":4280,"children":4281},{"class":2072,"line":74},[4282],{"type":1873,"tag":2070,"props":4283,"children":4284},{"emptyLinePlaceholder":232},[4285],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":4287,"children":4288},{"class":2072,"line":78},[4289],{"type":1873,"tag":2070,"props":4290,"children":4291},{"style":2629},[4292],{"type":1878,"value":4293}," // zero fill vecA vector data for out of boundary cases\n",{"type":1873,"tag":2070,"props":4295,"children":4296},{"class":2072,"line":82},[4297,4302,4307,4311,4315,4320,4325,4330,4335,4340,4344,4349,4353,4357,4361,4365,4369,4373],{"type":1873,"tag":2070,"props":4298,"children":4299},{"style":2076},[4300],{"type":1878,"value":4301}," if",{"type":1873,"tag":2070,"props":4303,"children":4304},{"style":2088},[4305],{"type":1878,"value":4306}," ((input_row ",{"type":1873,"tag":2070,"props":4308,"children":4309},{"style":2076},[4310],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4312,"children":4313},{"style":2185},[4314],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":4316,"children":4317},{"style":2088},[4318],{"type":1878,"value":4319},") ",{"type":1873,"tag":2070,"props":4321,"children":4322},{"style":2076},[4323],{"type":1878,"value":4324},"||",{"type":1873,"tag":2070,"props":4326,"children":4327},{"style":2088},[4328],{"type":1878,"value":4329}," (input_row ",{"type":1873,"tag":2070,"props":4331,"children":4332},{"style":2076},[4333],{"type":1878,"value":4334},">=",{"type":1873,"tag":2070,"props":4336,"children":4337},{"style":2088},[4338],{"type":1878,"value":4339}," INPUT_H) ",{"type":1873,"tag":2070,"props":4341,"children":4342},{"style":2076},[4343],{"type":1878,"value":4324},{"type":1873,"tag":2070,"props":4345,"children":4346},{"style":2088},[4347],{"type":1878,"value":4348}," (input_col ",{"type":1873,"tag":2070,"props":4350,"children":4351},{"style":2076},[4352],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4354,"children":4355},{"style":2185},[4356],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":4358,"children":4359},{"style":2088},[4360],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":4362,"children":4363},{"style":2076},[4364],{"type":1878,"value":4324},{"type":1873,"tag":2070,"props":4366,"children":4367},{"style":2088},[4368],{"type":1878,"value":4348},{"type":1873,"tag":2070,"props":4370,"children":4371},{"style":2076},[4372],{"type":1878,"value":4334},{"type":1873,"tag":2070,"props":4374,"children":4375},{"style":2088},[4376],{"type":1878,"value":4377}," INPUT_W))\n",{"type":1873,"tag":2070,"props":4379,"children":4380},{"class":2072,"line":86},[4381,4386,4390,4394,4398,4402,4406,4410,4414,4418,4422,4426,4431,4435,4439,4444,4449,4453],{"type":1873,"tag":2070,"props":4382,"children":4383},{"style":2076},[4384],{"type":1878,"value":4385}," for",{"type":1873,"tag":2070,"props":4387,"children":4388},{"style":2088},[4389],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":4391,"children":4392},{"style":2076},[4393],{"type":1878,"value":3254},{"type":1873,"tag":2070,"props":4395,"children":4396},{"style":2088},[4397],{"type":1878,"value":4176},{"type":1873,"tag":2070,"props":4399,"children":4400},{"style":2076},[4401],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4403,"children":4404},{"style":2185},[4405],{"type":1878,"value":4185},{"type":1873,"tag":2070,"props":4407,"children":4408},{"style":2088},[4409],{"type":1878,"value":4190},{"type":1873,"tag":2070,"props":4411,"children":4412},{"style":2076},[4413],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4415,"children":4416},{"style":2088},[4417],{"type":1878,"value":4199},{"type":1873,"tag":2070,"props":4419,"children":4420},{"style":2076},[4421],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":4423,"children":4424},{"style":2088},[4425],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":4427,"children":4428},{"style":2094},[4429],{"type":1878,"value":4430},"vecA",{"type":1873,"tag":2070,"props":4432,"children":4433},{"style":2088},[4434],{"type":1878,"value":4220},{"type":1873,"tag":2070,"props":4436,"children":4437},{"style":2076},[4438],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4440,"children":4441},{"style":2076},[4442],{"type":1878,"value":4443}," float",{"type":1873,"tag":2070,"props":4445,"children":4446},{"style":2088},[4447],{"type":1878,"value":4448},"(",{"type":1873,"tag":2070,"props":4450,"children":4451},{"style":2185},[4452],{"type":1878,"value":4185},{"type":1873,"tag":2070,"props":4454,"children":4455},{"style":2088},[4456],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":4458,"children":4459},{"class":2072,"line":90},[4460],{"type":1873,"tag":2070,"props":4461,"children":4462},{"emptyLinePlaceholder":232},[4463],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":4465,"children":4466},{"class":2072,"line":94},[4467],{"type":1873,"tag":2070,"props":4468,"children":4469},{"style":2629},[4470],{"type":1878,"value":4471}," // convert vecA to matA and perform matrix multiplication\n",{"type":1873,"tag":2070,"props":4473,"children":4474},{"class":2072,"line":98},[4475,4479,4483,4488,4492],{"type":1873,"tag":2070,"props":4476,"children":4477},{"style":2088},[4478],{"type":1878,"value":3933},{"type":1873,"tag":2070,"props":4480,"children":4481},{"style":2076},[4482],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":4484,"children":4485},{"style":2088},[4486],{"type":1878,"value":4487},", gl_ScopeSubgroup, TILE_M, TILE_K, gl_MatrixUseA",{"type":1873,"tag":2070,"props":4489,"children":4490},{"style":2076},[4491],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4493,"children":4494},{"style":2088},[4495],{"type":1878,"value":4496}," matA;\n",{"type":1873,"tag":2070,"props":4498,"children":4499},{"class":2072,"line":102},[4500,4505],{"type":1873,"tag":2070,"props":4501,"children":4502},{"style":2082},[4503],{"type":1878,"value":4504}," vectorToCoopmatQCOM",{"type":1873,"tag":2070,"props":4506,"children":4507},{"style":2088},[4508],{"type":1878,"value":4509},"(vecA, matA);\n",{"type":1873,"tag":2070,"props":4511,"children":4512},{"class":2072,"line":106},[4513,4518,4522,4527],{"type":1873,"tag":2070,"props":4514,"children":4515},{"style":2088},[4516],{"type":1878,"value":4517}," matC ",{"type":1873,"tag":2070,"props":4519,"children":4520},{"style":2076},[4521],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4523,"children":4524},{"style":2082},[4525],{"type":1878,"value":4526}," coopMatMulAdd",{"type":1873,"tag":2070,"props":4528,"children":4529},{"style":2088},[4530],{"type":1878,"value":4531},"(matA, matB, matC);\n",{"type":1873,"tag":2070,"props":4533,"children":4534},{"class":2072,"line":110},[4535],{"type":1873,"tag":2070,"props":4536,"children":4537},{"emptyLinePlaceholder":232},[4538],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":4540,"children":4541},{"class":2072,"line":114},[4542,4547,4551],{"type":1873,"tag":2070,"props":4543,"children":4544},{"style":2088},[4545],{"type":1878,"value":4546}," subMatrixBStartInElements ",{"type":1873,"tag":2070,"props":4548,"children":4549},{"style":2076},[4550],{"type":1878,"value":3732},{"type":1873,"tag":2070,"props":4552,"children":4553},{"style":2088},[4554],{"type":1878,"value":4555}," strideBinElements;\n",{"type":1873,"tag":2070,"props":4557,"children":4558},{"class":2072,"line":118},[4559],{"type":1873,"tag":2070,"props":4560,"children":4561},{"style":2088},[4562],{"type":1878,"value":4563}," }\n",{"type":1873,"tag":2070,"props":4565,"children":4566},{"class":2072,"line":122},[4567],{"type":1873,"tag":2070,"props":4568,"children":4569},{"style":2088},[4570],{"type":1878,"value":4571},"}\n",{"type":1873,"tag":2043,"props":4573,"children":4575},{"id":4574},"_neural_texture_decompression",[4576],{"type":1878,"value":4577},"Neural Texture Decompression",{"type":1873,"tag":2059,"props":4579,"children":4581},{"className":2061,"code":4580,"language":2063,"meta":2064,"style":2064},"coopmat\u003Cfloat16_t, gl_ScopeSubgroup, 64, 16, gl_MatrixUseA> matA0, matA1;\ncoopmat\u003Cfloat16_t, gl_ScopeSubgroup, 16, 16, gl_MatrixUseB> matB0, matB1;\ncoopmat\u003Cfloat16_t, gl_ScopeSubgroup, 64, 16, gl_MatrixUseAccumulator> matC1, matC2;\nmatC1 = coopmat\u003Cfloat16_t, gl_ScopeSubgroup, 64, 16, gl_MatrixUseAccumulator>(0.0);\nmatC2 = coopmat\u003Cfloat16_t, gl_ScopeSubgroup, 64, 16, gl_MatrixUseAccumulator>(0.0);\n\n// load matB0 and matB1 matrix input data using coopmat extension\ncoopMatLoad(matB0, inputB0, subMatrixBStartInElements, strideBinElements, LAYOUT_K_FIRST);\ncoopMatLoad(matB1, inputB1, subMatrixBStartInElements, strideBinElements, LAYOUT_K_FIRST);\n\n// load vecA0 (input features) any way you like\nfloat16_t vecA0[16];\nfor (int i=0; i\u003C16; i++) vecA0[i] = inputA.x[inputCoord + i];\n\n// convert vecA0 to matA0, then execute MatMul (first layer)\nvectorToCoopmatQCOM(vecA0, matA0);\nmatC1 = coopMatMulAdd(matA0, matB0, matC1);\n\n// convert matC1 to matA1, then execute MatMul (second layer)\nfloat16_t vecA1[16];\ncoopmatToVectorQCOM(matC1, vecA1);\nvectorToCoopmatQCOM(vecA1, matA1);\nmatC2 = coopMatMulAdd(matA1, matB1, matC2);\n\n// convert matC2 to vecC2 (which holds the output features)\nfloat16_t vecC2[16];\ncoopmatToVectorQCOM(matC2, vecC2);\n",[4582],{"type":1873,"tag":1935,"props":4583,"children":4584},{"__ignoreMap":2064},[4585,4629,4674,4718,4780,4840,4847,4855,4868,4880,4887,4895,4919,5006,5013,5021,5033,5053,5060,5068,5092,5105,5117,5137,5144,5152,5176],{"type":1873,"tag":2070,"props":4586,"children":4587},{"class":2072,"line":10},[4588,4592,4596,4600,4604,4608,4612,4616,4620,4624],{"type":1873,"tag":2070,"props":4589,"children":4590},{"style":2088},[4591],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":4593,"children":4594},{"style":2076},[4595],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4597,"children":4598},{"style":2185},[4599],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4601,"children":4602},{"style":2088},[4603],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":4605,"children":4606},{"style":2185},[4607],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":4609,"children":4610},{"style":2088},[4611],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":4613,"children":4614},{"style":2185},[4615],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4617,"children":4618},{"style":2088},[4619],{"type":1878,"value":2583},{"type":1873,"tag":2070,"props":4621,"children":4622},{"style":2076},[4623],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4625,"children":4626},{"style":2088},[4627],{"type":1878,"value":4628}," matA0, matA1;\n",{"type":1873,"tag":2070,"props":4630,"children":4631},{"class":2072,"line":14},[4632,4636,4640,4644,4648,4652,4656,4660,4665,4669],{"type":1873,"tag":2070,"props":4633,"children":4634},{"style":2088},[4635],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":4637,"children":4638},{"style":2076},[4639],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4641,"children":4642},{"style":2185},[4643],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4645,"children":4646},{"style":2088},[4647],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":4649,"children":4650},{"style":2185},[4651],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4653,"children":4654},{"style":2088},[4655],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":4657,"children":4658},{"style":2185},[4659],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4661,"children":4662},{"style":2088},[4663],{"type":1878,"value":4664},", gl_MatrixUseB",{"type":1873,"tag":2070,"props":4666,"children":4667},{"style":2076},[4668],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4670,"children":4671},{"style":2088},[4672],{"type":1878,"value":4673}," matB0, matB1;\n",{"type":1873,"tag":2070,"props":4675,"children":4676},{"class":2072,"line":18},[4677,4681,4685,4689,4693,4697,4701,4705,4709,4713],{"type":1873,"tag":2070,"props":4678,"children":4679},{"style":2088},[4680],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":4682,"children":4683},{"style":2076},[4684],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4686,"children":4687},{"style":2185},[4688],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4690,"children":4691},{"style":2088},[4692],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":4694,"children":4695},{"style":2185},[4696],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":4698,"children":4699},{"style":2088},[4700],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":4702,"children":4703},{"style":2185},[4704],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4706,"children":4707},{"style":2088},[4708],{"type":1878,"value":3010},{"type":1873,"tag":2070,"props":4710,"children":4711},{"style":2076},[4712],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4714,"children":4715},{"style":2088},[4716],{"type":1878,"value":4717}," matC1, matC2;\n",{"type":1873,"tag":2070,"props":4719,"children":4720},{"class":2072,"line":22},[4721,4726,4730,4735,4739,4743,4747,4751,4755,4759,4763,4767,4771,4776],{"type":1873,"tag":2070,"props":4722,"children":4723},{"style":2088},[4724],{"type":1878,"value":4725},"matC1 ",{"type":1873,"tag":2070,"props":4727,"children":4728},{"style":2076},[4729],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4731,"children":4732},{"style":2088},[4733],{"type":1878,"value":4734}," coopmat",{"type":1873,"tag":2070,"props":4736,"children":4737},{"style":2076},[4738],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4740,"children":4741},{"style":2185},[4742],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4744,"children":4745},{"style":2088},[4746],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":4748,"children":4749},{"style":2185},[4750],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":4752,"children":4753},{"style":2088},[4754],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":4756,"children":4757},{"style":2185},[4758],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4760,"children":4761},{"style":2088},[4762],{"type":1878,"value":3010},{"type":1873,"tag":2070,"props":4764,"children":4765},{"style":2076},[4766],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4768,"children":4769},{"style":2088},[4770],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":4772,"children":4773},{"style":2185},[4774],{"type":1878,"value":4775},"0.0",{"type":1873,"tag":2070,"props":4777,"children":4778},{"style":2088},[4779],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":4781,"children":4782},{"class":2072,"line":26},[4783,4788,4792,4796,4800,4804,4808,4812,4816,4820,4824,4828,4832,4836],{"type":1873,"tag":2070,"props":4784,"children":4785},{"style":2088},[4786],{"type":1878,"value":4787},"matC2 ",{"type":1873,"tag":2070,"props":4789,"children":4790},{"style":2076},[4791],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4793,"children":4794},{"style":2088},[4795],{"type":1878,"value":4734},{"type":1873,"tag":2070,"props":4797,"children":4798},{"style":2076},[4799],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4801,"children":4802},{"style":2185},[4803],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4805,"children":4806},{"style":2088},[4807],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":4809,"children":4810},{"style":2185},[4811],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":4813,"children":4814},{"style":2088},[4815],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":4817,"children":4818},{"style":2185},[4819],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4821,"children":4822},{"style":2088},[4823],{"type":1878,"value":3010},{"type":1873,"tag":2070,"props":4825,"children":4826},{"style":2076},[4827],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":4829,"children":4830},{"style":2088},[4831],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":4833,"children":4834},{"style":2185},[4835],{"type":1878,"value":4775},{"type":1873,"tag":2070,"props":4837,"children":4838},{"style":2088},[4839],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":4841,"children":4842},{"class":2072,"line":30},[4843],{"type":1873,"tag":2070,"props":4844,"children":4845},{"emptyLinePlaceholder":232},[4846],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":4848,"children":4849},{"class":2072,"line":34},[4850],{"type":1873,"tag":2070,"props":4851,"children":4852},{"style":2629},[4853],{"type":1878,"value":4854},"// load matB0 and matB1 matrix input data using coopmat extension\n",{"type":1873,"tag":2070,"props":4856,"children":4857},{"class":2072,"line":38},[4858,4863],{"type":1873,"tag":2070,"props":4859,"children":4860},{"style":2082},[4861],{"type":1878,"value":4862},"coopMatLoad",{"type":1873,"tag":2070,"props":4864,"children":4865},{"style":2088},[4866],{"type":1878,"value":4867},"(matB0, inputB0, subMatrixBStartInElements, strideBinElements, LAYOUT_K_FIRST);\n",{"type":1873,"tag":2070,"props":4869,"children":4870},{"class":2072,"line":42},[4871,4875],{"type":1873,"tag":2070,"props":4872,"children":4873},{"style":2082},[4874],{"type":1878,"value":4862},{"type":1873,"tag":2070,"props":4876,"children":4877},{"style":2088},[4878],{"type":1878,"value":4879},"(matB1, inputB1, subMatrixBStartInElements, strideBinElements, LAYOUT_K_FIRST);\n",{"type":1873,"tag":2070,"props":4881,"children":4882},{"class":2072,"line":46},[4883],{"type":1873,"tag":2070,"props":4884,"children":4885},{"emptyLinePlaceholder":232},[4886],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":4888,"children":4889},{"class":2072,"line":50},[4890],{"type":1873,"tag":2070,"props":4891,"children":4892},{"style":2629},[4893],{"type":1878,"value":4894},"// load vecA0 (input features) any way you like\n",{"type":1873,"tag":2070,"props":4896,"children":4897},{"class":2072,"line":54},[4898,4902,4907,4911,4915],{"type":1873,"tag":2070,"props":4899,"children":4900},{"style":2185},[4901],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":4903,"children":4904},{"style":2094},[4905],{"type":1878,"value":4906}," vecA0",{"type":1873,"tag":2070,"props":4908,"children":4909},{"style":2088},[4910],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":4912,"children":4913},{"style":2185},[4914],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4916,"children":4917},{"style":2088},[4918],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":4920,"children":4921},{"class":2072,"line":58},[4922,4926,4930,4934,4938,4942,4946,4950,4954,4958,4962,4966,4970,4975,4979,4983,4988,4993,4998,5002],{"type":1873,"tag":2070,"props":4923,"children":4924},{"style":2076},[4925],{"type":1878,"value":3689},{"type":1873,"tag":2070,"props":4927,"children":4928},{"style":2088},[4929],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":4931,"children":4932},{"style":2076},[4933],{"type":1878,"value":3254},{"type":1873,"tag":2070,"props":4935,"children":4936},{"style":2088},[4937],{"type":1878,"value":4176},{"type":1873,"tag":2070,"props":4939,"children":4940},{"style":2076},[4941],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4943,"children":4944},{"style":2185},[4945],{"type":1878,"value":4185},{"type":1873,"tag":2070,"props":4947,"children":4948},{"style":2088},[4949],{"type":1878,"value":4190},{"type":1873,"tag":2070,"props":4951,"children":4952},{"style":2076},[4953],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":4955,"children":4956},{"style":2185},[4957],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":4959,"children":4960},{"style":2088},[4961],{"type":1878,"value":4190},{"type":1873,"tag":2070,"props":4963,"children":4964},{"style":2076},[4965],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":4967,"children":4968},{"style":2088},[4969],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":4971,"children":4972},{"style":2094},[4973],{"type":1878,"value":4974},"vecA0",{"type":1873,"tag":2070,"props":4976,"children":4977},{"style":2088},[4978],{"type":1878,"value":4220},{"type":1873,"tag":2070,"props":4980,"children":4981},{"style":2076},[4982],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":4984,"children":4985},{"style":2088},[4986],{"type":1878,"value":4987}," inputA.",{"type":1873,"tag":2070,"props":4989,"children":4990},{"style":2094},[4991],{"type":1878,"value":4992},"x",{"type":1873,"tag":2070,"props":4994,"children":4995},{"style":2088},[4996],{"type":1878,"value":4997},"[inputCoord ",{"type":1873,"tag":2070,"props":4999,"children":5000},{"style":2076},[5001],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":5003,"children":5004},{"style":2088},[5005],{"type":1878,"value":4278},{"type":1873,"tag":2070,"props":5007,"children":5008},{"class":2072,"line":62},[5009],{"type":1873,"tag":2070,"props":5010,"children":5011},{"emptyLinePlaceholder":232},[5012],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5014,"children":5015},{"class":2072,"line":66},[5016],{"type":1873,"tag":2070,"props":5017,"children":5018},{"style":2629},[5019],{"type":1878,"value":5020},"// convert vecA0 to matA0, then execute MatMul (first layer)\n",{"type":1873,"tag":2070,"props":5022,"children":5023},{"class":2072,"line":70},[5024,5028],{"type":1873,"tag":2070,"props":5025,"children":5026},{"style":2082},[5027],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":5029,"children":5030},{"style":2088},[5031],{"type":1878,"value":5032},"(vecA0, matA0);\n",{"type":1873,"tag":2070,"props":5034,"children":5035},{"class":2072,"line":74},[5036,5040,5044,5048],{"type":1873,"tag":2070,"props":5037,"children":5038},{"style":2088},[5039],{"type":1878,"value":4725},{"type":1873,"tag":2070,"props":5041,"children":5042},{"style":2076},[5043],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5045,"children":5046},{"style":2082},[5047],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":5049,"children":5050},{"style":2088},[5051],{"type":1878,"value":5052},"(matA0, matB0, matC1);\n",{"type":1873,"tag":2070,"props":5054,"children":5055},{"class":2072,"line":78},[5056],{"type":1873,"tag":2070,"props":5057,"children":5058},{"emptyLinePlaceholder":232},[5059],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5061,"children":5062},{"class":2072,"line":82},[5063],{"type":1873,"tag":2070,"props":5064,"children":5065},{"style":2629},[5066],{"type":1878,"value":5067},"// convert matC1 to matA1, then execute MatMul (second layer)\n",{"type":1873,"tag":2070,"props":5069,"children":5070},{"class":2072,"line":86},[5071,5075,5080,5084,5088],{"type":1873,"tag":2070,"props":5072,"children":5073},{"style":2185},[5074],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":5076,"children":5077},{"style":2094},[5078],{"type":1878,"value":5079}," vecA1",{"type":1873,"tag":2070,"props":5081,"children":5082},{"style":2088},[5083],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":5085,"children":5086},{"style":2185},[5087],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":5089,"children":5090},{"style":2088},[5091],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":5093,"children":5094},{"class":2072,"line":90},[5095,5100],{"type":1873,"tag":2070,"props":5096,"children":5097},{"style":2082},[5098],{"type":1878,"value":5099},"coopmatToVectorQCOM",{"type":1873,"tag":2070,"props":5101,"children":5102},{"style":2088},[5103],{"type":1878,"value":5104},"(matC1, vecA1);\n",{"type":1873,"tag":2070,"props":5106,"children":5107},{"class":2072,"line":94},[5108,5112],{"type":1873,"tag":2070,"props":5109,"children":5110},{"style":2082},[5111],{"type":1878,"value":2640},{"type":1873,"tag":2070,"props":5113,"children":5114},{"style":2088},[5115],{"type":1878,"value":5116},"(vecA1, matA1);\n",{"type":1873,"tag":2070,"props":5118,"children":5119},{"class":2072,"line":98},[5120,5124,5128,5132],{"type":1873,"tag":2070,"props":5121,"children":5122},{"style":2088},[5123],{"type":1878,"value":4787},{"type":1873,"tag":2070,"props":5125,"children":5126},{"style":2076},[5127],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5129,"children":5130},{"style":2082},[5131],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":5133,"children":5134},{"style":2088},[5135],{"type":1878,"value":5136},"(matA1, matB1, matC2);\n",{"type":1873,"tag":2070,"props":5138,"children":5139},{"class":2072,"line":102},[5140],{"type":1873,"tag":2070,"props":5141,"children":5142},{"emptyLinePlaceholder":232},[5143],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5145,"children":5146},{"class":2072,"line":106},[5147],{"type":1873,"tag":2070,"props":5148,"children":5149},{"style":2629},[5150],{"type":1878,"value":5151},"// convert matC2 to vecC2 (which holds the output features)\n",{"type":1873,"tag":2070,"props":5153,"children":5154},{"class":2072,"line":110},[5155,5159,5164,5168,5172],{"type":1873,"tag":2070,"props":5156,"children":5157},{"style":2185},[5158],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":5160,"children":5161},{"style":2094},[5162],{"type":1878,"value":5163}," vecC2",{"type":1873,"tag":2070,"props":5165,"children":5166},{"style":2088},[5167],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":5169,"children":5170},{"style":2185},[5171],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":5173,"children":5174},{"style":2088},[5175],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":5177,"children":5178},{"class":2072,"line":114},[5179,5183],{"type":1873,"tag":2070,"props":5180,"children":5181},{"style":2082},[5182],{"type":1878,"value":5099},{"type":1873,"tag":2070,"props":5184,"children":5185},{"style":2088},[5186],{"type":1878,"value":5187},"(matC2, vecC2);\n",{"type":1873,"tag":2043,"props":5189,"children":5191},{"id":5190},"_layer_merging_flash_attention",[5192],{"type":1878,"value":5193},"Layer Merging (Flash Attention)",{"type":1873,"tag":2059,"props":5195,"children":5197},{"className":2061,"code":5196,"language":2063,"meta":2064,"style":2064},"coopmat\u003Cfloat, gl_ScopeSubgroup, 64, 8, gl_MatrixUseA> matA;\ncoopmat\u003Cfloat, gl_ScopeSubgroup, 8, 64, gl_MatrixUseB> matB;\ncoopmat\u003Cfloat, gl_ScopeSubgroup, 64, 64, gl_MatrixUseAccumulator> matC;\ncoopmat\u003Cfloat, gl_ScopeSubgroup, 64, 8, gl_MatrixUseA> matCtoA;\ncoopmat\u003Cfloat, gl_ScopeSubgroup, 8, 64, gl_MatrixUseB> matD;\ncoopmat\u003Cfloat, gl_ScopeSubgroup, 64, 64, gl_MatrixUseAccumulator> matO;\n\nfor (uint stepN = 0; stepN \u003C TOTAL_N; stepN += TILE_N64)\n{\n for (uint stepK = 0; stepK \u003C TOTAL_K; stepK + =TILE_K8) {\n coopMatLoad(matA, inputA, subMatrixAStart, STRIDE_A, LAYOUT_A);\n coopMatLoad(matB, inputB, subMatrixBStart, STRIDE_B, LAYOUT_B);\n matC = coopMatMulAdd(matA, matB, matC);\n }\n\n float vecC[64];\n coopmatToVectorQCOM(matC, vecC);\n vecC = online_softmax(vecC); // apply softmax on vecC using rowsum and rowmax reduction operations\n\n coopMatLoad(matD, inputD, subMatrixDStart + 0*STRIDE_D, STRIDE_D, LAYOUT_D);\n float vecCtoA[8];\n extractSubArrayQCOM(vecC, 0, vecCtoA); // first 8 elements of matC\n vectorToCoopmatQCOM(vecCtoA, matCtoA);\n matO = coopMatMulAdd(matCtoA, matD, matO);\n ....\n coopMatLoad(matD, inputD, subMatrixDStart + 7*STRIDE_D, STRIDE_D, LAYOUT_D);\n extractSubArrayQCOM(vecC, 56, vecCtoA); // last 8 elements of matC\n vectorToCoopmatQCOM(vecCtoA, matCtoA);\n matO = coopMatMulAdd(matCtoUseA, matD, matO);\n}\n",[5198],{"type":1873,"tag":1935,"props":5199,"children":5200},{"__ignoreMap":2064},[5201,5242,5282,5322,5362,5402,5442,5449,5501,5508,5564,5577,5589,5609,5617,5624,5649,5662,5689,5696,5726,5750,5777,5790,5811,5819,5847,5873,5885,5905],{"type":1873,"tag":2070,"props":5202,"children":5203},{"class":2072,"line":10},[5204,5208,5212,5216,5220,5225,5229,5233,5237],{"type":1873,"tag":2070,"props":5205,"children":5206},{"style":2088},[5207],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5209,"children":5210},{"style":2076},[5211],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5213,"children":5214},{"style":2088},[5215],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5217,"children":5218},{"style":2185},[5219],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5221,"children":5222},{"style":2088},[5223],{"type":1878,"value":5224},", ",{"type":1873,"tag":2070,"props":5226,"children":5227},{"style":2185},[5228],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":5230,"children":5231},{"style":2088},[5232],{"type":1878,"value":2583},{"type":1873,"tag":2070,"props":5234,"children":5235},{"style":2076},[5236],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5238,"children":5239},{"style":2088},[5240],{"type":1878,"value":5241}," matA;\n",{"type":1873,"tag":2070,"props":5243,"children":5244},{"class":2072,"line":14},[5245,5249,5253,5257,5261,5265,5269,5273,5277],{"type":1873,"tag":2070,"props":5246,"children":5247},{"style":2088},[5248],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5250,"children":5251},{"style":2076},[5252],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5254,"children":5255},{"style":2088},[5256],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5258,"children":5259},{"style":2185},[5260],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":5262,"children":5263},{"style":2088},[5264],{"type":1878,"value":5224},{"type":1873,"tag":2070,"props":5266,"children":5267},{"style":2185},[5268],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5270,"children":5271},{"style":2088},[5272],{"type":1878,"value":4664},{"type":1873,"tag":2070,"props":5274,"children":5275},{"style":2076},[5276],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5278,"children":5279},{"style":2088},[5280],{"type":1878,"value":5281}," matB;\n",{"type":1873,"tag":2070,"props":5283,"children":5284},{"class":2072,"line":18},[5285,5289,5293,5297,5301,5305,5309,5313,5317],{"type":1873,"tag":2070,"props":5286,"children":5287},{"style":2088},[5288],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5290,"children":5291},{"style":2076},[5292],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5294,"children":5295},{"style":2088},[5296],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5298,"children":5299},{"style":2185},[5300],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5302,"children":5303},{"style":2088},[5304],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":5306,"children":5307},{"style":2185},[5308],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5310,"children":5311},{"style":2088},[5312],{"type":1878,"value":3010},{"type":1873,"tag":2070,"props":5314,"children":5315},{"style":2076},[5316],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5318,"children":5319},{"style":2088},[5320],{"type":1878,"value":5321}," matC;\n",{"type":1873,"tag":2070,"props":5323,"children":5324},{"class":2072,"line":22},[5325,5329,5333,5337,5341,5345,5349,5353,5357],{"type":1873,"tag":2070,"props":5326,"children":5327},{"style":2088},[5328],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5330,"children":5331},{"style":2076},[5332],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5334,"children":5335},{"style":2088},[5336],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5338,"children":5339},{"style":2185},[5340],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5342,"children":5343},{"style":2088},[5344],{"type":1878,"value":5224},{"type":1873,"tag":2070,"props":5346,"children":5347},{"style":2185},[5348],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":5350,"children":5351},{"style":2088},[5352],{"type":1878,"value":2583},{"type":1873,"tag":2070,"props":5354,"children":5355},{"style":2076},[5356],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5358,"children":5359},{"style":2088},[5360],{"type":1878,"value":5361}," matCtoA;\n",{"type":1873,"tag":2070,"props":5363,"children":5364},{"class":2072,"line":26},[5365,5369,5373,5377,5381,5385,5389,5393,5397],{"type":1873,"tag":2070,"props":5366,"children":5367},{"style":2088},[5368],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5370,"children":5371},{"style":2076},[5372],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5374,"children":5375},{"style":2088},[5376],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5378,"children":5379},{"style":2185},[5380],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":5382,"children":5383},{"style":2088},[5384],{"type":1878,"value":5224},{"type":1873,"tag":2070,"props":5386,"children":5387},{"style":2185},[5388],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5390,"children":5391},{"style":2088},[5392],{"type":1878,"value":4664},{"type":1873,"tag":2070,"props":5394,"children":5395},{"style":2076},[5396],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5398,"children":5399},{"style":2088},[5400],{"type":1878,"value":5401}," matD;\n",{"type":1873,"tag":2070,"props":5403,"children":5404},{"class":2072,"line":30},[5405,5409,5413,5417,5421,5425,5429,5433,5437],{"type":1873,"tag":2070,"props":5406,"children":5407},{"style":2088},[5408],{"type":1878,"value":2554},{"type":1873,"tag":2070,"props":5410,"children":5411},{"style":2076},[5412],{"type":1878,"value":3938},{"type":1873,"tag":2070,"props":5414,"children":5415},{"style":2088},[5416],{"type":1878,"value":2564},{"type":1873,"tag":2070,"props":5418,"children":5419},{"style":2185},[5420],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5422,"children":5423},{"style":2088},[5424],{"type":1878,"value":2133},{"type":1873,"tag":2070,"props":5426,"children":5427},{"style":2185},[5428],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5430,"children":5431},{"style":2088},[5432],{"type":1878,"value":3010},{"type":1873,"tag":2070,"props":5434,"children":5435},{"style":2076},[5436],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5438,"children":5439},{"style":2088},[5440],{"type":1878,"value":5441}," matO;\n",{"type":1873,"tag":2070,"props":5443,"children":5444},{"class":2072,"line":34},[5445],{"type":1873,"tag":2070,"props":5446,"children":5447},{"emptyLinePlaceholder":232},[5448],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5450,"children":5451},{"class":2072,"line":38},[5452,5456,5460,5465,5470,5474,5478,5483,5487,5492,5496],{"type":1873,"tag":2070,"props":5453,"children":5454},{"style":2076},[5455],{"type":1878,"value":3689},{"type":1873,"tag":2070,"props":5457,"children":5458},{"style":2088},[5459],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":5461,"children":5462},{"style":2076},[5463],{"type":1878,"value":5464},"uint",{"type":1873,"tag":2070,"props":5466,"children":5467},{"style":2088},[5468],{"type":1878,"value":5469}," stepN ",{"type":1873,"tag":2070,"props":5471,"children":5472},{"style":2076},[5473],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5475,"children":5476},{"style":2185},[5477],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":5479,"children":5480},{"style":2088},[5481],{"type":1878,"value":5482},"; stepN ",{"type":1873,"tag":2070,"props":5484,"children":5485},{"style":2076},[5486],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":5488,"children":5489},{"style":2088},[5490],{"type":1878,"value":5491}," TOTAL_N; stepN ",{"type":1873,"tag":2070,"props":5493,"children":5494},{"style":2076},[5495],{"type":1878,"value":3732},{"type":1873,"tag":2070,"props":5497,"children":5498},{"style":2088},[5499],{"type":1878,"value":5500}," TILE_N64)\n",{"type":1873,"tag":2070,"props":5502,"children":5503},{"class":2072,"line":42},[5504],{"type":1873,"tag":2070,"props":5505,"children":5506},{"style":2088},[5507],{"type":1878,"value":3745},{"type":1873,"tag":2070,"props":5509,"children":5510},{"class":2072,"line":46},[5511,5515,5519,5523,5528,5532,5536,5541,5545,5550,5554,5559],{"type":1873,"tag":2070,"props":5512,"children":5513},{"style":2076},[5514],{"type":1878,"value":3813},{"type":1873,"tag":2070,"props":5516,"children":5517},{"style":2088},[5518],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":5520,"children":5521},{"style":2076},[5522],{"type":1878,"value":5464},{"type":1873,"tag":2070,"props":5524,"children":5525},{"style":2088},[5526],{"type":1878,"value":5527}," stepK ",{"type":1873,"tag":2070,"props":5529,"children":5530},{"style":2076},[5531],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5533,"children":5534},{"style":2185},[5535],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":5537,"children":5538},{"style":2088},[5539],{"type":1878,"value":5540},"; stepK ",{"type":1873,"tag":2070,"props":5542,"children":5543},{"style":2076},[5544],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":5546,"children":5547},{"style":2088},[5548],{"type":1878,"value":5549}," TOTAL_K; stepK ",{"type":1873,"tag":2070,"props":5551,"children":5552},{"style":2076},[5553],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":5555,"children":5556},{"style":2076},[5557],{"type":1878,"value":5558}," =",{"type":1873,"tag":2070,"props":5560,"children":5561},{"style":2088},[5562],{"type":1878,"value":5563},"TILE_K8) {\n",{"type":1873,"tag":2070,"props":5565,"children":5566},{"class":2072,"line":50},[5567,5572],{"type":1873,"tag":2070,"props":5568,"children":5569},{"style":2082},[5570],{"type":1878,"value":5571}," coopMatLoad",{"type":1873,"tag":2070,"props":5573,"children":5574},{"style":2088},[5575],{"type":1878,"value":5576},"(matA, inputA, subMatrixAStart, STRIDE_A, LAYOUT_A);\n",{"type":1873,"tag":2070,"props":5578,"children":5579},{"class":2072,"line":54},[5580,5584],{"type":1873,"tag":2070,"props":5581,"children":5582},{"style":2082},[5583],{"type":1878,"value":5571},{"type":1873,"tag":2070,"props":5585,"children":5586},{"style":2088},[5587],{"type":1878,"value":5588},"(matB, inputB, subMatrixBStart, STRIDE_B, LAYOUT_B);\n",{"type":1873,"tag":2070,"props":5590,"children":5591},{"class":2072,"line":58},[5592,5597,5601,5605],{"type":1873,"tag":2070,"props":5593,"children":5594},{"style":2088},[5595],{"type":1878,"value":5596}," matC ",{"type":1873,"tag":2070,"props":5598,"children":5599},{"style":2076},[5600],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5602,"children":5603},{"style":2082},[5604],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":5606,"children":5607},{"style":2088},[5608],{"type":1878,"value":4531},{"type":1873,"tag":2070,"props":5610,"children":5611},{"class":2072,"line":62},[5612],{"type":1873,"tag":2070,"props":5613,"children":5614},{"style":2088},[5615],{"type":1878,"value":5616}," }\n",{"type":1873,"tag":2070,"props":5618,"children":5619},{"class":2072,"line":66},[5620],{"type":1873,"tag":2070,"props":5621,"children":5622},{"emptyLinePlaceholder":232},[5623],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5625,"children":5626},{"class":2072,"line":70},[5627,5632,5637,5641,5645],{"type":1873,"tag":2070,"props":5628,"children":5629},{"style":2076},[5630],{"type":1878,"value":5631}," float",{"type":1873,"tag":2070,"props":5633,"children":5634},{"style":2094},[5635],{"type":1878,"value":5636}," vecC",{"type":1873,"tag":2070,"props":5638,"children":5639},{"style":2088},[5640],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":5642,"children":5643},{"style":2185},[5644],{"type":1878,"value":2569},{"type":1873,"tag":2070,"props":5646,"children":5647},{"style":2088},[5648],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":5650,"children":5651},{"class":2072,"line":74},[5652,5657],{"type":1873,"tag":2070,"props":5653,"children":5654},{"style":2082},[5655],{"type":1878,"value":5656}," coopmatToVectorQCOM",{"type":1873,"tag":2070,"props":5658,"children":5659},{"style":2088},[5660],{"type":1878,"value":5661},"(matC, vecC);\n",{"type":1873,"tag":2070,"props":5663,"children":5664},{"class":2072,"line":78},[5665,5670,5674,5679,5684],{"type":1873,"tag":2070,"props":5666,"children":5667},{"style":2088},[5668],{"type":1878,"value":5669}," vecC ",{"type":1873,"tag":2070,"props":5671,"children":5672},{"style":2076},[5673],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5675,"children":5676},{"style":2082},[5677],{"type":1878,"value":5678}," online_softmax",{"type":1873,"tag":2070,"props":5680,"children":5681},{"style":2088},[5682],{"type":1878,"value":5683},"(vecC);",{"type":1873,"tag":2070,"props":5685,"children":5686},{"style":2629},[5687],{"type":1878,"value":5688}," // apply softmax on vecC using rowsum and rowmax reduction operations\n",{"type":1873,"tag":2070,"props":5690,"children":5691},{"class":2072,"line":82},[5692],{"type":1873,"tag":2070,"props":5693,"children":5694},{"emptyLinePlaceholder":232},[5695],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":5697,"children":5698},{"class":2072,"line":86},[5699,5704,5709,5713,5717,5721],{"type":1873,"tag":2070,"props":5700,"children":5701},{"style":2082},[5702],{"type":1878,"value":5703}," coopMatLoad",{"type":1873,"tag":2070,"props":5705,"children":5706},{"style":2088},[5707],{"type":1878,"value":5708},"(matD, inputD, subMatrixDStart ",{"type":1873,"tag":2070,"props":5710,"children":5711},{"style":2076},[5712],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":5714,"children":5715},{"style":2185},[5716],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":5718,"children":5719},{"style":2076},[5720],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":5722,"children":5723},{"style":2088},[5724],{"type":1878,"value":5725},"STRIDE_D, STRIDE_D, LAYOUT_D);\n",{"type":1873,"tag":2070,"props":5727,"children":5728},{"class":2072,"line":90},[5729,5733,5738,5742,5746],{"type":1873,"tag":2070,"props":5730,"children":5731},{"style":2076},[5732],{"type":1878,"value":5631},{"type":1873,"tag":2070,"props":5734,"children":5735},{"style":2094},[5736],{"type":1878,"value":5737}," vecCtoA",{"type":1873,"tag":2070,"props":5739,"children":5740},{"style":2088},[5741],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":5743,"children":5744},{"style":2185},[5745],{"type":1878,"value":2188},{"type":1873,"tag":2070,"props":5747,"children":5748},{"style":2088},[5749],{"type":1878,"value":2193},{"type":1873,"tag":2070,"props":5751,"children":5752},{"class":2072,"line":94},[5753,5758,5763,5767,5772],{"type":1873,"tag":2070,"props":5754,"children":5755},{"style":2082},[5756],{"type":1878,"value":5757}," extractSubArrayQCOM",{"type":1873,"tag":2070,"props":5759,"children":5760},{"style":2088},[5761],{"type":1878,"value":5762},"(vecC, ",{"type":1873,"tag":2070,"props":5764,"children":5765},{"style":2185},[5766],{"type":1878,"value":4185},{"type":1873,"tag":2070,"props":5768,"children":5769},{"style":2088},[5770],{"type":1878,"value":5771},", vecCtoA);",{"type":1873,"tag":2070,"props":5773,"children":5774},{"style":2629},[5775],{"type":1878,"value":5776}," // first 8 elements of matC\n",{"type":1873,"tag":2070,"props":5778,"children":5779},{"class":2072,"line":98},[5780,5785],{"type":1873,"tag":2070,"props":5781,"children":5782},{"style":2082},[5783],{"type":1878,"value":5784}," vectorToCoopmatQCOM",{"type":1873,"tag":2070,"props":5786,"children":5787},{"style":2088},[5788],{"type":1878,"value":5789},"(vecCtoA, matCtoA);\n",{"type":1873,"tag":2070,"props":5791,"children":5792},{"class":2072,"line":102},[5793,5798,5802,5806],{"type":1873,"tag":2070,"props":5794,"children":5795},{"style":2088},[5796],{"type":1878,"value":5797}," matO ",{"type":1873,"tag":2070,"props":5799,"children":5800},{"style":2076},[5801],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5803,"children":5804},{"style":2082},[5805],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":5807,"children":5808},{"style":2088},[5809],{"type":1878,"value":5810},"(matCtoA, matD, matO);\n",{"type":1873,"tag":2070,"props":5812,"children":5813},{"class":2072,"line":106},[5814],{"type":1873,"tag":2070,"props":5815,"children":5816},{"style":2088},[5817],{"type":1878,"value":5818}," ....\n",{"type":1873,"tag":2070,"props":5820,"children":5821},{"class":2072,"line":110},[5822,5826,5830,5834,5839,5843],{"type":1873,"tag":2070,"props":5823,"children":5824},{"style":2082},[5825],{"type":1878,"value":5703},{"type":1873,"tag":2070,"props":5827,"children":5828},{"style":2088},[5829],{"type":1878,"value":5708},{"type":1873,"tag":2070,"props":5831,"children":5832},{"style":2076},[5833],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":5835,"children":5836},{"style":2185},[5837],{"type":1878,"value":5838}," 7",{"type":1873,"tag":2070,"props":5840,"children":5841},{"style":2076},[5842],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":5844,"children":5845},{"style":2088},[5846],{"type":1878,"value":5725},{"type":1873,"tag":2070,"props":5848,"children":5849},{"class":2072,"line":114},[5850,5854,5859,5864,5868],{"type":1873,"tag":2070,"props":5851,"children":5852},{"style":2082},[5853],{"type":1878,"value":5757},{"type":1873,"tag":2070,"props":5855,"children":5856},{"style":2088},[5857],{"type":1878,"value":5858},"(vecC, ",{"type":1873,"tag":2070,"props":5860,"children":5861},{"style":2185},[5862],{"type":1878,"value":5863},"56",{"type":1873,"tag":2070,"props":5865,"children":5866},{"style":2088},[5867],{"type":1878,"value":5771},{"type":1873,"tag":2070,"props":5869,"children":5870},{"style":2629},[5871],{"type":1878,"value":5872}," // last 8 elements of matC\n",{"type":1873,"tag":2070,"props":5874,"children":5875},{"class":2072,"line":118},[5876,5880],{"type":1873,"tag":2070,"props":5877,"children":5878},{"style":2082},[5879],{"type":1878,"value":5784},{"type":1873,"tag":2070,"props":5881,"children":5882},{"style":2088},[5883],{"type":1878,"value":5884},"(vecCtoA, matCtoA);\n",{"type":1873,"tag":2070,"props":5886,"children":5887},{"class":2072,"line":122},[5888,5892,5896,5900],{"type":1873,"tag":2070,"props":5889,"children":5890},{"style":2088},[5891],{"type":1878,"value":5797},{"type":1873,"tag":2070,"props":5893,"children":5894},{"style":2076},[5895],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":5897,"children":5898},{"style":2082},[5899],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":5901,"children":5902},{"style":2088},[5903],{"type":1878,"value":5904},"(matCtoUseA, matD, matO);\n",{"type":1873,"tag":2070,"props":5906,"children":5907},{"class":2072,"line":126},[5908],{"type":1873,"tag":2070,"props":5909,"children":5910},{"style":2088},[5911],{"type":1878,"value":4571},{"type":1873,"tag":2043,"props":5913,"children":5915},{"id":5914},"_dequantization",[5916],{"type":1878,"value":5917},"Dequantization",{"type":1873,"tag":1874,"props":5919,"children":5920},{},[5921],{"type":1878,"value":5922},"4-bit weight dequantization (llama.cpp q4):",{"type":1873,"tag":2059,"props":5924,"children":5926},{"className":2061,"code":5925,"language":2063,"meta":2064,"style":2064}," coopmat \u003Cfloat16_t, gl_ScopeSubgroup, TILE_M64, TILE_K16, gl_MatrixUseA> matA;\n coopmat \u003Cfloat16_t, gl_ScopeSubgroup, TILE_K16, TILE_N64, gl_MatrixUseB> matB;\n coopmat \u003Cfloat16_t, gl_ScopeSubgroup, TILE_M64, TILE_N64, gl_MatrixUseAccumulator> matC;\n\n float16_t vecAh_block[32], vecAh[TILE_K16], vecBh[TILE_K16];\n for (uint step = 0; step \u003C TOTAL_K; step += TILE_K16)\n {\n for (int k=0; k\u003CTILE_K16; k++)\n vecBh[k] = float16_t(data_bf[(pos_b + step) + (gl_SubgroupInvocationID * p.stride_b) + k]);\n\n if (step%32 == 0){\n const uint ib = (pos_a + step)/32 + gl_SubgroupInvocationID * p.stride_a/32;\n float d = float(data_a_packed16[ib].d);\n for (uint i = 0; i \u003C 4; i++) {\n uint vui = uint(data_a_packed16[ib].qs[2 * i]) | (uint(data_a_packed16[ib].qs[2 * i + 1]) \u003C\u003C 16);\n const vec4 v0 = (vec4(unpack8((vui >> 0) & 0x0F0F0F0F)) - 8.0f) * d;\n const vec4 v1 = (vec4(unpack8((vui >> 4) & 0x0F0F0F0F)) - 8.0f) * d;\n vecAh_block[4*i+ 0] = float16_t(v0.x);\n vecAh_block[4*i+ 1] = float16_t(v0.y);\n vecAh_block[4*i+ 2] = float16_t(v0.z);\n vecAh_block[4*i+ 3] = float16_t(v0.w);\n vecAh_block[4*i+16] = float16_t(v1.x);\n vecAh_block[4*i+17] = float16_t(v1.y);\n vecAh_block[4*i+18] = float16_t(v1.z);\n vecAh_block[4*i+19] = float16_t(v1.w);\n }\n }\n\n extractSubArrayQCOM(vecAh_block, step%32, vecAh); // extract first 16 or second 16 channels\n vectorToCoopmatQCOM(vecAh, matA);\n vectorToCoopmatQCOM(vecBh, matB);\n matC = coopMatMulAdd(matA, matB, matC);\n}\n",[5927],{"type":1873,"tag":1935,"props":5928,"children":5929},{"__ignoreMap":2064},[5930,5959,5987,6015,6022,6068,6117,6125,6176,6247,6254,6290,6366,6401,6457,6570,6670,6758,6809,6857,6906,6955,7003,7052,7101,7150,7158,7166,7173,7204,7217,7229,7249],{"type":1873,"tag":2070,"props":5931,"children":5932},{"class":2072,"line":10},[5933,5938,5942,5946,5951,5955],{"type":1873,"tag":2070,"props":5934,"children":5935},{"style":2088},[5936],{"type":1878,"value":5937}," coopmat ",{"type":1873,"tag":2070,"props":5939,"children":5940},{"style":2076},[5941],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":5943,"children":5944},{"style":2185},[5945],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":5947,"children":5948},{"style":2088},[5949],{"type":1878,"value":5950},", gl_ScopeSubgroup, TILE_M64, TILE_K16, gl_MatrixUseA",{"type":1873,"tag":2070,"props":5952,"children":5953},{"style":2076},[5954],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5956,"children":5957},{"style":2088},[5958],{"type":1878,"value":5241},{"type":1873,"tag":2070,"props":5960,"children":5961},{"class":2072,"line":14},[5962,5966,5970,5974,5979,5983],{"type":1873,"tag":2070,"props":5963,"children":5964},{"style":2088},[5965],{"type":1878,"value":5937},{"type":1873,"tag":2070,"props":5967,"children":5968},{"style":2076},[5969],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":5971,"children":5972},{"style":2185},[5973],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":5975,"children":5976},{"style":2088},[5977],{"type":1878,"value":5978},", gl_ScopeSubgroup, TILE_K16, TILE_N64, gl_MatrixUseB",{"type":1873,"tag":2070,"props":5980,"children":5981},{"style":2076},[5982],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":5984,"children":5985},{"style":2088},[5986],{"type":1878,"value":5281},{"type":1873,"tag":2070,"props":5988,"children":5989},{"class":2072,"line":18},[5990,5994,5998,6002,6007,6011],{"type":1873,"tag":2070,"props":5991,"children":5992},{"style":2088},[5993],{"type":1878,"value":5937},{"type":1873,"tag":2070,"props":5995,"children":5996},{"style":2076},[5997],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":5999,"children":6000},{"style":2185},[6001],{"type":1878,"value":2153},{"type":1873,"tag":2070,"props":6003,"children":6004},{"style":2088},[6005],{"type":1878,"value":6006},", gl_ScopeSubgroup, TILE_M64, TILE_N64, gl_MatrixUseAccumulator",{"type":1873,"tag":2070,"props":6008,"children":6009},{"style":2076},[6010],{"type":1878,"value":2340},{"type":1873,"tag":2070,"props":6012,"children":6013},{"style":2088},[6014],{"type":1878,"value":5321},{"type":1873,"tag":2070,"props":6016,"children":6017},{"class":2072,"line":22},[6018],{"type":1873,"tag":2070,"props":6019,"children":6020},{"emptyLinePlaceholder":232},[6021],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":6023,"children":6024},{"class":2072,"line":26},[6025,6030,6035,6039,6043,6048,6053,6058,6063],{"type":1873,"tag":2070,"props":6026,"children":6027},{"style":2185},[6028],{"type":1878,"value":6029}," float16_t",{"type":1873,"tag":2070,"props":6031,"children":6032},{"style":2094},[6033],{"type":1878,"value":6034}," vecAh_block",{"type":1873,"tag":2070,"props":6036,"children":6037},{"style":2088},[6038],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6040,"children":6041},{"style":2185},[6042],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":6044,"children":6045},{"style":2088},[6046],{"type":1878,"value":6047},"], ",{"type":1873,"tag":2070,"props":6049,"children":6050},{"style":2094},[6051],{"type":1878,"value":6052},"vecAh",{"type":1873,"tag":2070,"props":6054,"children":6055},{"style":2088},[6056],{"type":1878,"value":6057},"[TILE_K16], ",{"type":1873,"tag":2070,"props":6059,"children":6060},{"style":2094},[6061],{"type":1878,"value":6062},"vecBh",{"type":1873,"tag":2070,"props":6064,"children":6065},{"style":2088},[6066],{"type":1878,"value":6067},"[TILE_K16];\n",{"type":1873,"tag":2070,"props":6069,"children":6070},{"class":2072,"line":30},[6071,6076,6080,6084,6088,6092,6096,6100,6104,6108,6112],{"type":1873,"tag":2070,"props":6072,"children":6073},{"style":2076},[6074],{"type":1878,"value":6075}," for",{"type":1873,"tag":2070,"props":6077,"children":6078},{"style":2088},[6079],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6081,"children":6082},{"style":2076},[6083],{"type":1878,"value":5464},{"type":1873,"tag":2070,"props":6085,"children":6086},{"style":2088},[6087],{"type":1878,"value":3703},{"type":1873,"tag":2070,"props":6089,"children":6090},{"style":2076},[6091],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6093,"children":6094},{"style":2185},[6095],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":6097,"children":6098},{"style":2088},[6099],{"type":1878,"value":3718},{"type":1873,"tag":2070,"props":6101,"children":6102},{"style":2076},[6103],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":6105,"children":6106},{"style":2088},[6107],{"type":1878,"value":3727},{"type":1873,"tag":2070,"props":6109,"children":6110},{"style":2076},[6111],{"type":1878,"value":3732},{"type":1873,"tag":2070,"props":6113,"children":6114},{"style":2088},[6115],{"type":1878,"value":6116}," TILE_K16)\n",{"type":1873,"tag":2070,"props":6118,"children":6119},{"class":2072,"line":34},[6120],{"type":1873,"tag":2070,"props":6121,"children":6122},{"style":2088},[6123],{"type":1878,"value":6124}," {\n",{"type":1873,"tag":2070,"props":6126,"children":6127},{"class":2072,"line":38},[6128,6133,6137,6141,6146,6150,6154,6159,6163,6168,6172],{"type":1873,"tag":2070,"props":6129,"children":6130},{"style":2076},[6131],{"type":1878,"value":6132}," for",{"type":1873,"tag":2070,"props":6134,"children":6135},{"style":2088},[6136],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6138,"children":6139},{"style":2076},[6140],{"type":1878,"value":3254},{"type":1873,"tag":2070,"props":6142,"children":6143},{"style":2088},[6144],{"type":1878,"value":6145}," k",{"type":1873,"tag":2070,"props":6147,"children":6148},{"style":2076},[6149],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6151,"children":6152},{"style":2185},[6153],{"type":1878,"value":4185},{"type":1873,"tag":2070,"props":6155,"children":6156},{"style":2088},[6157],{"type":1878,"value":6158},"; k",{"type":1873,"tag":2070,"props":6160,"children":6161},{"style":2076},[6162],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":6164,"children":6165},{"style":2088},[6166],{"type":1878,"value":6167},"TILE_K16; k",{"type":1873,"tag":2070,"props":6169,"children":6170},{"style":2076},[6171],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":6173,"children":6174},{"style":2088},[6175],{"type":1878,"value":3858},{"type":1873,"tag":2070,"props":6177,"children":6178},{"class":2072,"line":42},[6179,6184,6189,6193,6197,6201,6206,6211,6215,6220,6224,6229,6233,6238,6242],{"type":1873,"tag":2070,"props":6180,"children":6181},{"style":2094},[6182],{"type":1878,"value":6183}," vecBh",{"type":1873,"tag":2070,"props":6185,"children":6186},{"style":2088},[6187],{"type":1878,"value":6188},"[k] ",{"type":1873,"tag":2070,"props":6190,"children":6191},{"style":2076},[6192],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6194,"children":6195},{"style":2082},[6196],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6198,"children":6199},{"style":2088},[6200],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6202,"children":6203},{"style":2094},[6204],{"type":1878,"value":6205},"data_bf",{"type":1873,"tag":2070,"props":6207,"children":6208},{"style":2088},[6209],{"type":1878,"value":6210},"[(pos_b ",{"type":1873,"tag":2070,"props":6212,"children":6213},{"style":2076},[6214],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6216,"children":6217},{"style":2088},[6218],{"type":1878,"value":6219}," step) ",{"type":1873,"tag":2070,"props":6221,"children":6222},{"style":2076},[6223],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6225,"children":6226},{"style":2088},[6227],{"type":1878,"value":6228}," (gl_SubgroupInvocationID ",{"type":1873,"tag":2070,"props":6230,"children":6231},{"style":2076},[6232],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6234,"children":6235},{"style":2088},[6236],{"type":1878,"value":6237}," p.stride_b) ",{"type":1873,"tag":2070,"props":6239,"children":6240},{"style":2076},[6241],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6243,"children":6244},{"style":2088},[6245],{"type":1878,"value":6246}," k]);\n",{"type":1873,"tag":2070,"props":6248,"children":6249},{"class":2072,"line":46},[6250],{"type":1873,"tag":2070,"props":6251,"children":6252},{"emptyLinePlaceholder":232},[6253],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":6255,"children":6256},{"class":2072,"line":50},[6257,6262,6267,6272,6276,6281,6285],{"type":1873,"tag":2070,"props":6258,"children":6259},{"style":2076},[6260],{"type":1878,"value":6261}," if",{"type":1873,"tag":2070,"props":6263,"children":6264},{"style":2088},[6265],{"type":1878,"value":6266}," (step",{"type":1873,"tag":2070,"props":6268,"children":6269},{"style":2076},[6270],{"type":1878,"value":6271},"%",{"type":1873,"tag":2070,"props":6273,"children":6274},{"style":2185},[6275],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":6277,"children":6278},{"style":2076},[6279],{"type":1878,"value":6280}," ==",{"type":1873,"tag":2070,"props":6282,"children":6283},{"style":2185},[6284],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":6286,"children":6287},{"style":2088},[6288],{"type":1878,"value":6289},"){\n",{"type":1873,"tag":2070,"props":6291,"children":6292},{"class":2072,"line":54},[6293,6298,6303,6308,6312,6317,6321,6326,6330,6334,6339,6344,6348,6353,6357,6361],{"type":1873,"tag":2070,"props":6294,"children":6295},{"style":2076},[6296],{"type":1878,"value":6297}," const",{"type":1873,"tag":2070,"props":6299,"children":6300},{"style":2076},[6301],{"type":1878,"value":6302}," uint",{"type":1873,"tag":2070,"props":6304,"children":6305},{"style":2088},[6306],{"type":1878,"value":6307}," ib ",{"type":1873,"tag":2070,"props":6309,"children":6310},{"style":2076},[6311],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6313,"children":6314},{"style":2088},[6315],{"type":1878,"value":6316}," (pos_a ",{"type":1873,"tag":2070,"props":6318,"children":6319},{"style":2076},[6320],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6322,"children":6323},{"style":2088},[6324],{"type":1878,"value":6325}," step)",{"type":1873,"tag":2070,"props":6327,"children":6328},{"style":2076},[6329],{"type":1878,"value":4079},{"type":1873,"tag":2070,"props":6331,"children":6332},{"style":2185},[6333],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":6335,"children":6336},{"style":2076},[6337],{"type":1878,"value":6338}," +",{"type":1873,"tag":2070,"props":6340,"children":6341},{"style":2088},[6342],{"type":1878,"value":6343}," gl_SubgroupInvocationID ",{"type":1873,"tag":2070,"props":6345,"children":6346},{"style":2076},[6347],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6349,"children":6350},{"style":2088},[6351],{"type":1878,"value":6352}," p.stride_a",{"type":1873,"tag":2070,"props":6354,"children":6355},{"style":2076},[6356],{"type":1878,"value":4079},{"type":1873,"tag":2070,"props":6358,"children":6359},{"style":2185},[6360],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":6362,"children":6363},{"style":2088},[6364],{"type":1878,"value":6365},";\n",{"type":1873,"tag":2070,"props":6367,"children":6368},{"class":2072,"line":58},[6369,6374,6379,6383,6387,6391,6396],{"type":1873,"tag":2070,"props":6370,"children":6371},{"style":2076},[6372],{"type":1878,"value":6373}," float",{"type":1873,"tag":2070,"props":6375,"children":6376},{"style":2088},[6377],{"type":1878,"value":6378}," d ",{"type":1873,"tag":2070,"props":6380,"children":6381},{"style":2076},[6382],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6384,"children":6385},{"style":2076},[6386],{"type":1878,"value":4443},{"type":1873,"tag":2070,"props":6388,"children":6389},{"style":2088},[6390],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6392,"children":6393},{"style":2094},[6394],{"type":1878,"value":6395},"data_a_packed16",{"type":1873,"tag":2070,"props":6397,"children":6398},{"style":2088},[6399],{"type":1878,"value":6400},"[ib].d);\n",{"type":1873,"tag":2070,"props":6402,"children":6403},{"class":2072,"line":62},[6404,6409,6413,6417,6422,6426,6430,6435,6439,6444,6448,6452],{"type":1873,"tag":2070,"props":6405,"children":6406},{"style":2076},[6407],{"type":1878,"value":6408}," for",{"type":1873,"tag":2070,"props":6410,"children":6411},{"style":2088},[6412],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6414,"children":6415},{"style":2076},[6416],{"type":1878,"value":5464},{"type":1873,"tag":2070,"props":6418,"children":6419},{"style":2088},[6420],{"type":1878,"value":6421}," i ",{"type":1873,"tag":2070,"props":6423,"children":6424},{"style":2076},[6425],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6427,"children":6428},{"style":2185},[6429],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":6431,"children":6432},{"style":2088},[6433],{"type":1878,"value":6434},"; i ",{"type":1873,"tag":2070,"props":6436,"children":6437},{"style":2076},[6438],{"type":1878,"value":2330},{"type":1873,"tag":2070,"props":6440,"children":6441},{"style":2185},[6442],{"type":1878,"value":6443}," 4",{"type":1873,"tag":2070,"props":6445,"children":6446},{"style":2088},[6447],{"type":1878,"value":4190},{"type":1873,"tag":2070,"props":6449,"children":6450},{"style":2076},[6451],{"type":1878,"value":3853},{"type":1873,"tag":2070,"props":6453,"children":6454},{"style":2088},[6455],{"type":1878,"value":6456},") {\n",{"type":1873,"tag":2070,"props":6458,"children":6459},{"class":2072,"line":66},[6460,6465,6470,6474,6478,6482,6486,6491,6495,6500,6505,6510,6514,6518,6522,6526,6530,6534,6538,6542,6546,6551,6556,6561,6566],{"type":1873,"tag":2070,"props":6461,"children":6462},{"style":2076},[6463],{"type":1878,"value":6464}," uint",{"type":1873,"tag":2070,"props":6466,"children":6467},{"style":2088},[6468],{"type":1878,"value":6469}," vui ",{"type":1873,"tag":2070,"props":6471,"children":6472},{"style":2076},[6473],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6475,"children":6476},{"style":2076},[6477],{"type":1878,"value":6302},{"type":1873,"tag":2070,"props":6479,"children":6480},{"style":2088},[6481],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6483,"children":6484},{"style":2094},[6485],{"type":1878,"value":6395},{"type":1873,"tag":2070,"props":6487,"children":6488},{"style":2088},[6489],{"type":1878,"value":6490},"[ib].qs[",{"type":1873,"tag":2070,"props":6492,"children":6493},{"style":2185},[6494],{"type":1878,"value":4084},{"type":1873,"tag":2070,"props":6496,"children":6497},{"style":2076},[6498],{"type":1878,"value":6499}," *",{"type":1873,"tag":2070,"props":6501,"children":6502},{"style":2088},[6503],{"type":1878,"value":6504}," i]) ",{"type":1873,"tag":2070,"props":6506,"children":6507},{"style":2076},[6508],{"type":1878,"value":6509},"|",{"type":1873,"tag":2070,"props":6511,"children":6512},{"style":2088},[6513],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6515,"children":6516},{"style":2076},[6517],{"type":1878,"value":5464},{"type":1873,"tag":2070,"props":6519,"children":6520},{"style":2088},[6521],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6523,"children":6524},{"style":2094},[6525],{"type":1878,"value":6395},{"type":1873,"tag":2070,"props":6527,"children":6528},{"style":2088},[6529],{"type":1878,"value":6490},{"type":1873,"tag":2070,"props":6531,"children":6532},{"style":2185},[6533],{"type":1878,"value":4084},{"type":1873,"tag":2070,"props":6535,"children":6536},{"style":2076},[6537],{"type":1878,"value":6499},{"type":1873,"tag":2070,"props":6539,"children":6540},{"style":2088},[6541],{"type":1878,"value":6421},{"type":1873,"tag":2070,"props":6543,"children":6544},{"style":2076},[6545],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6547,"children":6548},{"style":2185},[6549],{"type":1878,"value":6550}," 1",{"type":1873,"tag":2070,"props":6552,"children":6553},{"style":2088},[6554],{"type":1878,"value":6555},"]) ",{"type":1873,"tag":2070,"props":6557,"children":6558},{"style":2076},[6559],{"type":1878,"value":6560},"\u003C\u003C",{"type":1873,"tag":2070,"props":6562,"children":6563},{"style":2185},[6564],{"type":1878,"value":6565}," 16",{"type":1873,"tag":2070,"props":6567,"children":6568},{"style":2088},[6569],{"type":1878,"value":2350},{"type":1873,"tag":2070,"props":6571,"children":6572},{"class":2072,"line":70},[6573,6578,6583,6587,6591,6596,6600,6605,6610,6615,6619,6623,6628,6633,6638,6643,6647,6652,6657,6661,6665],{"type":1873,"tag":2070,"props":6574,"children":6575},{"style":2076},[6576],{"type":1878,"value":6577}," const",{"type":1873,"tag":2070,"props":6579,"children":6580},{"style":2088},[6581],{"type":1878,"value":6582}," vec4 v0 ",{"type":1873,"tag":2070,"props":6584,"children":6585},{"style":2076},[6586],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6588,"children":6589},{"style":2088},[6590],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6592,"children":6593},{"style":2082},[6594],{"type":1878,"value":6595},"vec4",{"type":1873,"tag":2070,"props":6597,"children":6598},{"style":2088},[6599],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6601,"children":6602},{"style":2082},[6603],{"type":1878,"value":6604},"unpack8",{"type":1873,"tag":2070,"props":6606,"children":6607},{"style":2088},[6608],{"type":1878,"value":6609},"((vui ",{"type":1873,"tag":2070,"props":6611,"children":6612},{"style":2076},[6613],{"type":1878,"value":6614},">>",{"type":1873,"tag":2070,"props":6616,"children":6617},{"style":2185},[6618],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":6620,"children":6621},{"style":2088},[6622],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":6624,"children":6625},{"style":2076},[6626],{"type":1878,"value":6627},"&",{"type":1873,"tag":2070,"props":6629,"children":6630},{"style":2076},[6631],{"type":1878,"value":6632}," 0x",{"type":1873,"tag":2070,"props":6634,"children":6635},{"style":2185},[6636],{"type":1878,"value":6637},"0F0F0F0F",{"type":1873,"tag":2070,"props":6639,"children":6640},{"style":2088},[6641],{"type":1878,"value":6642},")) ",{"type":1873,"tag":2070,"props":6644,"children":6645},{"style":2076},[6646],{"type":1878,"value":4069},{"type":1873,"tag":2070,"props":6648,"children":6649},{"style":2185},[6650],{"type":1878,"value":6651}," 8.0",{"type":1873,"tag":2070,"props":6653,"children":6654},{"style":2076},[6655],{"type":1878,"value":6656},"f",{"type":1873,"tag":2070,"props":6658,"children":6659},{"style":2088},[6660],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":6662,"children":6663},{"style":2076},[6664],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6666,"children":6667},{"style":2088},[6668],{"type":1878,"value":6669}," d;\n",{"type":1873,"tag":2070,"props":6671,"children":6672},{"class":2072,"line":74},[6673,6677,6682,6686,6690,6694,6698,6702,6706,6710,6714,6718,6722,6726,6730,6734,6738,6742,6746,6750,6754],{"type":1873,"tag":2070,"props":6674,"children":6675},{"style":2076},[6676],{"type":1878,"value":6577},{"type":1873,"tag":2070,"props":6678,"children":6679},{"style":2088},[6680],{"type":1878,"value":6681}," vec4 v1 ",{"type":1873,"tag":2070,"props":6683,"children":6684},{"style":2076},[6685],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6687,"children":6688},{"style":2088},[6689],{"type":1878,"value":3694},{"type":1873,"tag":2070,"props":6691,"children":6692},{"style":2082},[6693],{"type":1878,"value":6595},{"type":1873,"tag":2070,"props":6695,"children":6696},{"style":2088},[6697],{"type":1878,"value":4448},{"type":1873,"tag":2070,"props":6699,"children":6700},{"style":2082},[6701],{"type":1878,"value":6604},{"type":1873,"tag":2070,"props":6703,"children":6704},{"style":2088},[6705],{"type":1878,"value":6609},{"type":1873,"tag":2070,"props":6707,"children":6708},{"style":2076},[6709],{"type":1878,"value":6614},{"type":1873,"tag":2070,"props":6711,"children":6712},{"style":2185},[6713],{"type":1878,"value":6443},{"type":1873,"tag":2070,"props":6715,"children":6716},{"style":2088},[6717],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":6719,"children":6720},{"style":2076},[6721],{"type":1878,"value":6627},{"type":1873,"tag":2070,"props":6723,"children":6724},{"style":2076},[6725],{"type":1878,"value":6632},{"type":1873,"tag":2070,"props":6727,"children":6728},{"style":2185},[6729],{"type":1878,"value":6637},{"type":1873,"tag":2070,"props":6731,"children":6732},{"style":2088},[6733],{"type":1878,"value":6642},{"type":1873,"tag":2070,"props":6735,"children":6736},{"style":2076},[6737],{"type":1878,"value":4069},{"type":1873,"tag":2070,"props":6739,"children":6740},{"style":2185},[6741],{"type":1878,"value":6651},{"type":1873,"tag":2070,"props":6743,"children":6744},{"style":2076},[6745],{"type":1878,"value":6656},{"type":1873,"tag":2070,"props":6747,"children":6748},{"style":2088},[6749],{"type":1878,"value":4319},{"type":1873,"tag":2070,"props":6751,"children":6752},{"style":2076},[6753],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6755,"children":6756},{"style":2088},[6757],{"type":1878,"value":6669},{"type":1873,"tag":2070,"props":6759,"children":6760},{"class":2072,"line":78},[6761,6766,6770,6775,6779,6783,6787,6791,6796,6800,6804],{"type":1873,"tag":2070,"props":6762,"children":6763},{"style":2094},[6764],{"type":1878,"value":6765}," vecAh_block",{"type":1873,"tag":2070,"props":6767,"children":6768},{"style":2088},[6769],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6771,"children":6772},{"style":2185},[6773],{"type":1878,"value":6774},"4",{"type":1873,"tag":2070,"props":6776,"children":6777},{"style":2076},[6778],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6780,"children":6781},{"style":2088},[6782],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":6784,"children":6785},{"style":2076},[6786],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6788,"children":6789},{"style":2185},[6790],{"type":1878,"value":3713},{"type":1873,"tag":2070,"props":6792,"children":6793},{"style":2088},[6794],{"type":1878,"value":6795},"] ",{"type":1873,"tag":2070,"props":6797,"children":6798},{"style":2076},[6799],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6801,"children":6802},{"style":2082},[6803],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6805,"children":6806},{"style":2088},[6807],{"type":1878,"value":6808},"(v0.x);\n",{"type":1873,"tag":2070,"props":6810,"children":6811},{"class":2072,"line":82},[6812,6816,6820,6824,6828,6832,6836,6840,6844,6848,6852],{"type":1873,"tag":2070,"props":6813,"children":6814},{"style":2094},[6815],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":6817,"children":6818},{"style":2088},[6819],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6821,"children":6822},{"style":2185},[6823],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":6825,"children":6826},{"style":2076},[6827],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6829,"children":6830},{"style":2088},[6831],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":6833,"children":6834},{"style":2076},[6835],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6837,"children":6838},{"style":2185},[6839],{"type":1878,"value":6550},{"type":1873,"tag":2070,"props":6841,"children":6842},{"style":2088},[6843],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":6845,"children":6846},{"style":2076},[6847],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6849,"children":6850},{"style":2082},[6851],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6853,"children":6854},{"style":2088},[6855],{"type":1878,"value":6856},"(v0.y);\n",{"type":1873,"tag":2070,"props":6858,"children":6859},{"class":2072,"line":86},[6860,6864,6868,6872,6876,6880,6884,6889,6893,6897,6901],{"type":1873,"tag":2070,"props":6861,"children":6862},{"style":2094},[6863],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":6865,"children":6866},{"style":2088},[6867],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6869,"children":6870},{"style":2185},[6871],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":6873,"children":6874},{"style":2076},[6875],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6877,"children":6878},{"style":2088},[6879],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":6881,"children":6882},{"style":2076},[6883],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6885,"children":6886},{"style":2185},[6887],{"type":1878,"value":6888}," 2",{"type":1873,"tag":2070,"props":6890,"children":6891},{"style":2088},[6892],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":6894,"children":6895},{"style":2076},[6896],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6898,"children":6899},{"style":2082},[6900],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6902,"children":6903},{"style":2088},[6904],{"type":1878,"value":6905},"(v0.z);\n",{"type":1873,"tag":2070,"props":6907,"children":6908},{"class":2072,"line":90},[6909,6913,6917,6921,6925,6929,6933,6938,6942,6946,6950],{"type":1873,"tag":2070,"props":6910,"children":6911},{"style":2094},[6912],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":6914,"children":6915},{"style":2088},[6916],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6918,"children":6919},{"style":2185},[6920],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":6922,"children":6923},{"style":2076},[6924],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6926,"children":6927},{"style":2088},[6928],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":6930,"children":6931},{"style":2076},[6932],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6934,"children":6935},{"style":2185},[6936],{"type":1878,"value":6937}," 3",{"type":1873,"tag":2070,"props":6939,"children":6940},{"style":2088},[6941],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":6943,"children":6944},{"style":2076},[6945],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6947,"children":6948},{"style":2082},[6949],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6951,"children":6952},{"style":2088},[6953],{"type":1878,"value":6954},"(v0.w);\n",{"type":1873,"tag":2070,"props":6956,"children":6957},{"class":2072,"line":94},[6958,6962,6966,6970,6974,6978,6982,6986,6990,6994,6998],{"type":1873,"tag":2070,"props":6959,"children":6960},{"style":2094},[6961],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":6963,"children":6964},{"style":2088},[6965],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":6967,"children":6968},{"style":2185},[6969],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":6971,"children":6972},{"style":2076},[6973],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":6975,"children":6976},{"style":2088},[6977],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":6979,"children":6980},{"style":2076},[6981],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":6983,"children":6984},{"style":2185},[6985],{"type":1878,"value":2260},{"type":1873,"tag":2070,"props":6987,"children":6988},{"style":2088},[6989],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":6991,"children":6992},{"style":2076},[6993],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":6995,"children":6996},{"style":2082},[6997],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":6999,"children":7000},{"style":2088},[7001],{"type":1878,"value":7002},"(v1.x);\n",{"type":1873,"tag":2070,"props":7004,"children":7005},{"class":2072,"line":98},[7006,7010,7014,7018,7022,7026,7030,7035,7039,7043,7047],{"type":1873,"tag":2070,"props":7007,"children":7008},{"style":2094},[7009],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":7011,"children":7012},{"style":2088},[7013],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":7015,"children":7016},{"style":2185},[7017],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":7019,"children":7020},{"style":2076},[7021],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":7023,"children":7024},{"style":2088},[7025],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":7027,"children":7028},{"style":2076},[7029],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":7031,"children":7032},{"style":2185},[7033],{"type":1878,"value":7034},"17",{"type":1873,"tag":2070,"props":7036,"children":7037},{"style":2088},[7038],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":7040,"children":7041},{"style":2076},[7042],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":7044,"children":7045},{"style":2082},[7046],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":7048,"children":7049},{"style":2088},[7050],{"type":1878,"value":7051},"(v1.y);\n",{"type":1873,"tag":2070,"props":7053,"children":7054},{"class":2072,"line":102},[7055,7059,7063,7067,7071,7075,7079,7084,7088,7092,7096],{"type":1873,"tag":2070,"props":7056,"children":7057},{"style":2094},[7058],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":7060,"children":7061},{"style":2088},[7062],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":7064,"children":7065},{"style":2185},[7066],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":7068,"children":7069},{"style":2076},[7070],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":7072,"children":7073},{"style":2088},[7074],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":7076,"children":7077},{"style":2076},[7078],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":7080,"children":7081},{"style":2185},[7082],{"type":1878,"value":7083},"18",{"type":1873,"tag":2070,"props":7085,"children":7086},{"style":2088},[7087],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":7089,"children":7090},{"style":2076},[7091],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":7093,"children":7094},{"style":2082},[7095],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":7097,"children":7098},{"style":2088},[7099],{"type":1878,"value":7100},"(v1.z);\n",{"type":1873,"tag":2070,"props":7102,"children":7103},{"class":2072,"line":106},[7104,7108,7112,7116,7120,7124,7128,7133,7137,7141,7145],{"type":1873,"tag":2070,"props":7105,"children":7106},{"style":2094},[7107],{"type":1878,"value":6765},{"type":1873,"tag":2070,"props":7109,"children":7110},{"style":2088},[7111],{"type":1878,"value":2182},{"type":1873,"tag":2070,"props":7113,"children":7114},{"style":2185},[7115],{"type":1878,"value":6774},{"type":1873,"tag":2070,"props":7117,"children":7118},{"style":2076},[7119],{"type":1878,"value":3772},{"type":1873,"tag":2070,"props":7121,"children":7122},{"style":2088},[7123],{"type":1878,"value":2424},{"type":1873,"tag":2070,"props":7125,"children":7126},{"style":2076},[7127],{"type":1878,"value":3800},{"type":1873,"tag":2070,"props":7129,"children":7130},{"style":2185},[7131],{"type":1878,"value":7132},"19",{"type":1873,"tag":2070,"props":7134,"children":7135},{"style":2088},[7136],{"type":1878,"value":6795},{"type":1873,"tag":2070,"props":7138,"children":7139},{"style":2076},[7140],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":7142,"children":7143},{"style":2082},[7144],{"type":1878,"value":6029},{"type":1873,"tag":2070,"props":7146,"children":7147},{"style":2088},[7148],{"type":1878,"value":7149},"(v1.w);\n",{"type":1873,"tag":2070,"props":7151,"children":7152},{"class":2072,"line":110},[7153],{"type":1873,"tag":2070,"props":7154,"children":7155},{"style":2088},[7156],{"type":1878,"value":7157}," }\n",{"type":1873,"tag":2070,"props":7159,"children":7160},{"class":2072,"line":114},[7161],{"type":1873,"tag":2070,"props":7162,"children":7163},{"style":2088},[7164],{"type":1878,"value":7165}," }\n",{"type":1873,"tag":2070,"props":7167,"children":7168},{"class":2072,"line":118},[7169],{"type":1873,"tag":2070,"props":7170,"children":7171},{"emptyLinePlaceholder":232},[7172],{"type":1878,"value":2239},{"type":1873,"tag":2070,"props":7174,"children":7175},{"class":2072,"line":122},[7176,7181,7186,7190,7194,7199],{"type":1873,"tag":2070,"props":7177,"children":7178},{"style":2082},[7179],{"type":1878,"value":7180}," extractSubArrayQCOM",{"type":1873,"tag":2070,"props":7182,"children":7183},{"style":2088},[7184],{"type":1878,"value":7185},"(vecAh_block, step",{"type":1873,"tag":2070,"props":7187,"children":7188},{"style":2076},[7189],{"type":1878,"value":6271},{"type":1873,"tag":2070,"props":7191,"children":7192},{"style":2185},[7193],{"type":1878,"value":2578},{"type":1873,"tag":2070,"props":7195,"children":7196},{"style":2088},[7197],{"type":1878,"value":7198},", vecAh);",{"type":1873,"tag":2070,"props":7200,"children":7201},{"style":2629},[7202],{"type":1878,"value":7203}," // extract first 16 or second 16 channels\n",{"type":1873,"tag":2070,"props":7205,"children":7206},{"class":2072,"line":126},[7207,7212],{"type":1873,"tag":2070,"props":7208,"children":7209},{"style":2082},[7210],{"type":1878,"value":7211}," vectorToCoopmatQCOM",{"type":1873,"tag":2070,"props":7213,"children":7214},{"style":2088},[7215],{"type":1878,"value":7216},"(vecAh, matA);\n",{"type":1873,"tag":2070,"props":7218,"children":7219},{"class":2072,"line":130},[7220,7224],{"type":1873,"tag":2070,"props":7221,"children":7222},{"style":2082},[7223],{"type":1878,"value":7211},{"type":1873,"tag":2070,"props":7225,"children":7226},{"style":2088},[7227],{"type":1878,"value":7228},"(vecBh, matB);\n",{"type":1873,"tag":2070,"props":7230,"children":7231},{"class":2072,"line":134},[7232,7237,7241,7245],{"type":1873,"tag":2070,"props":7233,"children":7234},{"style":2088},[7235],{"type":1878,"value":7236}," matC ",{"type":1873,"tag":2070,"props":7238,"children":7239},{"style":2076},[7240],{"type":1878,"value":3708},{"type":1873,"tag":2070,"props":7242,"children":7243},{"style":2082},[7244],{"type":1878,"value":4526},{"type":1873,"tag":2070,"props":7246,"children":7247},{"style":2088},[7248],{"type":1878,"value":4531},{"type":1873,"tag":2070,"props":7250,"children":7251},{"class":2072,"line":138},[7252],{"type":1873,"tag":2070,"props":7253,"children":7254},{"style":2088},[7255],{"type":1878,"value":4571},{"type":1873,"tag":7257,"props":7258,"children":7259},"style",{},[7260],{"type":1878,"value":7261},"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":2064,"searchDepth":14,"depth":14,"links":7263},[7264,7265,7266,7273],{"id":1893,"depth":14,"text":1896},{"id":1914,"depth":14,"text":1917},{"id":1925,"depth":14,"text":1928,"children":7267},[7268,7269,7270,7271,7272],{"id":2045,"depth":18,"text":1981},{"id":2279,"depth":18,"text":1990},{"id":3123,"depth":18,"text":1999},{"id":3204,"depth":18,"text":2008},{"id":3567,"depth":18,"text":211},{"id":3660,"depth":14,"text":3663,"children":7274},[7275,7276,7277,7278],{"id":3666,"depth":18,"text":3669},{"id":4574,"depth":18,"text":4577},{"id":5190,"depth":18,"text":5193},{"id":5914,"depth":18,"text":5917},"markdown",1773121739401]