[{"data":1,"prerenderedAt":4796},["ShallowReactive",2],{"$flTTP1ACxoY3JWxDGBY-XekRsZsxpvIpMBaq215gW9ag":3,"$fGGa3jm2fyiZgwLdx4RmmiEvaouuONKLYoKH9T7IQulI":263,"$fvIQgRcY5BTqdwPTA7OXdf_FIg-CqG9g4A6Ff_aEnKHg":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":4795,"_id":1867},"VK_QCOM_tile_memory_heap.proposal","This document details API design ideas for the VK_QCOM_tile_memory_heap extension. This extension allows applications to directly allocate and manage tile memory.",{"type":1870,"children":1871,"toc":4773},"root",[1872,1879,1886,1891,1896,1902,1907,1952,1958,1963,1970,1975,2055,2069,2090,2103,2108,2114,2183,2259,2278,2284,2289,2302,2359,2379,2396,2468,2487,2499,2508,2535,2541,2554,2617,2631,2650,2800,2819,2825,2838,2962,2976,2981,3048,3066,3072,3092,3163,3188,3206,3212,3238,3243,3251,3257,3262,3267,3327,3340,3371,3376,3395,3401,3406,3411,3440,3446,3451,3457,3463,3937,3943,4383,4389,4756,4762,4767],{"type":1873,"tag":1874,"props":1875,"children":1876},"element","p",{},[1877],{"type":1878,"value":1868},"text",{"type":1873,"tag":1880,"props":1881,"children":1883},"h2",{"id":1882},"_problem_statement",[1884],{"type":1878,"value":1885},"Problem Statement",{"type":1873,"tag":1874,"props":1887,"children":1888},{},[1889],{"type":1878,"value":1890},"Most mobile GPUs utilize high-bandwidth Tile Memory within a render pass to optimize attachment memory access. The attachments are evicted from tiled memory no later than the end of the render pass, in accordance with the store ops. However, popular-rendering techniques, such as deferred rendering, use resources across render passes, often accessing them multiple times within the application’s frame. This leads to shuffling those resources in and out of tile memory, increasing power cost and reducing performance.",{"type":1873,"tag":1874,"props":1892,"children":1893},{},[1894],{"type":1878,"value":1895},"For tilers that support persisting resources in tile memory across render passes, the implementation must track and provide a best guess as to which of them would see the most gains from staying resident, avoiding extra loads and stores. However, this requires non-trivial host overhead in tracking costs and may end up not choosing the best candidates.",{"type":1873,"tag":1880,"props":1897,"children":1899},{"id":1898},"_solution_space",[1900],{"type":1878,"value":1901},"Solution Space",{"type":1873,"tag":1874,"props":1903,"children":1904},{},[1905],{"type":1878,"value":1906},"A few different solutions were considered:",{"type":1873,"tag":1908,"props":1909,"children":1910},"ol",{},[1911,1926,1939],{"type":1873,"tag":1912,"props":1913,"children":1914},"li",{},[1915,1917],{"type":1878,"value":1916},"Allow applications to provide priority to resources as they are being recorded within a Command Buffer. Higher priority resources would be optimal candidates for tile memory and lower priorities would be less optimal candidates for tile memory.",{"type":1873,"tag":1918,"props":1919,"children":1920},"ul",{},[1921],{"type":1873,"tag":1912,"props":1922,"children":1923},{},[1924],{"type":1878,"value":1925},"CONS: While this helps solve the problem with choosing the optimal resources for staying resident, this does not solve the problem of implementation overhead. It would still need to use the same algorithms as before to prioritize resources, just allowing external prioritization to come from the app.",{"type":1873,"tag":1912,"props":1927,"children":1928},{},[1929,1931],{"type":1878,"value":1930},"Allow applications to provide an explicit list of resources during Command Buffer record time to dynamically change the layout and resources within tile memory.",{"type":1873,"tag":1918,"props":1932,"children":1933},{},[1934],{"type":1873,"tag":1912,"props":1935,"children":1936},{},[1937],{"type":1878,"value":1938},"CONS: This approach requires a couple of new API calls. One new API call to see if a resource is eligible to be placed in Tile Memory. An additional API call would be needed to be specify resources during Command Buffer recording time. This API may be difficult for applications to implement, adding complex tracking to their object management.",{"type":1873,"tag":1912,"props":1940,"children":1941},{},[1942,1944],{"type":1878,"value":1943},"Allow applications to manage Tile Memory directly through a new Heap/Mem Type and bind this memory to resources such as VkImage and VkBuffers.",{"type":1873,"tag":1918,"props":1945,"children":1946},{},[1947],{"type":1873,"tag":1912,"props":1948,"children":1949},{},[1950],{"type":1878,"value":1951},"Giving app explicit control over the heap solves both problems of implementation overhead and suboptimal selections of resources. It is also less complicated to implement for applications that do not need to perform the expense of a complex object tracking model.",{"type":1873,"tag":1880,"props":1953,"children":1955},{"id":1954},"_proposal",[1956],{"type":1878,"value":1957},"Proposal",{"type":1873,"tag":1874,"props":1959,"children":1960},{},[1961],{"type":1878,"value":1962},"This extension uses solution 3 which allows applications to manage persistent tile memory explicitly and bind the memory to resources such as VkImage and VkBuffers. Resources that are bound to this tile memory are expected to have more optimal device accesses across render passes where they would have otherwise been needed to be swapped to system memory.",{"type":1873,"tag":1964,"props":1965,"children":1967},"h3",{"id":1966},"_tile_memory_heap",[1968],{"type":1878,"value":1969},"Tile Memory Heap",{"type":1873,"tag":1874,"props":1971,"children":1972},{},[1973],{"type":1878,"value":1974},"This extension exposes a partition of Tile Memory as a single VkMemoryHeap. A new memory heap flag is added to indicate the Tile Memory heap:",{"type":1873,"tag":1976,"props":1977,"children":1982},"pre",{"className":1978,"code":1979,"language":1980,"meta":1981,"style":1981},"language-c shiki shiki-themes github-light-default github-dark-default","typedef enum VkMemoryHeapFlagBits {\n /* ... */\n VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM = 0x00000008,\n} VkMemoryHeapFlagBits;\n","c","",[1983],{"type":1873,"tag":1984,"props":1985,"children":1986},"code",{"__ignoreMap":1981},[1987,2009,2018,2047],{"type":1873,"tag":1988,"props":1989,"children":1991},"span",{"class":1990,"line":10},"line",[1992,1998,2003],{"type":1873,"tag":1988,"props":1993,"children":1995},{"style":1994},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[1996],{"type":1878,"value":1997},"typedef",{"type":1873,"tag":1988,"props":1999,"children":2000},{"style":1994},[2001],{"type":1878,"value":2002}," enum",{"type":1873,"tag":1988,"props":2004,"children":2006},{"style":2005},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[2007],{"type":1878,"value":2008}," VkMemoryHeapFlagBits {\n",{"type":1873,"tag":1988,"props":2010,"children":2011},{"class":1990,"line":14},[2012],{"type":1873,"tag":1988,"props":2013,"children":2015},{"style":2014},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[2016],{"type":1878,"value":2017}," /* ... */\n",{"type":1873,"tag":1988,"props":2019,"children":2020},{"class":1990,"line":18},[2021,2026,2031,2036,2042],{"type":1873,"tag":1988,"props":2022,"children":2023},{"style":2005},[2024],{"type":1878,"value":2025}," VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM ",{"type":1873,"tag":1988,"props":2027,"children":2028},{"style":1994},[2029],{"type":1878,"value":2030},"=",{"type":1873,"tag":1988,"props":2032,"children":2033},{"style":1994},[2034],{"type":1878,"value":2035}," 0x",{"type":1873,"tag":1988,"props":2037,"children":2039},{"style":2038},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[2040],{"type":1878,"value":2041},"00000008",{"type":1873,"tag":1988,"props":2043,"children":2044},{"style":2005},[2045],{"type":1878,"value":2046},",\n",{"type":1873,"tag":1988,"props":2048,"children":2049},{"class":1990,"line":22},[2050],{"type":1873,"tag":1988,"props":2051,"children":2052},{"style":2005},[2053],{"type":1878,"value":2054},"} VkMemoryHeapFlagBits;\n",{"type":1873,"tag":1918,"props":2056,"children":2057},{},[2058],{"type":1873,"tag":1912,"props":2059,"children":2060},{},[2061,2067],{"type":1873,"tag":1984,"props":2062,"children":2064},{"className":2063},[],[2065],{"type":1878,"value":2066},"VK_MEMORY_HEAP_TILE_MEMORY_BIT_QCOM",{"type":1878,"value":2068}," specifies that the heap corresponds to tile memory.",{"type":1873,"tag":1874,"props":2070,"children":2071},{},[2072,2074,2080,2082,2088],{"type":1878,"value":2073},"The contents within this heap can be persisted across the command buffers executed in a single command buffer submission batch within a ",{"type":1873,"tag":1984,"props":2075,"children":2077},{"className":2076},[],[2078],{"type":1878,"value":2079},"vkQueueSubmit()",{"type":1878,"value":2081}," or ",{"type":1873,"tag":1984,"props":2083,"children":2085},{"className":2084},[],[2086],{"type":1878,"value":2087},"vkQueueSubmit2()",{"type":1878,"value":2089}," call. After the command buffers complete execution, the contents of this memory is discarded and considered undefined, ready to be used for executing with another command buffer submission batch.",{"type":1873,"tag":1874,"props":2091,"children":2092},{},[2093,2095,2101],{"type":1878,"value":2094},"Implementations may extend this command buffer submission batch boundary to a queue submit boundary denoted by the ",{"type":1873,"tag":1984,"props":2096,"children":2098},{"className":2097},[],[2099],{"type":1878,"value":2100},"queueSubmitBoundary",{"type":1878,"value":2102}," property.",{"type":1873,"tag":1874,"props":2104,"children":2105},{},[2106],{"type":1878,"value":2107},"Tile memory may be used simultaneously by command buffers in other Queues without invalidating the contents. Contents in tile memory are only visible between command buffers executing within the same Queue.",{"type":1873,"tag":1964,"props":2109,"children":2111},{"id":2110},"_properties",[2112],{"type":1878,"value":2113},"Properties",{"type":1873,"tag":1976,"props":2115,"children":2117},{"className":1978,"code":2116,"language":1980,"meta":1981,"style":1981},"typedef struct VkPhysicalDeviceTileMemoryHeapPropertiesQCOM {\n VkStructureType sType;\n void* pNext;\n VkBool32 queueSubmitBoundary;\n VkBool32 tileBufferTransfers;\n} VkPhysicalDeviceTileMemoryHeapPropertiesQCOM;\n",[2118],{"type":1873,"tag":1984,"props":2119,"children":2120},{"__ignoreMap":1981},[2121,2138,2146,2159,2167,2175],{"type":1873,"tag":1988,"props":2122,"children":2123},{"class":1990,"line":10},[2124,2128,2133],{"type":1873,"tag":1988,"props":2125,"children":2126},{"style":1994},[2127],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":2129,"children":2130},{"style":1994},[2131],{"type":1878,"value":2132}," struct",{"type":1873,"tag":1988,"props":2134,"children":2135},{"style":2005},[2136],{"type":1878,"value":2137}," VkPhysicalDeviceTileMemoryHeapPropertiesQCOM {\n",{"type":1873,"tag":1988,"props":2139,"children":2140},{"class":1990,"line":14},[2141],{"type":1873,"tag":1988,"props":2142,"children":2143},{"style":2005},[2144],{"type":1878,"value":2145}," VkStructureType sType;\n",{"type":1873,"tag":1988,"props":2147,"children":2148},{"class":1990,"line":18},[2149,2154],{"type":1873,"tag":1988,"props":2150,"children":2151},{"style":1994},[2152],{"type":1878,"value":2153}," void*",{"type":1873,"tag":1988,"props":2155,"children":2156},{"style":2005},[2157],{"type":1878,"value":2158}," pNext;\n",{"type":1873,"tag":1988,"props":2160,"children":2161},{"class":1990,"line":22},[2162],{"type":1873,"tag":1988,"props":2163,"children":2164},{"style":2005},[2165],{"type":1878,"value":2166}," VkBool32 queueSubmitBoundary;\n",{"type":1873,"tag":1988,"props":2168,"children":2169},{"class":1990,"line":26},[2170],{"type":1873,"tag":1988,"props":2171,"children":2172},{"style":2005},[2173],{"type":1878,"value":2174}," VkBool32 tileBufferTransfers;\n",{"type":1873,"tag":1988,"props":2176,"children":2177},{"class":1990,"line":30},[2178],{"type":1873,"tag":1988,"props":2179,"children":2180},{"style":2005},[2181],{"type":1878,"value":2182},"} VkPhysicalDeviceTileMemoryHeapPropertiesQCOM;\n",{"type":1873,"tag":1918,"props":2184,"children":2185},{},[2186,2219],{"type":1873,"tag":1912,"props":2187,"children":2188},{},[2189,2194,2196,2202,2204,2209,2211,2217],{"type":1873,"tag":1984,"props":2190,"children":2192},{"className":2191},[],[2193],{"type":1878,"value":2100},{"type":1878,"value":2195}," when set to ",{"type":1873,"tag":1984,"props":2197,"children":2199},{"className":2198},[],[2200],{"type":1878,"value":2201},"VK_TRUE",{"type":1878,"value":2203},", indicates VkMemoryHeaps with the bit ",{"type":1873,"tag":1984,"props":2205,"children":2207},{"className":2206},[],[2208],{"type":1878,"value":2066},{"type":1878,"value":2210}," discards memory contents after all commands complete within a queue submit. When ",{"type":1873,"tag":1984,"props":2212,"children":2214},{"className":2213},[],[2215],{"type":1878,"value":2216},"VK_FALSE",{"type":1878,"value":2218},", this memory is discarded after all commands complete within a command buffer submission batch.",{"type":1873,"tag":1912,"props":2220,"children":2221},{},[2222,2228,2229,2234,2236,2242,2244,2250,2252,2257],{"type":1873,"tag":1984,"props":2223,"children":2225},{"className":2224},[],[2226],{"type":1878,"value":2227},"tileBufferTransfers",{"type":1878,"value":2195},{"type":1873,"tag":1984,"props":2230,"children":2232},{"className":2231},[],[2233],{"type":1878,"value":2201},{"type":1878,"value":2235},", indicates VkBuffers bound to tile memory support ",{"type":1873,"tag":1984,"props":2237,"children":2239},{"className":2238},[],[2240],{"type":1878,"value":2241},"VK_BUFFER_USAGE_TRANSFER_SRC_BIT",{"type":1878,"value":2243}," and ",{"type":1873,"tag":1984,"props":2245,"children":2247},{"className":2246},[],[2248],{"type":1878,"value":2249},"VK_BUFFER_USAGE_TRANSFER_DST_BIT",{"type":1878,"value":2251}," usage. When ",{"type":1873,"tag":1984,"props":2253,"children":2255},{"className":2254},[],[2256],{"type":1878,"value":2216},{"type":1878,"value":2258},", VkBuffers bound to tile memory do not support transfer usage.",{"type":1873,"tag":1874,"props":2260,"children":2261},{},[2262,2268,2270,2276],{"type":1873,"tag":1984,"props":2263,"children":2265},{"className":2264},[],[2266],{"type":1878,"value":2267},"VkPhysicalDeviceTileMemoryHeapPropertiesQCOM",{"type":1878,"value":2269}," extends ",{"type":1873,"tag":1984,"props":2271,"children":2273},{"className":2272},[],[2274],{"type":1878,"value":2275},"VkPhysicalDeviceProperties2",{"type":1878,"value":2277}," which should be queried to determine when tile memory is discarded.",{"type":1873,"tag":1964,"props":2279,"children":2281},{"id":2280},"_binding_tile_memory",[2282],{"type":1878,"value":2283},"Binding Tile Memory",{"type":1873,"tag":1874,"props":2285,"children":2286},{},[2287],{"type":1878,"value":2288},"The entire range of memory in the tile memory heap is not available to the application, even if images or buffers are bound to those ranges.",{"type":1873,"tag":1874,"props":2290,"children":2291},{},[2292,2294,2300],{"type":1878,"value":2293},"In order to access tile memory during commands, a ",{"type":1873,"tag":1984,"props":2295,"children":2297},{"className":2296},[],[2298],{"type":1878,"value":2299},"VkDeviceMemory",{"type":1878,"value":2301}," object allocated from the tile memory heap must be bound to the Command Buffer. The bound tile memory object describes the range of Tile Memory that the application is allowed to access from offset 0.",{"type":1873,"tag":1976,"props":2303,"children":2305},{"className":1978,"code":2304,"language":1980,"meta":1981,"style":1981},"typedef struct VkTileMemoryBindInfoQCOM {\n VkStructureType sType;\n void* pNext;\n VkDeviceMemory memory\n} VkTileMemoryBindInfoQCOM;\n",[2306],{"type":1873,"tag":1984,"props":2307,"children":2308},{"__ignoreMap":1981},[2309,2325,2332,2343,2351],{"type":1873,"tag":1988,"props":2310,"children":2311},{"class":1990,"line":10},[2312,2316,2320],{"type":1873,"tag":1988,"props":2313,"children":2314},{"style":1994},[2315],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":2317,"children":2318},{"style":1994},[2319],{"type":1878,"value":2132},{"type":1873,"tag":1988,"props":2321,"children":2322},{"style":2005},[2323],{"type":1878,"value":2324}," VkTileMemoryBindInfoQCOM {\n",{"type":1873,"tag":1988,"props":2326,"children":2327},{"class":1990,"line":14},[2328],{"type":1873,"tag":1988,"props":2329,"children":2330},{"style":2005},[2331],{"type":1878,"value":2145},{"type":1873,"tag":1988,"props":2333,"children":2334},{"class":1990,"line":18},[2335,2339],{"type":1873,"tag":1988,"props":2336,"children":2337},{"style":1994},[2338],{"type":1878,"value":2153},{"type":1873,"tag":1988,"props":2340,"children":2341},{"style":2005},[2342],{"type":1878,"value":2158},{"type":1873,"tag":1988,"props":2344,"children":2345},{"class":1990,"line":22},[2346],{"type":1873,"tag":1988,"props":2347,"children":2348},{"style":2005},[2349],{"type":1878,"value":2350}," VkDeviceMemory memory\n",{"type":1873,"tag":1988,"props":2352,"children":2353},{"class":1990,"line":26},[2354],{"type":1873,"tag":1988,"props":2355,"children":2356},{"style":2005},[2357],{"type":1878,"value":2358},"} VkTileMemoryBindInfoQCOM;\n",{"type":1873,"tag":1918,"props":2360,"children":2361},{},[2362],{"type":1873,"tag":1912,"props":2363,"children":2364},{},[2365,2370,2372,2377],{"type":1873,"tag":1984,"props":2366,"children":2368},{"className":2367},[],[2369],{"type":1878,"value":48},{"type":1878,"value":2371}," is the ",{"type":1873,"tag":1984,"props":2373,"children":2375},{"className":2374},[],[2376],{"type":1878,"value":2299},{"type":1878,"value":2378}," object describing the tile memory that can be accessed by the application for all subsequent commands in the command buffer. The bound range of tile memory is [0, N) where N is the size of the allocation in bytes.",{"type":1873,"tag":1874,"props":2380,"children":2381},{},[2382,2387,2389,2394],{"type":1873,"tag":1984,"props":2383,"children":2385},{"className":2384},[],[2386],{"type":1878,"value":48},{"type":1878,"value":2388}," must be allocated out of a VkMemoryHeap with the ",{"type":1873,"tag":1984,"props":2390,"children":2392},{"className":2391},[],[2393],{"type":1878,"value":2066},{"type":1878,"value":2395}," bit set.",{"type":1873,"tag":1976,"props":2397,"children":2399},{"className":1978,"code":2398,"language":1980,"meta":1981,"style":1981},"void vkCmdBindTileMemoryQCOM(\n VkCommandBuffer commandBuffer,\n const VkTileMemoryBindInfoQCOM* pTileMemoryBindInfo);\n",[2400],{"type":1873,"tag":1984,"props":2401,"children":2402},{"__ignoreMap":1981},[2403,2422,2440],{"type":1873,"tag":1988,"props":2404,"children":2405},{"class":1990,"line":10},[2406,2411,2417],{"type":1873,"tag":1988,"props":2407,"children":2408},{"style":1994},[2409],{"type":1878,"value":2410},"void",{"type":1873,"tag":1988,"props":2412,"children":2414},{"style":2413},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[2415],{"type":1878,"value":2416}," vkCmdBindTileMemoryQCOM",{"type":1873,"tag":1988,"props":2418,"children":2419},{"style":2005},[2420],{"type":1878,"value":2421},"(\n",{"type":1873,"tag":1988,"props":2423,"children":2424},{"class":1990,"line":14},[2425,2430,2436],{"type":1873,"tag":1988,"props":2426,"children":2427},{"style":2005},[2428],{"type":1878,"value":2429}," VkCommandBuffer ",{"type":1873,"tag":1988,"props":2431,"children":2433},{"style":2432},"--shiki-default:#953800;--shiki-dark:#FFA657",[2434],{"type":1878,"value":2435},"commandBuffer",{"type":1873,"tag":1988,"props":2437,"children":2438},{"style":2005},[2439],{"type":1878,"value":2046},{"type":1873,"tag":1988,"props":2441,"children":2442},{"class":1990,"line":18},[2443,2448,2453,2458,2463],{"type":1873,"tag":1988,"props":2444,"children":2445},{"style":1994},[2446],{"type":1878,"value":2447}," const",{"type":1873,"tag":1988,"props":2449,"children":2450},{"style":2005},[2451],{"type":1878,"value":2452}," VkTileMemoryBindInfoQCOM",{"type":1873,"tag":1988,"props":2454,"children":2455},{"style":1994},[2456],{"type":1878,"value":2457},"*",{"type":1873,"tag":1988,"props":2459,"children":2460},{"style":2432},[2461],{"type":1878,"value":2462}," pTileMemoryBindInfo",{"type":1873,"tag":1988,"props":2464,"children":2465},{"style":2005},[2466],{"type":1878,"value":2467},");\n",{"type":1873,"tag":1874,"props":2469,"children":2470},{},[2471,2477,2479,2485],{"type":1873,"tag":1984,"props":2472,"children":2474},{"className":2473},[],[2475],{"type":1878,"value":2476},"vkCmdBindTileMemoryQCOM()",{"type":1878,"value":2478}," must be called outside Render Pass Scope and extends ",{"type":1873,"tag":1984,"props":2480,"children":2482},{"className":2481},[],[2483],{"type":1878,"value":2484},"VkCommandBufferInheritanceInfo",{"type":1878,"value":2486},".",{"type":1873,"tag":1874,"props":2488,"children":2489},{},[2490,2492,2497],{"type":1878,"value":2491},"Tile memory contents for ranges outside the currently bound ",{"type":1873,"tag":1984,"props":2493,"children":2495},{"className":2494},[],[2496],{"type":1878,"value":2299},{"type":1878,"value":2498}," are discarded and become undefined if an action command is executed. This means that applications must bind the range of tile memory that should be preserved before issuing an action command. Only the tile memory resources that are also bound to this VkDeviceMemory object are allowed to be accessed.",{"type":1873,"tag":2500,"props":2501,"children":2502},"note",{},[2503],{"type":1873,"tag":1874,"props":2504,"children":2505},{},[2506],{"type":1878,"value":2507},"For example, if a rendering or compute command uses N bytes of tile memory, then the application should bind a VkDeviceMemory object that was allocated with at least N bytes. This means that the range of tile memory from [0, N) is reserved for the application and the implementation may use any remaining (if any) tile memory starting from N for internal optimizations for all subsequent commands recorded in the command buffer. This means that applications should slot in their most frequently used tile objects at the start of the heap.",{"type":1873,"tag":1874,"props":2509,"children":2510},{},[2511,2513,2519,2521,2526,2528,2533],{"type":1878,"value":2512},"Secondary command buffers must also have tile memory bound for its contents to not be discarded during the first action command executed by the secondary. If a secondary command buffer is executed within a render pass instance, then ",{"type":1873,"tag":1984,"props":2514,"children":2516},{"className":2515},[],[2517],{"type":1878,"value":2518},"VkTileMemoryBindInfoQCOM",{"type":1878,"value":2520}," must be provided as an extended structure to ",{"type":1873,"tag":1984,"props":2522,"children":2524},{"className":2523},[],[2525],{"type":1878,"value":2484},{"type":1878,"value":2527}," with the currently bound memory object in the primary. Otherwise, the secondary command buffer calls ",{"type":1873,"tag":1984,"props":2529,"children":2531},{"className":2530},[],[2532],{"type":1878,"value":2476},{"type":1878,"value":2534}," directly and behaves the same as a primary command buffer.",{"type":1873,"tag":1964,"props":2536,"children":2538},{"id":2537},"_vkimages",[2539],{"type":1878,"value":2540},"VkImages",{"type":1873,"tag":1874,"props":2542,"children":2543},{},[2544,2546,2552],{"type":1878,"value":2545},"VkImages can be bound to Tile Memory to make it backed by tile memory. A VkImage bound to Tile Memory must have been created with a new bit in VkImageUsageFlags to its ",{"type":1873,"tag":1984,"props":2547,"children":2549},{"className":2548},[],[2550],{"type":1878,"value":2551},"vkCreateImage()",{"type":1878,"value":2553}," call.",{"type":1873,"tag":1976,"props":2555,"children":2557},{"className":1978,"code":2556,"language":1980,"meta":1981,"style":1981},"typedef enum VkImageUsageFlagBits {\n /* ... */\n VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000,\n} VkImageUsageFlagBits\n",[2558],{"type":1873,"tag":1984,"props":2559,"children":2560},{"__ignoreMap":1981},[2561,2577,2584,2609],{"type":1873,"tag":1988,"props":2562,"children":2563},{"class":1990,"line":10},[2564,2568,2572],{"type":1873,"tag":1988,"props":2565,"children":2566},{"style":1994},[2567],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":2569,"children":2570},{"style":1994},[2571],{"type":1878,"value":2002},{"type":1873,"tag":1988,"props":2573,"children":2574},{"style":2005},[2575],{"type":1878,"value":2576}," VkImageUsageFlagBits {\n",{"type":1873,"tag":1988,"props":2578,"children":2579},{"class":1990,"line":14},[2580],{"type":1873,"tag":1988,"props":2581,"children":2582},{"style":2014},[2583],{"type":1878,"value":2017},{"type":1873,"tag":1988,"props":2585,"children":2586},{"class":1990,"line":18},[2587,2592,2596,2600,2605],{"type":1873,"tag":1988,"props":2588,"children":2589},{"style":2005},[2590],{"type":1878,"value":2591}," VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM ",{"type":1873,"tag":1988,"props":2593,"children":2594},{"style":1994},[2595],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":2597,"children":2598},{"style":1994},[2599],{"type":1878,"value":2035},{"type":1873,"tag":1988,"props":2601,"children":2602},{"style":2038},[2603],{"type":1878,"value":2604},"08000000",{"type":1873,"tag":1988,"props":2606,"children":2607},{"style":2005},[2608],{"type":1878,"value":2046},{"type":1873,"tag":1988,"props":2610,"children":2611},{"class":1990,"line":22},[2612],{"type":1873,"tag":1988,"props":2613,"children":2614},{"style":2005},[2615],{"type":1878,"value":2616},"} VkImageUsageFlagBits\n",{"type":1873,"tag":1918,"props":2618,"children":2619},{},[2620],{"type":1873,"tag":1912,"props":2621,"children":2622},{},[2623,2629],{"type":1873,"tag":1984,"props":2624,"children":2626},{"className":2625},[],[2627],{"type":1878,"value":2628},"VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM",{"type":1878,"value":2630}," indicates that the VkImage can be bound to VkDeviceMemory allocated from the Tile Memory heap.",{"type":1873,"tag":1874,"props":2632,"children":2633},{},[2634,2636,2641,2643,2648],{"type":1878,"value":2635},"Images created with the ",{"type":1873,"tag":1984,"props":2637,"children":2639},{"className":2638},[],[2640],{"type":1878,"value":2628},{"type":1878,"value":2642}," usage flag set have further restrictions on their limits and capabilities compared to images created without this bit. Creation of images with the ",{"type":1873,"tag":1984,"props":2644,"children":2646},{"className":2645},[],[2647],{"type":1878,"value":2628},{"type":1878,"value":2649}," usage flag set may not be supported unless parameters meet all of the constraints:",{"type":1873,"tag":1918,"props":2651,"children":2652},{},[2653,2678,2694,2705,2715,2731,2747],{"type":1873,"tag":1912,"props":2654,"children":2655},{},[2656,2662,2664,2670,2672],{"type":1873,"tag":1984,"props":2657,"children":2659},{"className":2658},[],[2660],{"type":1878,"value":2661},"flags",{"type":1878,"value":2663}," is ",{"type":1873,"tag":1984,"props":2665,"children":2667},{"className":2666},[],[2668],{"type":1878,"value":2669},"0",{"type":1878,"value":2671}," or only includes ",{"type":1873,"tag":1984,"props":2673,"children":2675},{"className":2674},[],[2676],{"type":1878,"value":2677},"VK_IMAGE_CREATE_ALIAS_BIT",{"type":1873,"tag":1912,"props":2679,"children":2680},{},[2681,2687,2688],{"type":1873,"tag":1984,"props":2682,"children":2684},{"className":2683},[],[2685],{"type":1878,"value":2686},"imageType",{"type":1878,"value":2663},{"type":1873,"tag":1984,"props":2689,"children":2691},{"className":2690},[],[2692],{"type":1878,"value":2693},"VK_IMAGE_TYPE_2D",{"type":1873,"tag":1912,"props":2695,"children":2696},{},[2697,2703],{"type":1873,"tag":1984,"props":2698,"children":2700},{"className":2699},[],[2701],{"type":1878,"value":2702},"mipLevels",{"type":1878,"value":2704}," is 1",{"type":1873,"tag":1912,"props":2706,"children":2707},{},[2708,2714],{"type":1873,"tag":1984,"props":2709,"children":2711},{"className":2710},[],[2712],{"type":1878,"value":2713},"arrayLayers",{"type":1878,"value":2704},{"type":1873,"tag":1912,"props":2716,"children":2717},{},[2718,2724,2725],{"type":1873,"tag":1984,"props":2719,"children":2721},{"className":2720},[],[2722],{"type":1878,"value":2723},"samples",{"type":1878,"value":2663},{"type":1873,"tag":1984,"props":2726,"children":2728},{"className":2727},[],[2729],{"type":1878,"value":2730},"VK_SAMPLE_COUNT_1_BIT",{"type":1873,"tag":1912,"props":2732,"children":2733},{},[2734,2740,2741],{"type":1873,"tag":1984,"props":2735,"children":2737},{"className":2736},[],[2738],{"type":1878,"value":2739},"tiling",{"type":1878,"value":2663},{"type":1873,"tag":1984,"props":2742,"children":2744},{"className":2743},[],[2745],{"type":1878,"value":2746},"VK_IMAGE_TILING_OPTIMAL",{"type":1873,"tag":1912,"props":2748,"children":2749},{},[2750,2756,2758,2763,2765,2771,2773,2779,2780,2786,2787,2793,2794],{"type":1873,"tag":1984,"props":2751,"children":2753},{"className":2752},[],[2754],{"type":1878,"value":2755},"usage",{"type":1878,"value":2757}," includes ",{"type":1873,"tag":1984,"props":2759,"children":2761},{"className":2760},[],[2762],{"type":1878,"value":2628},{"type":1878,"value":2764}," and any combination of the following ",{"type":1873,"tag":1984,"props":2766,"children":2768},{"className":2767},[],[2769],{"type":1878,"value":2770},"VK_IMAGE_USAGE_SAMPLED_BIT",{"type":1878,"value":2772},", ",{"type":1873,"tag":1984,"props":2774,"children":2776},{"className":2775},[],[2777],{"type":1878,"value":2778},"VK_IMAGE_USAGE_STORAGE_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":2781,"children":2783},{"className":2782},[],[2784],{"type":1878,"value":2785},"VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":2788,"children":2790},{"className":2789},[],[2791],{"type":1878,"value":2792},"VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":2795,"children":2797},{"className":2796},[],[2798],{"type":1878,"value":2799},"VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT",{"type":1873,"tag":1874,"props":2801,"children":2802},{},[2803,2805,2811,2813,2818],{"type":1878,"value":2804},"Implementations may support additional limits and capabilities beyond those listed above. To determine the set of valid image creation parameter for a given format, call ",{"type":1873,"tag":1984,"props":2806,"children":2808},{"className":2807},[],[2809],{"type":1878,"value":2810},"vkGetPhysicalDeviceImageFormatProperties()",{"type":1878,"value":2812}," with ",{"type":1873,"tag":1984,"props":2814,"children":2816},{"className":2815},[],[2817],{"type":1878,"value":2628},{"type":1878,"value":2486},{"type":1873,"tag":1964,"props":2820,"children":2822},{"id":2821},"_vkbuffers",[2823],{"type":1878,"value":2824},"VkBuffers",{"type":1873,"tag":1874,"props":2826,"children":2827},{},[2828,2830,2836],{"type":1878,"value":2829},"VkBuffers can be bound to Tile Memory to make it backed by tile memory. A VkBuffer bound to Tile Memory must have been created with a new bit in VkBufferUsageFlags to its ",{"type":1873,"tag":1984,"props":2831,"children":2833},{"className":2832},[],[2834],{"type":1878,"value":2835},"vkCreateBuffer()",{"type":1878,"value":2837}," call:",{"type":1873,"tag":1976,"props":2839,"children":2841},{"className":1978,"code":2840,"language":1980,"meta":1981,"style":1981},"typedef enum VkBufferUsageFlagBits {\n /* ... */\n VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000,\n} VkBufferUsageFlagBits\n\ntypedef enum VkBufferUsageFlagBits2 {\n /* ... */\n VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM = 0x08000000,\n} VkBufferUsageFlagBits2\n",[2842],{"type":1873,"tag":1984,"props":2843,"children":2844},{"__ignoreMap":1981},[2845,2861,2868,2892,2900,2908,2924,2931,2954],{"type":1873,"tag":1988,"props":2846,"children":2847},{"class":1990,"line":10},[2848,2852,2856],{"type":1873,"tag":1988,"props":2849,"children":2850},{"style":1994},[2851],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":2853,"children":2854},{"style":1994},[2855],{"type":1878,"value":2002},{"type":1873,"tag":1988,"props":2857,"children":2858},{"style":2005},[2859],{"type":1878,"value":2860}," VkBufferUsageFlagBits {\n",{"type":1873,"tag":1988,"props":2862,"children":2863},{"class":1990,"line":14},[2864],{"type":1873,"tag":1988,"props":2865,"children":2866},{"style":2014},[2867],{"type":1878,"value":2017},{"type":1873,"tag":1988,"props":2869,"children":2870},{"class":1990,"line":18},[2871,2876,2880,2884,2888],{"type":1873,"tag":1988,"props":2872,"children":2873},{"style":2005},[2874],{"type":1878,"value":2875}," VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM ",{"type":1873,"tag":1988,"props":2877,"children":2878},{"style":1994},[2879],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":2881,"children":2882},{"style":1994},[2883],{"type":1878,"value":2035},{"type":1873,"tag":1988,"props":2885,"children":2886},{"style":2038},[2887],{"type":1878,"value":2604},{"type":1873,"tag":1988,"props":2889,"children":2890},{"style":2005},[2891],{"type":1878,"value":2046},{"type":1873,"tag":1988,"props":2893,"children":2894},{"class":1990,"line":22},[2895],{"type":1873,"tag":1988,"props":2896,"children":2897},{"style":2005},[2898],{"type":1878,"value":2899},"} VkBufferUsageFlagBits\n",{"type":1873,"tag":1988,"props":2901,"children":2902},{"class":1990,"line":26},[2903],{"type":1873,"tag":1988,"props":2904,"children":2905},{"emptyLinePlaceholder":232},[2906],{"type":1878,"value":2907},"\n",{"type":1873,"tag":1988,"props":2909,"children":2910},{"class":1990,"line":30},[2911,2915,2919],{"type":1873,"tag":1988,"props":2912,"children":2913},{"style":1994},[2914],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":2916,"children":2917},{"style":1994},[2918],{"type":1878,"value":2002},{"type":1873,"tag":1988,"props":2920,"children":2921},{"style":2005},[2922],{"type":1878,"value":2923}," VkBufferUsageFlagBits2 {\n",{"type":1873,"tag":1988,"props":2925,"children":2926},{"class":1990,"line":34},[2927],{"type":1873,"tag":1988,"props":2928,"children":2929},{"style":2014},[2930],{"type":1878,"value":2017},{"type":1873,"tag":1988,"props":2932,"children":2933},{"class":1990,"line":38},[2934,2938,2942,2946,2950],{"type":1873,"tag":1988,"props":2935,"children":2936},{"style":2005},[2937],{"type":1878,"value":2875},{"type":1873,"tag":1988,"props":2939,"children":2940},{"style":1994},[2941],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":2943,"children":2944},{"style":1994},[2945],{"type":1878,"value":2035},{"type":1873,"tag":1988,"props":2947,"children":2948},{"style":2038},[2949],{"type":1878,"value":2604},{"type":1873,"tag":1988,"props":2951,"children":2952},{"style":2005},[2953],{"type":1878,"value":2046},{"type":1873,"tag":1988,"props":2955,"children":2956},{"class":1990,"line":42},[2957],{"type":1873,"tag":1988,"props":2958,"children":2959},{"style":2005},[2960],{"type":1878,"value":2961},"} VkBufferUsageFlagBits2\n",{"type":1873,"tag":1918,"props":2963,"children":2964},{},[2965],{"type":1873,"tag":1912,"props":2966,"children":2967},{},[2968,2974],{"type":1873,"tag":1984,"props":2969,"children":2971},{"className":2970},[],[2972],{"type":1878,"value":2973},"VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM",{"type":1878,"value":2975}," indicates that the VkBuffer can be bound to VkDeviceMemory allocated from the Tile Memory heap.",{"type":1873,"tag":1874,"props":2977,"children":2978},{},[2979],{"type":1878,"value":2980},"The following usages are permitted with tile memory VkBuffers:",{"type":1873,"tag":1918,"props":2982,"children":2983},{},[2984,2998],{"type":1873,"tag":1912,"props":2985,"children":2986},{},[2987,2992,2993],{"type":1873,"tag":1984,"props":2988,"children":2990},{"className":2989},[],[2991],{"type":1878,"value":2661},{"type":1878,"value":2663},{"type":1873,"tag":1984,"props":2994,"children":2996},{"className":2995},[],[2997],{"type":1878,"value":2669},{"type":1873,"tag":1912,"props":2999,"children":3000},{},[3001,3006,3007,3012,3014,3020,3021,3027,3028,3034,3035,3041,3042],{"type":1873,"tag":1984,"props":3002,"children":3004},{"className":3003},[],[3005],{"type":1878,"value":2755},{"type":1878,"value":2757},{"type":1873,"tag":1984,"props":3008,"children":3010},{"className":3009},[],[3011],{"type":1878,"value":2973},{"type":1878,"value":3013}," and any combination of the following: ",{"type":1873,"tag":1984,"props":3015,"children":3017},{"className":3016},[],[3018],{"type":1878,"value":3019},"VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":3022,"children":3024},{"className":3023},[],[3025],{"type":1878,"value":3026},"VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":3029,"children":3031},{"className":3030},[],[3032],{"type":1878,"value":3033},"VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":3036,"children":3038},{"className":3037},[],[3039],{"type":1878,"value":3040},"VK_BUFFER_USAGE_STORAGE_BUFFER_BIT",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":3043,"children":3045},{"className":3044},[],[3046],{"type":1878,"value":3047},"VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT",{"type":1873,"tag":1874,"props":3049,"children":3050},{},[3051,3053,3058,3060,3065],{"type":1878,"value":3052},"Additionally transfer usage is supported when ",{"type":1873,"tag":1984,"props":3054,"children":3056},{"className":3055},[],[3057],{"type":1878,"value":2227},{"type":1878,"value":3059}," is set to ",{"type":1873,"tag":1984,"props":3061,"children":3063},{"className":3062},[],[3064],{"type":1878,"value":2201},{"type":1878,"value":2486},{"type":1873,"tag":1964,"props":3067,"children":3069},{"id":3068},"_tile_memory_requirements",[3070],{"type":1878,"value":3071},"Tile memory Requirements",{"type":1873,"tag":1874,"props":3073,"children":3074},{},[3075,3077,3083,3084,3090],{"type":1878,"value":3076},"Images bound to Tile Memory heaps may require different size and alignment requirements from other heaps. To determine the Tile Memory requirements for a resource, applications can send the new following structure to ",{"type":1873,"tag":1984,"props":3078,"children":3080},{"className":3079},[],[3081],{"type":1878,"value":3082},"vkGetImageMemoryRequirements2()",{"type":1878,"value":2081},{"type":1873,"tag":1984,"props":3085,"children":3087},{"className":3086},[],[3088],{"type":1878,"value":3089},"vkGetBufferMemoryRequirements2()",{"type":1878,"value":3091},":",{"type":1873,"tag":1976,"props":3093,"children":3095},{"className":1978,"code":3094,"language":1980,"meta":1981,"style":1981},"typedef struct VkTileMemoryRequirementsQCOM {\n VkStructureType sType;\n const void* pNext;\n VkDeviceSize size;\n VkDeviceSize alignment;\n} VkTileMemoryRequirementsQCOM;\n",[3096],{"type":1873,"tag":1984,"props":3097,"children":3098},{"__ignoreMap":1981},[3099,3115,3122,3139,3147,3155],{"type":1873,"tag":1988,"props":3100,"children":3101},{"class":1990,"line":10},[3102,3106,3110],{"type":1873,"tag":1988,"props":3103,"children":3104},{"style":1994},[3105],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":3107,"children":3108},{"style":1994},[3109],{"type":1878,"value":2132},{"type":1873,"tag":1988,"props":3111,"children":3112},{"style":2005},[3113],{"type":1878,"value":3114}," VkTileMemoryRequirementsQCOM {\n",{"type":1873,"tag":1988,"props":3116,"children":3117},{"class":1990,"line":14},[3118],{"type":1873,"tag":1988,"props":3119,"children":3120},{"style":2005},[3121],{"type":1878,"value":2145},{"type":1873,"tag":1988,"props":3123,"children":3124},{"class":1990,"line":18},[3125,3129,3134],{"type":1873,"tag":1988,"props":3126,"children":3127},{"style":1994},[3128],{"type":1878,"value":2447},{"type":1873,"tag":1988,"props":3130,"children":3131},{"style":1994},[3132],{"type":1878,"value":3133}," void*",{"type":1873,"tag":1988,"props":3135,"children":3136},{"style":2005},[3137],{"type":1878,"value":3138}," pNext;\n",{"type":1873,"tag":1988,"props":3140,"children":3141},{"class":1990,"line":22},[3142],{"type":1873,"tag":1988,"props":3143,"children":3144},{"style":2005},[3145],{"type":1878,"value":3146}," VkDeviceSize size;\n",{"type":1873,"tag":1988,"props":3148,"children":3149},{"class":1990,"line":26},[3150],{"type":1873,"tag":1988,"props":3151,"children":3152},{"style":2005},[3153],{"type":1878,"value":3154}," VkDeviceSize alignment;\n",{"type":1873,"tag":1988,"props":3156,"children":3157},{"class":1990,"line":30},[3158],{"type":1873,"tag":1988,"props":3159,"children":3160},{"style":2005},[3161],{"type":1878,"value":3162},"} VkTileMemoryRequirementsQCOM;\n",{"type":1873,"tag":1918,"props":3164,"children":3165},{},[3166,3177],{"type":1873,"tag":1912,"props":3167,"children":3168},{},[3169,3175],{"type":1873,"tag":1984,"props":3170,"children":3172},{"className":3171},[],[3173],{"type":1878,"value":3174},"size",{"type":1878,"value":3176}," is the size in bytes this resource takes in tile memory.",{"type":1873,"tag":1912,"props":3178,"children":3179},{},[3180,3186],{"type":1873,"tag":1984,"props":3181,"children":3183},{"className":3182},[],[3184],{"type":1878,"value":3185},"alignment",{"type":1878,"value":3187}," is the alignment in bytes this resource requires in tile memory.",{"type":1873,"tag":1874,"props":3189,"children":3190},{},[3191,3193,3198,3199,3204],{"type":1878,"value":3192},"If the VkImage or VkBuffer cannot be bound to a Tile Memory heap, ",{"type":1873,"tag":1984,"props":3194,"children":3196},{"className":3195},[],[3197],{"type":1878,"value":3174},{"type":1878,"value":2243},{"type":1873,"tag":1984,"props":3200,"children":3202},{"className":3201},[],[3203],{"type":1878,"value":3185},{"type":1878,"value":3205}," must be set to 0 by the implementation.",{"type":1873,"tag":1964,"props":3207,"children":3209},{"id":3208},"_allocating_and_aliasing_tile_memory",[3210],{"type":1878,"value":3211},"Allocating and aliasing tile memory",{"type":1873,"tag":1874,"props":3213,"children":3214},{},[3215,3217,3222,3223,3228,3230,3236],{"type":1878,"value":3216},"Existing ",{"type":1873,"tag":1984,"props":3218,"children":3220},{"className":3219},[],[3221],{"type":1878,"value":3174},{"type":1878,"value":2243},{"type":1873,"tag":1984,"props":3224,"children":3226},{"className":3225},[],[3227],{"type":1878,"value":3185},{"type":1878,"value":3229}," guarantees in the spec do not apply by default to Tile Memory. Applications must use memory requirements specified in ",{"type":1873,"tag":1984,"props":3231,"children":3233},{"className":3232},[],[3234],{"type":1878,"value":3235},"VkTileMemoryRequirementsQCOM",{"type":1878,"value":3237}," for resources that are bound to Tile Memory.",{"type":1873,"tag":1874,"props":3239,"children":3240},{},[3241],{"type":1878,"value":3242},"Tile memory heap, unlike other heaps, is an atomic global resource. VkDeviceMemory will always return an address at the start of the heap’s range and its contents are aliased with other VkDeviceMemory objects bound to the same range. Applications can access the contents simultaneously from aliased resources following the existing memory aliasing rules within the same Queue.",{"type":1873,"tag":2500,"props":3244,"children":3245},{},[3246],{"type":1873,"tag":1874,"props":3247,"children":3248},{},[3249],{"type":1878,"value":3250},"Given the size of Tile Memory is small compared to other heaps and may only fit an image or two, the expected usage is to alias object bindings then time slice access to them during device execution. For example, if you wanted to persist a image through the execution of a few render passes in a command buffer, then discard the contents and persist a separate image across other render passes or into the next command buffer, then the application should alias these images in the heap since they are not required to be persisted simultaneously.",{"type":1873,"tag":1964,"props":3252,"children":3254},{"id":3253},"_interactions_with_vk_qcom_tile_properties",[3255],{"type":1878,"value":3256},"Interactions with VK_QCOM_tile_properties",{"type":1873,"tag":1874,"props":3258,"children":3259},{},[3260],{"type":1878,"value":3261},"Tile properties are dependent on the amount of tile memory available to the implementation. Before VK_QCOM_tile_memory_heap, this amount of tile memory was static but now the amount of tile memory available to the implementation may change from Render Pass to Render Pass which can alter tile properties.",{"type":1873,"tag":1874,"props":3263,"children":3264},{},[3265],{"type":1878,"value":3266},"To specify the amount of tile memory in use during a Render Pass the following structure was added:",{"type":1873,"tag":1976,"props":3268,"children":3270},{"className":1978,"code":3269,"language":1980,"meta":1981,"style":1981},"typedef struct VkTileMemorySizeInfoQCOM {\n VkStructureType sType;\n const void* pNext;\n VkDeviceSize size;\n} VkTileMemorySizeInfoQCOM;\n",[3271],{"type":1873,"tag":1984,"props":3272,"children":3273},{"__ignoreMap":1981},[3274,3290,3297,3312,3319],{"type":1873,"tag":1988,"props":3275,"children":3276},{"class":1990,"line":10},[3277,3281,3285],{"type":1873,"tag":1988,"props":3278,"children":3279},{"style":1994},[3280],{"type":1878,"value":1997},{"type":1873,"tag":1988,"props":3282,"children":3283},{"style":1994},[3284],{"type":1878,"value":2132},{"type":1873,"tag":1988,"props":3286,"children":3287},{"style":2005},[3288],{"type":1878,"value":3289}," VkTileMemorySizeInfoQCOM {\n",{"type":1873,"tag":1988,"props":3291,"children":3292},{"class":1990,"line":14},[3293],{"type":1873,"tag":1988,"props":3294,"children":3295},{"style":2005},[3296],{"type":1878,"value":2145},{"type":1873,"tag":1988,"props":3298,"children":3299},{"class":1990,"line":18},[3300,3304,3308],{"type":1873,"tag":1988,"props":3301,"children":3302},{"style":1994},[3303],{"type":1878,"value":2447},{"type":1873,"tag":1988,"props":3305,"children":3306},{"style":1994},[3307],{"type":1878,"value":3133},{"type":1873,"tag":1988,"props":3309,"children":3310},{"style":2005},[3311],{"type":1878,"value":3138},{"type":1873,"tag":1988,"props":3313,"children":3314},{"class":1990,"line":22},[3315],{"type":1873,"tag":1988,"props":3316,"children":3317},{"style":2005},[3318],{"type":1878,"value":3146},{"type":1873,"tag":1988,"props":3320,"children":3321},{"class":1990,"line":26},[3322],{"type":1873,"tag":1988,"props":3323,"children":3324},{"style":2005},[3325],{"type":1878,"value":3326},"} VkTileMemorySizeInfoQCOM;\n",{"type":1873,"tag":1918,"props":3328,"children":3329},{},[3330],{"type":1873,"tag":1912,"props":3331,"children":3332},{},[3333,3338],{"type":1873,"tag":1984,"props":3334,"children":3336},{"className":3335},[],[3337],{"type":1878,"value":3174},{"type":1878,"value":3339}," is the size in bytes of tile memory that the Render Pass uses.",{"type":1873,"tag":1874,"props":3341,"children":3342},{},[3343,3349,3350,3356,3357,3363,3365],{"type":1873,"tag":1984,"props":3344,"children":3346},{"className":3345},[],[3347],{"type":1878,"value":3348},"VkTileMemorySizeInfoQCOM",{"type":1878,"value":2269},{"type":1873,"tag":1984,"props":3351,"children":3353},{"className":3352},[],[3354],{"type":1878,"value":3355},"VkRenderPassCreateInfo",{"type":1878,"value":2772},{"type":1873,"tag":1984,"props":3358,"children":3360},{"className":3359},[],[3361],{"type":1878,"value":3362},"VkRenderPassCreateInfo2",{"type":1878,"value":3364},",and ",{"type":1873,"tag":1984,"props":3366,"children":3368},{"className":3367},[],[3369],{"type":1878,"value":3370},"VkRenderingInfo",{"type":1873,"tag":1874,"props":3372,"children":3373},{},[3374],{"type":1878,"value":3375},"Applications must specify this new structure when querying tile properties via the VK_QCOM_tile_properties extension. This structure is not required to be provided outside of this case.",{"type":1873,"tag":1874,"props":3377,"children":3378},{},[3379,3381,3386,3388,3393],{"type":1878,"value":3380},"The tile memory ",{"type":1873,"tag":1984,"props":3382,"children":3384},{"className":3383},[],[3385],{"type":1878,"value":2299},{"type":1878,"value":3387}," bound during a Render Pass that relies on tile properties must be equal to the ",{"type":1873,"tag":1984,"props":3389,"children":3391},{"className":3390},[],[3392],{"type":1878,"value":3174},{"type":1878,"value":3394}," specified in this structure.",{"type":1873,"tag":1964,"props":3396,"children":3398},{"id":3397},"_interactions_with_vk_qcom_tile_shading",[3399],{"type":1878,"value":3400},"Interactions with VK_QCOM_tile_shading",{"type":1873,"tag":1874,"props":3402,"children":3403},{},[3404],{"type":1878,"value":3405},"VK_QCOM_tile_shading can be used alongside VK_QCOM_tile_memory_heap to further optimize efficient GPU memory access. Existing tile memory VkImage or VkBuffer memory contents\ncan be read or written while in a tile shading pass within the tile memory defined boundary. Furthermore, VkImage or VkBuffer memory contents that were updated in a tile shading pass can be accessed in\nfuture non-tile shading passes within the tile memory defined boundary. This allows resources that are bound to tile memory to persist within and past the tile shading pass.",{"type":1873,"tag":1874,"props":3407,"children":3408},{},[3409],{"type":1878,"value":3410},"For example, if a tile shading pass produced a VkImage and then that same VkImage was later consumed in future non-tile shading passes within the tile memory heap’s defined boundary,\nit may be better to keep this VkImage in tile memory and persist it past the tile shading pass where it was produced.\nVK_QCOM_tile_memory_heap allows this behavior by binding the VkImage to tile memory and persisting the memory with bound tile memory in the command buffers.",{"type":1873,"tag":2500,"props":3412,"children":3413},{},[3414],{"type":1873,"tag":1874,"props":3415,"children":3416},{},[3417,3419,3424,3426,3431,3433,3438],{"type":1878,"value":3418},"As described in the interactions with ",{"type":1873,"tag":1984,"props":3420,"children":3422},{"className":3421},[],[3423],{"type":1878,"value":1816},{"type":1878,"value":3425},", applications must ensure that the reserved ",{"type":1873,"tag":1984,"props":3427,"children":3429},{"className":3428},[],[3430],{"type":1878,"value":3174},{"type":1878,"value":3432}," provided by ",{"type":1873,"tag":1984,"props":3434,"children":3436},{"className":3435},[],[3437],{"type":1878,"value":3348},{"type":1878,"value":3439}," matches with the bound tile memory in tile shading passes.",{"type":1873,"tag":1964,"props":3441,"children":3443},{"id":3442},"_forbidden_usage",[3444],{"type":1878,"value":3445},"Forbidden Usage",{"type":1873,"tag":1874,"props":3447,"children":3448},{},[3449],{"type":1878,"value":3450},"Resolve attachments must not be bound to tile memory.",{"type":1873,"tag":1880,"props":3452,"children":3454},{"id":3453},"_examples",[3455],{"type":1878,"value":3456},"Examples",{"type":1873,"tag":1964,"props":3458,"children":3460},{"id":3459},"_creating_a_tile_memory_vkimage",[3461],{"type":1878,"value":3462},"Creating a tile memory VkImage",{"type":1873,"tag":1976,"props":3464,"children":3466},{"className":1978,"code":3465,"language":1980,"meta":1981,"style":1981},"VkImageCreateInfo imageCreateInfo = {};\n\n... // Fill in VkImageCreateInfo structure\n\n// Add tile memory usage\nimageCreateInfo.usage |= VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM\n\nvkCreateImage(..., &imageCreateInfo);\n\n// Get tile memory Requirements\nVkTileMemoryRequirementsQCOM tileMemReqs = {};\nVkMemoryRequirements2 memoryReqs = {};\n\nmemoryReqs.pNext = &tileMemReqs;\n\n...\n\nvkGetImageMemoryRequirements2(..., &memoryReqs);\n\nif (tileMemReqs.size > 0)\n{\n // Supported\n VkMemoryAllocateInfo memoryAllocInfo = {};\n VkDeviceMemory tileMemory = {};\n\n memoryAllocInfo.allocationSize = tileMemReqs.size;\n memoryAllocInfo.memoryTypeIndex = FindTileMemoryType();\n\n // Allocate Memory from the tile memory Heap\n vkAllocateMemory(..., &memoryAllocInfo, &tileMemory);\n\n // Bind tile memory to the VkImage\n vkBindImageMemory(..., vkImage, tileMemory);\n}\nelse\n{\n // Fallback path. Not supported.\n}\n",[3467],{"type":1873,"tag":1984,"props":3468,"children":3469},{"__ignoreMap":1981},[3470,3487,3494,3507,3514,3522,3540,3547,3574,3581,3589,3605,3621,3628,3650,3657,3665,3672,3697,3704,3732,3740,3748,3764,3780,3787,3804,3826,3833,3841,3871,3878,3886,3899,3907,3915,3922,3930],{"type":1873,"tag":1988,"props":3471,"children":3472},{"class":1990,"line":10},[3473,3478,3482],{"type":1873,"tag":1988,"props":3474,"children":3475},{"style":2005},[3476],{"type":1878,"value":3477},"VkImageCreateInfo imageCreateInfo ",{"type":1873,"tag":1988,"props":3479,"children":3480},{"style":1994},[3481],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3483,"children":3484},{"style":2005},[3485],{"type":1878,"value":3486}," {};\n",{"type":1873,"tag":1988,"props":3488,"children":3489},{"class":1990,"line":14},[3490],{"type":1873,"tag":1988,"props":3491,"children":3492},{"emptyLinePlaceholder":232},[3493],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3495,"children":3496},{"class":1990,"line":18},[3497,3502],{"type":1873,"tag":1988,"props":3498,"children":3499},{"style":2005},[3500],{"type":1878,"value":3501},"...",{"type":1873,"tag":1988,"props":3503,"children":3504},{"style":2014},[3505],{"type":1878,"value":3506}," // Fill in VkImageCreateInfo structure\n",{"type":1873,"tag":1988,"props":3508,"children":3509},{"class":1990,"line":22},[3510],{"type":1873,"tag":1988,"props":3511,"children":3512},{"emptyLinePlaceholder":232},[3513],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3515,"children":3516},{"class":1990,"line":26},[3517],{"type":1873,"tag":1988,"props":3518,"children":3519},{"style":2014},[3520],{"type":1878,"value":3521},"// Add tile memory usage\n",{"type":1873,"tag":1988,"props":3523,"children":3524},{"class":1990,"line":30},[3525,3530,3535],{"type":1873,"tag":1988,"props":3526,"children":3527},{"style":2005},[3528],{"type":1878,"value":3529},"imageCreateInfo.usage ",{"type":1873,"tag":1988,"props":3531,"children":3532},{"style":1994},[3533],{"type":1878,"value":3534},"|=",{"type":1873,"tag":1988,"props":3536,"children":3537},{"style":2005},[3538],{"type":1878,"value":3539}," VK_IMAGE_USAGE_TILE_MEMORY_BIT_QCOM\n",{"type":1873,"tag":1988,"props":3541,"children":3542},{"class":1990,"line":34},[3543],{"type":1873,"tag":1988,"props":3544,"children":3545},{"emptyLinePlaceholder":232},[3546],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3548,"children":3549},{"class":1990,"line":38},[3550,3555,3560,3565,3570],{"type":1873,"tag":1988,"props":3551,"children":3552},{"style":2413},[3553],{"type":1878,"value":3554},"vkCreateImage",{"type":1873,"tag":1988,"props":3556,"children":3557},{"style":2005},[3558],{"type":1878,"value":3559},"(..., ",{"type":1873,"tag":1988,"props":3561,"children":3562},{"style":1994},[3563],{"type":1878,"value":3564},"&",{"type":1873,"tag":1988,"props":3566,"children":3567},{"style":2432},[3568],{"type":1878,"value":3569},"imageCreateInfo",{"type":1873,"tag":1988,"props":3571,"children":3572},{"style":2005},[3573],{"type":1878,"value":2467},{"type":1873,"tag":1988,"props":3575,"children":3576},{"class":1990,"line":42},[3577],{"type":1873,"tag":1988,"props":3578,"children":3579},{"emptyLinePlaceholder":232},[3580],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3582,"children":3583},{"class":1990,"line":46},[3584],{"type":1873,"tag":1988,"props":3585,"children":3586},{"style":2014},[3587],{"type":1878,"value":3588},"// Get tile memory Requirements\n",{"type":1873,"tag":1988,"props":3590,"children":3591},{"class":1990,"line":50},[3592,3597,3601],{"type":1873,"tag":1988,"props":3593,"children":3594},{"style":2005},[3595],{"type":1878,"value":3596},"VkTileMemoryRequirementsQCOM tileMemReqs ",{"type":1873,"tag":1988,"props":3598,"children":3599},{"style":1994},[3600],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3602,"children":3603},{"style":2005},[3604],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":3606,"children":3607},{"class":1990,"line":54},[3608,3613,3617],{"type":1873,"tag":1988,"props":3609,"children":3610},{"style":2005},[3611],{"type":1878,"value":3612},"VkMemoryRequirements2 memoryReqs ",{"type":1873,"tag":1988,"props":3614,"children":3615},{"style":1994},[3616],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3618,"children":3619},{"style":2005},[3620],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":3622,"children":3623},{"class":1990,"line":58},[3624],{"type":1873,"tag":1988,"props":3625,"children":3626},{"emptyLinePlaceholder":232},[3627],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3629,"children":3630},{"class":1990,"line":62},[3631,3636,3640,3645],{"type":1873,"tag":1988,"props":3632,"children":3633},{"style":2005},[3634],{"type":1878,"value":3635},"memoryReqs.pNext ",{"type":1873,"tag":1988,"props":3637,"children":3638},{"style":1994},[3639],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3641,"children":3642},{"style":1994},[3643],{"type":1878,"value":3644}," &",{"type":1873,"tag":1988,"props":3646,"children":3647},{"style":2005},[3648],{"type":1878,"value":3649},"tileMemReqs;\n",{"type":1873,"tag":1988,"props":3651,"children":3652},{"class":1990,"line":66},[3653],{"type":1873,"tag":1988,"props":3654,"children":3655},{"emptyLinePlaceholder":232},[3656],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3658,"children":3659},{"class":1990,"line":70},[3660],{"type":1873,"tag":1988,"props":3661,"children":3662},{"style":2005},[3663],{"type":1878,"value":3664},"...\n",{"type":1873,"tag":1988,"props":3666,"children":3667},{"class":1990,"line":74},[3668],{"type":1873,"tag":1988,"props":3669,"children":3670},{"emptyLinePlaceholder":232},[3671],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3673,"children":3674},{"class":1990,"line":78},[3675,3680,3684,3688,3693],{"type":1873,"tag":1988,"props":3676,"children":3677},{"style":2413},[3678],{"type":1878,"value":3679},"vkGetImageMemoryRequirements2",{"type":1873,"tag":1988,"props":3681,"children":3682},{"style":2005},[3683],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":3685,"children":3686},{"style":1994},[3687],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":3689,"children":3690},{"style":2432},[3691],{"type":1878,"value":3692},"memoryReqs",{"type":1873,"tag":1988,"props":3694,"children":3695},{"style":2005},[3696],{"type":1878,"value":2467},{"type":1873,"tag":1988,"props":3698,"children":3699},{"class":1990,"line":82},[3700],{"type":1873,"tag":1988,"props":3701,"children":3702},{"emptyLinePlaceholder":232},[3703],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3705,"children":3706},{"class":1990,"line":86},[3707,3712,3717,3722,3727],{"type":1873,"tag":1988,"props":3708,"children":3709},{"style":1994},[3710],{"type":1878,"value":3711},"if",{"type":1873,"tag":1988,"props":3713,"children":3714},{"style":2005},[3715],{"type":1878,"value":3716}," (tileMemReqs.size ",{"type":1873,"tag":1988,"props":3718,"children":3719},{"style":1994},[3720],{"type":1878,"value":3721},">",{"type":1873,"tag":1988,"props":3723,"children":3724},{"style":2038},[3725],{"type":1878,"value":3726}," 0",{"type":1873,"tag":1988,"props":3728,"children":3729},{"style":2005},[3730],{"type":1878,"value":3731},")\n",{"type":1873,"tag":1988,"props":3733,"children":3734},{"class":1990,"line":90},[3735],{"type":1873,"tag":1988,"props":3736,"children":3737},{"style":2005},[3738],{"type":1878,"value":3739},"{\n",{"type":1873,"tag":1988,"props":3741,"children":3742},{"class":1990,"line":94},[3743],{"type":1873,"tag":1988,"props":3744,"children":3745},{"style":2014},[3746],{"type":1878,"value":3747}," // Supported\n",{"type":1873,"tag":1988,"props":3749,"children":3750},{"class":1990,"line":98},[3751,3756,3760],{"type":1873,"tag":1988,"props":3752,"children":3753},{"style":2005},[3754],{"type":1878,"value":3755}," VkMemoryAllocateInfo memoryAllocInfo ",{"type":1873,"tag":1988,"props":3757,"children":3758},{"style":1994},[3759],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3761,"children":3762},{"style":2005},[3763],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":3765,"children":3766},{"class":1990,"line":102},[3767,3772,3776],{"type":1873,"tag":1988,"props":3768,"children":3769},{"style":2005},[3770],{"type":1878,"value":3771}," VkDeviceMemory tileMemory ",{"type":1873,"tag":1988,"props":3773,"children":3774},{"style":1994},[3775],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3777,"children":3778},{"style":2005},[3779],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":3781,"children":3782},{"class":1990,"line":106},[3783],{"type":1873,"tag":1988,"props":3784,"children":3785},{"emptyLinePlaceholder":232},[3786],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3788,"children":3789},{"class":1990,"line":110},[3790,3795,3799],{"type":1873,"tag":1988,"props":3791,"children":3792},{"style":2005},[3793],{"type":1878,"value":3794}," memoryAllocInfo.allocationSize ",{"type":1873,"tag":1988,"props":3796,"children":3797},{"style":1994},[3798],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3800,"children":3801},{"style":2005},[3802],{"type":1878,"value":3803}," tileMemReqs.size;\n",{"type":1873,"tag":1988,"props":3805,"children":3806},{"class":1990,"line":114},[3807,3812,3816,3821],{"type":1873,"tag":1988,"props":3808,"children":3809},{"style":2005},[3810],{"type":1878,"value":3811}," memoryAllocInfo.memoryTypeIndex ",{"type":1873,"tag":1988,"props":3813,"children":3814},{"style":1994},[3815],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3817,"children":3818},{"style":2413},[3819],{"type":1878,"value":3820}," FindTileMemoryType",{"type":1873,"tag":1988,"props":3822,"children":3823},{"style":2005},[3824],{"type":1878,"value":3825},"();\n",{"type":1873,"tag":1988,"props":3827,"children":3828},{"class":1990,"line":118},[3829],{"type":1873,"tag":1988,"props":3830,"children":3831},{"emptyLinePlaceholder":232},[3832],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3834,"children":3835},{"class":1990,"line":122},[3836],{"type":1873,"tag":1988,"props":3837,"children":3838},{"style":2014},[3839],{"type":1878,"value":3840}," // Allocate Memory from the tile memory Heap\n",{"type":1873,"tag":1988,"props":3842,"children":3843},{"class":1990,"line":126},[3844,3849,3853,3857,3862,3866],{"type":1873,"tag":1988,"props":3845,"children":3846},{"style":2413},[3847],{"type":1878,"value":3848}," vkAllocateMemory",{"type":1873,"tag":1988,"props":3850,"children":3851},{"style":2005},[3852],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":3854,"children":3855},{"style":1994},[3856],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":3858,"children":3859},{"style":2005},[3860],{"type":1878,"value":3861},"memoryAllocInfo, ",{"type":1873,"tag":1988,"props":3863,"children":3864},{"style":1994},[3865],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":3867,"children":3868},{"style":2005},[3869],{"type":1878,"value":3870},"tileMemory);\n",{"type":1873,"tag":1988,"props":3872,"children":3873},{"class":1990,"line":130},[3874],{"type":1873,"tag":1988,"props":3875,"children":3876},{"emptyLinePlaceholder":232},[3877],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3879,"children":3880},{"class":1990,"line":134},[3881],{"type":1873,"tag":1988,"props":3882,"children":3883},{"style":2014},[3884],{"type":1878,"value":3885}," // Bind tile memory to the VkImage\n",{"type":1873,"tag":1988,"props":3887,"children":3888},{"class":1990,"line":138},[3889,3894],{"type":1873,"tag":1988,"props":3890,"children":3891},{"style":2413},[3892],{"type":1878,"value":3893}," vkBindImageMemory",{"type":1873,"tag":1988,"props":3895,"children":3896},{"style":2005},[3897],{"type":1878,"value":3898},"(..., vkImage, tileMemory);\n",{"type":1873,"tag":1988,"props":3900,"children":3901},{"class":1990,"line":142},[3902],{"type":1873,"tag":1988,"props":3903,"children":3904},{"style":2005},[3905],{"type":1878,"value":3906},"}\n",{"type":1873,"tag":1988,"props":3908,"children":3909},{"class":1990,"line":146},[3910],{"type":1873,"tag":1988,"props":3911,"children":3912},{"style":1994},[3913],{"type":1878,"value":3914},"else\n",{"type":1873,"tag":1988,"props":3916,"children":3917},{"class":1990,"line":150},[3918],{"type":1873,"tag":1988,"props":3919,"children":3920},{"style":2005},[3921],{"type":1878,"value":3739},{"type":1873,"tag":1988,"props":3923,"children":3924},{"class":1990,"line":154},[3925],{"type":1873,"tag":1988,"props":3926,"children":3927},{"style":2014},[3928],{"type":1878,"value":3929}," // Fallback path. Not supported.\n",{"type":1873,"tag":1988,"props":3931,"children":3932},{"class":1990,"line":158},[3933],{"type":1873,"tag":1988,"props":3934,"children":3935},{"style":2005},[3936],{"type":1878,"value":3906},{"type":1873,"tag":1964,"props":3938,"children":3940},{"id":3939},"_creating_a_tile_memory_vkbuffer",[3941],{"type":1878,"value":3942},"Creating a tile memory VkBuffer",{"type":1873,"tag":1976,"props":3944,"children":3946},{"className":1978,"code":3945,"language":1980,"meta":1981,"style":1981},"VkBufferCreateInfo bufferCreateInfo = {}\n\n... // Fill in VkBufferCreateInfo structure\n\n// Add tile memory usage\nbufferCreateInfo.usage |= VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM;\n\nvkCreateBuffer(..., &bufferCreateInfo);\n\n// Get tile memory Requirements\nVkTileMemoryRequirementsQCOM tileMemReqs = {};\nVkMemoryRequirements2 memoryReqs = {};\n\nmemoryReqs.pNext = &tileMemReqs;\n\n...\n\nvkGetBufferMemoryRequirements2(..., &memoryReqs);\n\nif (tileMemReqs.size > 0)\n{\n // Supported\n VkMemoryAllocateInfo memoryAllocInfo = {};\n VkDeviceMemory tileMemory = {};\n\n memoryAllocInfo.allocationSize = tileMemReqs.size;\n memoryAllocInfo.memoryTypeIndex = FindTileMemoryType();\n\n // Allocate Memory from the tile memory Heap\n vkAllocateMemory(..., &memoryAllocInfo, &tileMemory);\n\n // Bind tile memory to the VkBuffer\n vkBindBufferMemory(..., VkBuffer, tileMemory);\n}\nelse\n{\n // Fallback path. Not supported.\n}\n",[3947],{"type":1873,"tag":1984,"props":3948,"children":3949},{"__ignoreMap":1981},[3950,3967,3974,3986,3993,4000,4017,4024,4049,4056,4063,4078,4093,4100,4119,4126,4133,4140,4164,4171,4194,4201,4208,4223,4238,4245,4260,4279,4286,4293,4320,4327,4335,4348,4355,4362,4369,4376],{"type":1873,"tag":1988,"props":3951,"children":3952},{"class":1990,"line":10},[3953,3958,3962],{"type":1873,"tag":1988,"props":3954,"children":3955},{"style":2005},[3956],{"type":1878,"value":3957},"VkBufferCreateInfo bufferCreateInfo ",{"type":1873,"tag":1988,"props":3959,"children":3960},{"style":1994},[3961],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":3963,"children":3964},{"style":2005},[3965],{"type":1878,"value":3966}," {}\n",{"type":1873,"tag":1988,"props":3968,"children":3969},{"class":1990,"line":14},[3970],{"type":1873,"tag":1988,"props":3971,"children":3972},{"emptyLinePlaceholder":232},[3973],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3975,"children":3976},{"class":1990,"line":18},[3977,3981],{"type":1873,"tag":1988,"props":3978,"children":3979},{"style":2005},[3980],{"type":1878,"value":3501},{"type":1873,"tag":1988,"props":3982,"children":3983},{"style":2014},[3984],{"type":1878,"value":3985}," // Fill in VkBufferCreateInfo structure\n",{"type":1873,"tag":1988,"props":3987,"children":3988},{"class":1990,"line":22},[3989],{"type":1873,"tag":1988,"props":3990,"children":3991},{"emptyLinePlaceholder":232},[3992],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":3994,"children":3995},{"class":1990,"line":26},[3996],{"type":1873,"tag":1988,"props":3997,"children":3998},{"style":2014},[3999],{"type":1878,"value":3521},{"type":1873,"tag":1988,"props":4001,"children":4002},{"class":1990,"line":30},[4003,4008,4012],{"type":1873,"tag":1988,"props":4004,"children":4005},{"style":2005},[4006],{"type":1878,"value":4007},"bufferCreateInfo.usage ",{"type":1873,"tag":1988,"props":4009,"children":4010},{"style":1994},[4011],{"type":1878,"value":3534},{"type":1873,"tag":1988,"props":4013,"children":4014},{"style":2005},[4015],{"type":1878,"value":4016}," VK_BUFFER_USAGE_TILE_MEMORY_BIT_QCOM;\n",{"type":1873,"tag":1988,"props":4018,"children":4019},{"class":1990,"line":34},[4020],{"type":1873,"tag":1988,"props":4021,"children":4022},{"emptyLinePlaceholder":232},[4023],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4025,"children":4026},{"class":1990,"line":38},[4027,4032,4036,4040,4045],{"type":1873,"tag":1988,"props":4028,"children":4029},{"style":2413},[4030],{"type":1878,"value":4031},"vkCreateBuffer",{"type":1873,"tag":1988,"props":4033,"children":4034},{"style":2005},[4035],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":4037,"children":4038},{"style":1994},[4039],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4041,"children":4042},{"style":2432},[4043],{"type":1878,"value":4044},"bufferCreateInfo",{"type":1873,"tag":1988,"props":4046,"children":4047},{"style":2005},[4048],{"type":1878,"value":2467},{"type":1873,"tag":1988,"props":4050,"children":4051},{"class":1990,"line":42},[4052],{"type":1873,"tag":1988,"props":4053,"children":4054},{"emptyLinePlaceholder":232},[4055],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4057,"children":4058},{"class":1990,"line":46},[4059],{"type":1873,"tag":1988,"props":4060,"children":4061},{"style":2014},[4062],{"type":1878,"value":3588},{"type":1873,"tag":1988,"props":4064,"children":4065},{"class":1990,"line":50},[4066,4070,4074],{"type":1873,"tag":1988,"props":4067,"children":4068},{"style":2005},[4069],{"type":1878,"value":3596},{"type":1873,"tag":1988,"props":4071,"children":4072},{"style":1994},[4073],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4075,"children":4076},{"style":2005},[4077],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4079,"children":4080},{"class":1990,"line":54},[4081,4085,4089],{"type":1873,"tag":1988,"props":4082,"children":4083},{"style":2005},[4084],{"type":1878,"value":3612},{"type":1873,"tag":1988,"props":4086,"children":4087},{"style":1994},[4088],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4090,"children":4091},{"style":2005},[4092],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4094,"children":4095},{"class":1990,"line":58},[4096],{"type":1873,"tag":1988,"props":4097,"children":4098},{"emptyLinePlaceholder":232},[4099],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4101,"children":4102},{"class":1990,"line":62},[4103,4107,4111,4115],{"type":1873,"tag":1988,"props":4104,"children":4105},{"style":2005},[4106],{"type":1878,"value":3635},{"type":1873,"tag":1988,"props":4108,"children":4109},{"style":1994},[4110],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4112,"children":4113},{"style":1994},[4114],{"type":1878,"value":3644},{"type":1873,"tag":1988,"props":4116,"children":4117},{"style":2005},[4118],{"type":1878,"value":3649},{"type":1873,"tag":1988,"props":4120,"children":4121},{"class":1990,"line":66},[4122],{"type":1873,"tag":1988,"props":4123,"children":4124},{"emptyLinePlaceholder":232},[4125],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4127,"children":4128},{"class":1990,"line":70},[4129],{"type":1873,"tag":1988,"props":4130,"children":4131},{"style":2005},[4132],{"type":1878,"value":3664},{"type":1873,"tag":1988,"props":4134,"children":4135},{"class":1990,"line":74},[4136],{"type":1873,"tag":1988,"props":4137,"children":4138},{"emptyLinePlaceholder":232},[4139],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4141,"children":4142},{"class":1990,"line":78},[4143,4148,4152,4156,4160],{"type":1873,"tag":1988,"props":4144,"children":4145},{"style":2413},[4146],{"type":1878,"value":4147},"vkGetBufferMemoryRequirements2",{"type":1873,"tag":1988,"props":4149,"children":4150},{"style":2005},[4151],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":4153,"children":4154},{"style":1994},[4155],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4157,"children":4158},{"style":2432},[4159],{"type":1878,"value":3692},{"type":1873,"tag":1988,"props":4161,"children":4162},{"style":2005},[4163],{"type":1878,"value":2467},{"type":1873,"tag":1988,"props":4165,"children":4166},{"class":1990,"line":82},[4167],{"type":1873,"tag":1988,"props":4168,"children":4169},{"emptyLinePlaceholder":232},[4170],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4172,"children":4173},{"class":1990,"line":86},[4174,4178,4182,4186,4190],{"type":1873,"tag":1988,"props":4175,"children":4176},{"style":1994},[4177],{"type":1878,"value":3711},{"type":1873,"tag":1988,"props":4179,"children":4180},{"style":2005},[4181],{"type":1878,"value":3716},{"type":1873,"tag":1988,"props":4183,"children":4184},{"style":1994},[4185],{"type":1878,"value":3721},{"type":1873,"tag":1988,"props":4187,"children":4188},{"style":2038},[4189],{"type":1878,"value":3726},{"type":1873,"tag":1988,"props":4191,"children":4192},{"style":2005},[4193],{"type":1878,"value":3731},{"type":1873,"tag":1988,"props":4195,"children":4196},{"class":1990,"line":90},[4197],{"type":1873,"tag":1988,"props":4198,"children":4199},{"style":2005},[4200],{"type":1878,"value":3739},{"type":1873,"tag":1988,"props":4202,"children":4203},{"class":1990,"line":94},[4204],{"type":1873,"tag":1988,"props":4205,"children":4206},{"style":2014},[4207],{"type":1878,"value":3747},{"type":1873,"tag":1988,"props":4209,"children":4210},{"class":1990,"line":98},[4211,4215,4219],{"type":1873,"tag":1988,"props":4212,"children":4213},{"style":2005},[4214],{"type":1878,"value":3755},{"type":1873,"tag":1988,"props":4216,"children":4217},{"style":1994},[4218],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4220,"children":4221},{"style":2005},[4222],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4224,"children":4225},{"class":1990,"line":102},[4226,4230,4234],{"type":1873,"tag":1988,"props":4227,"children":4228},{"style":2005},[4229],{"type":1878,"value":3771},{"type":1873,"tag":1988,"props":4231,"children":4232},{"style":1994},[4233],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4235,"children":4236},{"style":2005},[4237],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4239,"children":4240},{"class":1990,"line":106},[4241],{"type":1873,"tag":1988,"props":4242,"children":4243},{"emptyLinePlaceholder":232},[4244],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4246,"children":4247},{"class":1990,"line":110},[4248,4252,4256],{"type":1873,"tag":1988,"props":4249,"children":4250},{"style":2005},[4251],{"type":1878,"value":3794},{"type":1873,"tag":1988,"props":4253,"children":4254},{"style":1994},[4255],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4257,"children":4258},{"style":2005},[4259],{"type":1878,"value":3803},{"type":1873,"tag":1988,"props":4261,"children":4262},{"class":1990,"line":114},[4263,4267,4271,4275],{"type":1873,"tag":1988,"props":4264,"children":4265},{"style":2005},[4266],{"type":1878,"value":3811},{"type":1873,"tag":1988,"props":4268,"children":4269},{"style":1994},[4270],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4272,"children":4273},{"style":2413},[4274],{"type":1878,"value":3820},{"type":1873,"tag":1988,"props":4276,"children":4277},{"style":2005},[4278],{"type":1878,"value":3825},{"type":1873,"tag":1988,"props":4280,"children":4281},{"class":1990,"line":118},[4282],{"type":1873,"tag":1988,"props":4283,"children":4284},{"emptyLinePlaceholder":232},[4285],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4287,"children":4288},{"class":1990,"line":122},[4289],{"type":1873,"tag":1988,"props":4290,"children":4291},{"style":2014},[4292],{"type":1878,"value":3840},{"type":1873,"tag":1988,"props":4294,"children":4295},{"class":1990,"line":126},[4296,4300,4304,4308,4312,4316],{"type":1873,"tag":1988,"props":4297,"children":4298},{"style":2413},[4299],{"type":1878,"value":3848},{"type":1873,"tag":1988,"props":4301,"children":4302},{"style":2005},[4303],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":4305,"children":4306},{"style":1994},[4307],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4309,"children":4310},{"style":2005},[4311],{"type":1878,"value":3861},{"type":1873,"tag":1988,"props":4313,"children":4314},{"style":1994},[4315],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4317,"children":4318},{"style":2005},[4319],{"type":1878,"value":3870},{"type":1873,"tag":1988,"props":4321,"children":4322},{"class":1990,"line":130},[4323],{"type":1873,"tag":1988,"props":4324,"children":4325},{"emptyLinePlaceholder":232},[4326],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4328,"children":4329},{"class":1990,"line":134},[4330],{"type":1873,"tag":1988,"props":4331,"children":4332},{"style":2014},[4333],{"type":1878,"value":4334}," // Bind tile memory to the VkBuffer\n",{"type":1873,"tag":1988,"props":4336,"children":4337},{"class":1990,"line":138},[4338,4343],{"type":1873,"tag":1988,"props":4339,"children":4340},{"style":2413},[4341],{"type":1878,"value":4342}," vkBindBufferMemory",{"type":1873,"tag":1988,"props":4344,"children":4345},{"style":2005},[4346],{"type":1878,"value":4347},"(..., VkBuffer, tileMemory);\n",{"type":1873,"tag":1988,"props":4349,"children":4350},{"class":1990,"line":142},[4351],{"type":1873,"tag":1988,"props":4352,"children":4353},{"style":2005},[4354],{"type":1878,"value":3906},{"type":1873,"tag":1988,"props":4356,"children":4357},{"class":1990,"line":146},[4358],{"type":1873,"tag":1988,"props":4359,"children":4360},{"style":1994},[4361],{"type":1878,"value":3914},{"type":1873,"tag":1988,"props":4363,"children":4364},{"class":1990,"line":150},[4365],{"type":1873,"tag":1988,"props":4366,"children":4367},{"style":2005},[4368],{"type":1878,"value":3739},{"type":1873,"tag":1988,"props":4370,"children":4371},{"class":1990,"line":154},[4372],{"type":1873,"tag":1988,"props":4373,"children":4374},{"style":2014},[4375],{"type":1878,"value":3929},{"type":1873,"tag":1988,"props":4377,"children":4378},{"class":1990,"line":158},[4379],{"type":1873,"tag":1988,"props":4380,"children":4381},{"style":2005},[4382],{"type":1878,"value":3906},{"type":1873,"tag":1964,"props":4384,"children":4386},{"id":4385},"_recording_commands_with_tile_memory",[4387],{"type":1878,"value":4388},"Recording Commands with tile memory",{"type":1873,"tag":1976,"props":4390,"children":4392},{"className":1978,"code":4391,"language":1980,"meta":1981,"style":1981},"VkDeviceMemory tileMemoryObject4Mb;\nVkMemoryAllocateInfo allocateInfo = {};\nVkTileMemoryBindInfoQCOM tileMemoryBindInfo = {};\n\nallocateInfo.allocationSize = 4MB;\nallocateInfo.memTypeIndex = [memory type that corresponds to a tile memory heap]\n\n// Allocate 4MB of tile memory\nvkAllocateMemory(..., &allocateInfo, ..., &tileMemoryObject4Mb)\n\nvkBeginCommandBuffer(vkCommandBufferA, ...);\n\n// Application does not use any tile memory in the following 2 Dispatch commands\nvkCmdDispatch(vkCommandBufferA, ...);\nvkCmdDispatch(vkCommandBufferA, ...);\n\n// Bind 4MB of tile memory to use in the next Rendering and Dispatch command\ntileMemoryBindInfo.memory = tileMemoryObject4Mb;\nvkCmdBindTileMemoryQCOM(vkCommandBufferA, &tileMemoryBindInfo);\nvkCmdBeginRendering(vkCommandBufferA, ...);\nvkCmdDispatch(vkCommandBufferA, ...);\n\n// Application does not use any tile memory in the following Dynamic Rendering command\nvkCmdBindTileMemoryQCOM(vkCommandBufferA, VK_NULL_HANDLE);\nvkCmdBeginRendering(vkCommandBufferA, ...);\n\n// The bound tile memory object (if any) is implicitly unbound here\nvkEndCommandBuffer(vkCommandBufferA);\n\n...\n",[4393],{"type":1873,"tag":1984,"props":4394,"children":4395},{"__ignoreMap":1981},[4396,4404,4420,4436,4443,4466,4483,4490,4498,4537,4544,4557,4564,4572,4584,4595,4602,4610,4627,4653,4665,4676,4683,4691,4703,4714,4721,4729,4742,4749],{"type":1873,"tag":1988,"props":4397,"children":4398},{"class":1990,"line":10},[4399],{"type":1873,"tag":1988,"props":4400,"children":4401},{"style":2005},[4402],{"type":1878,"value":4403},"VkDeviceMemory tileMemoryObject4Mb;\n",{"type":1873,"tag":1988,"props":4405,"children":4406},{"class":1990,"line":14},[4407,4412,4416],{"type":1873,"tag":1988,"props":4408,"children":4409},{"style":2005},[4410],{"type":1878,"value":4411},"VkMemoryAllocateInfo allocateInfo ",{"type":1873,"tag":1988,"props":4413,"children":4414},{"style":1994},[4415],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4417,"children":4418},{"style":2005},[4419],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4421,"children":4422},{"class":1990,"line":18},[4423,4428,4432],{"type":1873,"tag":1988,"props":4424,"children":4425},{"style":2005},[4426],{"type":1878,"value":4427},"VkTileMemoryBindInfoQCOM tileMemoryBindInfo ",{"type":1873,"tag":1988,"props":4429,"children":4430},{"style":1994},[4431],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4433,"children":4434},{"style":2005},[4435],{"type":1878,"value":3486},{"type":1873,"tag":1988,"props":4437,"children":4438},{"class":1990,"line":22},[4439],{"type":1873,"tag":1988,"props":4440,"children":4441},{"emptyLinePlaceholder":232},[4442],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4444,"children":4445},{"class":1990,"line":26},[4446,4451,4455,4461],{"type":1873,"tag":1988,"props":4447,"children":4448},{"style":2005},[4449],{"type":1878,"value":4450},"allocateInfo.allocationSize ",{"type":1873,"tag":1988,"props":4452,"children":4453},{"style":1994},[4454],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4456,"children":4458},{"style":4457},"--shiki-default:#82071E;--shiki-default-font-style:italic;--shiki-dark:#FFA198;--shiki-dark-font-style:italic",[4459],{"type":1878,"value":4460}," 4MB",{"type":1873,"tag":1988,"props":4462,"children":4463},{"style":2005},[4464],{"type":1878,"value":4465},";\n",{"type":1873,"tag":1988,"props":4467,"children":4468},{"class":1990,"line":30},[4469,4474,4478],{"type":1873,"tag":1988,"props":4470,"children":4471},{"style":2005},[4472],{"type":1878,"value":4473},"allocateInfo.memTypeIndex ",{"type":1873,"tag":1988,"props":4475,"children":4476},{"style":1994},[4477],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4479,"children":4480},{"style":2005},[4481],{"type":1878,"value":4482}," [memory type that corresponds to a tile memory heap]\n",{"type":1873,"tag":1988,"props":4484,"children":4485},{"class":1990,"line":34},[4486],{"type":1873,"tag":1988,"props":4487,"children":4488},{"emptyLinePlaceholder":232},[4489],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4491,"children":4492},{"class":1990,"line":38},[4493],{"type":1873,"tag":1988,"props":4494,"children":4495},{"style":2014},[4496],{"type":1878,"value":4497},"// Allocate 4MB of tile memory\n",{"type":1873,"tag":1988,"props":4499,"children":4500},{"class":1990,"line":42},[4501,4506,4510,4514,4519,4524,4528,4533],{"type":1873,"tag":1988,"props":4502,"children":4503},{"style":2413},[4504],{"type":1878,"value":4505},"vkAllocateMemory",{"type":1873,"tag":1988,"props":4507,"children":4508},{"style":2005},[4509],{"type":1878,"value":3559},{"type":1873,"tag":1988,"props":4511,"children":4512},{"style":1994},[4513],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4515,"children":4516},{"style":2432},[4517],{"type":1878,"value":4518},"allocateInfo",{"type":1873,"tag":1988,"props":4520,"children":4521},{"style":2005},[4522],{"type":1878,"value":4523},", ..., ",{"type":1873,"tag":1988,"props":4525,"children":4526},{"style":1994},[4527],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4529,"children":4530},{"style":2432},[4531],{"type":1878,"value":4532},"tileMemoryObject4Mb",{"type":1873,"tag":1988,"props":4534,"children":4535},{"style":2005},[4536],{"type":1878,"value":3731},{"type":1873,"tag":1988,"props":4538,"children":4539},{"class":1990,"line":46},[4540],{"type":1873,"tag":1988,"props":4541,"children":4542},{"emptyLinePlaceholder":232},[4543],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4545,"children":4546},{"class":1990,"line":50},[4547,4552],{"type":1873,"tag":1988,"props":4548,"children":4549},{"style":2413},[4550],{"type":1878,"value":4551},"vkBeginCommandBuffer",{"type":1873,"tag":1988,"props":4553,"children":4554},{"style":2005},[4555],{"type":1878,"value":4556},"(vkCommandBufferA, ...);\n",{"type":1873,"tag":1988,"props":4558,"children":4559},{"class":1990,"line":54},[4560],{"type":1873,"tag":1988,"props":4561,"children":4562},{"emptyLinePlaceholder":232},[4563],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4565,"children":4566},{"class":1990,"line":58},[4567],{"type":1873,"tag":1988,"props":4568,"children":4569},{"style":2014},[4570],{"type":1878,"value":4571},"// Application does not use any tile memory in the following 2 Dispatch commands\n",{"type":1873,"tag":1988,"props":4573,"children":4574},{"class":1990,"line":62},[4575,4580],{"type":1873,"tag":1988,"props":4576,"children":4577},{"style":2413},[4578],{"type":1878,"value":4579},"vkCmdDispatch",{"type":1873,"tag":1988,"props":4581,"children":4582},{"style":2005},[4583],{"type":1878,"value":4556},{"type":1873,"tag":1988,"props":4585,"children":4586},{"class":1990,"line":66},[4587,4591],{"type":1873,"tag":1988,"props":4588,"children":4589},{"style":2413},[4590],{"type":1878,"value":4579},{"type":1873,"tag":1988,"props":4592,"children":4593},{"style":2005},[4594],{"type":1878,"value":4556},{"type":1873,"tag":1988,"props":4596,"children":4597},{"class":1990,"line":70},[4598],{"type":1873,"tag":1988,"props":4599,"children":4600},{"emptyLinePlaceholder":232},[4601],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4603,"children":4604},{"class":1990,"line":74},[4605],{"type":1873,"tag":1988,"props":4606,"children":4607},{"style":2014},[4608],{"type":1878,"value":4609},"// Bind 4MB of tile memory to use in the next Rendering and Dispatch command\n",{"type":1873,"tag":1988,"props":4611,"children":4612},{"class":1990,"line":78},[4613,4618,4622],{"type":1873,"tag":1988,"props":4614,"children":4615},{"style":2005},[4616],{"type":1878,"value":4617},"tileMemoryBindInfo.memory ",{"type":1873,"tag":1988,"props":4619,"children":4620},{"style":1994},[4621],{"type":1878,"value":2030},{"type":1873,"tag":1988,"props":4623,"children":4624},{"style":2005},[4625],{"type":1878,"value":4626}," tileMemoryObject4Mb;\n",{"type":1873,"tag":1988,"props":4628,"children":4629},{"class":1990,"line":82},[4630,4635,4640,4644,4649],{"type":1873,"tag":1988,"props":4631,"children":4632},{"style":2413},[4633],{"type":1878,"value":4634},"vkCmdBindTileMemoryQCOM",{"type":1873,"tag":1988,"props":4636,"children":4637},{"style":2005},[4638],{"type":1878,"value":4639},"(vkCommandBufferA, ",{"type":1873,"tag":1988,"props":4641,"children":4642},{"style":1994},[4643],{"type":1878,"value":3564},{"type":1873,"tag":1988,"props":4645,"children":4646},{"style":2432},[4647],{"type":1878,"value":4648},"tileMemoryBindInfo",{"type":1873,"tag":1988,"props":4650,"children":4651},{"style":2005},[4652],{"type":1878,"value":2467},{"type":1873,"tag":1988,"props":4654,"children":4655},{"class":1990,"line":86},[4656,4661],{"type":1873,"tag":1988,"props":4657,"children":4658},{"style":2413},[4659],{"type":1878,"value":4660},"vkCmdBeginRendering",{"type":1873,"tag":1988,"props":4662,"children":4663},{"style":2005},[4664],{"type":1878,"value":4556},{"type":1873,"tag":1988,"props":4666,"children":4667},{"class":1990,"line":90},[4668,4672],{"type":1873,"tag":1988,"props":4669,"children":4670},{"style":2413},[4671],{"type":1878,"value":4579},{"type":1873,"tag":1988,"props":4673,"children":4674},{"style":2005},[4675],{"type":1878,"value":4556},{"type":1873,"tag":1988,"props":4677,"children":4678},{"class":1990,"line":94},[4679],{"type":1873,"tag":1988,"props":4680,"children":4681},{"emptyLinePlaceholder":232},[4682],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4684,"children":4685},{"class":1990,"line":98},[4686],{"type":1873,"tag":1988,"props":4687,"children":4688},{"style":2014},[4689],{"type":1878,"value":4690},"// Application does not use any tile memory in the following Dynamic Rendering command\n",{"type":1873,"tag":1988,"props":4692,"children":4693},{"class":1990,"line":102},[4694,4698],{"type":1873,"tag":1988,"props":4695,"children":4696},{"style":2413},[4697],{"type":1878,"value":4634},{"type":1873,"tag":1988,"props":4699,"children":4700},{"style":2005},[4701],{"type":1878,"value":4702},"(vkCommandBufferA, VK_NULL_HANDLE);\n",{"type":1873,"tag":1988,"props":4704,"children":4705},{"class":1990,"line":106},[4706,4710],{"type":1873,"tag":1988,"props":4707,"children":4708},{"style":2413},[4709],{"type":1878,"value":4660},{"type":1873,"tag":1988,"props":4711,"children":4712},{"style":2005},[4713],{"type":1878,"value":4556},{"type":1873,"tag":1988,"props":4715,"children":4716},{"class":1990,"line":110},[4717],{"type":1873,"tag":1988,"props":4718,"children":4719},{"emptyLinePlaceholder":232},[4720],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4722,"children":4723},{"class":1990,"line":114},[4724],{"type":1873,"tag":1988,"props":4725,"children":4726},{"style":2014},[4727],{"type":1878,"value":4728},"// The bound tile memory object (if any) is implicitly unbound here\n",{"type":1873,"tag":1988,"props":4730,"children":4731},{"class":1990,"line":118},[4732,4737],{"type":1873,"tag":1988,"props":4733,"children":4734},{"style":2413},[4735],{"type":1878,"value":4736},"vkEndCommandBuffer",{"type":1873,"tag":1988,"props":4738,"children":4739},{"style":2005},[4740],{"type":1878,"value":4741},"(vkCommandBufferA);\n",{"type":1873,"tag":1988,"props":4743,"children":4744},{"class":1990,"line":122},[4745],{"type":1873,"tag":1988,"props":4746,"children":4747},{"emptyLinePlaceholder":232},[4748],{"type":1878,"value":2907},{"type":1873,"tag":1988,"props":4750,"children":4751},{"class":1990,"line":126},[4752],{"type":1873,"tag":1988,"props":4753,"children":4754},{"style":2005},[4755],{"type":1878,"value":3664},{"type":1873,"tag":1964,"props":4757,"children":4759},{"id":4758},"_issues",[4760],{"type":1878,"value":4761},"Issues",{"type":1873,"tag":1874,"props":4763,"children":4764},{},[4765],{"type":1878,"value":4766},"None.",{"type":1873,"tag":4768,"props":4769,"children":4770},"style",{},[4771],{"type":1878,"value":4772},"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":1981,"searchDepth":14,"depth":14,"links":4774},[4775,4776,4777,4789],{"id":1882,"depth":14,"text":1885},{"id":1898,"depth":14,"text":1901},{"id":1954,"depth":14,"text":1957,"children":4778},[4779,4780,4781,4782,4783,4784,4785,4786,4787,4788],{"id":1966,"depth":18,"text":1969},{"id":2110,"depth":18,"text":2113},{"id":2280,"depth":18,"text":2283},{"id":2537,"depth":18,"text":2540},{"id":2821,"depth":18,"text":2824},{"id":3068,"depth":18,"text":3071},{"id":3208,"depth":18,"text":3211},{"id":3253,"depth":18,"text":3256},{"id":3397,"depth":18,"text":3400},{"id":3442,"depth":18,"text":3445},{"id":3453,"depth":14,"text":3456,"children":4790},[4791,4792,4793,4794],{"id":3459,"depth":18,"text":3462},{"id":3939,"depth":18,"text":3942},{"id":4385,"depth":18,"text":4388},{"id":4758,"depth":18,"text":4761},"markdown",1773121740728]