[{"data":1,"prerenderedAt":8166},["ShallowReactive",2],{"$flTTP1ACxoY3JWxDGBY-XekRsZsxpvIpMBaq215gW9ag":3,"$fGGa3jm2fyiZgwLdx4RmmiEvaouuONKLYoKH9T7IQulI":263,"$foJJW7qFwP82BsAOEiIOasvQegpSSvZqIO04xxz27Vrw":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":63,"description":1867,"body":1868,"_type":8164,"_id":8165},"A descriptor is an opaque data structure used to access shader resources\nsuch as buffers, images, or samplers.\nRather than existing as distinct objects, descriptors are handled as opaque\ndata, which can be accessed by a shader through\ndescriptor heaps,\ndescriptor buffers,\nor\ndescriptor sets.",{"type":1869,"children":1870,"toc":8120},"root",[1871,1878,1917,1962,1979,1986,2013,2024,2031,2073,2097,2116,2136,2165,2199,2286,2315,2361,2367,2408,2414,2449,2454,2474,2484,2585,2591,2634,2680,2690,2781,2795,2801,2845,2850,2868,2874,2911,2931,2947,2962,2978,3002,3008,3035,3055,3061,3088,3094,3143,3149,3187,3193,3231,3236,3247,3253,3307,3323,3333,3351,3363,3385,3391,3429,3443,3452,3464,3485,3491,3533,3562,3571,3663,3669,3696,3702,3798,3810,3860,3873,3879,3917,3938,3959,3965,3975,3989,3995,4005,4015,4024,4032,4040,4049,4059,4068,4077,4086,4095,4103,4112,4120,4125,4131,4438,4444,4731,4737,5676,5685,5691,5700,5709,5718,5727,5736,5745,5778,5783,5819,5841,5884,6371,6380,6387,6423,6435,6440,6450,6465,6470,6478,6503,6508,6949,6955,6964,6973,6982,6991,7000,7009,7018,7027,7036,7045,7054,7063,7072,7081,7090,7096,7105,7114,7122,7131,7140,7149,7158,7166,7175,7184,7190,7199,7205,7214,7223,7231,7240,7249,7258,7267,7272,7281,7289,7298,7304,7314,7323,7331,7340,7346,7355,7363,7372,7377,7390,7398,7407,7415,7424,7429,7490,7496,7513,7519,7529,7538,7547,7556,7565,7574,7583,7605,7621,7629,7638,7644,7720,7728,7737,7746,7754,7762,7771,7779,7787,7796,7802,7817,7835,7841,7862,7919,7925,7979,7988,7997,8006,8015,8024,8033,8042,8051,8060,8069,8078,8087,8096,8105,8114],{"type":1872,"tag":1873,"props":1874,"children":1875},"element","h1",{"id":64},[1876],{"type":1877,"value":63},"text",{"type":1872,"tag":1879,"props":1880,"children":1881},"p",{},[1882,1884,1890,1892,1899,1901,1907,1909,1915],{"type":1877,"value":1883},"A ",{"type":1872,"tag":1885,"props":1886,"children":1887},"em",{},[1888],{"type":1877,"value":1889},"descriptor",{"type":1877,"value":1891}," is an opaque data structure used to access shader resources\nsuch as buffers, images, or samplers.\nRather than existing as distinct objects, descriptors are handled as opaque\ndata, which can be accessed by a shader through\n",{"type":1872,"tag":1893,"props":1894,"children":1896},"a",{"href":1895},"/chapters/descriptorheaps#descriptorheaps",[1897],{"type":1877,"value":1898},"descriptor heaps",{"type":1877,"value":1900},",\n",{"type":1872,"tag":1893,"props":1902,"children":1904},{"href":1903},"/chapters/descriptors#descriptorbuffers",[1905],{"type":1877,"value":1906},"descriptor buffers",{"type":1877,"value":1908},",\nor\n",{"type":1872,"tag":1893,"props":1910,"children":1912},{"href":1911},"/chapters/descriptors#descriptors",[1913],{"type":1877,"value":1914},"descriptor sets",{"type":1877,"value":1916},".",{"type":1872,"tag":1879,"props":1918,"children":1919},{},[1920,1922,1929,1931,1937,1939,1945,1946,1952,1954,1960],{"type":1877,"value":1921},"Shaders access descriptors via\nthe ",{"type":1872,"tag":1923,"props":1924,"children":1926},"code",{"className":1925},[],[1927],{"type":1877,"value":1928},"ResourceHeapEXT",{"type":1877,"value":1930}," and ",{"type":1872,"tag":1923,"props":1932,"children":1934},{"className":1933},[],[1935],{"type":1877,"value":1936},"SamplerHeapEXT",{"type":1877,"value":1938}," built-ins, or through\nvariables decorated with ",{"type":1872,"tag":1923,"props":1940,"children":1942},{"className":1941},[],[1943],{"type":1877,"value":1944},"DescriptorSet",{"type":1877,"value":1930},{"type":1872,"tag":1923,"props":1947,"children":1949},{"className":1948},[],[1950],{"type":1877,"value":1951},"Binding",{"type":1877,"value":1953}," values linking\nthem to the API.\nDetails of the shader interface mapping are described in the\n",{"type":1872,"tag":1893,"props":1955,"children":1957},{"href":1956},"/chapters/interfaces#interfaces-resources",[1958],{"type":1877,"value":1959},"Shader Resource Interface",{"type":1877,"value":1961}," section.",{"type":1872,"tag":1963,"props":1964,"children":1965},"note",{},[1966],{"type":1872,"tag":1879,"props":1967,"children":1968},{},[1969,1971,1977],{"type":1877,"value":1970},"Shaders can also access buffers without going through descriptors by using\n",{"type":1872,"tag":1893,"props":1972,"children":1974},{"href":1973},"/chapters/descriptors#descriptors-physical-storage-buffer",[1975],{"type":1877,"value":1976},"Physical Storage Buffer Access",{"type":1877,"value":1978}," to\naccess them through 64-bit addresses.",{"type":1872,"tag":1980,"props":1981,"children":1983},"h2",{"id":1982},"descriptors-types",[1984],{"type":1877,"value":1985},"Descriptor Types",{"type":1872,"tag":1879,"props":1987,"children":1988},{},[1989,1991,1997,1998,2004,2006,2011],{"type":1877,"value":1990},"There are a number of different types of descriptor supported by Vulkan,\ncorresponding to different resources or usage.\nThe following sections describe the API definitions of each descriptor type.\nThe mapping of each type to SPIR-V is listed in the\n",{"type":1872,"tag":1893,"props":1992,"children":1994},{"href":1993},"/chapters/interfaces#interfaces-resources-correspondence",[1995],{"type":1877,"value":1996},"Shader Resource and Descriptor Type\nCorrespondence",{"type":1877,"value":1930},{"type":1872,"tag":1893,"props":1999,"children":2001},{"href":2000},"/chapters/interfaces#interfaces-resources-storage-class-correspondence",[2002],{"type":1877,"value":2003},"Shader Resource and Storage Class Correspondence",{"type":1877,"value":2005}," tables in the\n",{"type":1872,"tag":1893,"props":2007,"children":2009},{"href":2008},"/chapters/interfaces#interfaces",[2010],{"type":1877,"value":71},{"type":1877,"value":2012}," chapter.",{"type":1872,"tag":2014,"props":2015,"children":2018},"refpage",{"name":2016,"type":2017},"VkDescriptorType","enums",[2019],{"type":1872,"tag":1879,"props":2020,"children":2021},{},[2022],{"type":1877,"value":2023},"Specifies the type of a descriptor in a descriptor set",{"type":1872,"tag":2025,"props":2026,"children":2028},"h3",{"id":2027},"descriptors-storageimage",[2029],{"type":1877,"value":2030},"Storage Image",{"type":1872,"tag":1879,"props":2032,"children":2033},{},[2034,2035,2040,2042,2048,2050,2056,2058,2064,2066,2071],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2036,"children":2037},{},[2038],{"type":1877,"value":2039},"storage image",{"type":1877,"value":2041}," (",{"type":1872,"tag":1923,"props":2043,"children":2045},{"className":2044},[],[2046],{"type":1877,"value":2047},"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",{"type":1877,"value":2049},") is a descriptor\ntype associated with an ",{"type":1872,"tag":1893,"props":2051,"children":2053},{"href":2052},"/chapters/resources#resources-images",[2054],{"type":1877,"value":2055},"image resource",{"type":1877,"value":2057}," via an\n",{"type":1872,"tag":1893,"props":2059,"children":2061},{"href":2060},"/chapters/resources#resources-image-views",[2062],{"type":1877,"value":2063},"image view",{"type":1877,"value":2065}," that load, store, and atomic\noperations ",{"type":1872,"tag":2067,"props":2068,"children":2070},"normative",{"type":2069},"can",[],{"type":1877,"value":2072}," be performed on.",{"type":1872,"tag":1879,"props":2074,"children":2075},{},[2076,2078,2084,2086,2096],{"type":1877,"value":2077},"Storage image loads are supported in all shader stages for image views whose\n",{"type":1872,"tag":1893,"props":2079,"children":2081},{"href":2080},"/chapters/resources#resources-image-view-format-features",[2082],{"type":1877,"value":2083},"format features",{"type":1877,"value":2085}," contain\n",{"type":1872,"tag":1893,"props":2087,"children":2089},{"href":2088},"/chapters/formats#formats-properties",[2090],{"type":1872,"tag":1923,"props":2091,"children":2093},{"className":2092},[],[2094],{"type":1877,"value":2095},"VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":2098,"children":2099},{},[2100,2102,2106,2107,2115],{"type":1877,"value":2101},"Stores to storage images are supported in\ntask, mesh and\ncompute shaders for image views whose\n",{"type":1872,"tag":1893,"props":2103,"children":2104},{"href":2080},[2105],{"type":1877,"value":2083},{"type":1877,"value":2085},{"type":1872,"tag":1893,"props":2108,"children":2109},{"href":2088},[2110],{"type":1872,"tag":1923,"props":2111,"children":2113},{"className":2112},[],[2114],{"type":1877,"value":2095},{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":2117,"children":2118},{},[2119,2121,2125,2126,2135],{"type":1877,"value":2120},"Atomic operations on storage images are supported in\ntask, mesh and\ncompute shaders for image views whose\n",{"type":1872,"tag":1893,"props":2122,"children":2123},{"href":2080},[2124],{"type":1877,"value":2083},{"type":1877,"value":2085},{"type":1872,"tag":1893,"props":2127,"children":2128},{"href":2088},[2129],{"type":1872,"tag":1923,"props":2130,"children":2132},{"className":2131},[],[2133],{"type":1877,"value":2134},"VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":2137,"children":2138},{},[2139,2141,2151,2153,2163],{"type":1877,"value":2140},"When the ",{"type":1872,"tag":1893,"props":2142,"children":2144},{"href":2143},"/man/VkPhysicalDeviceFeatures#features-fragmentStoresAndAtomics",[2145],{"type":1872,"tag":1923,"props":2146,"children":2148},{"className":2147},[],[2149],{"type":1877,"value":2150},"fragmentStoresAndAtomics",{"type":1877,"value":2152}," feature is enabled, stores and atomic\noperations are also supported for storage images in fragment shaders with\nthe same set of image formats as supported in compute shaders.\nWhen the ",{"type":1872,"tag":1893,"props":2154,"children":2156},{"href":2155},"/man/VkPhysicalDeviceFeatures#features-vertexPipelineStoresAndAtomics",[2157],{"type":1872,"tag":1923,"props":2158,"children":2160},{"className":2159},[],[2161],{"type":1877,"value":2162},"vertexPipelineStoresAndAtomics",{"type":1877,"value":2164}," feature is enabled, stores and atomic\noperations are also supported in vertex, tessellation, and geometry shaders\nwith the same set of image formats as supported in compute shaders.",{"type":1872,"tag":1879,"props":2166,"children":2167},{},[2168,2170,2174,2176,2182,2184,2190,2191,2197],{"type":1877,"value":2169},"The image subresources for a storage image ",{"type":1872,"tag":2067,"props":2171,"children":2173},{"type":2172},"must",[],{"type":1877,"value":2175}," be in the\n",{"type":1872,"tag":1923,"props":2177,"children":2179},{"className":2178},[],[2180],{"type":1877,"value":2181},"VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR",{"type":1877,"value":2183}," or\n",{"type":1872,"tag":1923,"props":2185,"children":2187},{"className":2186},[],[2188],{"type":1877,"value":2189},"VK_IMAGE_LAYOUT_TENSOR_ALIASING_ARM",{"type":1877,"value":2183},{"type":1872,"tag":1923,"props":2192,"children":2194},{"className":2193},[],[2195],{"type":1877,"value":2196},"VK_IMAGE_LAYOUT_GENERAL",{"type":1877,"value":2198}," layout in order to access its data in a\nshader.",{"type":1872,"tag":1879,"props":2200,"children":2201},{},[2202,2203,2213,2215,2221,2223,2229,2231,2237,2239,2244,2246,2254,2256,2264,2266,2272,2274,2284],{"type":1877,"value":2140},{"type":1872,"tag":1893,"props":2204,"children":2206},{"href":2205},"/man/VkPhysicalDeviceTileShadingFeaturesQCOM#features-tileShadingColorAttachments",[2207],{"type":1872,"tag":1923,"props":2208,"children":2210},{"className":2209},[],[2211],{"type":1877,"value":2212},"tileShadingColorAttachments",{"type":1877,"value":2214}," feature is enabled, loads using\n",{"type":1872,"tag":1923,"props":2216,"children":2218},{"className":2217},[],[2219],{"type":1877,"value":2220},"OpImageRead",{"type":1877,"value":2222}," or ",{"type":1872,"tag":1923,"props":2224,"children":2226},{"className":2225},[],[2227],{"type":1877,"value":2228},"OpImageSparseRead",{"type":1877,"value":2230}," are supported for color\n",{"type":1872,"tag":1893,"props":2232,"children":2234},{"href":2233},"/chapters/interfaces#interfaces-tile-attachment",[2235],{"type":1877,"value":2236},"tile attachments",{"type":1877,"value":2238}," in fragment and compute\nshaders for image views whose ",{"type":1872,"tag":1893,"props":2240,"children":2241},{"href":2080},[2242],{"type":1877,"value":2243},"format\nfeatures",{"type":1877,"value":2245}," contain ",{"type":1872,"tag":1893,"props":2247,"children":2248},{"href":2088},[2249],{"type":1872,"tag":1923,"props":2250,"children":2252},{"className":2251},[],[2253],{"type":1877,"value":2095},{"type":1877,"value":2255},".\nAdditionally, when the ",{"type":1872,"tag":1893,"props":2257,"children":2258},{"href":2205},[2259],{"type":1872,"tag":1923,"props":2260,"children":2262},{"className":2261},[],[2263],{"type":1877,"value":2212},{"type":1877,"value":2265}," feature is enabled, stores using\n",{"type":1872,"tag":1923,"props":2267,"children":2269},{"className":2268},[],[2270],{"type":1877,"value":2271},"OpImageWrite",{"type":1877,"value":2273}," are supported for color attachments in compute shaders\nwith the same set of image formats as for loads.\nWhen the ",{"type":1872,"tag":1893,"props":2275,"children":2277},{"href":2276},"/man/VkPhysicalDeviceTileShadingFeaturesQCOM#features-tileShadingAtomicOps",[2278],{"type":1872,"tag":1923,"props":2279,"children":2281},{"className":2280},[],[2282],{"type":1877,"value":2283},"tileShadingAtomicOps",{"type":1877,"value":2285},"\nfeature is enabled, tile atomic operations are supported for color\nattachments in compute shaders with the same set of image formats as for\nloads.",{"type":1872,"tag":1879,"props":2287,"children":2288},{},[2289,2290,2300,2301,2306,2308,2313],{"type":1877,"value":2140},{"type":1872,"tag":1893,"props":2291,"children":2293},{"href":2292},"/man/VkPhysicalDeviceTileShadingFeaturesQCOM#features-tileShadingInputAttachments",[2294],{"type":1872,"tag":1923,"props":2295,"children":2297},{"className":2296},[],[2298],{"type":1877,"value":2299},"tileShadingInputAttachments",{"type":1877,"value":2214},{"type":1872,"tag":1923,"props":2302,"children":2304},{"className":2303},[],[2305],{"type":1877,"value":2220},{"type":1877,"value":2307}," are supported for input ",{"type":1872,"tag":1893,"props":2309,"children":2310},{"href":2233},[2311],{"type":1877,"value":2312},"tile\nattachments",{"type":1877,"value":2314}," in fragment and compute shaders with the same set of image\nformats as for color attachments.\nStores to input attachments are not supported.",{"type":1872,"tag":1879,"props":2316,"children":2317},{},[2318,2319,2329,2330,2340,2341,2346,2347,2352,2354,2359],{"type":1877,"value":2140},{"type":1872,"tag":1893,"props":2320,"children":2322},{"href":2321},"/man/VkPhysicalDeviceTileShadingFeaturesQCOM#features-tileShadingDepthAttachments",[2323],{"type":1872,"tag":1923,"props":2324,"children":2326},{"className":2325},[],[2327],{"type":1877,"value":2328},"tileShadingDepthAttachments",{"type":1877,"value":2183},{"type":1872,"tag":1893,"props":2331,"children":2333},{"href":2332},"/man/VkPhysicalDeviceTileShadingFeaturesQCOM#features-tileShadingStencilAttachments",[2334],{"type":1872,"tag":1923,"props":2335,"children":2337},{"className":2336},[],[2338],{"type":1877,"value":2339},"tileShadingStencilAttachments",{"type":1877,"value":2214},{"type":1872,"tag":1923,"props":2342,"children":2344},{"className":2343},[],[2345],{"type":1877,"value":2220},{"type":1877,"value":2222},{"type":1872,"tag":1923,"props":2348,"children":2350},{"className":2349},[],[2351],{"type":1877,"value":2228},{"type":1877,"value":2353}," are supported for depth or\nstencil aspects of a depth/stencil ",{"type":1872,"tag":1893,"props":2355,"children":2356},{"href":2233},[2357],{"type":1877,"value":2358},"tile\nattachment",{"type":1877,"value":2360}," in fragment and compute shaders with the same set of image\nformats as for color attachments.\nStores to depth/stencil attachments are not supported.",{"type":1872,"tag":2025,"props":2362,"children":2364},{"id":2363},"descriptors-sampler",[2365],{"type":1877,"value":2366},"Sampler",{"type":1872,"tag":1879,"props":2368,"children":2369},{},[2370,2371,2376,2377,2383,2385,2391,2393,2399,2401,2407],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2372,"children":2373},{},[2374],{"type":1877,"value":2375},"sampler descriptor",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":2378,"children":2380},{"className":2379},[],[2381],{"type":1877,"value":2382},"VK_DESCRIPTOR_TYPE_SAMPLER",{"type":1877,"value":2384},") is a descriptor\ntype associated with a ",{"type":1872,"tag":1893,"props":2386,"children":2388},{"href":2387},"/chapters/samplers#samplers",[2389],{"type":1877,"value":2390},"sampler",{"type":1877,"value":2392}," object, used to control the\nbehavior of ",{"type":1872,"tag":1893,"props":2394,"children":2396},{"href":2395},"/chapters/textures#textures",[2397],{"type":1877,"value":2398},"sampling operations",{"type":1877,"value":2400}," performed on a\n",{"type":1872,"tag":1893,"props":2402,"children":2404},{"href":2403},"/chapters/descriptors#descriptors-sampledimage",[2405],{"type":1877,"value":2406},"sampled image",{"type":1877,"value":1916},{"type":1872,"tag":2025,"props":2409,"children":2411},{"id":2410},"descriptors-sampledimage",[2412],{"type":1877,"value":2413},"Sampled Image",{"type":1872,"tag":1879,"props":2415,"children":2416},{},[2417,2418,2422,2423,2429,2430,2434,2435,2439,2441,2445,2448],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2419,"children":2420},{},[2421],{"type":1877,"value":2406},{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":2424,"children":2426},{"className":2425},[],[2427],{"type":1877,"value":2428},"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",{"type":1877,"value":2049},{"type":1872,"tag":1893,"props":2431,"children":2432},{"href":2052},[2433],{"type":1877,"value":2055},{"type":1877,"value":2057},{"type":1872,"tag":1893,"props":2436,"children":2437},{"href":2060},[2438],{"type":1877,"value":2063},{"type":1877,"value":2440}," that ",{"type":1872,"tag":1893,"props":2442,"children":2443},{"href":2395},[2444],{"type":1877,"value":2398},{"type":1872,"tag":2067,"props":2446,"children":2447},{"type":2069},[],{"type":1877,"value":2072},{"type":1872,"tag":1879,"props":2450,"children":2451},{},[2452],{"type":1877,"value":2453},"Shaders combine a sampled image variable and a sampler variable to perform\nsampling operations.",{"type":1872,"tag":1879,"props":2455,"children":2456},{},[2457,2459,2463,2464,2473],{"type":1877,"value":2458},"Sampled images are supported in all shader stages for image views whose\n",{"type":1872,"tag":1893,"props":2460,"children":2461},{"href":2080},[2462],{"type":1877,"value":2083},{"type":1877,"value":2085},{"type":1872,"tag":1893,"props":2465,"children":2466},{"href":2088},[2467],{"type":1872,"tag":1923,"props":2468,"children":2470},{"className":2469},[],[2471],{"type":1877,"value":2472},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":2475,"children":2476},{},[2477,2479,2482],{"type":1877,"value":2478},"An image subresources for a sampled image ",{"type":1872,"tag":2067,"props":2480,"children":2481},{"type":2172},[],{"type":1877,"value":2483}," be in one of the following\nlayouts:",{"type":1872,"tag":2485,"props":2486,"children":2487},"ul",{},[2488,2498,2507,2515,2523,2532,2541,2550,2559,2568,2577],{"type":1872,"tag":2489,"props":2490,"children":2491},"li",{},[2492],{"type":1872,"tag":1923,"props":2493,"children":2495},{"className":2494},[],[2496],{"type":1877,"value":2497},"VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL",{"type":1872,"tag":2489,"props":2499,"children":2500},{},[2501],{"type":1872,"tag":1923,"props":2502,"children":2504},{"className":2503},[],[2505],{"type":1877,"value":2506},"VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL",{"type":1872,"tag":2489,"props":2508,"children":2509},{},[2510],{"type":1872,"tag":1923,"props":2511,"children":2513},{"className":2512},[],[2514],{"type":1877,"value":2196},{"type":1872,"tag":2489,"props":2516,"children":2517},{},[2518],{"type":1872,"tag":1923,"props":2519,"children":2521},{"className":2520},[],[2522],{"type":1877,"value":2181},{"type":1872,"tag":2489,"props":2524,"children":2525},{},[2526],{"type":1872,"tag":1923,"props":2527,"children":2529},{"className":2528},[],[2530],{"type":1877,"value":2531},"VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL",{"type":1872,"tag":2489,"props":2533,"children":2534},{},[2535],{"type":1872,"tag":1923,"props":2536,"children":2538},{"className":2537},[],[2539],{"type":1877,"value":2540},"VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL",{"type":1872,"tag":2489,"props":2542,"children":2543},{},[2544],{"type":1872,"tag":1923,"props":2545,"children":2547},{"className":2546},[],[2548],{"type":1877,"value":2549},"VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL",{"type":1872,"tag":2489,"props":2551,"children":2552},{},[2553],{"type":1872,"tag":1923,"props":2554,"children":2556},{"className":2555},[],[2557],{"type":1877,"value":2558},"VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL",{"type":1872,"tag":2489,"props":2560,"children":2561},{},[2562],{"type":1872,"tag":1923,"props":2563,"children":2565},{"className":2564},[],[2566],{"type":1877,"value":2567},"VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR",{"type":1872,"tag":2489,"props":2569,"children":2570},{},[2571],{"type":1872,"tag":1923,"props":2572,"children":2574},{"className":2573},[],[2575],{"type":1877,"value":2576},"VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT",{"type":1872,"tag":2489,"props":2578,"children":2579},{},[2580],{"type":1872,"tag":1923,"props":2581,"children":2583},{"className":2582},[],[2584],{"type":1877,"value":2189},{"type":1872,"tag":2025,"props":2586,"children":2588},{"id":2587},"descriptors-combinedimagesampler",[2589],{"type":1877,"value":2590},"Combined Image Sampler",{"type":1872,"tag":1879,"props":2592,"children":2593},{},[2594,2595,2600,2601,2607,2609,2613,2615,2619,2621,2626,2627,2632],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2596,"children":2597},{},[2598],{"type":1877,"value":2599},"combined image sampler",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":2602,"children":2604},{"className":2603},[],[2605],{"type":1877,"value":2606},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":1877,"value":2608},")\nis a single descriptor type associated with both a ",{"type":1872,"tag":1893,"props":2610,"children":2611},{"href":2387},[2612],{"type":1877,"value":2390},{"type":1877,"value":2614}," and\nan ",{"type":1872,"tag":1893,"props":2616,"children":2617},{"href":2052},[2618],{"type":1877,"value":2055},{"type":1877,"value":2620},", combining both a\n",{"type":1872,"tag":1893,"props":2622,"children":2624},{"href":2623},"/chapters/descriptors#descriptors-sampler",[2625],{"type":1877,"value":2390},{"type":1877,"value":1930},{"type":1872,"tag":1893,"props":2628,"children":2629},{"href":2403},[2630],{"type":1877,"value":2631},"sampled\nimage",{"type":1877,"value":2633}," descriptor into a single descriptor.",{"type":1872,"tag":1879,"props":2635,"children":2636},{},[2637,2639,2660,2662,2668,2670,2673,2675,2678],{"type":1877,"value":2638},"If the descriptor refers to a sampler that performs\n",{"type":1872,"tag":1893,"props":2640,"children":2642},{"href":2641},"/chapters/samplers#samplers-YCbCr-conversion",[2643,2645,2651,2653,2658],{"type":1877,"value":2644},"Y′C",{"type":1872,"tag":2646,"props":2647,"children":2648},"sub",{},[2649],{"type":1877,"value":2650},"B",{"type":1877,"value":2652},"C",{"type":1872,"tag":2646,"props":2654,"children":2655},{},[2656],{"type":1877,"value":2657},"R",{"type":1877,"value":2659}," conversion",{"type":1877,"value":2661}," or samples a\n",{"type":1872,"tag":1893,"props":2663,"children":2665},{"href":2664},"/man/VkSamplerCreateFlagBits#samplers-subsamplesampler",[2666],{"type":1877,"value":2667},"subsampled image",{"type":1877,"value":2669},",\nthe sampler ",{"type":1872,"tag":2067,"props":2671,"children":2672},{"type":2172},[],{"type":1877,"value":2674}," only be used to sample the image in the same descriptor.\nOtherwise, the\nsampler and image in this type of descriptor ",{"type":1872,"tag":2067,"props":2676,"children":2677},{"type":2069},[],{"type":1877,"value":2679}," be used freely with any\nother samplers and images.",{"type":1872,"tag":1879,"props":2681,"children":2682},{},[2683,2685,2688],{"type":1877,"value":2684},"An image subresources for a combined image sampler ",{"type":1872,"tag":2067,"props":2686,"children":2687},{"type":2172},[],{"type":1877,"value":2689}," be in one of the\nfollowing layouts:",{"type":1872,"tag":2485,"props":2691,"children":2692},{},[2693,2701,2709,2717,2725,2733,2741,2749,2757,2765,2773],{"type":1872,"tag":2489,"props":2694,"children":2695},{},[2696],{"type":1872,"tag":1923,"props":2697,"children":2699},{"className":2698},[],[2700],{"type":1877,"value":2497},{"type":1872,"tag":2489,"props":2702,"children":2703},{},[2704],{"type":1872,"tag":1923,"props":2705,"children":2707},{"className":2706},[],[2708],{"type":1877,"value":2506},{"type":1872,"tag":2489,"props":2710,"children":2711},{},[2712],{"type":1872,"tag":1923,"props":2713,"children":2715},{"className":2714},[],[2716],{"type":1877,"value":2196},{"type":1872,"tag":2489,"props":2718,"children":2719},{},[2720],{"type":1872,"tag":1923,"props":2721,"children":2723},{"className":2722},[],[2724],{"type":1877,"value":2181},{"type":1872,"tag":2489,"props":2726,"children":2727},{},[2728],{"type":1872,"tag":1923,"props":2729,"children":2731},{"className":2730},[],[2732],{"type":1877,"value":2531},{"type":1872,"tag":2489,"props":2734,"children":2735},{},[2736],{"type":1872,"tag":1923,"props":2737,"children":2739},{"className":2738},[],[2740],{"type":1877,"value":2540},{"type":1872,"tag":2489,"props":2742,"children":2743},{},[2744],{"type":1872,"tag":1923,"props":2745,"children":2747},{"className":2746},[],[2748],{"type":1877,"value":2549},{"type":1872,"tag":2489,"props":2750,"children":2751},{},[2752],{"type":1872,"tag":1923,"props":2753,"children":2755},{"className":2754},[],[2756],{"type":1877,"value":2558},{"type":1872,"tag":2489,"props":2758,"children":2759},{},[2760],{"type":1872,"tag":1923,"props":2761,"children":2763},{"className":2762},[],[2764],{"type":1877,"value":2567},{"type":1872,"tag":2489,"props":2766,"children":2767},{},[2768],{"type":1872,"tag":1923,"props":2769,"children":2771},{"className":2770},[],[2772],{"type":1877,"value":2576},{"type":1872,"tag":2489,"props":2774,"children":2775},{},[2776],{"type":1872,"tag":1923,"props":2777,"children":2779},{"className":2778},[],[2780],{"type":1877,"value":2189},{"type":1872,"tag":1963,"props":2782,"children":2783},{},[2784],{"type":1872,"tag":1879,"props":2785,"children":2786},{},[2787,2789,2793],{"type":1877,"value":2788},"On some implementations, it ",{"type":1872,"tag":2067,"props":2790,"children":2792},{"type":2791},"may",[],{"type":1877,"value":2794}," be more efficient to sample from an image\nusing a combination of sampler and sampled image that are stored together in\nthe descriptor set in a combined descriptor.",{"type":1872,"tag":2025,"props":2796,"children":2798},{"id":2797},"descriptors-uniformtexelbuffer",[2799],{"type":1877,"value":2800},"Uniform Texel Buffer",{"type":1872,"tag":1879,"props":2802,"children":2803},{},[2804,2805,2810,2811,2817,2819,2825,2827,2833,2834,2839,2841,2844],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2806,"children":2807},{},[2808],{"type":1877,"value":2809},"uniform texel buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":2812,"children":2814},{"className":2813},[],[2815],{"type":1877,"value":2816},"VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER",{"type":1877,"value":2818},") is\na descriptor type associated with a ",{"type":1872,"tag":1893,"props":2820,"children":2822},{"href":2821},"/chapters/resources#resources-buffers",[2823],{"type":1877,"value":2824},"buffer resource",{"type":1877,"value":2826},"\nvia a ",{"type":1872,"tag":1893,"props":2828,"children":2830},{"href":2829},"/chapters/resources#resources-buffer-views",[2831],{"type":1877,"value":2832},"buffer view",{"type":1877,"value":2440},{"type":1872,"tag":1893,"props":2835,"children":2836},{"href":2395},[2837],{"type":1877,"value":2838},"image sampling\noperations",{"type":1877,"value":2840}," ",{"type":1872,"tag":2067,"props":2842,"children":2843},{"type":2069},[],{"type":1877,"value":2072},{"type":1872,"tag":1879,"props":2846,"children":2847},{},[2848],{"type":1877,"value":2849},"Uniform texel buffers define a tightly-packed 1-dimensional linear array of\ntexels, with texels going through format conversion when read in a shader in\nthe same way as they are for an image.",{"type":1872,"tag":1879,"props":2851,"children":2852},{},[2853,2855,2860,2862],{"type":1877,"value":2854},"Load operations from uniform texel buffers are supported in all shader\nstages for buffer view formats which report\n",{"type":1872,"tag":1893,"props":2856,"children":2858},{"href":2857},"/chapters/resources#resources-buffer-view-format-features",[2859],{"type":1877,"value":2083},{"type":1877,"value":2861}," support for\n",{"type":1872,"tag":1923,"props":2863,"children":2865},{"className":2864},[],[2866],{"type":1877,"value":2867},"VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT",{"type":1872,"tag":2025,"props":2869,"children":2871},{"id":2870},"descriptors-storagetexelbuffer",[2872],{"type":1877,"value":2873},"Storage Texel Buffer",{"type":1872,"tag":1879,"props":2875,"children":2876},{},[2877,2878,2883,2884,2890,2891,2895,2896,2900,2901,2906,2907,2910],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":2879,"children":2880},{},[2881],{"type":1877,"value":2882},"storage texel buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":2885,"children":2887},{"className":2886},[],[2888],{"type":1877,"value":2889},"VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER",{"type":1877,"value":2818},{"type":1872,"tag":1893,"props":2892,"children":2893},{"href":2821},[2894],{"type":1877,"value":2824},{"type":1877,"value":2826},{"type":1872,"tag":1893,"props":2897,"children":2898},{"href":2829},[2899],{"type":1877,"value":2832},{"type":1877,"value":2440},{"type":1872,"tag":1893,"props":2902,"children":2903},{"href":2395},[2904],{"type":1877,"value":2905},"image load,\nstore, and atomic operations",{"type":1877,"value":2840},{"type":1872,"tag":2067,"props":2908,"children":2909},{"type":2069},[],{"type":1877,"value":2072},{"type":1872,"tag":1879,"props":2912,"children":2913},{},[2914,2916,2922,2924,2930],{"type":1877,"value":2915},"Storage texel buffers define a tightly-packed 1-dimensional linear array of\ntexels, with texels going through format conversion when read in a shader in\nthe same way as they are for an image.\nUnlike ",{"type":1872,"tag":1893,"props":2917,"children":2919},{"href":2918},"/chapters/descriptors#descriptors-uniformtexelbuffer",[2920],{"type":1877,"value":2921},"uniform texel buffers",{"type":1877,"value":2923},", these\nbuffers can also be written to in the same way as for\n",{"type":1872,"tag":1893,"props":2925,"children":2927},{"href":2926},"/chapters/descriptors#descriptors-storageimage",[2928],{"type":1877,"value":2929},"storage images",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":2932,"children":2933},{},[2934,2936,2940,2941],{"type":1877,"value":2935},"Storage texel buffer loads are supported in all shader stages for texel\nbuffer view formats which report\n",{"type":1872,"tag":1893,"props":2937,"children":2938},{"href":2857},[2939],{"type":1877,"value":2083},{"type":1877,"value":2861},{"type":1872,"tag":1923,"props":2942,"children":2944},{"className":2943},[],[2945],{"type":1877,"value":2946},"VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_BIT",{"type":1872,"tag":1879,"props":2948,"children":2949},{},[2950,2952,2956,2957],{"type":1877,"value":2951},"Stores to storage texel buffers are supported in\ntask, mesh and\ncompute shaders for texel buffer formats which report\n",{"type":1872,"tag":1893,"props":2953,"children":2954},{"href":2857},[2955],{"type":1877,"value":2083},{"type":1877,"value":2861},{"type":1872,"tag":1923,"props":2958,"children":2960},{"className":2959},[],[2961],{"type":1877,"value":2946},{"type":1872,"tag":1879,"props":2963,"children":2964},{},[2965,2967,2971,2972],{"type":1877,"value":2966},"Atomic operations on storage texel buffers are supported in\ntask, mesh and\ncompute shaders for texel buffer formats which report\n",{"type":1872,"tag":1893,"props":2968,"children":2969},{"href":2857},[2970],{"type":1877,"value":2083},{"type":1877,"value":2861},{"type":1872,"tag":1923,"props":2973,"children":2975},{"className":2974},[],[2976],{"type":1877,"value":2977},"VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT",{"type":1872,"tag":1879,"props":2979,"children":2980},{},[2981,2982,2990,2992,3000],{"type":1877,"value":2140},{"type":1872,"tag":1893,"props":2983,"children":2984},{"href":2143},[2985],{"type":1872,"tag":1923,"props":2986,"children":2988},{"className":2987},[],[2989],{"type":1877,"value":2150},{"type":1877,"value":2991}," feature is enabled, stores and atomic\noperations are also supported for storage texel buffers in fragment shaders\nwith the same set of texel buffer formats as supported in compute shaders.\nWhen the ",{"type":1872,"tag":1893,"props":2993,"children":2994},{"href":2155},[2995],{"type":1872,"tag":1923,"props":2996,"children":2998},{"className":2997},[],[2999],{"type":1877,"value":2162},{"type":1877,"value":3001}," feature is enabled, stores and atomic\noperations are also supported in vertex, tessellation, and geometry shaders\nwith the same set of texel buffer formats as supported in compute shaders.",{"type":1872,"tag":2025,"props":3003,"children":3005},{"id":3004},"descriptors-storagebuffer",[3006],{"type":1877,"value":3007},"Storage Buffer",{"type":1872,"tag":1879,"props":3009,"children":3010},{},[3011,3012,3017,3018,3024,3025,3029,3031,3034],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3013,"children":3014},{},[3015],{"type":1877,"value":3016},"storage buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3019,"children":3021},{"className":3020},[],[3022],{"type":1877,"value":3023},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",{"type":1877,"value":2384},{"type":1872,"tag":1893,"props":3026,"children":3027},{"href":2821},[3028],{"type":1877,"value":2824},{"type":1877,"value":3030}," directly,\ndescribed in a shader as a structure with various members that load, store,\nand atomic operations ",{"type":1872,"tag":2067,"props":3032,"children":3033},{"type":2069},[],{"type":1877,"value":2072},{"type":1872,"tag":1963,"props":3036,"children":3037},{},[3038],{"type":1872,"tag":1879,"props":3039,"children":3040},{},[3041,3043,3046,3048,3054],{"type":1877,"value":3042},"Atomic operations ",{"type":1872,"tag":2067,"props":3044,"children":3045},{"type":2069},[],{"type":1877,"value":3047}," only be performed on members of certain types as\ndefined in the ",{"type":1872,"tag":1893,"props":3049,"children":3051},{"href":3050},"/chapters/spirvenv#spirvenv",[3052],{"type":1877,"value":3053},"SPIR-V environment appendix",{"type":1877,"value":1916},{"type":1872,"tag":2025,"props":3056,"children":3058},{"id":3057},"descriptors-uniformbuffer",[3059],{"type":1877,"value":3060},"Uniform Buffer",{"type":1872,"tag":1879,"props":3062,"children":3063},{},[3064,3065,3070,3071,3077,3078,3082,3084,3087],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3066,"children":3067},{},[3068],{"type":1877,"value":3069},"uniform buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3072,"children":3074},{"className":3073},[],[3075],{"type":1877,"value":3076},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",{"type":1877,"value":2384},{"type":1872,"tag":1893,"props":3079,"children":3080},{"href":2821},[3081],{"type":1877,"value":2824},{"type":1877,"value":3083}," directly,\ndescribed in a shader as a structure with various members that load\noperations ",{"type":1872,"tag":2067,"props":3085,"children":3086},{"type":2069},[],{"type":1877,"value":2072},{"type":1872,"tag":2025,"props":3089,"children":3091},{"id":3090},"descriptors-uniformbufferdynamic",[3092],{"type":1877,"value":3093},"Dynamic Uniform Buffer",{"type":1872,"tag":1879,"props":3095,"children":3096},{},[3097,3098,3103,3104,3110,3112,3117,3119,3125,3127,3133,3135,3141],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3099,"children":3100},{},[3101],{"type":1877,"value":3102},"dynamic uniform buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3105,"children":3107},{"className":3106},[],[3108],{"type":1877,"value":3109},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":1877,"value":3111},")\nis almost identical to a ",{"type":1872,"tag":1893,"props":3113,"children":3115},{"href":3114},"/chapters/descriptors#descriptors-uniformbuffer",[3116],{"type":1877,"value":3069},{"type":1877,"value":3118},", and\ndiffers only in how the offset into the buffer is specified.\nThis descriptor type is only valid when using descriptor sets.\nThe base offset calculated by ",{"type":1872,"tag":1893,"props":3120,"children":3122},{"href":3121},"/man/VkDescriptorBufferInfo",[3123],{"type":1877,"value":3124},"VkDescriptorBufferInfo",{"type":1877,"value":3126}," when initially\n",{"type":1872,"tag":1893,"props":3128,"children":3130},{"href":3129},"/chapters/descriptors#descriptors-sets-updates",[3131],{"type":1877,"value":3132},"updating a descriptor set",{"type":1877,"value":3134}," is added to a\n",{"type":1872,"tag":1893,"props":3136,"children":3138},{"href":3137},"/man/vkCmdBindDescriptorSets#descriptors-binding-dynamicoffsets",[3139],{"type":1877,"value":3140},"dynamic offset",{"type":1877,"value":3142}," when binding a\ndescriptor set.",{"type":1872,"tag":2025,"props":3144,"children":3146},{"id":3145},"descriptors-storagebufferdynamic",[3147],{"type":1877,"value":3148},"Dynamic Storage Buffer",{"type":1872,"tag":1879,"props":3150,"children":3151},{},[3152,3153,3158,3159,3165,3166,3171,3172,3176,3177,3181,3182,3186],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3154,"children":3155},{},[3156],{"type":1877,"value":3157},"dynamic storage buffer",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3160,"children":3162},{"className":3161},[],[3163],{"type":1877,"value":3164},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":1877,"value":3111},{"type":1872,"tag":1893,"props":3167,"children":3169},{"href":3168},"/chapters/descriptors#descriptors-storagebuffer",[3170],{"type":1877,"value":3016},{"type":1877,"value":3118},{"type":1872,"tag":1893,"props":3173,"children":3174},{"href":3121},[3175],{"type":1877,"value":3124},{"type":1877,"value":3126},{"type":1872,"tag":1893,"props":3178,"children":3179},{"href":3129},[3180],{"type":1877,"value":3132},{"type":1877,"value":3134},{"type":1872,"tag":1893,"props":3183,"children":3184},{"href":3137},[3185],{"type":1877,"value":3140},{"type":1877,"value":3142},{"type":1872,"tag":2025,"props":3188,"children":3190},{"id":3189},"descriptors-inlineuniformblock",[3191],{"type":1877,"value":3192},"Inline Uniform Block",{"type":1872,"tag":1879,"props":3194,"children":3195},{},[3196,3198,3203,3204,3210,3212,3216,3218,3221,3223,3229],{"type":1877,"value":3197},"An ",{"type":1872,"tag":1885,"props":3199,"children":3200},{},[3201],{"type":1877,"value":3202},"inline uniform block",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3205,"children":3207},{"className":3206},[],[3208],{"type":1877,"value":3209},"VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK",{"type":1877,"value":3211},") is\nalmost identical to a ",{"type":1872,"tag":1893,"props":3213,"children":3214},{"href":3114},[3215],{"type":1877,"value":3069},{"type":1877,"value":3217}," in how\nit is accessed in the shader.\nWhere it differs is that its storage is taken directly from a containing\ndescriptor set\nor descriptor buffer,\ninstead of being backed by a separate buffer object.\nThis descriptor type is not valid when using descriptor heaps; applications\n",{"type":1872,"tag":2067,"props":3219,"children":3220},{"type":2069},[],{"type":1877,"value":3222}," directly access the heap pointer in a shader or use the\n",{"type":1872,"tag":1923,"props":3224,"children":3226},{"className":3225},[],[3227],{"type":1877,"value":3228},"VK_DESCRIPTOR_MAPPING_SOURCE_PUSH_DATA_EXT",{"type":1877,"value":3230}," mapping.",{"type":1872,"tag":1879,"props":3232,"children":3233},{},[3234],{"type":1877,"value":3235},"Inline uniform blocks are typically used to access a small set of constant\ndata that does not require the additional flexibility provided by the\nindirection enabled when using a uniform buffer where the descriptor and the\nreferenced buffer memory are decoupled.\nCompared to push constants, they allow reusing the same set of constant data\nacross multiple disjoint sets of drawing and dispatching commands.",{"type":1872,"tag":1879,"props":3237,"children":3238},{},[3239,3241,3245],{"type":1877,"value":3240},"Inline uniform block descriptors ",{"type":1872,"tag":2067,"props":3242,"children":3244},{"type":3243},"cannot",[],{"type":1877,"value":3246}," be aggregated into arrays.\nInstead, the array size specified for an inline uniform block descriptor\nbinding specifies the binding’s capacity in bytes.",{"type":1872,"tag":2025,"props":3248,"children":3250},{"id":3249},"descriptors-weightimage",[3251],{"type":1877,"value":3252},"Sample Weight Image",{"type":1872,"tag":1879,"props":3254,"children":3255},{},[3256,3257,3262,3263,3269,3271,3275,3277,3281,3282,3285,3287,3293,3295,3298,3300,3306],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3258,"children":3259},{},[3260],{"type":1877,"value":3261},"sample weight image",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3264,"children":3266},{"className":3265},[],[3267],{"type":1877,"value":3268},"VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM",{"type":1877,"value":3270},")\nis a descriptor type associated with an ",{"type":1872,"tag":1893,"props":3272,"children":3273},{"href":2052},[3274],{"type":1877,"value":2055},{"type":1877,"value":3276},"\nvia an ",{"type":1872,"tag":1893,"props":3278,"children":3279},{"href":2060},[3280],{"type":1877,"value":2063},{"type":1877,"value":2440},{"type":1872,"tag":2067,"props":3283,"children":3284},{"type":2069},[],{"type":1877,"value":3286}," be used in\n",{"type":1872,"tag":1893,"props":3288,"children":3290},{"href":3289},"/chapters/textures#textures-weightimage",[3291],{"type":1877,"value":3292},"weight image sampling",{"type":1877,"value":3294},".\nThe image view ",{"type":1872,"tag":2067,"props":3296,"children":3297},{"type":2172},[],{"type":1877,"value":3299}," have been created with\n",{"type":1872,"tag":1893,"props":3301,"children":3303},{"href":3302},"/man/VkImageViewSampleWeightCreateInfoQCOM",[3304],{"type":1877,"value":3305},"VkImageViewSampleWeightCreateInfoQCOM",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3308,"children":3309},{},[3310,3312,3315,3317,3322],{"type":1877,"value":3311},"Shaders ",{"type":1872,"tag":2067,"props":3313,"children":3314},{"type":2069},[],{"type":1877,"value":3316}," combine a weight image variable, a sampled image variable, and\na sampler variable to perform ",{"type":1872,"tag":1893,"props":3318,"children":3319},{"href":3289},[3320],{"type":1877,"value":3321},"weight image\nsampling",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3324,"children":3325},{},[3326,3328],{"type":1877,"value":3327},"Weight image sampling is supported in all shader stages if the weight image\nview specifies a format that supports\n",{"type":1872,"tag":1893,"props":3329,"children":3330},{"href":2080},[3331],{"type":1877,"value":3332},"format feature",{"type":1872,"tag":1879,"props":3334,"children":3335},{},[3336,3345,3347],{"type":1872,"tag":1893,"props":3337,"children":3338},{"href":2088},[3339],{"type":1872,"tag":1923,"props":3340,"children":3342},{"className":3341},[],[3343],{"type":1877,"value":3344},"VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM",{"type":1877,"value":3346}," and\nthe sampled image view specifies a format that supports\n",{"type":1872,"tag":1893,"props":3348,"children":3349},{"href":2080},[3350],{"type":1877,"value":3332},{"type":1872,"tag":1879,"props":3352,"children":3353},{},[3354],{"type":1872,"tag":1893,"props":3355,"children":3356},{"href":2088},[3357],{"type":1872,"tag":1923,"props":3358,"children":3360},{"className":3359},[],[3361],{"type":1877,"value":3362},"VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM",{"type":1872,"tag":1879,"props":3364,"children":3365},{},[3366,3368,3371,3372,3377,3379,3384],{"type":1877,"value":3367},"The image subresources for the weight image ",{"type":1872,"tag":2067,"props":3369,"children":3370},{"type":2172},[],{"type":1877,"value":2175},{"type":1872,"tag":1923,"props":3373,"children":3375},{"className":3374},[],[3376],{"type":1877,"value":2506},{"type":1877,"value":3378},", or\n",{"type":1872,"tag":1923,"props":3380,"children":3382},{"className":3381},[],[3383],{"type":1877,"value":2196},{"type":1877,"value":2198},{"type":1872,"tag":2025,"props":3386,"children":3388},{"id":3387},"descriptors-blockmatch",[3389],{"type":1877,"value":3390},"Block Matching Image",{"type":1872,"tag":1879,"props":3392,"children":3393},{},[3394,3395,3400,3401,3407,3408,3412,3413,3417,3418,3421,3422,3428],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3396,"children":3397},{},[3398],{"type":1877,"value":3399},"block matching image",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3402,"children":3404},{"className":3403},[],[3405],{"type":1877,"value":3406},"VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM",{"type":1877,"value":3270},{"type":1872,"tag":1893,"props":3409,"children":3410},{"href":2052},[3411],{"type":1877,"value":2055},{"type":1877,"value":3276},{"type":1872,"tag":1893,"props":3414,"children":3415},{"href":2060},[3416],{"type":1877,"value":2063},{"type":1877,"value":2440},{"type":1872,"tag":2067,"props":3419,"children":3420},{"type":2069},[],{"type":1877,"value":3286},{"type":1872,"tag":1893,"props":3423,"children":3425},{"href":3424},"/chapters/textures#textures-blockmatch",[3426],{"type":1877,"value":3427},"block matching",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3430,"children":3431},{},[3432,3433,3436,3438,3442],{"type":1877,"value":3311},{"type":1872,"tag":2067,"props":3434,"children":3435},{"type":2069},[],{"type":1877,"value":3437}," combine a target image variable, a reference image variable,\nand a sampler variable to perform ",{"type":1872,"tag":1893,"props":3439,"children":3440},{"href":3424},[3441],{"type":1877,"value":3427},{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3444,"children":3445},{},[3446,3448],{"type":1877,"value":3447},"Block matching is supported in all shader stages for if both the target view\nand reference view specifies a format that supports\n",{"type":1872,"tag":1893,"props":3449,"children":3450},{"href":2080},[3451],{"type":1877,"value":3332},{"type":1872,"tag":1879,"props":3453,"children":3454},{},[3455],{"type":1872,"tag":1893,"props":3456,"children":3457},{"href":2088},[3458],{"type":1872,"tag":1923,"props":3459,"children":3461},{"className":3460},[],[3462],{"type":1877,"value":3463},"VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM",{"type":1872,"tag":1879,"props":3465,"children":3466},{},[3467,3469,3472,3473,3478,3479,3484],{"type":1877,"value":3468},"The image subresources for block matching ",{"type":1872,"tag":2067,"props":3470,"children":3471},{"type":2172},[],{"type":1877,"value":2175},{"type":1872,"tag":1923,"props":3474,"children":3476},{"className":3475},[],[3477],{"type":1877,"value":2506},{"type":1877,"value":3378},{"type":1872,"tag":1923,"props":3480,"children":3482},{"className":3481},[],[3483],{"type":1877,"value":2196},{"type":1877,"value":2198},{"type":1872,"tag":2025,"props":3486,"children":3488},{"id":3487},"descriptors-inputattachment",[3489],{"type":1877,"value":3490},"Input Attachment",{"type":1872,"tag":1879,"props":3492,"children":3493},{},[3494,3495,3500,3501,3507,3509,3513,3515,3519,3520,3523,3525,3531],{"type":1877,"value":3197},{"type":1872,"tag":1885,"props":3496,"children":3497},{},[3498],{"type":1877,"value":3499},"input attachment",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3502,"children":3504},{"className":3503},[],[3505],{"type":1877,"value":3506},"VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT",{"type":1877,"value":3508},") is a\ndescriptor type associated with an ",{"type":1872,"tag":1893,"props":3510,"children":3511},{"href":2052},[3512],{"type":1877,"value":2055},{"type":1877,"value":3514}," via\nan ",{"type":1872,"tag":1893,"props":3516,"children":3517},{"href":2060},[3518],{"type":1877,"value":2063},{"type":1877,"value":2440},{"type":1872,"tag":2067,"props":3521,"children":3522},{"type":2069},[],{"type":1877,"value":3524}," be used for\n",{"type":1872,"tag":1893,"props":3526,"children":3528},{"href":3527},"/chapters/synchronization#synchronization-framebuffer-regions",[3529],{"type":1877,"value":3530},"framebuffer local",{"type":1877,"value":3532}," load operations in\nfragment shaders.",{"type":1872,"tag":1879,"props":3534,"children":3535},{},[3536,3538,3544,3546,3552,3554,3560],{"type":1877,"value":3537},"All image formats that are supported for color attachments\n(",{"type":1872,"tag":1923,"props":3539,"children":3541},{"className":3540},[],[3542],{"type":1877,"value":3543},"VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT",{"type":1877,"value":3545},"\nor ",{"type":1872,"tag":1923,"props":3547,"children":3549},{"className":3548},[],[3550],{"type":1877,"value":3551},"VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV",{"type":1877,"value":3553},"\n) or depth/stencil attachments\n(",{"type":1872,"tag":1923,"props":3555,"children":3557},{"className":3556},[],[3558],{"type":1877,"value":3559},"VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT",{"type":1877,"value":3561},") for a given image\ntiling mode are also supported for input attachments.",{"type":1872,"tag":1879,"props":3563,"children":3564},{},[3565,3567,3570],{"type":1877,"value":3566},"An image view used as an input attachment ",{"type":1872,"tag":2067,"props":3568,"children":3569},{"type":2172},[],{"type":1877,"value":2483},{"type":1872,"tag":2485,"props":3572,"children":3573},{},[3574,3582,3590,3598,3606,3614,3622,3630,3638,3646,3654],{"type":1872,"tag":2489,"props":3575,"children":3576},{},[3577],{"type":1872,"tag":1923,"props":3578,"children":3580},{"className":3579},[],[3581],{"type":1877,"value":2497},{"type":1872,"tag":2489,"props":3583,"children":3584},{},[3585],{"type":1872,"tag":1923,"props":3586,"children":3588},{"className":3587},[],[3589],{"type":1877,"value":2506},{"type":1872,"tag":2489,"props":3591,"children":3592},{},[3593],{"type":1872,"tag":1923,"props":3594,"children":3596},{"className":3595},[],[3597],{"type":1877,"value":2196},{"type":1872,"tag":2489,"props":3599,"children":3600},{},[3601],{"type":1872,"tag":1923,"props":3602,"children":3604},{"className":3603},[],[3605],{"type":1877,"value":2181},{"type":1872,"tag":2489,"props":3607,"children":3608},{},[3609],{"type":1872,"tag":1923,"props":3610,"children":3612},{"className":3611},[],[3613],{"type":1877,"value":2531},{"type":1872,"tag":2489,"props":3615,"children":3616},{},[3617],{"type":1872,"tag":1923,"props":3618,"children":3620},{"className":3619},[],[3621],{"type":1877,"value":2540},{"type":1872,"tag":2489,"props":3623,"children":3624},{},[3625],{"type":1872,"tag":1923,"props":3626,"children":3628},{"className":3627},[],[3629],{"type":1877,"value":2549},{"type":1872,"tag":2489,"props":3631,"children":3632},{},[3633],{"type":1872,"tag":1923,"props":3634,"children":3636},{"className":3635},[],[3637],{"type":1877,"value":2558},{"type":1872,"tag":2489,"props":3639,"children":3640},{},[3641],{"type":1872,"tag":1923,"props":3642,"children":3644},{"className":3643},[],[3645],{"type":1877,"value":2567},{"type":1872,"tag":2489,"props":3647,"children":3648},{},[3649],{"type":1872,"tag":1923,"props":3650,"children":3652},{"className":3651},[],[3653],{"type":1877,"value":2576},{"type":1872,"tag":2489,"props":3655,"children":3656},{},[3657],{"type":1872,"tag":1923,"props":3658,"children":3660},{"className":3659},[],[3661],{"type":1877,"value":3662},"VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ",{"type":1872,"tag":2025,"props":3664,"children":3666},{"id":3665},"descriptors-accelerationstructure",[3667],{"type":1877,"value":3668},"Acceleration Structure",{"type":1872,"tag":1879,"props":3670,"children":3671},{},[3672,3673,3678,3680,3686,3688,3694],{"type":1877,"value":3197},{"type":1872,"tag":1885,"props":3674,"children":3675},{},[3676],{"type":1877,"value":3677},"acceleration structure",{"type":1877,"value":3679}," (\n",{"type":1872,"tag":1923,"props":3681,"children":3683},{"className":3682},[],[3684],{"type":1877,"value":3685},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR",{"type":1877,"value":3687},"\nor\n",{"type":1872,"tag":1923,"props":3689,"children":3691},{"className":3690},[],[3692],{"type":1877,"value":3693},"VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV",{"type":1877,"value":3695},"\n) is a descriptor type that is used to retrieve scene geometry from within\nshaders that are used for ray traversal.\nShaders have read-only access to the memory.",{"type":1872,"tag":2025,"props":3697,"children":3699},{"id":3698},"descriptors-mutable",[3700],{"type":1877,"value":3701},"Mutable",{"type":1872,"tag":1879,"props":3703,"children":3704},{},[3705,3707,3712,3713,3719,3721,3724,3726,3729,3731,3737,3739,3745,3747,3753,3755,3761,3763,3766,3768,3773,3775,3778,3780,3785,3787,3790,3792,3797],{"type":1877,"value":3706},"A descriptor of ",{"type":1872,"tag":1885,"props":3708,"children":3709},{},[3710],{"type":1877,"value":3711},"mutable",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3714,"children":3716},{"className":3715},[],[3717],{"type":1877,"value":3718},"VK_DESCRIPTOR_TYPE_MUTABLE_EXT",{"type":1877,"value":3720},") type\nindicates that this descriptor ",{"type":1872,"tag":2067,"props":3722,"children":3723},{"type":2069},[],{"type":1877,"value":3725}," mutate to a number of different types.\nThis descriptor type is not valid when using descriptor heaps, as the\nelements of a descriptor heap ",{"type":1872,"tag":2067,"props":3727,"children":3728},{"type":2069},[],{"type":1877,"value":3730}," be manually adjusted to hold different\ndescriptor types already.\nWhen specified in a descriptor set layout, any of the descriptor types given\nin the ",{"type":1872,"tag":1893,"props":3732,"children":3734},{"href":3733},"/man/VkMutableDescriptorTypeListEXT",[3735],{"type":1877,"value":3736},"VkMutableDescriptorTypeListEXT",{"type":1877,"value":3738},"::",{"type":1872,"tag":1923,"props":3740,"children":3742},{"className":3741},[],[3743],{"type":1877,"value":3744},"pDescriptorTypes",{"type":1877,"value":3746}," list of\ndescriptor types in the ",{"type":1872,"tag":1923,"props":3748,"children":3750},{"className":3749},[],[3751],{"type":1877,"value":3752},"pNext",{"type":1877,"value":3754}," chain of\n",{"type":1872,"tag":1893,"props":3756,"children":3758},{"href":3757},"/man/VkDescriptorSetLayoutCreateInfo",[3759],{"type":1877,"value":3760},"VkDescriptorSetLayoutCreateInfo",{"type":1877,"value":3762}," for this binding.\nAt any point, each individual descriptor of mutable type has an active\ndescriptor type.\nThe active descriptor type ",{"type":1872,"tag":2067,"props":3764,"children":3765},{"type":2069},[],{"type":1877,"value":3767}," be any one of the declared types in\n",{"type":1872,"tag":1923,"props":3769,"children":3771},{"className":3770},[],[3772],{"type":1877,"value":3744},{"type":1877,"value":3774},".\nAdditionally, a mutable descriptor’s active descriptor type ",{"type":1872,"tag":2067,"props":3776,"children":3777},{"type":2069},[],{"type":1877,"value":3779}," be of the\n",{"type":1872,"tag":1923,"props":3781,"children":3783},{"className":3782},[],[3784],{"type":1877,"value":3718},{"type":1877,"value":3786}," type, which is the initial active\ndescriptor type.\nThe active descriptor type ",{"type":1872,"tag":2067,"props":3788,"children":3789},{"type":2069},[],{"type":1877,"value":3791}," change when the descriptor is updated.\nWhen a descriptor is consumed by binding a descriptor\nbuffer or\nset, the active descriptor type is considered, not\n",{"type":1872,"tag":1923,"props":3793,"children":3795},{"className":3794},[],[3796],{"type":1877,"value":3718},{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3799,"children":3800},{},[3801,3803,3808],{"type":1877,"value":3802},"An active descriptor type of ",{"type":1872,"tag":1923,"props":3804,"children":3806},{"className":3805},[],[3807],{"type":1877,"value":3718},{"type":1877,"value":3809}," is\nconsidered an undefined descriptor.\nIf a descriptor is consumed where the active descriptor type does not match\nwhat the shader expects, the descriptor is considered an undefined\ndescriptor.",{"type":1872,"tag":1963,"props":3811,"children":3812},{},[3813],{"type":1872,"tag":1879,"props":3814,"children":3815},{},[3816,3818,3823,3825,3828,3830,3836,3838,3843,3845,3851,3852,3858],{"type":1877,"value":3817},"To find which descriptor types are supported as\n",{"type":1872,"tag":1923,"props":3819,"children":3821},{"className":3820},[],[3822],{"type":1877,"value":3718},{"type":1877,"value":3824},", the application ",{"type":1872,"tag":2067,"props":3826,"children":3827},{"type":2069},[],{"type":1877,"value":3829}," use\n",{"type":1872,"tag":1893,"props":3831,"children":3833},{"href":3832},"/man/vkGetDescriptorSetLayoutSupport",[3834],{"type":1877,"value":3835},"vkGetDescriptorSetLayoutSupport",{"type":1877,"value":3837}," with a\n",{"type":1872,"tag":1923,"props":3839,"children":3841},{"className":3840},[],[3842],{"type":1877,"value":3718},{"type":1877,"value":3844}," binding, with the list of descriptor\ntypes to query in the\n",{"type":1872,"tag":1893,"props":3846,"children":3848},{"href":3847},"/man/VkMutableDescriptorTypeCreateInfoEXT",[3849],{"type":1877,"value":3850},"VkMutableDescriptorTypeCreateInfoEXT",{"type":1877,"value":3738},{"type":1872,"tag":1923,"props":3853,"children":3855},{"className":3854},[],[3856],{"type":1877,"value":3857},"pMutableDescriptorTypeLists",{"type":1877,"value":3859},"\narray for that binding.",{"type":1872,"tag":1963,"props":3861,"children":3862},{},[3863,3868],{"type":1872,"tag":1879,"props":3864,"children":3865},{},[3866],{"type":1877,"value":3867},"The intention of a mutable descriptor type is that implementations allocate\nN bytes per descriptor, where N is determined by the maximum descriptor size\nfor a given descriptor binding.\nImplementations are not expected to keep track of the active descriptor\ntype, and it should be considered a C-like union type.",{"type":1872,"tag":1879,"props":3869,"children":3870},{},[3871],{"type":1877,"value":3872},"A mutable descriptor type is not considered as efficient in terms of runtime\nperformance as using a non-mutable descriptor type, and applications are not\nencouraged to use them outside API layering efforts.\nMutable descriptor types can be more efficient if the alternative is using\nmany different descriptors to emulate mutable descriptor types.",{"type":1872,"tag":2025,"props":3874,"children":3876},{"id":3875},"descriptors-storagetensor",[3877],{"type":1877,"value":3878},"Storage Tensor",{"type":1872,"tag":1879,"props":3880,"children":3881},{},[3882,3883,3888,3889,3895,3896,3902,3904,3910,3912,3915],{"type":1877,"value":1883},{"type":1872,"tag":1885,"props":3884,"children":3885},{},[3886],{"type":1877,"value":3887},"storage tensor",{"type":1877,"value":2041},{"type":1872,"tag":1923,"props":3890,"children":3892},{"className":3891},[],[3893],{"type":1877,"value":3894},"VK_DESCRIPTOR_TYPE_TENSOR_ARM",{"type":1877,"value":2384},{"type":1872,"tag":1893,"props":3897,"children":3899},{"href":3898},"/chapters/resources#resources-tensors",[3900],{"type":1877,"value":3901},"tensor resource",{"type":1877,"value":3903}," via a\n",{"type":1872,"tag":1893,"props":3905,"children":3907},{"href":3906},"/chapters/resources#resources-tensor-views",[3908],{"type":1877,"value":3909},"tensor view",{"type":1877,"value":3911}," that read and write operations ",{"type":1872,"tag":2067,"props":3913,"children":3914},{"type":2069},[],{"type":1877,"value":3916},"\nbe performed on.",{"type":1872,"tag":1879,"props":3918,"children":3919},{},[3920,3922,3927,3928,3937],{"type":1877,"value":3921},"Storage tensor reads and writes are supported in shaders for tensor views\nwhose ",{"type":1872,"tag":1893,"props":3923,"children":3925},{"href":3924},"/chapters/resources#resources-tensor-view-format-features",[3926],{"type":1877,"value":2083},{"type":1877,"value":2085},{"type":1872,"tag":1893,"props":3929,"children":3930},{"href":2088},[3931],{"type":1872,"tag":1923,"props":3932,"children":3934},{"className":3933},[],[3935],{"type":1877,"value":3936},"VK_FORMAT_FEATURE_2_TENSOR_SHADER_BIT_ARM",{"type":1877,"value":1916},{"type":1872,"tag":1879,"props":3939,"children":3940},{},[3941,3943,3947,3949,3958],{"type":1877,"value":3942},"Storage tensor reads and writes are supported in graph pipelines for tensor\nviews whose ",{"type":1872,"tag":1893,"props":3944,"children":3945},{"href":3924},[3946],{"type":1877,"value":2083},{"type":1877,"value":3948},"\ncontain\n",{"type":1872,"tag":1893,"props":3950,"children":3951},{"href":2088},[3952],{"type":1872,"tag":1923,"props":3953,"children":3955},{"className":3954},[],[3956],{"type":1877,"value":3957},"VK_FORMAT_FEATURE_2_TENSOR_DATA_GRAPH_BIT_ARM",{"type":1877,"value":1916},{"type":1872,"tag":1980,"props":3960,"children":3962},{"id":3961},"descriptors-sets",[3963],{"type":1877,"value":3964},"Descriptor Sets",{"type":1872,"tag":1879,"props":3966,"children":3967},{},[3968,3970,3973],{"type":1877,"value":3969},"Descriptors are grouped together into descriptor set objects.\nA descriptor set object is an opaque object containing storage for a set of\ndescriptors, where the types and number of descriptors is defined by a\ndescriptor set layout.\nThe layout object ",{"type":1872,"tag":2067,"props":3971,"children":3972},{"type":2791},[],{"type":1877,"value":3974}," be used to define the association of each descriptor\nbinding with memory or other implementation resources.\nThe layout is used both for determining the resources that need to be\nassociated with the descriptor set, and determining the interface between\nshader stages and shader resources.",{"type":1872,"tag":1963,"props":3976,"children":3977},{},[3978],{"type":1872,"tag":1879,"props":3979,"children":3980},{},[3981,3983,3987],{"type":1877,"value":3982},"When available, applications can use ",{"type":1872,"tag":1893,"props":3984,"children":3985},{"href":1895},[3986],{"type":1877,"value":1898},{"type":1877,"value":3988},"\nas a powerful and flexible alternative to descriptor sets.",{"type":1872,"tag":2025,"props":3990,"children":3992},{"id":3991},"descriptors-setlayout",[3993],{"type":1877,"value":3994},"Descriptor Set Layout",{"type":1872,"tag":2014,"props":3996,"children":3999},{"name":3997,"type":3998},"VkDescriptorSetLayout","handles",[4000],{"type":1872,"tag":1879,"props":4001,"children":4002},{},[4003],{"type":1877,"value":4004},"Opaque handle to a descriptor set layout object",{"type":1872,"tag":2014,"props":4006,"children":4009},{"name":4007,"type":4008},"vkCreateDescriptorSetLayout","protos",[4010],{"type":1872,"tag":1879,"props":4011,"children":4012},{},[4013],{"type":1877,"value":4014},"Create a new descriptor set layout",{"type":1872,"tag":2014,"props":4016,"children":4018},{"name":3760,"type":4017},"structs",[4019],{"type":1872,"tag":1879,"props":4020,"children":4021},{},[4022],{"type":1877,"value":4023},"Structure specifying parameters of a newly created descriptor set layout",{"type":1872,"tag":2014,"props":4025,"children":4026},{"name":3850,"type":4017},[4027],{"type":1872,"tag":1879,"props":4028,"children":4029},{},[4030],{"type":1877,"value":4031},"Structure describing the list of possible active descriptor types for mutable type descriptors",{"type":1872,"tag":2014,"props":4033,"children":4034},{"name":3736,"type":4017},[4035],{"type":1872,"tag":1879,"props":4036,"children":4037},{},[4038],{"type":1877,"value":4039},"Structure describing descriptor types that a given descriptor may mutate to",{"type":1872,"tag":2014,"props":4041,"children":4043},{"name":4042,"type":2017},"VkDescriptorSetLayoutCreateFlagBits",[4044],{"type":1872,"tag":1879,"props":4045,"children":4046},{},[4047],{"type":1877,"value":4048},"Bitmask specifying descriptor set layout properties",{"type":1872,"tag":2014,"props":4050,"children":4053},{"name":4051,"type":4052},"VkDescriptorSetLayoutCreateFlags","flags",[4054],{"type":1872,"tag":1879,"props":4055,"children":4056},{},[4057],{"type":1877,"value":4058},"Bitmask of VkDescriptorSetLayoutCreateFlagBits",{"type":1872,"tag":2014,"props":4060,"children":4062},{"name":4061,"type":4017},"VkDescriptorSetLayoutBinding",[4063],{"type":1872,"tag":1879,"props":4064,"children":4065},{},[4066],{"type":1877,"value":4067},"Structure specifying a descriptor set layout binding",{"type":1872,"tag":2014,"props":4069,"children":4071},{"name":4070,"type":4017},"VkDescriptorSetLayoutBindingFlagsCreateInfo",[4072],{"type":1872,"tag":1879,"props":4073,"children":4074},{},[4075],{"type":1877,"value":4076},"Structure specifying creation flags for descriptor set layout bindings",{"type":1872,"tag":2014,"props":4078,"children":4080},{"name":4079,"type":2017},"VkDescriptorBindingFlagBits",[4081],{"type":1872,"tag":1879,"props":4082,"children":4083},{},[4084],{"type":1877,"value":4085},"Bitmask specifying descriptor set layout binding properties",{"type":1872,"tag":2014,"props":4087,"children":4089},{"name":4088,"type":4052},"VkDescriptorBindingFlags",[4090],{"type":1872,"tag":1879,"props":4091,"children":4092},{},[4093],{"type":1877,"value":4094},"Bitmask of VkDescriptorBindingFlagBits",{"type":1872,"tag":2014,"props":4096,"children":4097},{"name":3835,"type":4008},[4098],{"type":1872,"tag":1879,"props":4099,"children":4100},{},[4101],{"type":1877,"value":4102},"Query whether a descriptor set layout can be created",{"type":1872,"tag":2014,"props":4104,"children":4106},{"name":4105,"type":4017},"VkDescriptorSetLayoutSupport",[4107],{"type":1872,"tag":1879,"props":4108,"children":4109},{},[4110],{"type":1877,"value":4111},"Structure returning information about whether a descriptor set layout can be supported",{"type":1872,"tag":2014,"props":4113,"children":4115},{"name":4114,"type":4017},"VkDescriptorSetVariableDescriptorCountLayoutSupport",[4116],{"type":1872,"tag":1879,"props":4117,"children":4118},{},[4119],{"type":1877,"value":4111},{"type":1872,"tag":1879,"props":4121,"children":4122},{},[4123],{"type":1877,"value":4124},"The following examples show a shader snippet using two descriptor sets, and\napplication code that creates corresponding descriptor set layouts.",{"type":1872,"tag":2025,"props":4126,"children":4128},{"id":4127},"glsl-example",[4129],{"type":1877,"value":4130},"GLSL Example",{"type":1872,"tag":4132,"props":4133,"children":4138},"pre",{"className":4134,"code":4135,"language":4136,"meta":4137,"style":4137},"language-glsl shiki shiki-themes github-light-default github-dark-default","//\n// binding to a single sampled image descriptor in set 0\n//\nlayout (set=0, binding=0) uniform texture2D mySampledImage;\n\n//\n// binding to an array of sampled image descriptors in set 0\n//\nlayout (set=0, binding=1) uniform texture2D myArrayOfSampledImages[12];\n\n//\n// binding to a single uniform buffer descriptor in set 1\n//\nlayout (set=1, binding=0) uniform myUniformBuffer\n{\n vec4 myElement[32];\n};\n","glsl","",[4139],{"type":1872,"tag":1923,"props":4140,"children":4141},{"__ignoreMap":4137},[4142,4153,4161,4168,4228,4236,4243,4251,4258,4323,4330,4337,4345,4352,4396,4404,4430],{"type":1872,"tag":4143,"props":4144,"children":4146},"span",{"class":4145,"line":10},"line",[4147],{"type":1872,"tag":4143,"props":4148,"children":4150},{"style":4149},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[4151],{"type":1877,"value":4152},"//\n",{"type":1872,"tag":4143,"props":4154,"children":4155},{"class":4145,"line":14},[4156],{"type":1872,"tag":4143,"props":4157,"children":4158},{"style":4149},[4159],{"type":1877,"value":4160},"// binding to a single sampled image descriptor in set 0\n",{"type":1872,"tag":4143,"props":4162,"children":4163},{"class":4145,"line":18},[4164],{"type":1872,"tag":4143,"props":4165,"children":4166},{"style":4149},[4167],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":4169,"children":4170},{"class":4145,"line":22},[4171,4177,4183,4189,4195,4200,4204,4208,4213,4218,4223],{"type":1872,"tag":4143,"props":4172,"children":4174},{"style":4173},"--shiki-default:#8250DF;--shiki-dark:#D2A8FF",[4175],{"type":1877,"value":4176},"layout",{"type":1872,"tag":4143,"props":4178,"children":4180},{"style":4179},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[4181],{"type":1877,"value":4182}," (set",{"type":1872,"tag":4143,"props":4184,"children":4186},{"style":4185},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[4187],{"type":1877,"value":4188},"=",{"type":1872,"tag":4143,"props":4190,"children":4192},{"style":4191},"--shiki-default:#0550AE;--shiki-dark:#79C0FF",[4193],{"type":1877,"value":4194},"0",{"type":1872,"tag":4143,"props":4196,"children":4197},{"style":4179},[4198],{"type":1877,"value":4199},", binding",{"type":1872,"tag":4143,"props":4201,"children":4202},{"style":4185},[4203],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4205,"children":4206},{"style":4191},[4207],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":4209,"children":4210},{"style":4179},[4211],{"type":1877,"value":4212},") ",{"type":1872,"tag":4143,"props":4214,"children":4215},{"style":4185},[4216],{"type":1877,"value":4217},"uniform",{"type":1872,"tag":4143,"props":4219,"children":4220},{"style":4191},[4221],{"type":1877,"value":4222}," texture2D",{"type":1872,"tag":4143,"props":4224,"children":4225},{"style":4179},[4226],{"type":1877,"value":4227}," mySampledImage;\n",{"type":1872,"tag":4143,"props":4229,"children":4230},{"class":4145,"line":26},[4231],{"type":1872,"tag":4143,"props":4232,"children":4233},{"emptyLinePlaceholder":232},[4234],{"type":1877,"value":4235},"\n",{"type":1872,"tag":4143,"props":4237,"children":4238},{"class":4145,"line":30},[4239],{"type":1872,"tag":4143,"props":4240,"children":4241},{"style":4149},[4242],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":4244,"children":4245},{"class":4145,"line":34},[4246],{"type":1872,"tag":4143,"props":4247,"children":4248},{"style":4149},[4249],{"type":1877,"value":4250},"// binding to an array of sampled image descriptors in set 0\n",{"type":1872,"tag":4143,"props":4252,"children":4253},{"class":4145,"line":38},[4254],{"type":1872,"tag":4143,"props":4255,"children":4256},{"style":4149},[4257],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":4259,"children":4260},{"class":4145,"line":42},[4261,4265,4269,4273,4277,4281,4285,4290,4294,4298,4302,4308,4313,4318],{"type":1872,"tag":4143,"props":4262,"children":4263},{"style":4173},[4264],{"type":1877,"value":4176},{"type":1872,"tag":4143,"props":4266,"children":4267},{"style":4179},[4268],{"type":1877,"value":4182},{"type":1872,"tag":4143,"props":4270,"children":4271},{"style":4185},[4272],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4274,"children":4275},{"style":4191},[4276],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":4278,"children":4279},{"style":4179},[4280],{"type":1877,"value":4199},{"type":1872,"tag":4143,"props":4282,"children":4283},{"style":4185},[4284],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4286,"children":4287},{"style":4191},[4288],{"type":1877,"value":4289},"1",{"type":1872,"tag":4143,"props":4291,"children":4292},{"style":4179},[4293],{"type":1877,"value":4212},{"type":1872,"tag":4143,"props":4295,"children":4296},{"style":4185},[4297],{"type":1877,"value":4217},{"type":1872,"tag":4143,"props":4299,"children":4300},{"style":4191},[4301],{"type":1877,"value":4222},{"type":1872,"tag":4143,"props":4303,"children":4305},{"style":4304},"--shiki-default:#953800;--shiki-dark:#FFA657",[4306],{"type":1877,"value":4307}," myArrayOfSampledImages",{"type":1872,"tag":4143,"props":4309,"children":4310},{"style":4179},[4311],{"type":1877,"value":4312},"[",{"type":1872,"tag":4143,"props":4314,"children":4315},{"style":4191},[4316],{"type":1877,"value":4317},"12",{"type":1872,"tag":4143,"props":4319,"children":4320},{"style":4179},[4321],{"type":1877,"value":4322},"];\n",{"type":1872,"tag":4143,"props":4324,"children":4325},{"class":4145,"line":46},[4326],{"type":1872,"tag":4143,"props":4327,"children":4328},{"emptyLinePlaceholder":232},[4329],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":4331,"children":4332},{"class":4145,"line":50},[4333],{"type":1872,"tag":4143,"props":4334,"children":4335},{"style":4149},[4336],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":4338,"children":4339},{"class":4145,"line":54},[4340],{"type":1872,"tag":4143,"props":4341,"children":4342},{"style":4149},[4343],{"type":1877,"value":4344},"// binding to a single uniform buffer descriptor in set 1\n",{"type":1872,"tag":4143,"props":4346,"children":4347},{"class":4145,"line":58},[4348],{"type":1872,"tag":4143,"props":4349,"children":4350},{"style":4149},[4351],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":4353,"children":4354},{"class":4145,"line":62},[4355,4359,4363,4367,4371,4375,4379,4383,4387,4391],{"type":1872,"tag":4143,"props":4356,"children":4357},{"style":4173},[4358],{"type":1877,"value":4176},{"type":1872,"tag":4143,"props":4360,"children":4361},{"style":4179},[4362],{"type":1877,"value":4182},{"type":1872,"tag":4143,"props":4364,"children":4365},{"style":4185},[4366],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4368,"children":4369},{"style":4191},[4370],{"type":1877,"value":4289},{"type":1872,"tag":4143,"props":4372,"children":4373},{"style":4179},[4374],{"type":1877,"value":4199},{"type":1872,"tag":4143,"props":4376,"children":4377},{"style":4185},[4378],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4380,"children":4381},{"style":4191},[4382],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":4384,"children":4385},{"style":4179},[4386],{"type":1877,"value":4212},{"type":1872,"tag":4143,"props":4388,"children":4389},{"style":4185},[4390],{"type":1877,"value":4217},{"type":1872,"tag":4143,"props":4392,"children":4393},{"style":4179},[4394],{"type":1877,"value":4395}," myUniformBuffer\n",{"type":1872,"tag":4143,"props":4397,"children":4398},{"class":4145,"line":66},[4399],{"type":1872,"tag":4143,"props":4400,"children":4401},{"style":4179},[4402],{"type":1877,"value":4403},"{\n",{"type":1872,"tag":4143,"props":4405,"children":4406},{"class":4145,"line":70},[4407,4412,4417,4421,4426],{"type":1872,"tag":4143,"props":4408,"children":4409},{"style":4179},[4410],{"type":1877,"value":4411}," vec4 ",{"type":1872,"tag":4143,"props":4413,"children":4414},{"style":4304},[4415],{"type":1877,"value":4416},"myElement",{"type":1872,"tag":4143,"props":4418,"children":4419},{"style":4179},[4420],{"type":1877,"value":4312},{"type":1872,"tag":4143,"props":4422,"children":4423},{"style":4191},[4424],{"type":1877,"value":4425},"32",{"type":1872,"tag":4143,"props":4427,"children":4428},{"style":4179},[4429],{"type":1877,"value":4322},{"type":1872,"tag":4143,"props":4431,"children":4432},{"class":4145,"line":74},[4433],{"type":1872,"tag":4143,"props":4434,"children":4435},{"style":4179},[4436],{"type":1877,"value":4437},"};\n",{"type":1872,"tag":2025,"props":4439,"children":4441},{"id":4440},"spir-v-example",[4442],{"type":1877,"value":4443},"SPIR-V Example",{"type":1872,"tag":4132,"props":4445,"children":4449},{"className":4446,"code":4447,"language":4448,"meta":4137,"style":4137},"language-spirv shiki shiki-themes github-light-default github-dark-default"," ...\n %1 = OpExtInstImport \"GLSL.std.450\"\n ...\n OpName %9 \"mySampledImage\"\n OpName %14 \"myArrayOfSampledImages\"\n OpName %18 \"myUniformBuffer\"\n OpMemberName %18 0 \"myElement\"\n OpName %20 \"\"\n OpDecorate %9 DescriptorSet 0\n OpDecorate %9 Binding 0\n OpDecorate %14 DescriptorSet 0\n OpDecorate %14 Binding 1\n OpDecorate %17 ArrayStride 16\n OpMemberDecorate %18 0 Offset 0\n OpDecorate %18 Block\n OpDecorate %20 DescriptorSet 1\n OpDecorate %20 Binding 0\n %2 = OpTypeVoid\n %3 = OpTypeFunction %2\n %6 = OpTypeFloat 32\n %7 = OpTypeImage %6 2D 0 0 0 1 Unknown\n %8 = OpTypePointer UniformConstant %7\n %9 = OpVariable %8 UniformConstant\n %10 = OpTypeInt 32 0\n %11 = OpConstant %10 12\n %12 = OpTypeArray %7 %11\n %13 = OpTypePointer UniformConstant %12\n %14 = OpVariable %13 UniformConstant\n %15 = OpTypeVector %6 4\n %16 = OpConstant %10 32\n %17 = OpTypeArray %15 %16\n %18 = OpTypeStruct %17\n %19 = OpTypePointer Uniform %18\n %20 = OpVariable %19 Uniform\n ...\n","spirv",[4450],{"type":1872,"tag":1923,"props":4451,"children":4452},{"__ignoreMap":4137},[4453,4461,4469,4476,4484,4492,4500,4508,4516,4524,4532,4540,4548,4556,4564,4572,4580,4588,4596,4604,4612,4620,4628,4636,4644,4652,4660,4668,4676,4684,4692,4700,4708,4716,4724],{"type":1872,"tag":4143,"props":4454,"children":4455},{"class":4145,"line":10},[4456],{"type":1872,"tag":4143,"props":4457,"children":4458},{},[4459],{"type":1877,"value":4460}," ...\n",{"type":1872,"tag":4143,"props":4462,"children":4463},{"class":4145,"line":14},[4464],{"type":1872,"tag":4143,"props":4465,"children":4466},{},[4467],{"type":1877,"value":4468}," %1 = OpExtInstImport \"GLSL.std.450\"\n",{"type":1872,"tag":4143,"props":4470,"children":4471},{"class":4145,"line":18},[4472],{"type":1872,"tag":4143,"props":4473,"children":4474},{},[4475],{"type":1877,"value":4460},{"type":1872,"tag":4143,"props":4477,"children":4478},{"class":4145,"line":22},[4479],{"type":1872,"tag":4143,"props":4480,"children":4481},{},[4482],{"type":1877,"value":4483}," OpName %9 \"mySampledImage\"\n",{"type":1872,"tag":4143,"props":4485,"children":4486},{"class":4145,"line":26},[4487],{"type":1872,"tag":4143,"props":4488,"children":4489},{},[4490],{"type":1877,"value":4491}," OpName %14 \"myArrayOfSampledImages\"\n",{"type":1872,"tag":4143,"props":4493,"children":4494},{"class":4145,"line":30},[4495],{"type":1872,"tag":4143,"props":4496,"children":4497},{},[4498],{"type":1877,"value":4499}," OpName %18 \"myUniformBuffer\"\n",{"type":1872,"tag":4143,"props":4501,"children":4502},{"class":4145,"line":34},[4503],{"type":1872,"tag":4143,"props":4504,"children":4505},{},[4506],{"type":1877,"value":4507}," OpMemberName %18 0 \"myElement\"\n",{"type":1872,"tag":4143,"props":4509,"children":4510},{"class":4145,"line":38},[4511],{"type":1872,"tag":4143,"props":4512,"children":4513},{},[4514],{"type":1877,"value":4515}," OpName %20 \"\"\n",{"type":1872,"tag":4143,"props":4517,"children":4518},{"class":4145,"line":42},[4519],{"type":1872,"tag":4143,"props":4520,"children":4521},{},[4522],{"type":1877,"value":4523}," OpDecorate %9 DescriptorSet 0\n",{"type":1872,"tag":4143,"props":4525,"children":4526},{"class":4145,"line":46},[4527],{"type":1872,"tag":4143,"props":4528,"children":4529},{},[4530],{"type":1877,"value":4531}," OpDecorate %9 Binding 0\n",{"type":1872,"tag":4143,"props":4533,"children":4534},{"class":4145,"line":50},[4535],{"type":1872,"tag":4143,"props":4536,"children":4537},{},[4538],{"type":1877,"value":4539}," OpDecorate %14 DescriptorSet 0\n",{"type":1872,"tag":4143,"props":4541,"children":4542},{"class":4145,"line":54},[4543],{"type":1872,"tag":4143,"props":4544,"children":4545},{},[4546],{"type":1877,"value":4547}," OpDecorate %14 Binding 1\n",{"type":1872,"tag":4143,"props":4549,"children":4550},{"class":4145,"line":58},[4551],{"type":1872,"tag":4143,"props":4552,"children":4553},{},[4554],{"type":1877,"value":4555}," OpDecorate %17 ArrayStride 16\n",{"type":1872,"tag":4143,"props":4557,"children":4558},{"class":4145,"line":62},[4559],{"type":1872,"tag":4143,"props":4560,"children":4561},{},[4562],{"type":1877,"value":4563}," OpMemberDecorate %18 0 Offset 0\n",{"type":1872,"tag":4143,"props":4565,"children":4566},{"class":4145,"line":66},[4567],{"type":1872,"tag":4143,"props":4568,"children":4569},{},[4570],{"type":1877,"value":4571}," OpDecorate %18 Block\n",{"type":1872,"tag":4143,"props":4573,"children":4574},{"class":4145,"line":70},[4575],{"type":1872,"tag":4143,"props":4576,"children":4577},{},[4578],{"type":1877,"value":4579}," OpDecorate %20 DescriptorSet 1\n",{"type":1872,"tag":4143,"props":4581,"children":4582},{"class":4145,"line":74},[4583],{"type":1872,"tag":4143,"props":4584,"children":4585},{},[4586],{"type":1877,"value":4587}," OpDecorate %20 Binding 0\n",{"type":1872,"tag":4143,"props":4589,"children":4590},{"class":4145,"line":78},[4591],{"type":1872,"tag":4143,"props":4592,"children":4593},{},[4594],{"type":1877,"value":4595}," %2 = OpTypeVoid\n",{"type":1872,"tag":4143,"props":4597,"children":4598},{"class":4145,"line":82},[4599],{"type":1872,"tag":4143,"props":4600,"children":4601},{},[4602],{"type":1877,"value":4603}," %3 = OpTypeFunction %2\n",{"type":1872,"tag":4143,"props":4605,"children":4606},{"class":4145,"line":86},[4607],{"type":1872,"tag":4143,"props":4608,"children":4609},{},[4610],{"type":1877,"value":4611}," %6 = OpTypeFloat 32\n",{"type":1872,"tag":4143,"props":4613,"children":4614},{"class":4145,"line":90},[4615],{"type":1872,"tag":4143,"props":4616,"children":4617},{},[4618],{"type":1877,"value":4619}," %7 = OpTypeImage %6 2D 0 0 0 1 Unknown\n",{"type":1872,"tag":4143,"props":4621,"children":4622},{"class":4145,"line":94},[4623],{"type":1872,"tag":4143,"props":4624,"children":4625},{},[4626],{"type":1877,"value":4627}," %8 = OpTypePointer UniformConstant %7\n",{"type":1872,"tag":4143,"props":4629,"children":4630},{"class":4145,"line":98},[4631],{"type":1872,"tag":4143,"props":4632,"children":4633},{},[4634],{"type":1877,"value":4635}," %9 = OpVariable %8 UniformConstant\n",{"type":1872,"tag":4143,"props":4637,"children":4638},{"class":4145,"line":102},[4639],{"type":1872,"tag":4143,"props":4640,"children":4641},{},[4642],{"type":1877,"value":4643}," %10 = OpTypeInt 32 0\n",{"type":1872,"tag":4143,"props":4645,"children":4646},{"class":4145,"line":106},[4647],{"type":1872,"tag":4143,"props":4648,"children":4649},{},[4650],{"type":1877,"value":4651}," %11 = OpConstant %10 12\n",{"type":1872,"tag":4143,"props":4653,"children":4654},{"class":4145,"line":110},[4655],{"type":1872,"tag":4143,"props":4656,"children":4657},{},[4658],{"type":1877,"value":4659}," %12 = OpTypeArray %7 %11\n",{"type":1872,"tag":4143,"props":4661,"children":4662},{"class":4145,"line":114},[4663],{"type":1872,"tag":4143,"props":4664,"children":4665},{},[4666],{"type":1877,"value":4667}," %13 = OpTypePointer UniformConstant %12\n",{"type":1872,"tag":4143,"props":4669,"children":4670},{"class":4145,"line":118},[4671],{"type":1872,"tag":4143,"props":4672,"children":4673},{},[4674],{"type":1877,"value":4675}," %14 = OpVariable %13 UniformConstant\n",{"type":1872,"tag":4143,"props":4677,"children":4678},{"class":4145,"line":122},[4679],{"type":1872,"tag":4143,"props":4680,"children":4681},{},[4682],{"type":1877,"value":4683}," %15 = OpTypeVector %6 4\n",{"type":1872,"tag":4143,"props":4685,"children":4686},{"class":4145,"line":126},[4687],{"type":1872,"tag":4143,"props":4688,"children":4689},{},[4690],{"type":1877,"value":4691}," %16 = OpConstant %10 32\n",{"type":1872,"tag":4143,"props":4693,"children":4694},{"class":4145,"line":130},[4695],{"type":1872,"tag":4143,"props":4696,"children":4697},{},[4698],{"type":1877,"value":4699}," %17 = OpTypeArray %15 %16\n",{"type":1872,"tag":4143,"props":4701,"children":4702},{"class":4145,"line":134},[4703],{"type":1872,"tag":4143,"props":4704,"children":4705},{},[4706],{"type":1877,"value":4707}," %18 = OpTypeStruct %17\n",{"type":1872,"tag":4143,"props":4709,"children":4710},{"class":4145,"line":138},[4711],{"type":1872,"tag":4143,"props":4712,"children":4713},{},[4714],{"type":1877,"value":4715}," %19 = OpTypePointer Uniform %18\n",{"type":1872,"tag":4143,"props":4717,"children":4718},{"class":4145,"line":142},[4719],{"type":1872,"tag":4143,"props":4720,"children":4721},{},[4722],{"type":1877,"value":4723}," %20 = OpVariable %19 Uniform\n",{"type":1872,"tag":4143,"props":4725,"children":4726},{"class":4145,"line":146},[4727],{"type":1872,"tag":4143,"props":4728,"children":4729},{},[4730],{"type":1877,"value":4460},{"type":1872,"tag":2025,"props":4732,"children":4734},{"id":4733},"api-example",[4735],{"type":1877,"value":4736},"API Example",{"type":1872,"tag":4132,"props":4738,"children":4742},{"className":4739,"code":4740,"language":4741,"meta":4137,"style":4137},"language-c++ shiki shiki-themes github-light-default github-dark-default","VkResult myResult;\n\nconst VkDescriptorSetLayoutBinding myDescriptorSetLayoutBinding[] =\n{\n // binding to a single image descriptor\n {\n .binding = 0,\n .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n .descriptorCount = 1,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n },\n\n // binding to an array of image descriptors\n {\n .binding = 1,\n .descriptorType = VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n .descriptorCount = 12,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n },\n\n // binding to a single uniform buffer descriptor\n {\n .binding = 0,\n .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,\n .descriptorCount = 1,\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .pImmutableSamplers = NULL\n }\n};\n\nconst VkDescriptorSetLayoutCreateInfo myDescriptorSetLayoutCreateInfo[] =\n{\n // Information for first descriptor set with two descriptor bindings\n {\n .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .bindingCount = 2,\n .pBindings = &myDescriptorSetLayoutBinding[0]\n },\n\n // Information for second descriptor set with one descriptor binding\n {\n .sType = VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .bindingCount = 1,\n .pBindings = &myDescriptorSetLayoutBinding[2]\n }\n};\n\nVkDescriptorSetLayout myDescriptorSetLayout[2];\n\n//\n// Create first descriptor set layout\n//\nmyResult = vkCreateDescriptorSetLayout(\n myDevice,\n &myDescriptorSetLayoutCreateInfo[0],\n NULL,\n &myDescriptorSetLayout[0]);\n\n//\n// Create second descriptor set layout\n//\nmyResult = vkCreateDescriptorSetLayout(\n myDevice,\n &myDescriptorSetLayoutCreateInfo[1],\n NULL,\n &myDescriptorSetLayout[1]);\n","c++",[4743],{"type":1872,"tag":1923,"props":4744,"children":4745},{"__ignoreMap":4137},[4746,4754,4761,4779,4786,4794,4802,4823,4840,4861,4878,4895,4903,4910,4918,4925,4944,4959,4979,4994,5009,5016,5023,5031,5038,5057,5073,5092,5107,5122,5130,5137,5144,5160,5167,5175,5182,5199,5220,5240,5261,5292,5299,5306,5314,5321,5336,5355,5374,5393,5421,5428,5435,5442,5458,5465,5472,5480,5487,5509,5517,5539,5551,5572,5579,5586,5594,5601,5620,5627,5646,5657],{"type":1872,"tag":4143,"props":4747,"children":4748},{"class":4145,"line":10},[4749],{"type":1872,"tag":4143,"props":4750,"children":4751},{"style":4179},[4752],{"type":1877,"value":4753},"VkResult myResult;\n",{"type":1872,"tag":4143,"props":4755,"children":4756},{"class":4145,"line":14},[4757],{"type":1872,"tag":4143,"props":4758,"children":4759},{"emptyLinePlaceholder":232},[4760],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":4762,"children":4763},{"class":4145,"line":18},[4764,4769,4774],{"type":1872,"tag":4143,"props":4765,"children":4766},{"style":4185},[4767],{"type":1877,"value":4768},"const",{"type":1872,"tag":4143,"props":4770,"children":4771},{"style":4179},[4772],{"type":1877,"value":4773}," VkDescriptorSetLayoutBinding myDescriptorSetLayoutBinding[] ",{"type":1872,"tag":4143,"props":4775,"children":4776},{"style":4185},[4777],{"type":1877,"value":4778},"=\n",{"type":1872,"tag":4143,"props":4780,"children":4781},{"class":4145,"line":22},[4782],{"type":1872,"tag":4143,"props":4783,"children":4784},{"style":4179},[4785],{"type":1877,"value":4403},{"type":1872,"tag":4143,"props":4787,"children":4788},{"class":4145,"line":26},[4789],{"type":1872,"tag":4143,"props":4790,"children":4791},{"style":4149},[4792],{"type":1877,"value":4793}," // binding to a single image descriptor\n",{"type":1872,"tag":4143,"props":4795,"children":4796},{"class":4145,"line":30},[4797],{"type":1872,"tag":4143,"props":4798,"children":4799},{"style":4179},[4800],{"type":1877,"value":4801}," {\n",{"type":1872,"tag":4143,"props":4803,"children":4804},{"class":4145,"line":34},[4805,4810,4814,4819],{"type":1872,"tag":4143,"props":4806,"children":4807},{"style":4179},[4808],{"type":1877,"value":4809}," .binding ",{"type":1872,"tag":4143,"props":4811,"children":4812},{"style":4185},[4813],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4815,"children":4816},{"style":4191},[4817],{"type":1877,"value":4818}," 0",{"type":1872,"tag":4143,"props":4820,"children":4821},{"style":4179},[4822],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":4824,"children":4825},{"class":4145,"line":38},[4826,4831,4835],{"type":1872,"tag":4143,"props":4827,"children":4828},{"style":4179},[4829],{"type":1877,"value":4830}," .descriptorType ",{"type":1872,"tag":4143,"props":4832,"children":4833},{"style":4185},[4834],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4836,"children":4837},{"style":4179},[4838],{"type":1877,"value":4839}," VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,\n",{"type":1872,"tag":4143,"props":4841,"children":4842},{"class":4145,"line":42},[4843,4848,4852,4857],{"type":1872,"tag":4143,"props":4844,"children":4845},{"style":4179},[4846],{"type":1877,"value":4847}," .descriptorCount ",{"type":1872,"tag":4143,"props":4849,"children":4850},{"style":4185},[4851],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4853,"children":4854},{"style":4191},[4855],{"type":1877,"value":4856}," 1",{"type":1872,"tag":4143,"props":4858,"children":4859},{"style":4179},[4860],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":4862,"children":4863},{"class":4145,"line":46},[4864,4869,4873],{"type":1872,"tag":4143,"props":4865,"children":4866},{"style":4179},[4867],{"type":1877,"value":4868}," .stageFlags ",{"type":1872,"tag":4143,"props":4870,"children":4871},{"style":4185},[4872],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4874,"children":4875},{"style":4179},[4876],{"type":1877,"value":4877}," VK_SHADER_STAGE_FRAGMENT_BIT,\n",{"type":1872,"tag":4143,"props":4879,"children":4880},{"class":4145,"line":50},[4881,4886,4890],{"type":1872,"tag":4143,"props":4882,"children":4883},{"style":4179},[4884],{"type":1877,"value":4885}," .pImmutableSamplers ",{"type":1872,"tag":4143,"props":4887,"children":4888},{"style":4185},[4889],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4891,"children":4892},{"style":4191},[4893],{"type":1877,"value":4894}," NULL\n",{"type":1872,"tag":4143,"props":4896,"children":4897},{"class":4145,"line":54},[4898],{"type":1872,"tag":4143,"props":4899,"children":4900},{"style":4179},[4901],{"type":1877,"value":4902}," },\n",{"type":1872,"tag":4143,"props":4904,"children":4905},{"class":4145,"line":58},[4906],{"type":1872,"tag":4143,"props":4907,"children":4908},{"emptyLinePlaceholder":232},[4909],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":4911,"children":4912},{"class":4145,"line":62},[4913],{"type":1872,"tag":4143,"props":4914,"children":4915},{"style":4149},[4916],{"type":1877,"value":4917}," // binding to an array of image descriptors\n",{"type":1872,"tag":4143,"props":4919,"children":4920},{"class":4145,"line":66},[4921],{"type":1872,"tag":4143,"props":4922,"children":4923},{"style":4179},[4924],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":4926,"children":4927},{"class":4145,"line":70},[4928,4932,4936,4940],{"type":1872,"tag":4143,"props":4929,"children":4930},{"style":4179},[4931],{"type":1877,"value":4809},{"type":1872,"tag":4143,"props":4933,"children":4934},{"style":4185},[4935],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4937,"children":4938},{"style":4191},[4939],{"type":1877,"value":4856},{"type":1872,"tag":4143,"props":4941,"children":4942},{"style":4179},[4943],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":4945,"children":4946},{"class":4145,"line":74},[4947,4951,4955],{"type":1872,"tag":4143,"props":4948,"children":4949},{"style":4179},[4950],{"type":1877,"value":4830},{"type":1872,"tag":4143,"props":4952,"children":4953},{"style":4185},[4954],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4956,"children":4957},{"style":4179},[4958],{"type":1877,"value":4839},{"type":1872,"tag":4143,"props":4960,"children":4961},{"class":4145,"line":78},[4962,4966,4970,4975],{"type":1872,"tag":4143,"props":4963,"children":4964},{"style":4179},[4965],{"type":1877,"value":4847},{"type":1872,"tag":4143,"props":4967,"children":4968},{"style":4185},[4969],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4971,"children":4972},{"style":4191},[4973],{"type":1877,"value":4974}," 12",{"type":1872,"tag":4143,"props":4976,"children":4977},{"style":4179},[4978],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":4980,"children":4981},{"class":4145,"line":82},[4982,4986,4990],{"type":1872,"tag":4143,"props":4983,"children":4984},{"style":4179},[4985],{"type":1877,"value":4868},{"type":1872,"tag":4143,"props":4987,"children":4988},{"style":4185},[4989],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":4991,"children":4992},{"style":4179},[4993],{"type":1877,"value":4877},{"type":1872,"tag":4143,"props":4995,"children":4996},{"class":4145,"line":86},[4997,5001,5005],{"type":1872,"tag":4143,"props":4998,"children":4999},{"style":4179},[5000],{"type":1877,"value":4885},{"type":1872,"tag":4143,"props":5002,"children":5003},{"style":4185},[5004],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5006,"children":5007},{"style":4191},[5008],{"type":1877,"value":4894},{"type":1872,"tag":4143,"props":5010,"children":5011},{"class":4145,"line":90},[5012],{"type":1872,"tag":4143,"props":5013,"children":5014},{"style":4179},[5015],{"type":1877,"value":4902},{"type":1872,"tag":4143,"props":5017,"children":5018},{"class":4145,"line":94},[5019],{"type":1872,"tag":4143,"props":5020,"children":5021},{"emptyLinePlaceholder":232},[5022],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5024,"children":5025},{"class":4145,"line":98},[5026],{"type":1872,"tag":4143,"props":5027,"children":5028},{"style":4149},[5029],{"type":1877,"value":5030}," // binding to a single uniform buffer descriptor\n",{"type":1872,"tag":4143,"props":5032,"children":5033},{"class":4145,"line":102},[5034],{"type":1872,"tag":4143,"props":5035,"children":5036},{"style":4179},[5037],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":5039,"children":5040},{"class":4145,"line":106},[5041,5045,5049,5053],{"type":1872,"tag":4143,"props":5042,"children":5043},{"style":4179},[5044],{"type":1877,"value":4809},{"type":1872,"tag":4143,"props":5046,"children":5047},{"style":4185},[5048],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5050,"children":5051},{"style":4191},[5052],{"type":1877,"value":4818},{"type":1872,"tag":4143,"props":5054,"children":5055},{"style":4179},[5056],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5058,"children":5059},{"class":4145,"line":110},[5060,5064,5068],{"type":1872,"tag":4143,"props":5061,"children":5062},{"style":4179},[5063],{"type":1877,"value":4830},{"type":1872,"tag":4143,"props":5065,"children":5066},{"style":4185},[5067],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5069,"children":5070},{"style":4179},[5071],{"type":1877,"value":5072}," VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,\n",{"type":1872,"tag":4143,"props":5074,"children":5075},{"class":4145,"line":114},[5076,5080,5084,5088],{"type":1872,"tag":4143,"props":5077,"children":5078},{"style":4179},[5079],{"type":1877,"value":4847},{"type":1872,"tag":4143,"props":5081,"children":5082},{"style":4185},[5083],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5085,"children":5086},{"style":4191},[5087],{"type":1877,"value":4856},{"type":1872,"tag":4143,"props":5089,"children":5090},{"style":4179},[5091],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5093,"children":5094},{"class":4145,"line":118},[5095,5099,5103],{"type":1872,"tag":4143,"props":5096,"children":5097},{"style":4179},[5098],{"type":1877,"value":4868},{"type":1872,"tag":4143,"props":5100,"children":5101},{"style":4185},[5102],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5104,"children":5105},{"style":4179},[5106],{"type":1877,"value":4877},{"type":1872,"tag":4143,"props":5108,"children":5109},{"class":4145,"line":122},[5110,5114,5118],{"type":1872,"tag":4143,"props":5111,"children":5112},{"style":4179},[5113],{"type":1877,"value":4885},{"type":1872,"tag":4143,"props":5115,"children":5116},{"style":4185},[5117],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5119,"children":5120},{"style":4191},[5121],{"type":1877,"value":4894},{"type":1872,"tag":4143,"props":5123,"children":5124},{"class":4145,"line":126},[5125],{"type":1872,"tag":4143,"props":5126,"children":5127},{"style":4179},[5128],{"type":1877,"value":5129}," }\n",{"type":1872,"tag":4143,"props":5131,"children":5132},{"class":4145,"line":130},[5133],{"type":1872,"tag":4143,"props":5134,"children":5135},{"style":4179},[5136],{"type":1877,"value":4437},{"type":1872,"tag":4143,"props":5138,"children":5139},{"class":4145,"line":134},[5140],{"type":1872,"tag":4143,"props":5141,"children":5142},{"emptyLinePlaceholder":232},[5143],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5145,"children":5146},{"class":4145,"line":138},[5147,5151,5156],{"type":1872,"tag":4143,"props":5148,"children":5149},{"style":4185},[5150],{"type":1877,"value":4768},{"type":1872,"tag":4143,"props":5152,"children":5153},{"style":4179},[5154],{"type":1877,"value":5155}," VkDescriptorSetLayoutCreateInfo myDescriptorSetLayoutCreateInfo[] ",{"type":1872,"tag":4143,"props":5157,"children":5158},{"style":4185},[5159],{"type":1877,"value":4778},{"type":1872,"tag":4143,"props":5161,"children":5162},{"class":4145,"line":142},[5163],{"type":1872,"tag":4143,"props":5164,"children":5165},{"style":4179},[5166],{"type":1877,"value":4403},{"type":1872,"tag":4143,"props":5168,"children":5169},{"class":4145,"line":146},[5170],{"type":1872,"tag":4143,"props":5171,"children":5172},{"style":4149},[5173],{"type":1877,"value":5174}," // Information for first descriptor set with two descriptor bindings\n",{"type":1872,"tag":4143,"props":5176,"children":5177},{"class":4145,"line":150},[5178],{"type":1872,"tag":4143,"props":5179,"children":5180},{"style":4179},[5181],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":5183,"children":5184},{"class":4145,"line":154},[5185,5190,5194],{"type":1872,"tag":4143,"props":5186,"children":5187},{"style":4179},[5188],{"type":1877,"value":5189}," .sType ",{"type":1872,"tag":4143,"props":5191,"children":5192},{"style":4185},[5193],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5195,"children":5196},{"style":4179},[5197],{"type":1877,"value":5198}," VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_CREATE_INFO,\n",{"type":1872,"tag":4143,"props":5200,"children":5201},{"class":4145,"line":158},[5202,5207,5211,5216],{"type":1872,"tag":4143,"props":5203,"children":5204},{"style":4179},[5205],{"type":1877,"value":5206}," .pNext ",{"type":1872,"tag":4143,"props":5208,"children":5209},{"style":4185},[5210],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5212,"children":5213},{"style":4191},[5214],{"type":1877,"value":5215}," NULL",{"type":1872,"tag":4143,"props":5217,"children":5218},{"style":4179},[5219],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5221,"children":5222},{"class":4145,"line":162},[5223,5228,5232,5236],{"type":1872,"tag":4143,"props":5224,"children":5225},{"style":4179},[5226],{"type":1877,"value":5227}," .flags ",{"type":1872,"tag":4143,"props":5229,"children":5230},{"style":4185},[5231],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5233,"children":5234},{"style":4191},[5235],{"type":1877,"value":4818},{"type":1872,"tag":4143,"props":5237,"children":5238},{"style":4179},[5239],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5241,"children":5242},{"class":4145,"line":166},[5243,5248,5252,5257],{"type":1872,"tag":4143,"props":5244,"children":5245},{"style":4179},[5246],{"type":1877,"value":5247}," .bindingCount ",{"type":1872,"tag":4143,"props":5249,"children":5250},{"style":4185},[5251],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5253,"children":5254},{"style":4191},[5255],{"type":1877,"value":5256}," 2",{"type":1872,"tag":4143,"props":5258,"children":5259},{"style":4179},[5260],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5262,"children":5263},{"class":4145,"line":170},[5264,5269,5273,5278,5283,5287],{"type":1872,"tag":4143,"props":5265,"children":5266},{"style":4179},[5267],{"type":1877,"value":5268}," .pBindings ",{"type":1872,"tag":4143,"props":5270,"children":5271},{"style":4185},[5272],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5274,"children":5275},{"style":4185},[5276],{"type":1877,"value":5277}," &",{"type":1872,"tag":4143,"props":5279,"children":5280},{"style":4179},[5281],{"type":1877,"value":5282},"myDescriptorSetLayoutBinding[",{"type":1872,"tag":4143,"props":5284,"children":5285},{"style":4191},[5286],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":5288,"children":5289},{"style":4179},[5290],{"type":1877,"value":5291},"]\n",{"type":1872,"tag":4143,"props":5293,"children":5294},{"class":4145,"line":174},[5295],{"type":1872,"tag":4143,"props":5296,"children":5297},{"style":4179},[5298],{"type":1877,"value":4902},{"type":1872,"tag":4143,"props":5300,"children":5301},{"class":4145,"line":178},[5302],{"type":1872,"tag":4143,"props":5303,"children":5304},{"emptyLinePlaceholder":232},[5305],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5307,"children":5308},{"class":4145,"line":182},[5309],{"type":1872,"tag":4143,"props":5310,"children":5311},{"style":4149},[5312],{"type":1877,"value":5313}," // Information for second descriptor set with one descriptor binding\n",{"type":1872,"tag":4143,"props":5315,"children":5316},{"class":4145,"line":186},[5317],{"type":1872,"tag":4143,"props":5318,"children":5319},{"style":4179},[5320],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":5322,"children":5323},{"class":4145,"line":190},[5324,5328,5332],{"type":1872,"tag":4143,"props":5325,"children":5326},{"style":4179},[5327],{"type":1877,"value":5189},{"type":1872,"tag":4143,"props":5329,"children":5330},{"style":4185},[5331],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5333,"children":5334},{"style":4179},[5335],{"type":1877,"value":5198},{"type":1872,"tag":4143,"props":5337,"children":5338},{"class":4145,"line":194},[5339,5343,5347,5351],{"type":1872,"tag":4143,"props":5340,"children":5341},{"style":4179},[5342],{"type":1877,"value":5206},{"type":1872,"tag":4143,"props":5344,"children":5345},{"style":4185},[5346],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5348,"children":5349},{"style":4191},[5350],{"type":1877,"value":5215},{"type":1872,"tag":4143,"props":5352,"children":5353},{"style":4179},[5354],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5356,"children":5357},{"class":4145,"line":198},[5358,5362,5366,5370],{"type":1872,"tag":4143,"props":5359,"children":5360},{"style":4179},[5361],{"type":1877,"value":5227},{"type":1872,"tag":4143,"props":5363,"children":5364},{"style":4185},[5365],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5367,"children":5368},{"style":4191},[5369],{"type":1877,"value":4818},{"type":1872,"tag":4143,"props":5371,"children":5372},{"style":4179},[5373],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5375,"children":5376},{"class":4145,"line":202},[5377,5381,5385,5389],{"type":1872,"tag":4143,"props":5378,"children":5379},{"style":4179},[5380],{"type":1877,"value":5247},{"type":1872,"tag":4143,"props":5382,"children":5383},{"style":4185},[5384],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5386,"children":5387},{"style":4191},[5388],{"type":1877,"value":4856},{"type":1872,"tag":4143,"props":5390,"children":5391},{"style":4179},[5392],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5394,"children":5395},{"class":4145,"line":206},[5396,5400,5404,5408,5412,5417],{"type":1872,"tag":4143,"props":5397,"children":5398},{"style":4179},[5399],{"type":1877,"value":5268},{"type":1872,"tag":4143,"props":5401,"children":5402},{"style":4185},[5403],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5405,"children":5406},{"style":4185},[5407],{"type":1877,"value":5277},{"type":1872,"tag":4143,"props":5409,"children":5410},{"style":4179},[5411],{"type":1877,"value":5282},{"type":1872,"tag":4143,"props":5413,"children":5414},{"style":4191},[5415],{"type":1877,"value":5416},"2",{"type":1872,"tag":4143,"props":5418,"children":5419},{"style":4179},[5420],{"type":1877,"value":5291},{"type":1872,"tag":4143,"props":5422,"children":5423},{"class":4145,"line":210},[5424],{"type":1872,"tag":4143,"props":5425,"children":5426},{"style":4179},[5427],{"type":1877,"value":5129},{"type":1872,"tag":4143,"props":5429,"children":5430},{"class":4145,"line":214},[5431],{"type":1872,"tag":4143,"props":5432,"children":5433},{"style":4179},[5434],{"type":1877,"value":4437},{"type":1872,"tag":4143,"props":5436,"children":5437},{"class":4145,"line":218},[5438],{"type":1872,"tag":4143,"props":5439,"children":5440},{"emptyLinePlaceholder":232},[5441],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5443,"children":5444},{"class":4145,"line":222},[5445,5450,5454],{"type":1872,"tag":4143,"props":5446,"children":5447},{"style":4179},[5448],{"type":1877,"value":5449},"VkDescriptorSetLayout myDescriptorSetLayout[",{"type":1872,"tag":4143,"props":5451,"children":5452},{"style":4191},[5453],{"type":1877,"value":5416},{"type":1872,"tag":4143,"props":5455,"children":5456},{"style":4179},[5457],{"type":1877,"value":4322},{"type":1872,"tag":4143,"props":5459,"children":5460},{"class":4145,"line":226},[5461],{"type":1872,"tag":4143,"props":5462,"children":5463},{"emptyLinePlaceholder":232},[5464],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5466,"children":5467},{"class":4145,"line":1622},[5468],{"type":1872,"tag":4143,"props":5469,"children":5470},{"style":4149},[5471],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":5473,"children":5474},{"class":4145,"line":1618},[5475],{"type":1872,"tag":4143,"props":5476,"children":5477},{"style":4149},[5478],{"type":1877,"value":5479},"// Create first descriptor set layout\n",{"type":1872,"tag":4143,"props":5481,"children":5482},{"class":4145,"line":1629},[5483],{"type":1872,"tag":4143,"props":5484,"children":5485},{"style":4149},[5486],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":5488,"children":5489},{"class":4145,"line":1753},[5490,5495,5499,5504],{"type":1872,"tag":4143,"props":5491,"children":5492},{"style":4179},[5493],{"type":1877,"value":5494},"myResult ",{"type":1872,"tag":4143,"props":5496,"children":5497},{"style":4185},[5498],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5500,"children":5501},{"style":4173},[5502],{"type":1877,"value":5503}," vkCreateDescriptorSetLayout",{"type":1872,"tag":4143,"props":5505,"children":5506},{"style":4179},[5507],{"type":1877,"value":5508},"(\n",{"type":1872,"tag":4143,"props":5510,"children":5511},{"class":4145,"line":1184},[5512],{"type":1872,"tag":4143,"props":5513,"children":5514},{"style":4179},[5515],{"type":1877,"value":5516}," myDevice,\n",{"type":1872,"tag":4143,"props":5518,"children":5519},{"class":4145,"line":1107},[5520,5525,5530,5534],{"type":1872,"tag":4143,"props":5521,"children":5522},{"style":4185},[5523],{"type":1877,"value":5524}," &",{"type":1872,"tag":4143,"props":5526,"children":5527},{"style":4179},[5528],{"type":1877,"value":5529},"myDescriptorSetLayoutCreateInfo[",{"type":1872,"tag":4143,"props":5531,"children":5532},{"style":4191},[5533],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":5535,"children":5536},{"style":4179},[5537],{"type":1877,"value":5538},"],\n",{"type":1872,"tag":4143,"props":5540,"children":5541},{"class":4145,"line":939},[5542,5547],{"type":1872,"tag":4143,"props":5543,"children":5544},{"style":4191},[5545],{"type":1877,"value":5546}," NULL",{"type":1872,"tag":4143,"props":5548,"children":5549},{"style":4179},[5550],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5552,"children":5553},{"class":4145,"line":1517},[5554,5558,5563,5567],{"type":1872,"tag":4143,"props":5555,"children":5556},{"style":4185},[5557],{"type":1877,"value":5524},{"type":1872,"tag":4143,"props":5559,"children":5560},{"style":4179},[5561],{"type":1877,"value":5562},"myDescriptorSetLayout[",{"type":1872,"tag":4143,"props":5564,"children":5565},{"style":4191},[5566],{"type":1877,"value":4194},{"type":1872,"tag":4143,"props":5568,"children":5569},{"style":4179},[5570],{"type":1877,"value":5571},"]);\n",{"type":1872,"tag":4143,"props":5573,"children":5574},{"class":4145,"line":1332},[5575],{"type":1872,"tag":4143,"props":5576,"children":5577},{"emptyLinePlaceholder":232},[5578],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":5580,"children":5581},{"class":4145,"line":877},[5582],{"type":1872,"tag":4143,"props":5583,"children":5584},{"style":4149},[5585],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":5587,"children":5588},{"class":4145,"line":883},[5589],{"type":1872,"tag":4143,"props":5590,"children":5591},{"style":4149},[5592],{"type":1877,"value":5593},"// Create second descriptor set layout\n",{"type":1872,"tag":4143,"props":5595,"children":5596},{"class":4145,"line":922},[5597],{"type":1872,"tag":4143,"props":5598,"children":5599},{"style":4149},[5600],{"type":1877,"value":4152},{"type":1872,"tag":4143,"props":5602,"children":5603},{"class":4145,"line":427},[5604,5608,5612,5616],{"type":1872,"tag":4143,"props":5605,"children":5606},{"style":4179},[5607],{"type":1877,"value":5494},{"type":1872,"tag":4143,"props":5609,"children":5610},{"style":4185},[5611],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":5613,"children":5614},{"style":4173},[5615],{"type":1877,"value":5503},{"type":1872,"tag":4143,"props":5617,"children":5618},{"style":4179},[5619],{"type":1877,"value":5508},{"type":1872,"tag":4143,"props":5621,"children":5622},{"class":4145,"line":779},[5623],{"type":1872,"tag":4143,"props":5624,"children":5625},{"style":4179},[5626],{"type":1877,"value":5516},{"type":1872,"tag":4143,"props":5628,"children":5629},{"class":4145,"line":1211},[5630,5634,5638,5642],{"type":1872,"tag":4143,"props":5631,"children":5632},{"style":4185},[5633],{"type":1877,"value":5524},{"type":1872,"tag":4143,"props":5635,"children":5636},{"style":4179},[5637],{"type":1877,"value":5529},{"type":1872,"tag":4143,"props":5639,"children":5640},{"style":4191},[5641],{"type":1877,"value":4289},{"type":1872,"tag":4143,"props":5643,"children":5644},{"style":4179},[5645],{"type":1877,"value":5538},{"type":1872,"tag":4143,"props":5647,"children":5648},{"class":4145,"line":1111},[5649,5653],{"type":1872,"tag":4143,"props":5650,"children":5651},{"style":4191},[5652],{"type":1877,"value":5546},{"type":1872,"tag":4143,"props":5654,"children":5655},{"style":4179},[5656],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":5658,"children":5659},{"class":4145,"line":1147},[5660,5664,5668,5672],{"type":1872,"tag":4143,"props":5661,"children":5662},{"style":4185},[5663],{"type":1877,"value":5524},{"type":1872,"tag":4143,"props":5665,"children":5666},{"style":4179},[5667],{"type":1877,"value":5562},{"type":1872,"tag":4143,"props":5669,"children":5670},{"style":4191},[5671],{"type":1877,"value":4289},{"type":1872,"tag":4143,"props":5673,"children":5674},{"style":4179},[5675],{"type":1877,"value":5571},{"type":1872,"tag":2014,"props":5677,"children":5679},{"name":5678,"type":4008},"vkDestroyDescriptorSetLayout",[5680],{"type":1872,"tag":1879,"props":5681,"children":5682},{},[5683],{"type":1877,"value":5684},"Destroy a descriptor set layout object",{"type":1872,"tag":2025,"props":5686,"children":5688},{"id":5687},"descriptors-pipelinelayout",[5689],{"type":1877,"value":5690},"Pipeline Layouts",{"type":1872,"tag":2014,"props":5692,"children":5694},{"name":5693,"type":3998},"VkPipelineLayout",[5695],{"type":1872,"tag":1879,"props":5696,"children":5697},{},[5698],{"type":1877,"value":5699},"Opaque handle to a pipeline layout object",{"type":1872,"tag":2014,"props":5701,"children":5703},{"name":5702,"type":4008},"vkCreatePipelineLayout",[5704],{"type":1872,"tag":1879,"props":5705,"children":5706},{},[5707],{"type":1877,"value":5708},"Creates a new pipeline layout object",{"type":1872,"tag":2014,"props":5710,"children":5712},{"name":5711,"type":4017},"VkPipelineLayoutCreateInfo",[5713],{"type":1872,"tag":1879,"props":5714,"children":5715},{},[5716],{"type":1877,"value":5717},"Structure specifying the parameters of a newly created pipeline layout object",{"type":1872,"tag":2014,"props":5719,"children":5721},{"name":5720,"type":2017},"VkPipelineLayoutCreateFlagBits",[5722],{"type":1872,"tag":1879,"props":5723,"children":5724},{},[5725],{"type":1877,"value":5726},"Pipeline layout creation flag bits",{"type":1872,"tag":2014,"props":5728,"children":5730},{"name":5729,"type":4052},"VkPipelineLayoutCreateFlags",[5731],{"type":1872,"tag":1879,"props":5732,"children":5733},{},[5734],{"type":1877,"value":5735},"Bitmask of pipeline layout creation flag bits",{"type":1872,"tag":2014,"props":5737,"children":5739},{"name":5738,"type":4017},"VkPushConstantRange",[5740],{"type":1872,"tag":1879,"props":5741,"children":5742},{},[5743],{"type":1877,"value":5744},"Structure specifying a push constant range",{"type":1872,"tag":1879,"props":5746,"children":5747},{},[5748,5750,5755,5757,5763,5765,5771,5773,5776],{"type":1877,"value":5749},"Once created, pipeline layouts are used as part of pipeline creation (see\n",{"type":1872,"tag":1893,"props":5751,"children":5753},{"href":5752},"/chapters/pipelines#pipelines",[5754],{"type":1877,"value":43},{"type":1877,"value":5756},"), as part of binding descriptor sets (see\n",{"type":1872,"tag":1893,"props":5758,"children":5760},{"href":5759},"/chapters/descriptors#descriptors-binding",[5761],{"type":1877,"value":5762},"Descriptor Set Binding",{"type":1877,"value":5764},"), and as part of setting\npush constants (see ",{"type":1872,"tag":1893,"props":5766,"children":5768},{"href":5767},"/chapters/descriptors#descriptors-push-constants",[5769],{"type":1877,"value":5770},"Push Constant Updates",{"type":1877,"value":5772},").\nPipeline creation accepts a pipeline layout as input, and the layout ",{"type":1872,"tag":2067,"props":5774,"children":5775},{"type":2791},[],{"type":1877,"value":5777}," be\nused to map (set, binding, arrayElement) tuples to implementation resources\nor memory locations within a descriptor set.\nThe assignment of implementation resources depends only on the bindings\ndefined in the descriptor sets that comprise the pipeline layout, and not on\nany shader source.",{"type":1872,"tag":5779,"props":5780,"children":5782},"anchor",{"id":5781},"descriptors-pipelinelayout-consistency",[],{"type":1872,"tag":1879,"props":5784,"children":5785},{},[5786,5788,5794,5796,5799,5801,5807,5809,5812,5814,5817],{"type":1877,"value":5787},"All resource variables ",{"type":1872,"tag":1893,"props":5789,"children":5791},{"href":5790},"/chapters/shaders#shaders-staticuse",[5792],{"type":1877,"value":5793},"statically used",{"type":1877,"value":5795}," in all shaders\nin a pipeline ",{"type":1872,"tag":2067,"props":5797,"children":5798},{"type":2172},[],{"type":1877,"value":5800}," be declared with a (set, binding, arrayElement) that\nexists in the corresponding descriptor set layout and is of an appropriate\ndescriptor type and includes the set of shader stages it is used by in\n",{"type":1872,"tag":1923,"props":5802,"children":5804},{"className":5803},[],[5805],{"type":1877,"value":5806},"stageFlags",{"type":1877,"value":5808},".\nThe pipeline layout ",{"type":1872,"tag":2067,"props":5810,"children":5811},{"type":2069},[],{"type":1877,"value":5813}," include entries that are not used by a particular\npipeline.\nThe pipeline layout allows the application to provide a consistent set of\nbindings across multiple pipeline compiles, which enables those pipelines to\nbe compiled in a way that the implementation ",{"type":1872,"tag":2067,"props":5815,"children":5816},{"type":2791},[],{"type":1877,"value":5818}," cheaply switch pipelines\nwithout reprogramming the bindings.",{"type":1872,"tag":1879,"props":5820,"children":5821},{},[5822,5824,5827,5829,5834,5836,5839],{"type":1877,"value":5823},"Similarly, the push constant block declared in each shader (if present)\n",{"type":1872,"tag":2067,"props":5825,"children":5826},{"type":2172},[],{"type":1877,"value":5828}," only place variables at offsets that are each included in a push\nconstant range with ",{"type":1872,"tag":1923,"props":5830,"children":5832},{"className":5831},[],[5833],{"type":1877,"value":5806},{"type":1877,"value":5835}," including the bit corresponding to the\nshader stage that uses it.\nThe pipeline layout ",{"type":1872,"tag":2067,"props":5837,"children":5838},{"type":2069},[],{"type":1877,"value":5840}," include ranges or portions of ranges that are not\nused by a particular pipeline.",{"type":1872,"tag":1879,"props":5842,"children":5843},{},[5844,5846,5849,5851,5857,5859,5865,5867,5870,5872,5875,5877,5883],{"type":1877,"value":5845},"There is a limit on the total number of resources of each type that ",{"type":1872,"tag":2067,"props":5847,"children":5848},{"type":2069},[],{"type":1877,"value":5850}," be\nincluded in bindings in all descriptor set layouts in a pipeline layout as\nshown in ",{"type":1872,"tag":1893,"props":5852,"children":5854},{"href":5853},"/chapters/descriptors#descriptors-pipelinelayout-limits",[5855],{"type":1877,"value":5856},"Pipeline Layout Resource\nLimits",{"type":1877,"value":5858},".\nThe ",{"type":1872,"tag":1923,"props":5860,"children":5862},{"className":5861},[],[5863],{"type":1877,"value":5864},"Total Resources Available",{"type":1877,"value":5866}," column gives the limit on the number of\neach type of resource that ",{"type":1872,"tag":2067,"props":5868,"children":5869},{"type":2069},[],{"type":1877,"value":5871}," be included in bindings in all descriptor\nsets in the pipeline layout.\nSome resource types count against multiple limits.\nAdditionally, there are limits on the total number of each type of resource\nthat ",{"type":1872,"tag":2067,"props":5873,"children":5874},{"type":2069},[],{"type":1877,"value":5876}," be used in any pipeline stage as described in\n",{"type":1872,"tag":1893,"props":5878,"children":5880},{"href":5879},"/chapters/interfaces#interfaces-resources-limits",[5881],{"type":1877,"value":5882},"Shader Resource Limits",{"type":1877,"value":1916},{"type":1872,"tag":5885,"props":5886,"children":5893},"table",{"id":5887,"className":5888,"style":5892},"descriptors-pipelinelayout-limits",[5889,5890,5891],"tableblock","frame-all","grid-all","width: 80%;",[5894,5902,5915,5937],{"type":1872,"tag":5895,"props":5896,"children":5899},"caption",{"className":5897},[5898],"title",[5900],{"type":1877,"value":5901},"Table 19. Pipeline Layout Resource Limits",{"type":1872,"tag":5903,"props":5904,"children":5905},"colgroup",{},[5906,5911],{"type":1872,"tag":5907,"props":5908,"children":5910},"col",{"style":5909},"width: 62.7118%;",[],{"type":1872,"tag":5907,"props":5912,"children":5914},{"style":5913},"width: 37.2882%;",[],{"type":1872,"tag":5916,"props":5917,"children":5918},"thead",{},[5919],{"type":1872,"tag":5920,"props":5921,"children":5922},"tr",{},[5923,5931],{"type":1872,"tag":5924,"props":5925,"children":5929},"th",{"className":5926},[5889,5927,5928],"halign-left","valign-top",[5930],{"type":1877,"value":5864},{"type":1872,"tag":5924,"props":5932,"children":5934},{"className":5933},[5889,5927,5928],[5935],{"type":1877,"value":5936},"Resource Types",{"type":1872,"tag":5938,"props":5939,"children":5940},"tbody",{},[5941,5975,5987,6018,6030,6042,6073,6085,6116,6129,6166,6197,6210,6247,6278,6309,6340],{"type":1872,"tag":5920,"props":5942,"children":5943},{},[5944,5966],{"type":1872,"tag":5945,"props":5946,"children":5949},"td",{"className":5947,"rowSpan":14},[5889,5927,5948],"valign-middle",[5950],{"type":1872,"tag":1879,"props":5951,"children":5953},{"className":5952},[5889],[5954,5960,5961],{"type":1872,"tag":5955,"props":5956,"children":5957},"literal",{},[5958],{"type":1877,"value":5959},"maxDescriptorSetSamplers",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":5962,"children":5963},{},[5964],{"type":1877,"value":5965},"maxDescriptorSetUpdateAfterBindSamplers",{"type":1872,"tag":5945,"props":5967,"children":5969},{"className":5968},[5889,5927,5928],[5970],{"type":1872,"tag":1879,"props":5971,"children":5973},{"className":5972},[5889],[5974],{"type":1877,"value":2390},{"type":1872,"tag":5920,"props":5976,"children":5977},{},[5978],{"type":1872,"tag":5945,"props":5979,"children":5981},{"className":5980},[5889,5927,5928],[5982],{"type":1872,"tag":1879,"props":5983,"children":5985},{"className":5984},[5889],[5986],{"type":1877,"value":2599},{"type":1872,"tag":5920,"props":5988,"children":5989},{},[5990,6009],{"type":1872,"tag":5945,"props":5991,"children":5993},{"className":5992,"rowSpan":18},[5889,5927,5948],[5994],{"type":1872,"tag":1879,"props":5995,"children":5997},{"className":5996},[5889],[5998,6003,6004],{"type":1872,"tag":5955,"props":5999,"children":6000},{},[6001],{"type":1877,"value":6002},"maxDescriptorSetSampledImages",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6005,"children":6006},{},[6007],{"type":1877,"value":6008},"maxDescriptorSetUpdateAfterBindSampledImages",{"type":1872,"tag":5945,"props":6010,"children":6012},{"className":6011},[5889,5927,5928],[6013],{"type":1872,"tag":1879,"props":6014,"children":6016},{"className":6015},[5889],[6017],{"type":1877,"value":2406},{"type":1872,"tag":5920,"props":6019,"children":6020},{},[6021],{"type":1872,"tag":5945,"props":6022,"children":6024},{"className":6023},[5889,5927,5928],[6025],{"type":1872,"tag":1879,"props":6026,"children":6028},{"className":6027},[5889],[6029],{"type":1877,"value":2599},{"type":1872,"tag":5920,"props":6031,"children":6032},{},[6033],{"type":1872,"tag":5945,"props":6034,"children":6036},{"className":6035},[5889,5927,5928],[6037],{"type":1872,"tag":1879,"props":6038,"children":6040},{"className":6039},[5889],[6041],{"type":1877,"value":2809},{"type":1872,"tag":5920,"props":6043,"children":6044},{},[6045,6064],{"type":1872,"tag":5945,"props":6046,"children":6048},{"className":6047,"rowSpan":14},[5889,5927,5948],[6049],{"type":1872,"tag":1879,"props":6050,"children":6052},{"className":6051},[5889],[6053,6058,6059],{"type":1872,"tag":5955,"props":6054,"children":6055},{},[6056],{"type":1877,"value":6057},"maxDescriptorSetStorageImages",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6060,"children":6061},{},[6062],{"type":1877,"value":6063},"maxDescriptorSetUpdateAfterBindStorageImages",{"type":1872,"tag":5945,"props":6065,"children":6067},{"className":6066},[5889,5927,5928],[6068],{"type":1872,"tag":1879,"props":6069,"children":6071},{"className":6070},[5889],[6072],{"type":1877,"value":2039},{"type":1872,"tag":5920,"props":6074,"children":6075},{},[6076],{"type":1872,"tag":5945,"props":6077,"children":6079},{"className":6078},[5889,5927,5928],[6080],{"type":1872,"tag":1879,"props":6081,"children":6083},{"className":6082},[5889],[6084],{"type":1877,"value":2882},{"type":1872,"tag":5920,"props":6086,"children":6087},{},[6088,6107],{"type":1872,"tag":5945,"props":6089,"children":6091},{"className":6090,"rowSpan":14},[5889,5927,5948],[6092],{"type":1872,"tag":1879,"props":6093,"children":6095},{"className":6094},[5889],[6096,6101,6102],{"type":1872,"tag":5955,"props":6097,"children":6098},{},[6099],{"type":1877,"value":6100},"maxDescriptorSetUniformBuffers",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6103,"children":6104},{},[6105],{"type":1877,"value":6106},"maxDescriptorSetUpdateAfterBindUniformBuffers",{"type":1872,"tag":5945,"props":6108,"children":6110},{"className":6109},[5889,5927,5928],[6111],{"type":1872,"tag":1879,"props":6112,"children":6114},{"className":6113},[5889],[6115],{"type":1877,"value":3069},{"type":1872,"tag":5920,"props":6117,"children":6118},{},[6119],{"type":1872,"tag":5945,"props":6120,"children":6122},{"className":6121},[5889,5927,5928],[6123],{"type":1872,"tag":1879,"props":6124,"children":6126},{"className":6125},[5889],[6127],{"type":1877,"value":6128},"uniform buffer dynamic",{"type":1872,"tag":5920,"props":6130,"children":6131},{},[6132,6157],{"type":1872,"tag":5945,"props":6133,"children":6135},{"className":6134},[5889,5927,5928],[6136],{"type":1872,"tag":1879,"props":6137,"children":6139},{"className":6138},[5889],[6140,6145,6146,6151,6152],{"type":1872,"tag":5955,"props":6141,"children":6142},{},[6143],{"type":1877,"value":6144},"maxDescriptorSetUniformBuffersDynamic",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6147,"children":6148},{},[6149],{"type":1877,"value":6150},"maxDescriptorSetUpdateAfterBindUniformBuffersDynamic",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6153,"children":6154},{},[6155],{"type":1877,"value":6156},"maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic",{"type":1872,"tag":5945,"props":6158,"children":6160},{"className":6159},[5889,5927,5928],[6161],{"type":1872,"tag":1879,"props":6162,"children":6164},{"className":6163},[5889],[6165],{"type":1877,"value":6128},{"type":1872,"tag":5920,"props":6167,"children":6168},{},[6169,6188],{"type":1872,"tag":5945,"props":6170,"children":6172},{"className":6171,"rowSpan":14},[5889,5927,5948],[6173],{"type":1872,"tag":1879,"props":6174,"children":6176},{"className":6175},[5889],[6177,6182,6183],{"type":1872,"tag":5955,"props":6178,"children":6179},{},[6180],{"type":1877,"value":6181},"maxDescriptorSetStorageBuffers",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6184,"children":6185},{},[6186],{"type":1877,"value":6187},"maxDescriptorSetUpdateAfterBindStorageBuffers",{"type":1872,"tag":5945,"props":6189,"children":6191},{"className":6190},[5889,5927,5928],[6192],{"type":1872,"tag":1879,"props":6193,"children":6195},{"className":6194},[5889],[6196],{"type":1877,"value":3016},{"type":1872,"tag":5920,"props":6198,"children":6199},{},[6200],{"type":1872,"tag":5945,"props":6201,"children":6203},{"className":6202},[5889,5927,5928],[6204],{"type":1872,"tag":1879,"props":6205,"children":6207},{"className":6206},[5889],[6208],{"type":1877,"value":6209},"storage buffer dynamic",{"type":1872,"tag":5920,"props":6211,"children":6212},{},[6213,6238],{"type":1872,"tag":5945,"props":6214,"children":6216},{"className":6215},[5889,5927,5928],[6217],{"type":1872,"tag":1879,"props":6218,"children":6220},{"className":6219},[5889],[6221,6226,6227,6232,6233],{"type":1872,"tag":5955,"props":6222,"children":6223},{},[6224],{"type":1877,"value":6225},"maxDescriptorSetStorageBuffersDynamic",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6228,"children":6229},{},[6230],{"type":1877,"value":6231},"maxDescriptorSetUpdateAfterBindStorageBuffersDynamic",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6234,"children":6235},{},[6236],{"type":1877,"value":6237},"maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic",{"type":1872,"tag":5945,"props":6239,"children":6241},{"className":6240},[5889,5927,5928],[6242],{"type":1872,"tag":1879,"props":6243,"children":6245},{"className":6244},[5889],[6246],{"type":1877,"value":6209},{"type":1872,"tag":5920,"props":6248,"children":6249},{},[6250,6269],{"type":1872,"tag":5945,"props":6251,"children":6253},{"className":6252},[5889,5927,5928],[6254],{"type":1872,"tag":1879,"props":6255,"children":6257},{"className":6256},[5889],[6258,6263,6264],{"type":1872,"tag":5955,"props":6259,"children":6260},{},[6261],{"type":1877,"value":6262},"maxDescriptorSetInputAttachments",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6265,"children":6266},{},[6267],{"type":1877,"value":6268},"maxDescriptorSetUpdateAfterBindInputAttachments",{"type":1872,"tag":5945,"props":6270,"children":6272},{"className":6271},[5889,5927,5928],[6273],{"type":1872,"tag":1879,"props":6274,"children":6276},{"className":6275},[5889],[6277],{"type":1877,"value":3499},{"type":1872,"tag":5920,"props":6279,"children":6280},{},[6281,6300],{"type":1872,"tag":5945,"props":6282,"children":6284},{"className":6283},[5889,5927,5928],[6285],{"type":1872,"tag":1879,"props":6286,"children":6288},{"className":6287},[5889],[6289,6294,6295],{"type":1872,"tag":5955,"props":6290,"children":6291},{},[6292],{"type":1877,"value":6293},"maxDescriptorSetInlineUniformBlocks",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6296,"children":6297},{},[6298],{"type":1877,"value":6299},"maxDescriptorSetUpdateAfterBindInlineUniformBlocks",{"type":1872,"tag":5945,"props":6301,"children":6303},{"className":6302},[5889,5927,5928],[6304],{"type":1872,"tag":1879,"props":6305,"children":6307},{"className":6306},[5889],[6308],{"type":1877,"value":3202},{"type":1872,"tag":5920,"props":6310,"children":6311},{},[6312,6331],{"type":1872,"tag":5945,"props":6313,"children":6315},{"className":6314},[5889,5927,5928],[6316],{"type":1872,"tag":1879,"props":6317,"children":6319},{"className":6318},[5889],[6320,6325,6326],{"type":1872,"tag":5955,"props":6321,"children":6322},{},[6323],{"type":1877,"value":6324},"maxDescriptorSetAccelerationStructures",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6327,"children":6328},{},[6329],{"type":1877,"value":6330},"maxDescriptorSetUpdateAfterBindAccelerationStructures",{"type":1872,"tag":5945,"props":6332,"children":6334},{"className":6333},[5889,5927,5928],[6335],{"type":1872,"tag":1879,"props":6336,"children":6338},{"className":6337},[5889],[6339],{"type":1877,"value":3677},{"type":1872,"tag":5920,"props":6341,"children":6342},{},[6343,6362],{"type":1872,"tag":5945,"props":6344,"children":6346},{"className":6345},[5889,5927,5928],[6347],{"type":1872,"tag":1879,"props":6348,"children":6350},{"className":6349},[5889],[6351,6356,6357],{"type":1872,"tag":5955,"props":6352,"children":6353},{},[6354],{"type":1877,"value":6355},"maxDescriptorSetStorageTensors",{"type":1877,"value":3545},{"type":1872,"tag":5955,"props":6358,"children":6359},{},[6360],{"type":1877,"value":6361},"maxDescriptorSetUpdateAfterBindStorageTensors",{"type":1872,"tag":5945,"props":6363,"children":6365},{"className":6364},[5889,5927,5928],[6366],{"type":1872,"tag":1879,"props":6367,"children":6369},{"className":6368},[5889],[6370],{"type":1877,"value":3887},{"type":1872,"tag":2014,"props":6372,"children":6374},{"name":6373,"type":4008},"vkDestroyPipelineLayout",[6375],{"type":1872,"tag":1879,"props":6376,"children":6377},{},[6378],{"type":1877,"value":6379},"Destroy a pipeline layout object",{"type":1872,"tag":6381,"props":6382,"children":6384},"h4",{"id":6383},"descriptors-compatibility",[6385],{"type":1877,"value":6386},"Pipeline Layout Compatibility",{"type":1872,"tag":1879,"props":6388,"children":6389},{},[6390,6392,6397,6399,6405,6407,6413,6415,6421],{"type":1877,"value":6391},"Two pipeline layouts are defined to be compatible for\n",{"type":1872,"tag":1893,"props":6393,"children":6394},{"href":5767},[6395],{"type":1877,"value":6396},"push constants",{"type":1877,"value":6398}," if they were created with\nidentical push constant ranges.\nTwo pipeline layouts are defined to be ",{"type":1872,"tag":1923,"props":6400,"children":6402},{"className":6401},[],[6403],{"type":1877,"value":6404},"compatible for set N",{"type":1877,"value":6406}," if they were\ncreated with ",{"type":1872,"tag":1893,"props":6408,"children":6410},{"href":6409},"/404#glossary-identically-defined",[6411],{"type":1877,"value":6412},"identically defined",{"type":1877,"value":6414}," descriptor\nset layouts for sets zero through N,\nif both of them either were or were not created with\n",{"type":1872,"tag":1923,"props":6416,"children":6418},{"className":6417},[],[6419],{"type":1877,"value":6420},"VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT",{"type":1877,"value":6422},",\nand if they were created with identical push constant ranges.",{"type":1872,"tag":1879,"props":6424,"children":6425},{},[6426,6428,6433],{"type":1877,"value":6427},"When binding a descriptor set (see ",{"type":1872,"tag":1893,"props":6429,"children":6430},{"href":5759},[6431],{"type":1877,"value":6432},"Descriptor Set\nBinding",{"type":1877,"value":6434},") to set number N, a previously bound descriptor set bound with\nlower index M than N is disturbed if the pipeline layouts for set M and N\nare not compatible for set M. Otherwise, the bound descriptor set in M is\nnot disturbed.",{"type":1872,"tag":1879,"props":6436,"children":6437},{},[6438],{"type":1877,"value":6439},"If, additionally, the previously bound descriptor set for set N was bound\nusing a pipeline layout not compatible for set N, then all bindings in sets\nnumbered greater than N are disturbed.",{"type":1872,"tag":1879,"props":6441,"children":6442},{},[6443,6445,6448],{"type":1877,"value":6444},"When binding a pipeline, the pipeline ",{"type":1872,"tag":2067,"props":6446,"children":6447},{"type":2069},[],{"type":1877,"value":6449}," correctly access any previously\nbound descriptor set N if it was bound with compatible pipeline layout for\nset N, and it was not disturbed.",{"type":1872,"tag":1879,"props":6451,"children":6452},{},[6453,6455,6458,6460,6463],{"type":1877,"value":6454},"Layout compatibility means that descriptor sets ",{"type":1872,"tag":2067,"props":6456,"children":6457},{"type":2069},[],{"type":1877,"value":6459}," be bound to a command\nbuffer for use by any pipeline created with a compatible pipeline layout,\nand without having bound a particular pipeline first.\nIt also means that descriptor sets ",{"type":1872,"tag":2067,"props":6461,"children":6462},{"type":2069},[],{"type":1877,"value":6464}," remain valid across a pipeline\nchange, and the same resources will be accessible to the newly bound\npipeline.",{"type":1872,"tag":1879,"props":6466,"children":6467},{},[6468],{"type":1877,"value":6469},"When a descriptor set is disturbed by binding descriptor sets, the disturbed\nset is considered to contain undefined descriptors bound with the same\npipeline layout as the disturbing descriptor set.",{"type":1872,"tag":1963,"props":6471,"children":6472},{},[6473],{"type":1872,"tag":1879,"props":6474,"children":6475},{},[6476],{"type":1877,"value":6477},"Place the least frequently changing descriptor sets near the start of the\npipeline layout, and place the descriptor sets representing the most\nfrequently changing resources near the end.\nWhen pipelines are switched, only the descriptor set bindings that have been\ninvalidated will need to be updated and the remainder of the descriptor set\nbindings will remain in place.",{"type":1872,"tag":1879,"props":6479,"children":6480},{},[6481,6483,6486,6488,6494,6496,6501],{"type":1877,"value":6482},"The maximum number of descriptor sets that ",{"type":1872,"tag":2067,"props":6484,"children":6485},{"type":2069},[],{"type":1877,"value":6487}," be bound to a pipeline\nlayout is queried from physical device properties (see\n",{"type":1872,"tag":1923,"props":6489,"children":6491},{"className":6490},[],[6492],{"type":1877,"value":6493},"maxBoundDescriptorSets",{"type":1877,"value":6495}," in ",{"type":1872,"tag":1893,"props":6497,"children":6499},{"href":6498},"/chapters/limits#limits",[6500],{"type":1877,"value":215},{"type":1877,"value":6502},").",{"type":1872,"tag":6381,"props":6504,"children":6506},{"id":6505},"api-example-1",[6507],{"type":1877,"value":4736},{"type":1872,"tag":4132,"props":6509,"children":6511},{"className":4739,"code":6510,"language":4741,"meta":4137,"style":4137},"const VkDescriptorSetLayout layouts[] = { layout1, layout2 };\n\nconst VkPushConstantRange ranges[] =\n{\n {\n .stageFlags = VK_SHADER_STAGE_VERTEX_BIT,\n .offset = 0,\n .size = 4\n },\n {\n .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,\n .offset = 4,\n .size = 4\n },\n};\n\nconst VkPipelineLayoutCreateInfo createInfo =\n{\n .sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,\n .pNext = NULL,\n .flags = 0,\n .setLayoutCount = 2,\n .pSetLayouts = layouts,\n .pushConstantRangeCount = 2,\n .pPushConstantRanges = ranges\n};\n\nVkPipelineLayout myPipelineLayout;\nmyResult = vkCreatePipelineLayout(\n myDevice,\n &createInfo,\n NULL,\n &myPipelineLayout);\n",[6512],{"type":1872,"tag":1923,"props":6513,"children":6514},{"__ignoreMap":4137},[6515,6536,6543,6559,6566,6573,6589,6609,6626,6633,6640,6655,6675,6690,6697,6704,6711,6727,6734,6751,6771,6791,6811,6828,6848,6865,6872,6879,6887,6907,6914,6926,6937],{"type":1872,"tag":4143,"props":6516,"children":6517},{"class":4145,"line":10},[6518,6522,6527,6531],{"type":1872,"tag":4143,"props":6519,"children":6520},{"style":4185},[6521],{"type":1877,"value":4768},{"type":1872,"tag":4143,"props":6523,"children":6524},{"style":4179},[6525],{"type":1877,"value":6526}," VkDescriptorSetLayout layouts[] ",{"type":1872,"tag":4143,"props":6528,"children":6529},{"style":4185},[6530],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6532,"children":6533},{"style":4179},[6534],{"type":1877,"value":6535}," { layout1, layout2 };\n",{"type":1872,"tag":4143,"props":6537,"children":6538},{"class":4145,"line":14},[6539],{"type":1872,"tag":4143,"props":6540,"children":6541},{"emptyLinePlaceholder":232},[6542],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":6544,"children":6545},{"class":4145,"line":18},[6546,6550,6555],{"type":1872,"tag":4143,"props":6547,"children":6548},{"style":4185},[6549],{"type":1877,"value":4768},{"type":1872,"tag":4143,"props":6551,"children":6552},{"style":4179},[6553],{"type":1877,"value":6554}," VkPushConstantRange ranges[] ",{"type":1872,"tag":4143,"props":6556,"children":6557},{"style":4185},[6558],{"type":1877,"value":4778},{"type":1872,"tag":4143,"props":6560,"children":6561},{"class":4145,"line":22},[6562],{"type":1872,"tag":4143,"props":6563,"children":6564},{"style":4179},[6565],{"type":1877,"value":4403},{"type":1872,"tag":4143,"props":6567,"children":6568},{"class":4145,"line":26},[6569],{"type":1872,"tag":4143,"props":6570,"children":6571},{"style":4179},[6572],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":6574,"children":6575},{"class":4145,"line":30},[6576,6580,6584],{"type":1872,"tag":4143,"props":6577,"children":6578},{"style":4179},[6579],{"type":1877,"value":4868},{"type":1872,"tag":4143,"props":6581,"children":6582},{"style":4185},[6583],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6585,"children":6586},{"style":4179},[6587],{"type":1877,"value":6588}," VK_SHADER_STAGE_VERTEX_BIT,\n",{"type":1872,"tag":4143,"props":6590,"children":6591},{"class":4145,"line":34},[6592,6597,6601,6605],{"type":1872,"tag":4143,"props":6593,"children":6594},{"style":4179},[6595],{"type":1877,"value":6596}," .offset ",{"type":1872,"tag":4143,"props":6598,"children":6599},{"style":4185},[6600],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6602,"children":6603},{"style":4191},[6604],{"type":1877,"value":4818},{"type":1872,"tag":4143,"props":6606,"children":6607},{"style":4179},[6608],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6610,"children":6611},{"class":4145,"line":38},[6612,6617,6621],{"type":1872,"tag":4143,"props":6613,"children":6614},{"style":4179},[6615],{"type":1877,"value":6616}," .size ",{"type":1872,"tag":4143,"props":6618,"children":6619},{"style":4185},[6620],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6622,"children":6623},{"style":4191},[6624],{"type":1877,"value":6625}," 4\n",{"type":1872,"tag":4143,"props":6627,"children":6628},{"class":4145,"line":42},[6629],{"type":1872,"tag":4143,"props":6630,"children":6631},{"style":4179},[6632],{"type":1877,"value":4902},{"type":1872,"tag":4143,"props":6634,"children":6635},{"class":4145,"line":46},[6636],{"type":1872,"tag":4143,"props":6637,"children":6638},{"style":4179},[6639],{"type":1877,"value":4801},{"type":1872,"tag":4143,"props":6641,"children":6642},{"class":4145,"line":50},[6643,6647,6651],{"type":1872,"tag":4143,"props":6644,"children":6645},{"style":4179},[6646],{"type":1877,"value":4868},{"type":1872,"tag":4143,"props":6648,"children":6649},{"style":4185},[6650],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6652,"children":6653},{"style":4179},[6654],{"type":1877,"value":4877},{"type":1872,"tag":4143,"props":6656,"children":6657},{"class":4145,"line":54},[6658,6662,6666,6671],{"type":1872,"tag":4143,"props":6659,"children":6660},{"style":4179},[6661],{"type":1877,"value":6596},{"type":1872,"tag":4143,"props":6663,"children":6664},{"style":4185},[6665],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6667,"children":6668},{"style":4191},[6669],{"type":1877,"value":6670}," 4",{"type":1872,"tag":4143,"props":6672,"children":6673},{"style":4179},[6674],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6676,"children":6677},{"class":4145,"line":58},[6678,6682,6686],{"type":1872,"tag":4143,"props":6679,"children":6680},{"style":4179},[6681],{"type":1877,"value":6616},{"type":1872,"tag":4143,"props":6683,"children":6684},{"style":4185},[6685],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6687,"children":6688},{"style":4191},[6689],{"type":1877,"value":6625},{"type":1872,"tag":4143,"props":6691,"children":6692},{"class":4145,"line":62},[6693],{"type":1872,"tag":4143,"props":6694,"children":6695},{"style":4179},[6696],{"type":1877,"value":4902},{"type":1872,"tag":4143,"props":6698,"children":6699},{"class":4145,"line":66},[6700],{"type":1872,"tag":4143,"props":6701,"children":6702},{"style":4179},[6703],{"type":1877,"value":4437},{"type":1872,"tag":4143,"props":6705,"children":6706},{"class":4145,"line":70},[6707],{"type":1872,"tag":4143,"props":6708,"children":6709},{"emptyLinePlaceholder":232},[6710],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":6712,"children":6713},{"class":4145,"line":74},[6714,6718,6723],{"type":1872,"tag":4143,"props":6715,"children":6716},{"style":4185},[6717],{"type":1877,"value":4768},{"type":1872,"tag":4143,"props":6719,"children":6720},{"style":4179},[6721],{"type":1877,"value":6722}," VkPipelineLayoutCreateInfo createInfo ",{"type":1872,"tag":4143,"props":6724,"children":6725},{"style":4185},[6726],{"type":1877,"value":4778},{"type":1872,"tag":4143,"props":6728,"children":6729},{"class":4145,"line":78},[6730],{"type":1872,"tag":4143,"props":6731,"children":6732},{"style":4179},[6733],{"type":1877,"value":4403},{"type":1872,"tag":4143,"props":6735,"children":6736},{"class":4145,"line":82},[6737,6742,6746],{"type":1872,"tag":4143,"props":6738,"children":6739},{"style":4179},[6740],{"type":1877,"value":6741}," .sType ",{"type":1872,"tag":4143,"props":6743,"children":6744},{"style":4185},[6745],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6747,"children":6748},{"style":4179},[6749],{"type":1877,"value":6750}," VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO,\n",{"type":1872,"tag":4143,"props":6752,"children":6753},{"class":4145,"line":86},[6754,6759,6763,6767],{"type":1872,"tag":4143,"props":6755,"children":6756},{"style":4179},[6757],{"type":1877,"value":6758}," .pNext ",{"type":1872,"tag":4143,"props":6760,"children":6761},{"style":4185},[6762],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6764,"children":6765},{"style":4191},[6766],{"type":1877,"value":5215},{"type":1872,"tag":4143,"props":6768,"children":6769},{"style":4179},[6770],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6772,"children":6773},{"class":4145,"line":90},[6774,6779,6783,6787],{"type":1872,"tag":4143,"props":6775,"children":6776},{"style":4179},[6777],{"type":1877,"value":6778}," .flags ",{"type":1872,"tag":4143,"props":6780,"children":6781},{"style":4185},[6782],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6784,"children":6785},{"style":4191},[6786],{"type":1877,"value":4818},{"type":1872,"tag":4143,"props":6788,"children":6789},{"style":4179},[6790],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6792,"children":6793},{"class":4145,"line":94},[6794,6799,6803,6807],{"type":1872,"tag":4143,"props":6795,"children":6796},{"style":4179},[6797],{"type":1877,"value":6798}," .setLayoutCount ",{"type":1872,"tag":4143,"props":6800,"children":6801},{"style":4185},[6802],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6804,"children":6805},{"style":4191},[6806],{"type":1877,"value":5256},{"type":1872,"tag":4143,"props":6808,"children":6809},{"style":4179},[6810],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6812,"children":6813},{"class":4145,"line":98},[6814,6819,6823],{"type":1872,"tag":4143,"props":6815,"children":6816},{"style":4179},[6817],{"type":1877,"value":6818}," .pSetLayouts ",{"type":1872,"tag":4143,"props":6820,"children":6821},{"style":4185},[6822],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6824,"children":6825},{"style":4179},[6826],{"type":1877,"value":6827}," layouts,\n",{"type":1872,"tag":4143,"props":6829,"children":6830},{"class":4145,"line":102},[6831,6836,6840,6844],{"type":1872,"tag":4143,"props":6832,"children":6833},{"style":4179},[6834],{"type":1877,"value":6835}," .pushConstantRangeCount ",{"type":1872,"tag":4143,"props":6837,"children":6838},{"style":4185},[6839],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6841,"children":6842},{"style":4191},[6843],{"type":1877,"value":5256},{"type":1872,"tag":4143,"props":6845,"children":6846},{"style":4179},[6847],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6849,"children":6850},{"class":4145,"line":106},[6851,6856,6860],{"type":1872,"tag":4143,"props":6852,"children":6853},{"style":4179},[6854],{"type":1877,"value":6855}," .pPushConstantRanges ",{"type":1872,"tag":4143,"props":6857,"children":6858},{"style":4185},[6859],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6861,"children":6862},{"style":4179},[6863],{"type":1877,"value":6864}," ranges\n",{"type":1872,"tag":4143,"props":6866,"children":6867},{"class":4145,"line":110},[6868],{"type":1872,"tag":4143,"props":6869,"children":6870},{"style":4179},[6871],{"type":1877,"value":4437},{"type":1872,"tag":4143,"props":6873,"children":6874},{"class":4145,"line":114},[6875],{"type":1872,"tag":4143,"props":6876,"children":6877},{"emptyLinePlaceholder":232},[6878],{"type":1877,"value":4235},{"type":1872,"tag":4143,"props":6880,"children":6881},{"class":4145,"line":118},[6882],{"type":1872,"tag":4143,"props":6883,"children":6884},{"style":4179},[6885],{"type":1877,"value":6886},"VkPipelineLayout myPipelineLayout;\n",{"type":1872,"tag":4143,"props":6888,"children":6889},{"class":4145,"line":122},[6890,6894,6898,6903],{"type":1872,"tag":4143,"props":6891,"children":6892},{"style":4179},[6893],{"type":1877,"value":5494},{"type":1872,"tag":4143,"props":6895,"children":6896},{"style":4185},[6897],{"type":1877,"value":4188},{"type":1872,"tag":4143,"props":6899,"children":6900},{"style":4173},[6901],{"type":1877,"value":6902}," vkCreatePipelineLayout",{"type":1872,"tag":4143,"props":6904,"children":6905},{"style":4179},[6906],{"type":1877,"value":5508},{"type":1872,"tag":4143,"props":6908,"children":6909},{"class":4145,"line":126},[6910],{"type":1872,"tag":4143,"props":6911,"children":6912},{"style":4179},[6913],{"type":1877,"value":5516},{"type":1872,"tag":4143,"props":6915,"children":6916},{"class":4145,"line":130},[6917,6921],{"type":1872,"tag":4143,"props":6918,"children":6919},{"style":4185},[6920],{"type":1877,"value":5524},{"type":1872,"tag":4143,"props":6922,"children":6923},{"style":4179},[6924],{"type":1877,"value":6925},"createInfo,\n",{"type":1872,"tag":4143,"props":6927,"children":6928},{"class":4145,"line":134},[6929,6933],{"type":1872,"tag":4143,"props":6930,"children":6931},{"style":4191},[6932],{"type":1877,"value":5546},{"type":1872,"tag":4143,"props":6934,"children":6935},{"style":4179},[6936],{"type":1877,"value":1900},{"type":1872,"tag":4143,"props":6938,"children":6939},{"class":4145,"line":138},[6940,6944],{"type":1872,"tag":4143,"props":6941,"children":6942},{"style":4185},[6943],{"type":1877,"value":5524},{"type":1872,"tag":4143,"props":6945,"children":6946},{"style":4179},[6947],{"type":1877,"value":6948},"myPipelineLayout);\n",{"type":1872,"tag":2025,"props":6950,"children":6952},{"id":6951},"descriptors-allocation",[6953],{"type":1877,"value":6954},"Allocation of Descriptor Sets",{"type":1872,"tag":2014,"props":6956,"children":6958},{"name":6957,"type":3998},"VkDescriptorPool",[6959],{"type":1872,"tag":1879,"props":6960,"children":6961},{},[6962],{"type":1877,"value":6963},"Opaque handle to a descriptor pool object",{"type":1872,"tag":2014,"props":6965,"children":6967},{"name":6966,"type":4008},"vkCreateDescriptorPool",[6968],{"type":1872,"tag":1879,"props":6969,"children":6970},{},[6971],{"type":1877,"value":6972},"Creates a descriptor pool object",{"type":1872,"tag":2014,"props":6974,"children":6976},{"name":6975,"type":4017},"VkDescriptorPoolCreateInfo",[6977],{"type":1872,"tag":1879,"props":6978,"children":6979},{},[6980],{"type":1877,"value":6981},"Structure specifying parameters of a newly created descriptor pool",{"type":1872,"tag":2014,"props":6983,"children":6985},{"name":6984,"type":4017},"VkDescriptorPoolInlineUniformBlockCreateInfo",[6986],{"type":1872,"tag":1879,"props":6987,"children":6988},{},[6989],{"type":1877,"value":6990},"Structure specifying the maximum number of inline uniform block bindings of a newly created descriptor pool",{"type":1872,"tag":2014,"props":6992,"children":6994},{"name":6993,"type":2017},"VkDescriptorPoolCreateFlagBits",[6995],{"type":1872,"tag":1879,"props":6996,"children":6997},{},[6998],{"type":1877,"value":6999},"Bitmask specifying certain supported operations on a descriptor pool",{"type":1872,"tag":2014,"props":7001,"children":7003},{"name":7002,"type":4052},"VkDescriptorPoolCreateFlags",[7004],{"type":1872,"tag":1879,"props":7005,"children":7006},{},[7007],{"type":1877,"value":7008},"Bitmask of VkDescriptorPoolCreateFlagBits",{"type":1872,"tag":2014,"props":7010,"children":7012},{"name":7011,"type":4017},"VkDescriptorPoolSize",[7013],{"type":1872,"tag":1879,"props":7014,"children":7015},{},[7016],{"type":1877,"value":7017},"Structure specifying descriptor pool size",{"type":1872,"tag":2014,"props":7019,"children":7021},{"name":7020,"type":4008},"vkDestroyDescriptorPool",[7022],{"type":1872,"tag":1879,"props":7023,"children":7024},{},[7025],{"type":1877,"value":7026},"Destroy a descriptor pool object",{"type":1872,"tag":2014,"props":7028,"children":7030},{"name":7029,"type":3998},"VkDescriptorSet",[7031],{"type":1872,"tag":1879,"props":7032,"children":7033},{},[7034],{"type":1877,"value":7035},"Opaque handle to a descriptor set object",{"type":1872,"tag":2014,"props":7037,"children":7039},{"name":7038,"type":4008},"vkAllocateDescriptorSets",[7040],{"type":1872,"tag":1879,"props":7041,"children":7042},{},[7043],{"type":1877,"value":7044},"Allocate one or more descriptor sets",{"type":1872,"tag":2014,"props":7046,"children":7048},{"name":7047,"type":4017},"VkDescriptorSetAllocateInfo",[7049],{"type":1872,"tag":1879,"props":7050,"children":7051},{},[7052],{"type":1877,"value":7053},"Structure specifying the allocation parameters for descriptor sets",{"type":1872,"tag":2014,"props":7055,"children":7057},{"name":7056,"type":4017},"VkDescriptorSetVariableDescriptorCountAllocateInfo",[7058],{"type":1872,"tag":1879,"props":7059,"children":7060},{},[7061],{"type":1877,"value":7062},"Structure specifying additional allocation parameters for descriptor sets",{"type":1872,"tag":2014,"props":7064,"children":7066},{"name":7065,"type":4008},"vkFreeDescriptorSets",[7067],{"type":1872,"tag":1879,"props":7068,"children":7069},{},[7070],{"type":1877,"value":7071},"Free one or more descriptor sets",{"type":1872,"tag":2014,"props":7073,"children":7075},{"name":7074,"type":4008},"vkResetDescriptorPool",[7076],{"type":1872,"tag":1879,"props":7077,"children":7078},{},[7079],{"type":1877,"value":7080},"Resets a descriptor pool object",{"type":1872,"tag":2014,"props":7082,"children":7084},{"name":7083,"type":4052},"VkDescriptorPoolResetFlags",[7085],{"type":1872,"tag":1879,"props":7086,"children":7087},{},[7088],{"type":1877,"value":7089},"Reserved for future use",{"type":1872,"tag":2025,"props":7091,"children":7093},{"id":7092},"descriptors-sets-updates",[7094],{"type":1877,"value":7095},"Descriptor Set Updates",{"type":1872,"tag":2014,"props":7097,"children":7099},{"name":7098,"type":4008},"vkUpdateDescriptorSets",[7100],{"type":1872,"tag":1879,"props":7101,"children":7102},{},[7103],{"type":1877,"value":7104},"Update the contents of a descriptor set object",{"type":1872,"tag":2014,"props":7106,"children":7108},{"name":7107,"type":4017},"VkWriteDescriptorSet",[7109],{"type":1872,"tag":1879,"props":7110,"children":7111},{},[7112],{"type":1877,"value":7113},"Structure specifying the parameters of a descriptor set write operation",{"type":1872,"tag":2014,"props":7115,"children":7116},{"name":3124,"type":4017},[7117],{"type":1872,"tag":1879,"props":7118,"children":7119},{},[7120],{"type":1877,"value":7121},"Structure specifying descriptor buffer information",{"type":1872,"tag":2014,"props":7123,"children":7125},{"name":7124,"type":4017},"VkDescriptorImageInfo",[7126],{"type":1872,"tag":1879,"props":7127,"children":7128},{},[7129],{"type":1877,"value":7130},"Structure specifying descriptor image information",{"type":1872,"tag":2014,"props":7132,"children":7134},{"name":7133,"type":4017},"VkWriteDescriptorSetInlineUniformBlock",[7135],{"type":1872,"tag":1879,"props":7136,"children":7137},{},[7138],{"type":1877,"value":7139},"Structure specifying inline uniform block data",{"type":1872,"tag":2014,"props":7141,"children":7143},{"name":7142,"type":4017},"VkWriteDescriptorSetAccelerationStructureKHR",[7144],{"type":1872,"tag":1879,"props":7145,"children":7146},{},[7147],{"type":1877,"value":7148},"Structure specifying acceleration structure descriptor information",{"type":1872,"tag":2014,"props":7150,"children":7152},{"name":7151,"type":4017},"VkWriteDescriptorSetPartitionedAccelerationStructureNV",[7153],{"type":1872,"tag":1879,"props":7154,"children":7155},{},[7156],{"type":1877,"value":7157},"Structure specifying descriptor for PTLAS",{"type":1872,"tag":2014,"props":7159,"children":7161},{"name":7160,"type":4017},"VkWriteDescriptorSetAccelerationStructureNV",[7162],{"type":1872,"tag":1879,"props":7163,"children":7164},{},[7165],{"type":1877,"value":7148},{"type":1872,"tag":2014,"props":7167,"children":7169},{"name":7168,"type":4017},"VkWriteDescriptorSetTensorARM",[7170],{"type":1872,"tag":1879,"props":7171,"children":7172},{},[7173],{"type":1877,"value":7174},"Structure specifying descriptor tensor info",{"type":1872,"tag":2014,"props":7176,"children":7178},{"name":7177,"type":4017},"VkCopyDescriptorSet",[7179],{"type":1872,"tag":1879,"props":7180,"children":7181},{},[7182],{"type":1877,"value":7183},"Structure specifying a copy descriptor set operation",{"type":1872,"tag":2025,"props":7185,"children":7187},{"id":7186},"descriptors-sets-updates-with-template",[7188],{"type":1877,"value":7189},"Descriptor Update Templates",{"type":1872,"tag":2014,"props":7191,"children":7193},{"name":7192,"type":3998},"VkDescriptorUpdateTemplate",[7194],{"type":1872,"tag":1879,"props":7195,"children":7196},{},[7197],{"type":1877,"value":7198},"Opaque handle to a descriptor update template",{"type":1872,"tag":2025,"props":7200,"children":7202},{"id":7201},"_descriptor_set_updates_with_templates",[7203],{"type":1877,"value":7204},"Descriptor Set Updates With Templates",{"type":1872,"tag":2014,"props":7206,"children":7208},{"name":7207,"type":4008},"vkCreateDescriptorUpdateTemplate",[7209],{"type":1872,"tag":1879,"props":7210,"children":7211},{},[7212],{"type":1877,"value":7213},"Create a new descriptor update template",{"type":1872,"tag":2014,"props":7215,"children":7217},{"name":7216,"type":4017},"VkDescriptorUpdateTemplateCreateInfo",[7218],{"type":1872,"tag":1879,"props":7219,"children":7220},{},[7221],{"type":1877,"value":7222},"Structure specifying parameters of a newly created descriptor update template",{"type":1872,"tag":2014,"props":7224,"children":7226},{"name":7225,"type":4052},"VkDescriptorUpdateTemplateCreateFlags",[7227],{"type":1872,"tag":1879,"props":7228,"children":7229},{},[7230],{"type":1877,"value":7089},{"type":1872,"tag":2014,"props":7232,"children":7234},{"name":7233,"type":2017},"VkDescriptorUpdateTemplateType",[7235],{"type":1872,"tag":1879,"props":7236,"children":7237},{},[7238],{"type":1877,"value":7239},"Indicates the valid usage of the descriptor update template",{"type":1872,"tag":2014,"props":7241,"children":7243},{"name":7242,"type":4017},"VkDescriptorUpdateTemplateEntry",[7244],{"type":1872,"tag":1879,"props":7245,"children":7246},{},[7247],{"type":1877,"value":7248},"Describes a single descriptor update of the descriptor update template",{"type":1872,"tag":2014,"props":7250,"children":7252},{"name":7251,"type":4008},"vkDestroyDescriptorUpdateTemplate",[7253],{"type":1872,"tag":1879,"props":7254,"children":7255},{},[7256],{"type":1877,"value":7257},"Destroy a descriptor update template object",{"type":1872,"tag":2014,"props":7259,"children":7261},{"name":7260,"type":4008},"vkUpdateDescriptorSetWithTemplate",[7262],{"type":1872,"tag":1879,"props":7263,"children":7264},{},[7265],{"type":1877,"value":7266},"Update the contents of a descriptor set object using an update template",{"type":1872,"tag":2025,"props":7268,"children":7270},{"id":7269},"descriptors-binding",[7271],{"type":1877,"value":5762},{"type":1872,"tag":2014,"props":7273,"children":7275},{"name":7274,"type":4008},"vkCmdBindDescriptorSets",[7276],{"type":1872,"tag":1879,"props":7277,"children":7278},{},[7279],{"type":1877,"value":7280},"Binds descriptor sets to a command buffer",{"type":1872,"tag":2014,"props":7282,"children":7284},{"name":7283,"type":4008},"vkCmdBindDescriptorSets2",[7285],{"type":1872,"tag":1879,"props":7286,"children":7287},{},[7288],{"type":1877,"value":7280},{"type":1872,"tag":2014,"props":7290,"children":7292},{"name":7291,"type":4017},"VkBindDescriptorSetsInfo",[7293],{"type":1872,"tag":1879,"props":7294,"children":7295},{},[7296],{"type":1877,"value":7297},"Structure specifying a descriptor set binding operation",{"type":1872,"tag":2025,"props":7299,"children":7301},{"id":7300},"descriptors-push-descriptors",[7302],{"type":1877,"value":7303},"Push Descriptor Updates",{"type":1872,"tag":1879,"props":7305,"children":7306},{},[7307,7309,7312],{"type":1877,"value":7308},"In addition to allocating descriptor sets and binding them to a command\nbuffer, an application ",{"type":1872,"tag":2067,"props":7310,"children":7311},{"type":2069},[],{"type":1877,"value":7313}," record descriptor updates into the command\nbuffer.",{"type":1872,"tag":2014,"props":7315,"children":7317},{"name":7316,"type":4008},"vkCmdPushDescriptorSet",[7318],{"type":1872,"tag":1879,"props":7319,"children":7320},{},[7321],{"type":1877,"value":7322},"Pushes descriptor updates into a command buffer",{"type":1872,"tag":2014,"props":7324,"children":7326},{"name":7325,"type":4008},"vkCmdPushDescriptorSet2",[7327],{"type":1872,"tag":1879,"props":7328,"children":7329},{},[7330],{"type":1877,"value":7322},{"type":1872,"tag":2014,"props":7332,"children":7334},{"name":7333,"type":4017},"VkPushDescriptorSetInfo",[7335],{"type":1872,"tag":1879,"props":7336,"children":7337},{},[7338],{"type":1877,"value":7339},"Structure specifying a descriptor set push operation",{"type":1872,"tag":2025,"props":7341,"children":7343},{"id":7342},"_push_descriptor_updates_with_descriptor_update_templates",[7344],{"type":1877,"value":7345},"Push Descriptor Updates With Descriptor Update Templates",{"type":1872,"tag":2014,"props":7347,"children":7349},{"name":7348,"type":4008},"vkCmdPushDescriptorSetWithTemplate",[7350],{"type":1872,"tag":1879,"props":7351,"children":7352},{},[7353],{"type":1877,"value":7354},"Pushes descriptor updates into a command buffer using a descriptor update template",{"type":1872,"tag":2014,"props":7356,"children":7358},{"name":7357,"type":4008},"vkCmdPushDescriptorSetWithTemplate2",[7359],{"type":1872,"tag":1879,"props":7360,"children":7361},{},[7362],{"type":1877,"value":7354},{"type":1872,"tag":2014,"props":7364,"children":7366},{"name":7365,"type":4017},"VkPushDescriptorSetWithTemplateInfo",[7367],{"type":1872,"tag":1879,"props":7368,"children":7369},{},[7370],{"type":1877,"value":7371},"Structure specifying a descriptor set push operation using a descriptor update template",{"type":1872,"tag":2025,"props":7373,"children":7375},{"id":7374},"descriptors-push-constants",[7376],{"type":1877,"value":5770},{"type":1872,"tag":1879,"props":7378,"children":7379},{},[7380,7382,7388],{"type":1877,"value":7381},"As described above in section ",{"type":1872,"tag":1893,"props":7383,"children":7385},{"href":7384},"/chapters/descriptors#descriptors-pipelinelayout",[7386],{"type":1877,"value":7387},"Pipeline\nLayouts",{"type":1877,"value":7389},", the pipeline layout defines shader push constants which are\nupdated via Vulkan commands rather than via writes to memory or copy\ncommands.",{"type":1872,"tag":1963,"props":7391,"children":7392},{},[7393],{"type":1872,"tag":1879,"props":7394,"children":7395},{},[7396],{"type":1877,"value":7397},"Push constants represent a high speed path to modify constant data in\npipelines that is expected to outperform memory-backed resource updates.",{"type":1872,"tag":2014,"props":7399,"children":7401},{"name":7400,"type":4008},"vkCmdPushConstants",[7402],{"type":1872,"tag":1879,"props":7403,"children":7404},{},[7405],{"type":1877,"value":7406},"Update the values of push constants",{"type":1872,"tag":2014,"props":7408,"children":7410},{"name":7409,"type":4008},"vkCmdPushConstants2",[7411],{"type":1872,"tag":1879,"props":7412,"children":7413},{},[7414],{"type":1877,"value":7406},{"type":1872,"tag":2014,"props":7416,"children":7418},{"name":7417,"type":4017},"VkPushConstantsInfo",[7419],{"type":1872,"tag":1879,"props":7420,"children":7421},{},[7422],{"type":1877,"value":7423},"Structure specifying a push constant update operation",{"type":1872,"tag":1980,"props":7425,"children":7427},{"id":7426},"descriptors-physical-storage-buffer",[7428],{"type":1877,"value":1976},{"type":1872,"tag":1879,"props":7430,"children":7431},{},[7432,7438,7439,7442,7444,7450,7452,7458,7460,7466,7468,7471,7473,7476,7478,7483,7485,7488],{"type":1872,"tag":1893,"props":7433,"children":7435},{"href":7434},"/chapters/resources#resources-buffer-device-addresses",[7436],{"type":1877,"value":7437},"Buffer device addresses",{"type":1877,"value":2840},{"type":1872,"tag":2067,"props":7440,"children":7441},{"type":2069},[],{"type":1877,"value":7443}," also be\nused to access buffer memory in a shader, using the\n",{"type":1872,"tag":1923,"props":7445,"children":7447},{"className":7446},[],[7448],{"type":1877,"value":7449},"SPV_KHR_physical_storage_buffer",{"type":1877,"value":7451}," extension\nor the equivalent\n",{"type":1872,"tag":1923,"props":7453,"children":7455},{"className":7454},[],[7456],{"type":1877,"value":7457},"SPV_EXT_physical_storage_buffer",{"type":1877,"value":7459}," extension\nand the ",{"type":1872,"tag":1923,"props":7461,"children":7463},{"className":7462},[],[7464],{"type":1877,"value":7465},"PhysicalStorageBuffer",{"type":1877,"value":7467}," storage class.\nFor example, this value ",{"type":1872,"tag":2067,"props":7469,"children":7470},{"type":2069},[],{"type":1877,"value":7472}," be stored in a uniform buffer, and the shader\n",{"type":1872,"tag":2067,"props":7474,"children":7475},{"type":2069},[],{"type":1877,"value":7477}," read the value from the uniform buffer and use it to do a dependent\nread/write to this buffer.\nAll loads, stores, and atomics in a shader through\n",{"type":1872,"tag":1923,"props":7479,"children":7481},{"className":7480},[],[7482],{"type":1877,"value":7465},{"type":1877,"value":7484}," pointers ",{"type":1872,"tag":2067,"props":7486,"children":7487},{"type":2172},[],{"type":1877,"value":7489}," access addresses in the address\nrange of some buffer.",{"type":1872,"tag":1980,"props":7491,"children":7493},{"id":7492},"descriptorbuffers",[7494],{"type":1877,"value":7495},"Descriptor Buffers",{"type":1872,"tag":1879,"props":7497,"children":7498},{},[7499,7501,7511],{"type":1877,"value":7500},"If the ",{"type":1872,"tag":1893,"props":7502,"children":7504},{"href":7503},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBuffer",[7505],{"type":1872,"tag":1923,"props":7506,"children":7508},{"className":7507},[],[7509],{"type":1877,"value":7510},"descriptorBuffer",{"type":1877,"value":7512}," feature is\nenabled, an alternative way to specify descriptor sets is via buffers,\nrather than descriptor set objects.",{"type":1872,"tag":2025,"props":7514,"children":7516},{"id":7515},"descriptorbuffers-puttingdescriptorsinmemory",[7517],{"type":1877,"value":7518},"Putting Descriptors in Memory",{"type":1872,"tag":1879,"props":7520,"children":7521},{},[7522,7524,7527],{"type":1877,"value":7523},"Commands are provided to retrieve descriptor data, and also to locate where\nin memory that data ",{"type":1872,"tag":2067,"props":7525,"children":7526},{"type":2172},[],{"type":1877,"value":7528}," be written to match the given descriptor set\nlayout.",{"type":1872,"tag":2014,"props":7530,"children":7532},{"name":7531,"type":4008},"vkGetDescriptorSetLayoutSizeEXT",[7533],{"type":1872,"tag":1879,"props":7534,"children":7535},{},[7536],{"type":1877,"value":7537},"Get the size of a descriptor set layout in memory",{"type":1872,"tag":2014,"props":7539,"children":7541},{"name":7540,"type":4008},"vkGetDescriptorSetLayoutBindingOffsetEXT",[7542],{"type":1872,"tag":1879,"props":7543,"children":7544},{},[7545],{"type":1877,"value":7546},"Get the offset of a binding within a descriptor set layout",{"type":1872,"tag":2014,"props":7548,"children":7550},{"name":7549,"type":4008},"vkGetDescriptorEXT",[7551],{"type":1872,"tag":1879,"props":7552,"children":7553},{},[7554],{"type":1877,"value":7555},"To get a descriptor to place in a buffer",{"type":1872,"tag":2014,"props":7557,"children":7559},{"name":7558,"type":4017},"VkDescriptorGetInfoEXT",[7560],{"type":1872,"tag":1879,"props":7561,"children":7562},{},[7563],{"type":1877,"value":7564},"Structure specifying parameters of descriptor to get",{"type":1872,"tag":2014,"props":7566,"children":7568},{"name":7567,"type":4017},"VkDescriptorDataEXT",[7569],{"type":1872,"tag":1879,"props":7570,"children":7571},{},[7572],{"type":1877,"value":7573},"Structure specifying descriptor data",{"type":1872,"tag":2014,"props":7575,"children":7577},{"name":7576,"type":4017},"VkDescriptorAddressInfoEXT",[7578],{"type":1872,"tag":1879,"props":7579,"children":7580},{},[7581],{"type":1877,"value":7582},"Structure specifying descriptor buffer address info",{"type":1872,"tag":1879,"props":7584,"children":7585},{},[7586,7588,7594,7595,7598,7600,7603],{"type":1877,"value":7587},"Immutable samplers specified in a descriptor set layout through\n",{"type":1872,"tag":1923,"props":7589,"children":7591},{"className":7590},[],[7592],{"type":1877,"value":7593},"pImmutableSamplers",{"type":1877,"value":2840},{"type":1872,"tag":2067,"props":7596,"children":7597},{"type":2172},[],{"type":1877,"value":7599}," be provided by applications when obtaining\ndescriptor data.\nImmutable samplers written in a descriptor buffer ",{"type":1872,"tag":2067,"props":7601,"children":7602},{"type":2172},[],{"type":1877,"value":7604}," have identical\nparameters to the immutable samplers in the descriptor set layout that\nconsumes the sampler.",{"type":1872,"tag":1963,"props":7606,"children":7607},{},[7608],{"type":1872,"tag":1879,"props":7609,"children":7610},{},[7611,7613,7619],{"type":1877,"value":7612},"If the descriptor set layout was created with\n",{"type":1872,"tag":1923,"props":7614,"children":7616},{"className":7615},[],[7617],{"type":1877,"value":7618},"VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT",{"type":1877,"value":7620},",\nthere is no buffer backing for the immutable sampler, so this requirement\ndoes not exist.\nThe implementation handles allocation of these descriptors internally.",{"type":1872,"tag":1963,"props":7622,"children":7623},{},[7624],{"type":1872,"tag":1879,"props":7625,"children":7626},{},[7627],{"type":1877,"value":7628},"As descriptors are now in regular memory, drivers cannot hide copies of\nimmutable samplers that end up in descriptor sets from the application.\nAs such, applications are required to provide these samplers as if they were\nnot provided immutably.",{"type":1872,"tag":2014,"props":7630,"children":7632},{"name":7631,"type":4017},"VkDescriptorGetTensorInfoARM",[7633],{"type":1872,"tag":1879,"props":7634,"children":7635},{},[7636],{"type":1877,"value":7637},"Structure specifying parameters to get descriptor data for tensor views",{"type":1872,"tag":2025,"props":7639,"children":7641},{"id":7640},"descriptorbuffers-binding",[7642],{"type":1877,"value":7643},"Binding Descriptor Buffers",{"type":1872,"tag":1879,"props":7645,"children":7646},{},[7647,7649,7655,7657,7663,7665,7670,7672,7678,7680,7684,7685,7688,7690,7694,7695,7701,7703,7707,7708,7712,7714,7718],{"type":1877,"value":7648},"Descriptor buffers have their own separate binding point on the command\nbuffer, with buffers bound using ",{"type":1872,"tag":1893,"props":7650,"children":7652},{"href":7651},"/man/vkCmdBindDescriptorBuffersEXT",[7653],{"type":1877,"value":7654},"vkCmdBindDescriptorBuffersEXT",{"type":1877,"value":7656},".\n",{"type":1872,"tag":1893,"props":7658,"children":7660},{"href":7659},"/man/vkCmdSetDescriptorBufferOffsetsEXT",[7661],{"type":1877,"value":7662},"vkCmdSetDescriptorBufferOffsetsEXT",{"type":1877,"value":7664}," assigns pairs of buffer binding\nindices and buffer offsets to the same binding point on the command buffer\nas ",{"type":1872,"tag":1893,"props":7666,"children":7668},{"href":7667},"/man/vkCmdBindDescriptorSets",[7669],{"type":1877,"value":7274},{"type":1877,"value":7671},", allowing subsequent\n",{"type":1872,"tag":1893,"props":7673,"children":7675},{"href":7674},"/man/vkCmdBindPipeline#pipelines-bindpoint-commands",[7676],{"type":1877,"value":7677},"bound pipeline commands",{"type":1877,"value":7679}," to use the\nspecified descriptor buffers.\nBindings applied via ",{"type":1872,"tag":1893,"props":7681,"children":7682},{"href":7667},[7683],{"type":1877,"value":7274},{"type":1877,"value":2840},{"type":1872,"tag":2067,"props":7686,"children":7687},{"type":3243},[],{"type":1877,"value":7689}," exist\nsimultaneously with those applied via calls to\n",{"type":1872,"tag":1893,"props":7691,"children":7692},{"href":7659},[7693],{"type":1877,"value":7662},{"type":1877,"value":2183},{"type":1872,"tag":1893,"props":7696,"children":7698},{"href":7697},"/man/vkCmdBindDescriptorBufferEmbeddedSamplersEXT",[7699],{"type":1877,"value":7700},"vkCmdBindDescriptorBufferEmbeddedSamplersEXT",{"type":1877,"value":7702},", as calls to\n",{"type":1872,"tag":1893,"props":7704,"children":7705},{"href":7659},[7706],{"type":1877,"value":7662},{"type":1877,"value":2183},{"type":1872,"tag":1893,"props":7709,"children":7710},{"href":7697},[7711],{"type":1877,"value":7700},{"type":1877,"value":7713}," invalidate any bindings\nby previous calls to ",{"type":1872,"tag":1893,"props":7715,"children":7716},{"href":7667},[7717],{"type":1877,"value":7274},{"type":1877,"value":7719}," and vice-versa.",{"type":1872,"tag":2014,"props":7721,"children":7722},{"name":7654,"type":4008},[7723],{"type":1872,"tag":1879,"props":7724,"children":7725},{},[7726],{"type":1877,"value":7727},"Binding descriptor buffers to a command buffer",{"type":1872,"tag":2014,"props":7729,"children":7731},{"name":7730,"type":4017},"VkDescriptorBufferBindingInfoEXT",[7732],{"type":1872,"tag":1879,"props":7733,"children":7734},{},[7735],{"type":1877,"value":7736},"Structure specifying descriptor buffer binding information",{"type":1872,"tag":2014,"props":7738,"children":7740},{"name":7739,"type":4017},"VkDescriptorBufferBindingPushDescriptorBufferHandleEXT",[7741],{"type":1872,"tag":1879,"props":7742,"children":7743},{},[7744],{"type":1877,"value":7745},"Structure specifying push descriptor buffer binding information",{"type":1872,"tag":2014,"props":7747,"children":7748},{"name":7662,"type":4008},[7749],{"type":1872,"tag":1879,"props":7750,"children":7751},{},[7752],{"type":1877,"value":7753},"Setting descriptor buffer offsets in a command buffer",{"type":1872,"tag":2014,"props":7755,"children":7757},{"name":7756,"type":4008},"vkCmdSetDescriptorBufferOffsets2EXT",[7758],{"type":1872,"tag":1879,"props":7759,"children":7760},{},[7761],{"type":1877,"value":7753},{"type":1872,"tag":2014,"props":7763,"children":7765},{"name":7764,"type":4017},"VkSetDescriptorBufferOffsetsInfoEXT",[7766],{"type":1872,"tag":1879,"props":7767,"children":7768},{},[7769],{"type":1877,"value":7770},"Structure specifying descriptor buffer offsets to set in a command buffer",{"type":1872,"tag":2014,"props":7772,"children":7773},{"name":7700,"type":4008},[7774],{"type":1872,"tag":1879,"props":7775,"children":7776},{},[7777],{"type":1877,"value":7778},"Setting embedded immutable samplers offsets in a command buffer",{"type":1872,"tag":2014,"props":7780,"children":7782},{"name":7781,"type":4008},"vkCmdBindDescriptorBufferEmbeddedSamplers2EXT",[7783],{"type":1872,"tag":1879,"props":7784,"children":7785},{},[7786],{"type":1877,"value":7778},{"type":1872,"tag":2014,"props":7788,"children":7790},{"name":7789,"type":4017},"VkBindDescriptorBufferEmbeddedSamplersInfoEXT",[7791],{"type":1872,"tag":1879,"props":7792,"children":7793},{},[7794],{"type":1877,"value":7795},"Structure specifying embedded immutable sampler offsets to set in a command buffer",{"type":1872,"tag":2025,"props":7797,"children":7799},{"id":7798},"descriptorbuffers-updates",[7800],{"type":1877,"value":7801},"Updating Descriptor Buffers",{"type":1872,"tag":1879,"props":7803,"children":7804},{},[7805,7807,7810,7812,7815],{"type":1877,"value":7806},"Updates to descriptor data in buffers ",{"type":1872,"tag":2067,"props":7808,"children":7809},{"type":2069},[],{"type":1877,"value":7811}," be performed by any operation on\neither the host or device that ",{"type":1872,"tag":2067,"props":7813,"children":7814},{"type":2069},[],{"type":1877,"value":7816}," access memory.",{"type":1872,"tag":1879,"props":7818,"children":7819},{},[7820,7822,7825,7827,7833],{"type":1877,"value":7821},"Descriptor buffer reads ",{"type":1872,"tag":2067,"props":7823,"children":7824},{"type":2069},[],{"type":1877,"value":7826}," be synchronized using\n",{"type":1872,"tag":1923,"props":7828,"children":7830},{"className":7829},[],[7831],{"type":1877,"value":7832},"VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT",{"type":1877,"value":7834}," in the relevant shader\nstage.",{"type":1872,"tag":2025,"props":7836,"children":7838},{"id":7837},"descriptorbuffers-push-descriptors",[7839],{"type":1877,"value":7840},"Push Descriptors With Descriptor Buffers",{"type":1872,"tag":1879,"props":7842,"children":7843},{},[7844,7845,7855,7857,7860],{"type":1877,"value":7500},{"type":1872,"tag":1893,"props":7846,"children":7848},{"href":7847},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBufferPushDescriptors",[7849],{"type":1872,"tag":1923,"props":7850,"children":7852},{"className":7851},[],[7853],{"type":1877,"value":7854},"descriptorBufferPushDescriptors",{"type":1877,"value":7856}," feature is enabled, push descriptors\n",{"type":1872,"tag":2067,"props":7858,"children":7859},{"type":2069},[],{"type":1877,"value":7861}," be used with descriptor buffers in the same way as with descriptor\nsets.",{"type":1872,"tag":1879,"props":7863,"children":7864},{},[7865,7867,7884,7886,7892,7894,7897,7899,7904,7906,7912,7914,7917],{"type":1877,"value":7866},"The ",{"type":1872,"tag":1893,"props":7868,"children":7870},{"href":7869},"/man/VkPhysicalDeviceDescriptorBufferPropertiesEXT#limits-bufferlessPushDescriptors",[7871,7877,7878],{"type":1872,"tag":1923,"props":7872,"children":7874},{"className":7873},[],[7875],{"type":1877,"value":7876},"VkPhysicalDeviceDescriptorBufferPropertiesEXT",{"type":1877,"value":3738},{"type":1872,"tag":1923,"props":7879,"children":7881},{"className":7880},[],[7882],{"type":1877,"value":7883},"bufferlessPushDescriptors",{"type":1877,"value":7885},"\nproperty indicates whether the implementation requires a buffer to back push\ndescriptors.\nIf the property is ",{"type":1872,"tag":1923,"props":7887,"children":7889},{"className":7888},[],[7890],{"type":1877,"value":7891},"VK_FALSE",{"type":1877,"value":7893}," then before recording any push\ndescriptors, the application ",{"type":1872,"tag":2067,"props":7895,"children":7896},{"type":2172},[],{"type":1877,"value":7898}," bind exactly ",{"type":1872,"tag":1923,"props":7900,"children":7902},{"className":7901},[],[7903],{"type":1877,"value":4289},{"type":1877,"value":7905}," descriptor buffer that\nwas created with the\n",{"type":1872,"tag":1923,"props":7907,"children":7909},{"className":7908},[],[7910],{"type":1877,"value":7911},"VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT",{"type":1877,"value":7913}," usage flag\nset.\nWhen this buffer is bound, any previously recorded push descriptors that are\nrequired for a subsequent command ",{"type":1872,"tag":2067,"props":7915,"children":7916},{"type":2172},[],{"type":1877,"value":7918}," be recorded again.",{"type":1872,"tag":2025,"props":7920,"children":7922},{"id":7921},"descriptorbuffers-capturereplay",[7923],{"type":1877,"value":7924},"Capture and Replay",{"type":1872,"tag":1879,"props":7926,"children":7927},{},[7928,7930,7940,7942,7952,7954,7957,7959,7962,7964,7970,7972,7978],{"type":1877,"value":7929},"In a similar way to ",{"type":1872,"tag":1893,"props":7931,"children":7933},{"href":7932},"/man/VkPhysicalDeviceVulkan12Features#features-bufferDeviceAddressCaptureReplay",[7934],{"type":1872,"tag":1923,"props":7935,"children":7937},{"className":7936},[],[7938],{"type":1877,"value":7939},"bufferDeviceAddressCaptureReplay",{"type":1877,"value":7941},", the\n",{"type":1872,"tag":1893,"props":7943,"children":7945},{"href":7944},"/man/VkPhysicalDeviceDescriptorBufferFeaturesEXT#features-descriptorBufferCaptureReplay",[7946],{"type":1872,"tag":1923,"props":7947,"children":7949},{"className":7948},[],[7950],{"type":1877,"value":7951},"descriptorBufferCaptureReplay",{"type":1877,"value":7953}," feature allows the creation of opaque\nhandles for objects at capture time that ",{"type":1872,"tag":2067,"props":7955,"children":7956},{"type":2069},[],{"type":1877,"value":7958}," be passed into object creation\ncalls in a future replay, causing descriptors to be created with the same\ndata.\nThe opaque memory address for any memory used by these resources ",{"type":1872,"tag":2067,"props":7960,"children":7961},{"type":2172},[],{"type":1877,"value":7963}," have\nbeen captured using ",{"type":1872,"tag":1893,"props":7965,"children":7967},{"href":7966},"/man/vkGetDeviceMemoryOpaqueCaptureAddress",[7968],{"type":1877,"value":7969},"vkGetDeviceMemoryOpaqueCaptureAddress",{"type":1877,"value":7971}," and be\nreplayed using ",{"type":1872,"tag":1893,"props":7973,"children":7975},{"href":7974},"/man/VkMemoryOpaqueCaptureAddressAllocateInfo",[7976],{"type":1877,"value":7977},"VkMemoryOpaqueCaptureAddressAllocateInfo",{"type":1877,"value":1916},{"type":1872,"tag":2014,"props":7980,"children":7982},{"name":7981,"type":4008},"vkGetBufferOpaqueCaptureDescriptorDataEXT",[7983],{"type":1872,"tag":1879,"props":7984,"children":7985},{},[7986],{"type":1877,"value":7987},"Get buffer opaque capture descriptor data",{"type":1872,"tag":2014,"props":7989,"children":7991},{"name":7990,"type":4017},"VkBufferCaptureDescriptorDataInfoEXT",[7992],{"type":1872,"tag":1879,"props":7993,"children":7994},{},[7995],{"type":1877,"value":7996},"Structure specifying a buffer for descriptor capture",{"type":1872,"tag":2014,"props":7998,"children":8000},{"name":7999,"type":4008},"vkGetImageOpaqueCaptureDescriptorDataEXT",[8001],{"type":1872,"tag":1879,"props":8002,"children":8003},{},[8004],{"type":1877,"value":8005},"Get image opaque capture descriptor data",{"type":1872,"tag":2014,"props":8007,"children":8009},{"name":8008,"type":4017},"VkImageCaptureDescriptorDataInfoEXT",[8010],{"type":1872,"tag":1879,"props":8011,"children":8012},{},[8013],{"type":1877,"value":8014},"Structure specifying an image for descriptor capture",{"type":1872,"tag":2014,"props":8016,"children":8018},{"name":8017,"type":4008},"vkGetImageViewOpaqueCaptureDescriptorDataEXT",[8019],{"type":1872,"tag":1879,"props":8020,"children":8021},{},[8022],{"type":1877,"value":8023},"Get image view opaque capture descriptor data",{"type":1872,"tag":2014,"props":8025,"children":8027},{"name":8026,"type":4017},"VkImageViewCaptureDescriptorDataInfoEXT",[8028],{"type":1872,"tag":1879,"props":8029,"children":8030},{},[8031],{"type":1877,"value":8032},"Structure specifying an image view for descriptor capture",{"type":1872,"tag":2014,"props":8034,"children":8036},{"name":8035,"type":4008},"vkGetSamplerOpaqueCaptureDescriptorDataEXT",[8037],{"type":1872,"tag":1879,"props":8038,"children":8039},{},[8040],{"type":1877,"value":8041},"Get sampler opaque capture descriptor data",{"type":1872,"tag":2014,"props":8043,"children":8045},{"name":8044,"type":4017},"VkSamplerCaptureDescriptorDataInfoEXT",[8046],{"type":1872,"tag":1879,"props":8047,"children":8048},{},[8049],{"type":1877,"value":8050},"Structure specifying a sampler for descriptor capture",{"type":1872,"tag":2014,"props":8052,"children":8054},{"name":8053,"type":4008},"vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT",[8055],{"type":1872,"tag":1879,"props":8056,"children":8057},{},[8058],{"type":1877,"value":8059},"Get acceleration structure opaque capture descriptor data",{"type":1872,"tag":2014,"props":8061,"children":8063},{"name":8062,"type":4017},"VkAccelerationStructureCaptureDescriptorDataInfoEXT",[8064],{"type":1872,"tag":1879,"props":8065,"children":8066},{},[8067],{"type":1877,"value":8068},"Structure specifying an acceleration structure for descriptor capture",{"type":1872,"tag":2014,"props":8070,"children":8072},{"name":8071,"type":4017},"VkOpaqueCaptureDescriptorDataCreateInfoEXT",[8073],{"type":1872,"tag":1879,"props":8074,"children":8075},{},[8076],{"type":1877,"value":8077},"Structure specifying opaque capture descriptor data",{"type":1872,"tag":2014,"props":8079,"children":8081},{"name":8080,"type":4008},"vkGetTensorOpaqueCaptureDescriptorDataARM",[8082],{"type":1872,"tag":1879,"props":8083,"children":8084},{},[8085],{"type":1877,"value":8086},"Get tensor opaque capture descriptor data",{"type":1872,"tag":2014,"props":8088,"children":8090},{"name":8089,"type":4017},"VkTensorCaptureDescriptorDataInfoARM",[8091],{"type":1872,"tag":1879,"props":8092,"children":8093},{},[8094],{"type":1877,"value":8095},"Structure specifying a tensor for descriptor capture",{"type":1872,"tag":2014,"props":8097,"children":8099},{"name":8098,"type":4008},"vkGetTensorViewOpaqueCaptureDescriptorDataARM",[8100],{"type":1872,"tag":1879,"props":8101,"children":8102},{},[8103],{"type":1877,"value":8104},"Get tensor view opaque capture descriptor data",{"type":1872,"tag":2014,"props":8106,"children":8108},{"name":8107,"type":4017},"VkTensorViewCaptureDescriptorDataInfoARM",[8109],{"type":1872,"tag":1879,"props":8110,"children":8111},{},[8112],{"type":1877,"value":8113},"Structure specifying a tensor view for descriptor capture",{"type":1872,"tag":8115,"props":8116,"children":8117},"style",{},[8118],{"type":1877,"value":8119},"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":4137,"searchDepth":14,"depth":14,"links":8121},[8122,8141,8156,8157],{"id":1982,"depth":14,"text":1985,"children":8123},[8124,8125,8126,8127,8128,8129,8130,8131,8132,8133,8134,8135,8136,8137,8138,8139,8140],{"id":2027,"depth":18,"text":2030},{"id":2363,"depth":18,"text":2366},{"id":2410,"depth":18,"text":2413},{"id":2587,"depth":18,"text":2590},{"id":2797,"depth":18,"text":2800},{"id":2870,"depth":18,"text":2873},{"id":3004,"depth":18,"text":3007},{"id":3057,"depth":18,"text":3060},{"id":3090,"depth":18,"text":3093},{"id":3145,"depth":18,"text":3148},{"id":3189,"depth":18,"text":3192},{"id":3249,"depth":18,"text":3252},{"id":3387,"depth":18,"text":3390},{"id":3487,"depth":18,"text":3490},{"id":3665,"depth":18,"text":3668},{"id":3698,"depth":18,"text":3701},{"id":3875,"depth":18,"text":3878},{"id":3961,"depth":14,"text":3964,"children":8142},[8143,8144,8145,8146,8147,8148,8149,8150,8151,8152,8153,8154,8155],{"id":3991,"depth":18,"text":3994},{"id":4127,"depth":18,"text":4130},{"id":4440,"depth":18,"text":4443},{"id":4733,"depth":18,"text":4736},{"id":5687,"depth":18,"text":5690},{"id":6951,"depth":18,"text":6954},{"id":7092,"depth":18,"text":7095},{"id":7186,"depth":18,"text":7189},{"id":7201,"depth":18,"text":7204},{"id":7269,"depth":18,"text":5762},{"id":7300,"depth":18,"text":7303},{"id":7342,"depth":18,"text":7345},{"id":7374,"depth":18,"text":5770},{"id":7426,"depth":14,"text":1976},{"id":7492,"depth":14,"text":7495,"children":8158},[8159,8160,8161,8162,8163],{"id":7515,"depth":18,"text":7518},{"id":7640,"depth":18,"text":7643},{"id":7798,"depth":18,"text":7801},{"id":7837,"depth":18,"text":7840},{"id":7921,"depth":18,"text":7924},"markdown","chapters-descriptors",1773054814627]