[{"data":1,"prerenderedAt":7157},["ShallowReactive",2],{"lEIVpAMOWM":3},{"title":4,"description":5,"parent":6,"type":7,"xrefs":8,"body":9,"_type":7156,"_id":4},"VkPhysicalDeviceFeatures","Structure describing the fine-grained features that can be supported by an implementation","VK_VERSION_1_0","structs",[],{"type":10,"children":11,"toc":7154},"root",[12,28,2433,2438,7148],{"type":13,"tag":14,"props":15,"children":16},"element","p",{},[17,20,26],{"type":18,"value":19},"text","The ",{"type":13,"tag":21,"props":22,"children":24},"code",{"className":23},[],[25],{"type":18,"value":4},{"type":18,"value":27}," structure is defined as:",{"type":13,"tag":29,"props":30,"children":31},"code-group",{},[32,571],{"type":13,"tag":33,"props":34,"children":40},"pre",{"className":35,"code":36,"filename":37,"language":38,"meta":39,"style":39},"language-c shiki shiki-themes github-light-default github-dark-default","typedef struct VkPhysicalDeviceFeatures {\n VkBool32 robustBufferAccess;\n VkBool32 fullDrawIndexUint32;\n VkBool32 imageCubeArray;\n VkBool32 independentBlend;\n VkBool32 geometryShader;\n VkBool32 tessellationShader;\n VkBool32 sampleRateShading;\n VkBool32 dualSrcBlend;\n VkBool32 logicOp;\n VkBool32 multiDrawIndirect;\n VkBool32 drawIndirectFirstInstance;\n VkBool32 depthClamp;\n VkBool32 depthBiasClamp;\n VkBool32 fillModeNonSolid;\n VkBool32 depthBounds;\n VkBool32 wideLines;\n VkBool32 largePoints;\n VkBool32 alphaToOne;\n VkBool32 multiViewport;\n VkBool32 samplerAnisotropy;\n VkBool32 textureCompressionETC2;\n VkBool32 textureCompressionASTC_LDR;\n VkBool32 textureCompressionBC;\n VkBool32 occlusionQueryPrecise;\n VkBool32 pipelineStatisticsQuery;\n VkBool32 vertexPipelineStoresAndAtomics;\n VkBool32 fragmentStoresAndAtomics;\n VkBool32 shaderTessellationAndGeometryPointSize;\n VkBool32 shaderImageGatherExtended;\n VkBool32 shaderStorageImageExtendedFormats;\n VkBool32 shaderStorageImageMultisample;\n VkBool32 shaderStorageImageReadWithoutFormat;\n VkBool32 shaderStorageImageWriteWithoutFormat;\n VkBool32 shaderUniformBufferArrayDynamicIndexing;\n VkBool32 shaderSampledImageArrayDynamicIndexing;\n VkBool32 shaderStorageBufferArrayDynamicIndexing;\n VkBool32 shaderStorageImageArrayDynamicIndexing;\n VkBool32 shaderClipDistance;\n VkBool32 shaderCullDistance;\n VkBool32 shaderFloat64;\n VkBool32 shaderInt64;\n VkBool32 shaderInt16;\n VkBool32 shaderResourceResidency;\n VkBool32 shaderResourceMinLod;\n VkBool32 sparseBinding;\n VkBool32 sparseResidencyBuffer;\n VkBool32 sparseResidencyImage2D;\n VkBool32 sparseResidencyImage3D;\n VkBool32 sparseResidency2Samples;\n VkBool32 sparseResidency4Samples;\n VkBool32 sparseResidency8Samples;\n VkBool32 sparseResidency16Samples;\n VkBool32 sparseResidencyAliased;\n VkBool32 variableMultisampleRate;\n VkBool32 inheritedQueries;\n} VkPhysicalDeviceFeatures;\n","C","c","",[41],{"type":13,"tag":21,"props":42,"children":43},{"__ignoreMap":39},[44,67,76,85,94,103,112,121,130,139,148,157,166,175,184,193,202,211,220,229,238,247,256,265,274,283,292,301,310,319,328,337,346,355,364,373,382,391,400,409,418,427,436,445,454,463,472,481,490,499,508,517,526,535,544,553,562],{"type":13,"tag":45,"props":46,"children":49},"span",{"class":47,"line":48},"line",1,[50,56,61],{"type":13,"tag":45,"props":51,"children":53},{"style":52},"--shiki-default:#CF222E;--shiki-dark:#FF7B72",[54],{"type":18,"value":55},"typedef",{"type":13,"tag":45,"props":57,"children":58},{"style":52},[59],{"type":18,"value":60}," struct",{"type":13,"tag":45,"props":62,"children":64},{"style":63},"--shiki-default:#1F2328;--shiki-dark:#E6EDF3",[65],{"type":18,"value":66}," VkPhysicalDeviceFeatures {\n",{"type":13,"tag":45,"props":68,"children":70},{"class":47,"line":69},2,[71],{"type":13,"tag":45,"props":72,"children":73},{"style":63},[74],{"type":18,"value":75}," VkBool32 robustBufferAccess;\n",{"type":13,"tag":45,"props":77,"children":79},{"class":47,"line":78},3,[80],{"type":13,"tag":45,"props":81,"children":82},{"style":63},[83],{"type":18,"value":84}," VkBool32 fullDrawIndexUint32;\n",{"type":13,"tag":45,"props":86,"children":88},{"class":47,"line":87},4,[89],{"type":13,"tag":45,"props":90,"children":91},{"style":63},[92],{"type":18,"value":93}," VkBool32 imageCubeArray;\n",{"type":13,"tag":45,"props":95,"children":97},{"class":47,"line":96},5,[98],{"type":13,"tag":45,"props":99,"children":100},{"style":63},[101],{"type":18,"value":102}," VkBool32 independentBlend;\n",{"type":13,"tag":45,"props":104,"children":106},{"class":47,"line":105},6,[107],{"type":13,"tag":45,"props":108,"children":109},{"style":63},[110],{"type":18,"value":111}," VkBool32 geometryShader;\n",{"type":13,"tag":45,"props":113,"children":115},{"class":47,"line":114},7,[116],{"type":13,"tag":45,"props":117,"children":118},{"style":63},[119],{"type":18,"value":120}," VkBool32 tessellationShader;\n",{"type":13,"tag":45,"props":122,"children":124},{"class":47,"line":123},8,[125],{"type":13,"tag":45,"props":126,"children":127},{"style":63},[128],{"type":18,"value":129}," VkBool32 sampleRateShading;\n",{"type":13,"tag":45,"props":131,"children":133},{"class":47,"line":132},9,[134],{"type":13,"tag":45,"props":135,"children":136},{"style":63},[137],{"type":18,"value":138}," VkBool32 dualSrcBlend;\n",{"type":13,"tag":45,"props":140,"children":142},{"class":47,"line":141},10,[143],{"type":13,"tag":45,"props":144,"children":145},{"style":63},[146],{"type":18,"value":147}," VkBool32 logicOp;\n",{"type":13,"tag":45,"props":149,"children":151},{"class":47,"line":150},11,[152],{"type":13,"tag":45,"props":153,"children":154},{"style":63},[155],{"type":18,"value":156}," VkBool32 multiDrawIndirect;\n",{"type":13,"tag":45,"props":158,"children":160},{"class":47,"line":159},12,[161],{"type":13,"tag":45,"props":162,"children":163},{"style":63},[164],{"type":18,"value":165}," VkBool32 drawIndirectFirstInstance;\n",{"type":13,"tag":45,"props":167,"children":169},{"class":47,"line":168},13,[170],{"type":13,"tag":45,"props":171,"children":172},{"style":63},[173],{"type":18,"value":174}," VkBool32 depthClamp;\n",{"type":13,"tag":45,"props":176,"children":178},{"class":47,"line":177},14,[179],{"type":13,"tag":45,"props":180,"children":181},{"style":63},[182],{"type":18,"value":183}," VkBool32 depthBiasClamp;\n",{"type":13,"tag":45,"props":185,"children":187},{"class":47,"line":186},15,[188],{"type":13,"tag":45,"props":189,"children":190},{"style":63},[191],{"type":18,"value":192}," VkBool32 fillModeNonSolid;\n",{"type":13,"tag":45,"props":194,"children":196},{"class":47,"line":195},16,[197],{"type":13,"tag":45,"props":198,"children":199},{"style":63},[200],{"type":18,"value":201}," VkBool32 depthBounds;\n",{"type":13,"tag":45,"props":203,"children":205},{"class":47,"line":204},17,[206],{"type":13,"tag":45,"props":207,"children":208},{"style":63},[209],{"type":18,"value":210}," VkBool32 wideLines;\n",{"type":13,"tag":45,"props":212,"children":214},{"class":47,"line":213},18,[215],{"type":13,"tag":45,"props":216,"children":217},{"style":63},[218],{"type":18,"value":219}," VkBool32 largePoints;\n",{"type":13,"tag":45,"props":221,"children":223},{"class":47,"line":222},19,[224],{"type":13,"tag":45,"props":225,"children":226},{"style":63},[227],{"type":18,"value":228}," VkBool32 alphaToOne;\n",{"type":13,"tag":45,"props":230,"children":232},{"class":47,"line":231},20,[233],{"type":13,"tag":45,"props":234,"children":235},{"style":63},[236],{"type":18,"value":237}," VkBool32 multiViewport;\n",{"type":13,"tag":45,"props":239,"children":241},{"class":47,"line":240},21,[242],{"type":13,"tag":45,"props":243,"children":244},{"style":63},[245],{"type":18,"value":246}," VkBool32 samplerAnisotropy;\n",{"type":13,"tag":45,"props":248,"children":250},{"class":47,"line":249},22,[251],{"type":13,"tag":45,"props":252,"children":253},{"style":63},[254],{"type":18,"value":255}," VkBool32 textureCompressionETC2;\n",{"type":13,"tag":45,"props":257,"children":259},{"class":47,"line":258},23,[260],{"type":13,"tag":45,"props":261,"children":262},{"style":63},[263],{"type":18,"value":264}," VkBool32 textureCompressionASTC_LDR;\n",{"type":13,"tag":45,"props":266,"children":268},{"class":47,"line":267},24,[269],{"type":13,"tag":45,"props":270,"children":271},{"style":63},[272],{"type":18,"value":273}," VkBool32 textureCompressionBC;\n",{"type":13,"tag":45,"props":275,"children":277},{"class":47,"line":276},25,[278],{"type":13,"tag":45,"props":279,"children":280},{"style":63},[281],{"type":18,"value":282}," VkBool32 occlusionQueryPrecise;\n",{"type":13,"tag":45,"props":284,"children":286},{"class":47,"line":285},26,[287],{"type":13,"tag":45,"props":288,"children":289},{"style":63},[290],{"type":18,"value":291}," VkBool32 pipelineStatisticsQuery;\n",{"type":13,"tag":45,"props":293,"children":295},{"class":47,"line":294},27,[296],{"type":13,"tag":45,"props":297,"children":298},{"style":63},[299],{"type":18,"value":300}," VkBool32 vertexPipelineStoresAndAtomics;\n",{"type":13,"tag":45,"props":302,"children":304},{"class":47,"line":303},28,[305],{"type":13,"tag":45,"props":306,"children":307},{"style":63},[308],{"type":18,"value":309}," VkBool32 fragmentStoresAndAtomics;\n",{"type":13,"tag":45,"props":311,"children":313},{"class":47,"line":312},29,[314],{"type":13,"tag":45,"props":315,"children":316},{"style":63},[317],{"type":18,"value":318}," VkBool32 shaderTessellationAndGeometryPointSize;\n",{"type":13,"tag":45,"props":320,"children":322},{"class":47,"line":321},30,[323],{"type":13,"tag":45,"props":324,"children":325},{"style":63},[326],{"type":18,"value":327}," VkBool32 shaderImageGatherExtended;\n",{"type":13,"tag":45,"props":329,"children":331},{"class":47,"line":330},31,[332],{"type":13,"tag":45,"props":333,"children":334},{"style":63},[335],{"type":18,"value":336}," VkBool32 shaderStorageImageExtendedFormats;\n",{"type":13,"tag":45,"props":338,"children":340},{"class":47,"line":339},32,[341],{"type":13,"tag":45,"props":342,"children":343},{"style":63},[344],{"type":18,"value":345}," VkBool32 shaderStorageImageMultisample;\n",{"type":13,"tag":45,"props":347,"children":349},{"class":47,"line":348},33,[350],{"type":13,"tag":45,"props":351,"children":352},{"style":63},[353],{"type":18,"value":354}," VkBool32 shaderStorageImageReadWithoutFormat;\n",{"type":13,"tag":45,"props":356,"children":358},{"class":47,"line":357},34,[359],{"type":13,"tag":45,"props":360,"children":361},{"style":63},[362],{"type":18,"value":363}," VkBool32 shaderStorageImageWriteWithoutFormat;\n",{"type":13,"tag":45,"props":365,"children":367},{"class":47,"line":366},35,[368],{"type":13,"tag":45,"props":369,"children":370},{"style":63},[371],{"type":18,"value":372}," VkBool32 shaderUniformBufferArrayDynamicIndexing;\n",{"type":13,"tag":45,"props":374,"children":376},{"class":47,"line":375},36,[377],{"type":13,"tag":45,"props":378,"children":379},{"style":63},[380],{"type":18,"value":381}," VkBool32 shaderSampledImageArrayDynamicIndexing;\n",{"type":13,"tag":45,"props":383,"children":385},{"class":47,"line":384},37,[386],{"type":13,"tag":45,"props":387,"children":388},{"style":63},[389],{"type":18,"value":390}," VkBool32 shaderStorageBufferArrayDynamicIndexing;\n",{"type":13,"tag":45,"props":392,"children":394},{"class":47,"line":393},38,[395],{"type":13,"tag":45,"props":396,"children":397},{"style":63},[398],{"type":18,"value":399}," VkBool32 shaderStorageImageArrayDynamicIndexing;\n",{"type":13,"tag":45,"props":401,"children":403},{"class":47,"line":402},39,[404],{"type":13,"tag":45,"props":405,"children":406},{"style":63},[407],{"type":18,"value":408}," VkBool32 shaderClipDistance;\n",{"type":13,"tag":45,"props":410,"children":412},{"class":47,"line":411},40,[413],{"type":13,"tag":45,"props":414,"children":415},{"style":63},[416],{"type":18,"value":417}," VkBool32 shaderCullDistance;\n",{"type":13,"tag":45,"props":419,"children":421},{"class":47,"line":420},41,[422],{"type":13,"tag":45,"props":423,"children":424},{"style":63},[425],{"type":18,"value":426}," VkBool32 shaderFloat64;\n",{"type":13,"tag":45,"props":428,"children":430},{"class":47,"line":429},42,[431],{"type":13,"tag":45,"props":432,"children":433},{"style":63},[434],{"type":18,"value":435}," VkBool32 shaderInt64;\n",{"type":13,"tag":45,"props":437,"children":439},{"class":47,"line":438},43,[440],{"type":13,"tag":45,"props":441,"children":442},{"style":63},[443],{"type":18,"value":444}," VkBool32 shaderInt16;\n",{"type":13,"tag":45,"props":446,"children":448},{"class":47,"line":447},44,[449],{"type":13,"tag":45,"props":450,"children":451},{"style":63},[452],{"type":18,"value":453}," VkBool32 shaderResourceResidency;\n",{"type":13,"tag":45,"props":455,"children":457},{"class":47,"line":456},45,[458],{"type":13,"tag":45,"props":459,"children":460},{"style":63},[461],{"type":18,"value":462}," VkBool32 shaderResourceMinLod;\n",{"type":13,"tag":45,"props":464,"children":466},{"class":47,"line":465},46,[467],{"type":13,"tag":45,"props":468,"children":469},{"style":63},[470],{"type":18,"value":471}," VkBool32 sparseBinding;\n",{"type":13,"tag":45,"props":473,"children":475},{"class":47,"line":474},47,[476],{"type":13,"tag":45,"props":477,"children":478},{"style":63},[479],{"type":18,"value":480}," VkBool32 sparseResidencyBuffer;\n",{"type":13,"tag":45,"props":482,"children":484},{"class":47,"line":483},48,[485],{"type":13,"tag":45,"props":486,"children":487},{"style":63},[488],{"type":18,"value":489}," VkBool32 sparseResidencyImage2D;\n",{"type":13,"tag":45,"props":491,"children":493},{"class":47,"line":492},49,[494],{"type":13,"tag":45,"props":495,"children":496},{"style":63},[497],{"type":18,"value":498}," VkBool32 sparseResidencyImage3D;\n",{"type":13,"tag":45,"props":500,"children":502},{"class":47,"line":501},50,[503],{"type":13,"tag":45,"props":504,"children":505},{"style":63},[506],{"type":18,"value":507}," VkBool32 sparseResidency2Samples;\n",{"type":13,"tag":45,"props":509,"children":511},{"class":47,"line":510},51,[512],{"type":13,"tag":45,"props":513,"children":514},{"style":63},[515],{"type":18,"value":516}," VkBool32 sparseResidency4Samples;\n",{"type":13,"tag":45,"props":518,"children":520},{"class":47,"line":519},52,[521],{"type":13,"tag":45,"props":522,"children":523},{"style":63},[524],{"type":18,"value":525}," VkBool32 sparseResidency8Samples;\n",{"type":13,"tag":45,"props":527,"children":529},{"class":47,"line":528},53,[530],{"type":13,"tag":45,"props":531,"children":532},{"style":63},[533],{"type":18,"value":534}," VkBool32 sparseResidency16Samples;\n",{"type":13,"tag":45,"props":536,"children":538},{"class":47,"line":537},54,[539],{"type":13,"tag":45,"props":540,"children":541},{"style":63},[542],{"type":18,"value":543}," VkBool32 sparseResidencyAliased;\n",{"type":13,"tag":45,"props":545,"children":547},{"class":47,"line":546},55,[548],{"type":13,"tag":45,"props":549,"children":550},{"style":63},[551],{"type":18,"value":552}," VkBool32 variableMultisampleRate;\n",{"type":13,"tag":45,"props":554,"children":556},{"class":47,"line":555},56,[557],{"type":13,"tag":45,"props":558,"children":559},{"style":63},[560],{"type":18,"value":561}," VkBool32 inheritedQueries;\n",{"type":13,"tag":45,"props":563,"children":565},{"class":47,"line":564},57,[566],{"type":13,"tag":45,"props":567,"children":568},{"style":63},[569],{"type":18,"value":570},"} VkPhysicalDeviceFeatures;\n",{"type":13,"tag":33,"props":572,"children":577},{"className":573,"code":574,"filename":575,"language":576,"meta":39,"style":39},"language-rs shiki shiki-themes github-light-default github-dark-default","pub struct PhysicalDeviceFeatures {\n robust_buffer_access: vk::Bool32, // out of bounds buffer accesses are well defined\n full_draw_index_uint32: vk::Bool32, // full 32-bit range of indices for indexed draw calls\n image_cube_array: vk::Bool32, // image views which are arrays of cube maps\n independent_blend: vk::Bool32, // blending operations are controlled per-attachment\n geometry_shader: vk::Bool32, // geometry stage\n tessellation_shader: vk::Bool32, // tessellation control and evaluation stage\n sample_rate_shading: vk::Bool32, // per-sample shading and interpolation\n dual_src_blend: vk::Bool32, // blend operations which take two sources\n logic_op: vk::Bool32, // logic operations\n multi_draw_indirect: vk::Bool32, // multi draw indirect\n draw_indirect_first_instance: vk::Bool32, // indirect drawing can use non-zero firstInstance\n depth_clamp: vk::Bool32, // depth clamping\n depth_bias_clamp: vk::Bool32, // depth bias clamping\n fill_mode_non_solid: vk::Bool32, // point and wireframe fill modes\n depth_bounds: vk::Bool32, // depth bounds test\n wide_lines: vk::Bool32, // lines with width greater than 1\n large_points: vk::Bool32, // points with size greater than 1\n alpha_to_one: vk::Bool32, // the fragment alpha component can be forced to maximum representable alpha value\n multi_viewport: vk::Bool32, // viewport arrays\n sampler_anisotropy: vk::Bool32, // anisotropic sampler filtering\n texture_compression_etc2: vk::Bool32, // ETC texture compression formats\n texture_compression_astc_ldr: vk::Bool32, // ASTC LDR texture compression formats\n texture_compression_bc: vk::Bool32, // BC1-7 texture compressed formats\n occlusion_query_precise: vk::Bool32, // precise occlusion queries returning actual sample counts\n pipeline_statistics_query: vk::Bool32, // pipeline statistics query\n vertex_pipeline_stores_and_atomics: vk::Bool32, // stores and atomic ops on storage buffers and images are supported in vertex, tessellation, and geometry stages\n fragment_stores_and_atomics: vk::Bool32, // stores and atomic ops on storage buffers and images are supported in the fragment stage\n shader_tessellation_and_geometry_point_size: vk::Bool32, // tessellation and geometry stages can export point size\n shader_image_gather_extended: vk::Bool32, // image gather with runtime values and independent offsets\n shader_storage_image_extended_formats: vk::Bool32, // the extended set of formats can be used for storage images\n shader_storage_image_multisample: vk::Bool32, // multisample images can be used for storage images\n shader_storage_image_read_without_format: vk::Bool32, // read from storage image does not require format qualifier\n shader_storage_image_write_without_format: vk::Bool32, // write to storage image does not require format qualifier\n shader_uniform_buffer_array_dynamic_indexing: vk::Bool32, // arrays of uniform buffers can be accessed with dynamically uniform indices\n shader_sampled_image_array_dynamic_indexing: vk::Bool32, // arrays of sampled images can be accessed with dynamically uniform indices\n shader_storage_buffer_array_dynamic_indexing: vk::Bool32, // arrays of storage buffers can be accessed with dynamically uniform indices\n shader_storage_image_array_dynamic_indexing: vk::Bool32, // arrays of storage images can be accessed with dynamically uniform indices\n shader_clip_distance: vk::Bool32, // clip distance in shaders\n shader_cull_distance: vk::Bool32, // cull distance in shaders\n shader_float64: vk::Bool32, // 64-bit floats (doubles) in shaders\n shader_int64: vk::Bool32, // 64-bit integers in shaders\n shader_int16: vk::Bool32, // 16-bit integers in shaders\n shader_resource_residency: vk::Bool32, // shader can use texture operations that return resource residency information (requires sparseNonResident support)\n shader_resource_min_lod: vk::Bool32, // shader can use texture operations that specify minimum resource LOD\n sparse_binding: vk::Bool32, // Sparse resources support: Resource memory can be managed at opaque page level rather than object level\n sparse_residency_buffer: vk::Bool32, // Sparse resources support: GPU can access partially resident buffers \n sparse_residency_image2_d: vk::Bool32, // Sparse resources support: GPU can access partially resident 2D (non-MSAA non-depth/stencil) images \n sparse_residency_image3_d: vk::Bool32, // Sparse resources support: GPU can access partially resident 3D images \n sparse_residency2_samples: vk::Bool32, // Sparse resources support: GPU can access partially resident MSAA 2D images with 2 samples\n sparse_residency4_samples: vk::Bool32, // Sparse resources support: GPU can access partially resident MSAA 2D images with 4 samples\n sparse_residency8_samples: vk::Bool32, // Sparse resources support: GPU can access partially resident MSAA 2D images with 8 samples\n sparse_residency16_samples: vk::Bool32, // Sparse resources support: GPU can access partially resident MSAA 2D images with 16 samples\n sparse_residency_aliased: vk::Bool32, // Sparse resources support: GPU can correctly access data aliased into multiple locations (opt-in)\n variable_multisample_rate: vk::Bool32, // multisample rate must be the same for all pipelines in a subpass\n inherited_queries: vk::Bool32, // Queries may be inherited from primary to secondary command buffers\n}\n","Rust","rs",[578],{"type":13,"tag":21,"props":579,"children":580},{"__ignoreMap":39},[581,604,643,676,709,742,775,808,841,874,907,940,973,1006,1039,1072,1105,1138,1171,1204,1237,1270,1303,1336,1369,1402,1435,1468,1501,1534,1567,1600,1633,1666,1699,1732,1765,1798,1831,1864,1897,1930,1963,1996,2029,2062,2095,2128,2161,2194,2227,2260,2293,2326,2359,2392,2425],{"type":13,"tag":45,"props":582,"children":583},{"class":47,"line":48},[584,589,593,599],{"type":13,"tag":45,"props":585,"children":586},{"style":52},[587],{"type":18,"value":588},"pub",{"type":13,"tag":45,"props":590,"children":591},{"style":52},[592],{"type":18,"value":60},{"type":13,"tag":45,"props":594,"children":596},{"style":595},"--shiki-default:#953800;--shiki-dark:#FFA657",[597],{"type":18,"value":598}," PhysicalDeviceFeatures",{"type":13,"tag":45,"props":600,"children":601},{"style":63},[602],{"type":18,"value":603}," {\n",{"type":13,"tag":45,"props":605,"children":606},{"class":47,"line":69},[607,612,617,622,627,632,637],{"type":13,"tag":45,"props":608,"children":609},{"style":63},[610],{"type":18,"value":611}," robust_buffer_access",{"type":13,"tag":45,"props":613,"children":614},{"style":52},[615],{"type":18,"value":616},":",{"type":13,"tag":45,"props":618,"children":619},{"style":595},[620],{"type":18,"value":621}," vk",{"type":13,"tag":45,"props":623,"children":624},{"style":52},[625],{"type":18,"value":626},"::",{"type":13,"tag":45,"props":628,"children":629},{"style":595},[630],{"type":18,"value":631},"Bool32",{"type":13,"tag":45,"props":633,"children":634},{"style":63},[635],{"type":18,"value":636},", ",{"type":13,"tag":45,"props":638,"children":640},{"style":639},"--shiki-default:#6E7781;--shiki-dark:#8B949E",[641],{"type":18,"value":642},"// out of bounds buffer accesses are well defined\n",{"type":13,"tag":45,"props":644,"children":645},{"class":47,"line":78},[646,651,655,659,663,667,671],{"type":13,"tag":45,"props":647,"children":648},{"style":63},[649],{"type":18,"value":650}," full_draw_index_uint32",{"type":13,"tag":45,"props":652,"children":653},{"style":52},[654],{"type":18,"value":616},{"type":13,"tag":45,"props":656,"children":657},{"style":595},[658],{"type":18,"value":621},{"type":13,"tag":45,"props":660,"children":661},{"style":52},[662],{"type":18,"value":626},{"type":13,"tag":45,"props":664,"children":665},{"style":595},[666],{"type":18,"value":631},{"type":13,"tag":45,"props":668,"children":669},{"style":63},[670],{"type":18,"value":636},{"type":13,"tag":45,"props":672,"children":673},{"style":639},[674],{"type":18,"value":675},"// full 32-bit range of indices for indexed draw calls\n",{"type":13,"tag":45,"props":677,"children":678},{"class":47,"line":87},[679,684,688,692,696,700,704],{"type":13,"tag":45,"props":680,"children":681},{"style":63},[682],{"type":18,"value":683}," image_cube_array",{"type":13,"tag":45,"props":685,"children":686},{"style":52},[687],{"type":18,"value":616},{"type":13,"tag":45,"props":689,"children":690},{"style":595},[691],{"type":18,"value":621},{"type":13,"tag":45,"props":693,"children":694},{"style":52},[695],{"type":18,"value":626},{"type":13,"tag":45,"props":697,"children":698},{"style":595},[699],{"type":18,"value":631},{"type":13,"tag":45,"props":701,"children":702},{"style":63},[703],{"type":18,"value":636},{"type":13,"tag":45,"props":705,"children":706},{"style":639},[707],{"type":18,"value":708},"// image views which are arrays of cube maps\n",{"type":13,"tag":45,"props":710,"children":711},{"class":47,"line":96},[712,717,721,725,729,733,737],{"type":13,"tag":45,"props":713,"children":714},{"style":63},[715],{"type":18,"value":716}," independent_blend",{"type":13,"tag":45,"props":718,"children":719},{"style":52},[720],{"type":18,"value":616},{"type":13,"tag":45,"props":722,"children":723},{"style":595},[724],{"type":18,"value":621},{"type":13,"tag":45,"props":726,"children":727},{"style":52},[728],{"type":18,"value":626},{"type":13,"tag":45,"props":730,"children":731},{"style":595},[732],{"type":18,"value":631},{"type":13,"tag":45,"props":734,"children":735},{"style":63},[736],{"type":18,"value":636},{"type":13,"tag":45,"props":738,"children":739},{"style":639},[740],{"type":18,"value":741},"// blending operations are controlled per-attachment\n",{"type":13,"tag":45,"props":743,"children":744},{"class":47,"line":105},[745,750,754,758,762,766,770],{"type":13,"tag":45,"props":746,"children":747},{"style":63},[748],{"type":18,"value":749}," geometry_shader",{"type":13,"tag":45,"props":751,"children":752},{"style":52},[753],{"type":18,"value":616},{"type":13,"tag":45,"props":755,"children":756},{"style":595},[757],{"type":18,"value":621},{"type":13,"tag":45,"props":759,"children":760},{"style":52},[761],{"type":18,"value":626},{"type":13,"tag":45,"props":763,"children":764},{"style":595},[765],{"type":18,"value":631},{"type":13,"tag":45,"props":767,"children":768},{"style":63},[769],{"type":18,"value":636},{"type":13,"tag":45,"props":771,"children":772},{"style":639},[773],{"type":18,"value":774},"// geometry stage\n",{"type":13,"tag":45,"props":776,"children":777},{"class":47,"line":114},[778,783,787,791,795,799,803],{"type":13,"tag":45,"props":779,"children":780},{"style":63},[781],{"type":18,"value":782}," tessellation_shader",{"type":13,"tag":45,"props":784,"children":785},{"style":52},[786],{"type":18,"value":616},{"type":13,"tag":45,"props":788,"children":789},{"style":595},[790],{"type":18,"value":621},{"type":13,"tag":45,"props":792,"children":793},{"style":52},[794],{"type":18,"value":626},{"type":13,"tag":45,"props":796,"children":797},{"style":595},[798],{"type":18,"value":631},{"type":13,"tag":45,"props":800,"children":801},{"style":63},[802],{"type":18,"value":636},{"type":13,"tag":45,"props":804,"children":805},{"style":639},[806],{"type":18,"value":807},"// tessellation control and evaluation stage\n",{"type":13,"tag":45,"props":809,"children":810},{"class":47,"line":123},[811,816,820,824,828,832,836],{"type":13,"tag":45,"props":812,"children":813},{"style":63},[814],{"type":18,"value":815}," sample_rate_shading",{"type":13,"tag":45,"props":817,"children":818},{"style":52},[819],{"type":18,"value":616},{"type":13,"tag":45,"props":821,"children":822},{"style":595},[823],{"type":18,"value":621},{"type":13,"tag":45,"props":825,"children":826},{"style":52},[827],{"type":18,"value":626},{"type":13,"tag":45,"props":829,"children":830},{"style":595},[831],{"type":18,"value":631},{"type":13,"tag":45,"props":833,"children":834},{"style":63},[835],{"type":18,"value":636},{"type":13,"tag":45,"props":837,"children":838},{"style":639},[839],{"type":18,"value":840},"// per-sample shading and interpolation\n",{"type":13,"tag":45,"props":842,"children":843},{"class":47,"line":132},[844,849,853,857,861,865,869],{"type":13,"tag":45,"props":845,"children":846},{"style":63},[847],{"type":18,"value":848}," dual_src_blend",{"type":13,"tag":45,"props":850,"children":851},{"style":52},[852],{"type":18,"value":616},{"type":13,"tag":45,"props":854,"children":855},{"style":595},[856],{"type":18,"value":621},{"type":13,"tag":45,"props":858,"children":859},{"style":52},[860],{"type":18,"value":626},{"type":13,"tag":45,"props":862,"children":863},{"style":595},[864],{"type":18,"value":631},{"type":13,"tag":45,"props":866,"children":867},{"style":63},[868],{"type":18,"value":636},{"type":13,"tag":45,"props":870,"children":871},{"style":639},[872],{"type":18,"value":873},"// blend operations which take two sources\n",{"type":13,"tag":45,"props":875,"children":876},{"class":47,"line":141},[877,882,886,890,894,898,902],{"type":13,"tag":45,"props":878,"children":879},{"style":63},[880],{"type":18,"value":881}," logic_op",{"type":13,"tag":45,"props":883,"children":884},{"style":52},[885],{"type":18,"value":616},{"type":13,"tag":45,"props":887,"children":888},{"style":595},[889],{"type":18,"value":621},{"type":13,"tag":45,"props":891,"children":892},{"style":52},[893],{"type":18,"value":626},{"type":13,"tag":45,"props":895,"children":896},{"style":595},[897],{"type":18,"value":631},{"type":13,"tag":45,"props":899,"children":900},{"style":63},[901],{"type":18,"value":636},{"type":13,"tag":45,"props":903,"children":904},{"style":639},[905],{"type":18,"value":906},"// logic operations\n",{"type":13,"tag":45,"props":908,"children":909},{"class":47,"line":150},[910,915,919,923,927,931,935],{"type":13,"tag":45,"props":911,"children":912},{"style":63},[913],{"type":18,"value":914}," multi_draw_indirect",{"type":13,"tag":45,"props":916,"children":917},{"style":52},[918],{"type":18,"value":616},{"type":13,"tag":45,"props":920,"children":921},{"style":595},[922],{"type":18,"value":621},{"type":13,"tag":45,"props":924,"children":925},{"style":52},[926],{"type":18,"value":626},{"type":13,"tag":45,"props":928,"children":929},{"style":595},[930],{"type":18,"value":631},{"type":13,"tag":45,"props":932,"children":933},{"style":63},[934],{"type":18,"value":636},{"type":13,"tag":45,"props":936,"children":937},{"style":639},[938],{"type":18,"value":939},"// multi draw indirect\n",{"type":13,"tag":45,"props":941,"children":942},{"class":47,"line":159},[943,948,952,956,960,964,968],{"type":13,"tag":45,"props":944,"children":945},{"style":63},[946],{"type":18,"value":947}," draw_indirect_first_instance",{"type":13,"tag":45,"props":949,"children":950},{"style":52},[951],{"type":18,"value":616},{"type":13,"tag":45,"props":953,"children":954},{"style":595},[955],{"type":18,"value":621},{"type":13,"tag":45,"props":957,"children":958},{"style":52},[959],{"type":18,"value":626},{"type":13,"tag":45,"props":961,"children":962},{"style":595},[963],{"type":18,"value":631},{"type":13,"tag":45,"props":965,"children":966},{"style":63},[967],{"type":18,"value":636},{"type":13,"tag":45,"props":969,"children":970},{"style":639},[971],{"type":18,"value":972},"// indirect drawing can use non-zero firstInstance\n",{"type":13,"tag":45,"props":974,"children":975},{"class":47,"line":168},[976,981,985,989,993,997,1001],{"type":13,"tag":45,"props":977,"children":978},{"style":63},[979],{"type":18,"value":980}," depth_clamp",{"type":13,"tag":45,"props":982,"children":983},{"style":52},[984],{"type":18,"value":616},{"type":13,"tag":45,"props":986,"children":987},{"style":595},[988],{"type":18,"value":621},{"type":13,"tag":45,"props":990,"children":991},{"style":52},[992],{"type":18,"value":626},{"type":13,"tag":45,"props":994,"children":995},{"style":595},[996],{"type":18,"value":631},{"type":13,"tag":45,"props":998,"children":999},{"style":63},[1000],{"type":18,"value":636},{"type":13,"tag":45,"props":1002,"children":1003},{"style":639},[1004],{"type":18,"value":1005},"// depth clamping\n",{"type":13,"tag":45,"props":1007,"children":1008},{"class":47,"line":177},[1009,1014,1018,1022,1026,1030,1034],{"type":13,"tag":45,"props":1010,"children":1011},{"style":63},[1012],{"type":18,"value":1013}," depth_bias_clamp",{"type":13,"tag":45,"props":1015,"children":1016},{"style":52},[1017],{"type":18,"value":616},{"type":13,"tag":45,"props":1019,"children":1020},{"style":595},[1021],{"type":18,"value":621},{"type":13,"tag":45,"props":1023,"children":1024},{"style":52},[1025],{"type":18,"value":626},{"type":13,"tag":45,"props":1027,"children":1028},{"style":595},[1029],{"type":18,"value":631},{"type":13,"tag":45,"props":1031,"children":1032},{"style":63},[1033],{"type":18,"value":636},{"type":13,"tag":45,"props":1035,"children":1036},{"style":639},[1037],{"type":18,"value":1038},"// depth bias clamping\n",{"type":13,"tag":45,"props":1040,"children":1041},{"class":47,"line":186},[1042,1047,1051,1055,1059,1063,1067],{"type":13,"tag":45,"props":1043,"children":1044},{"style":63},[1045],{"type":18,"value":1046}," fill_mode_non_solid",{"type":13,"tag":45,"props":1048,"children":1049},{"style":52},[1050],{"type":18,"value":616},{"type":13,"tag":45,"props":1052,"children":1053},{"style":595},[1054],{"type":18,"value":621},{"type":13,"tag":45,"props":1056,"children":1057},{"style":52},[1058],{"type":18,"value":626},{"type":13,"tag":45,"props":1060,"children":1061},{"style":595},[1062],{"type":18,"value":631},{"type":13,"tag":45,"props":1064,"children":1065},{"style":63},[1066],{"type":18,"value":636},{"type":13,"tag":45,"props":1068,"children":1069},{"style":639},[1070],{"type":18,"value":1071},"// point and wireframe fill modes\n",{"type":13,"tag":45,"props":1073,"children":1074},{"class":47,"line":195},[1075,1080,1084,1088,1092,1096,1100],{"type":13,"tag":45,"props":1076,"children":1077},{"style":63},[1078],{"type":18,"value":1079}," depth_bounds",{"type":13,"tag":45,"props":1081,"children":1082},{"style":52},[1083],{"type":18,"value":616},{"type":13,"tag":45,"props":1085,"children":1086},{"style":595},[1087],{"type":18,"value":621},{"type":13,"tag":45,"props":1089,"children":1090},{"style":52},[1091],{"type":18,"value":626},{"type":13,"tag":45,"props":1093,"children":1094},{"style":595},[1095],{"type":18,"value":631},{"type":13,"tag":45,"props":1097,"children":1098},{"style":63},[1099],{"type":18,"value":636},{"type":13,"tag":45,"props":1101,"children":1102},{"style":639},[1103],{"type":18,"value":1104},"// depth bounds test\n",{"type":13,"tag":45,"props":1106,"children":1107},{"class":47,"line":204},[1108,1113,1117,1121,1125,1129,1133],{"type":13,"tag":45,"props":1109,"children":1110},{"style":63},[1111],{"type":18,"value":1112}," wide_lines",{"type":13,"tag":45,"props":1114,"children":1115},{"style":52},[1116],{"type":18,"value":616},{"type":13,"tag":45,"props":1118,"children":1119},{"style":595},[1120],{"type":18,"value":621},{"type":13,"tag":45,"props":1122,"children":1123},{"style":52},[1124],{"type":18,"value":626},{"type":13,"tag":45,"props":1126,"children":1127},{"style":595},[1128],{"type":18,"value":631},{"type":13,"tag":45,"props":1130,"children":1131},{"style":63},[1132],{"type":18,"value":636},{"type":13,"tag":45,"props":1134,"children":1135},{"style":639},[1136],{"type":18,"value":1137},"// lines with width greater than 1\n",{"type":13,"tag":45,"props":1139,"children":1140},{"class":47,"line":213},[1141,1146,1150,1154,1158,1162,1166],{"type":13,"tag":45,"props":1142,"children":1143},{"style":63},[1144],{"type":18,"value":1145}," large_points",{"type":13,"tag":45,"props":1147,"children":1148},{"style":52},[1149],{"type":18,"value":616},{"type":13,"tag":45,"props":1151,"children":1152},{"style":595},[1153],{"type":18,"value":621},{"type":13,"tag":45,"props":1155,"children":1156},{"style":52},[1157],{"type":18,"value":626},{"type":13,"tag":45,"props":1159,"children":1160},{"style":595},[1161],{"type":18,"value":631},{"type":13,"tag":45,"props":1163,"children":1164},{"style":63},[1165],{"type":18,"value":636},{"type":13,"tag":45,"props":1167,"children":1168},{"style":639},[1169],{"type":18,"value":1170},"// points with size greater than 1\n",{"type":13,"tag":45,"props":1172,"children":1173},{"class":47,"line":222},[1174,1179,1183,1187,1191,1195,1199],{"type":13,"tag":45,"props":1175,"children":1176},{"style":63},[1177],{"type":18,"value":1178}," alpha_to_one",{"type":13,"tag":45,"props":1180,"children":1181},{"style":52},[1182],{"type":18,"value":616},{"type":13,"tag":45,"props":1184,"children":1185},{"style":595},[1186],{"type":18,"value":621},{"type":13,"tag":45,"props":1188,"children":1189},{"style":52},[1190],{"type":18,"value":626},{"type":13,"tag":45,"props":1192,"children":1193},{"style":595},[1194],{"type":18,"value":631},{"type":13,"tag":45,"props":1196,"children":1197},{"style":63},[1198],{"type":18,"value":636},{"type":13,"tag":45,"props":1200,"children":1201},{"style":639},[1202],{"type":18,"value":1203},"// the fragment alpha component can be forced to maximum representable alpha value\n",{"type":13,"tag":45,"props":1205,"children":1206},{"class":47,"line":231},[1207,1212,1216,1220,1224,1228,1232],{"type":13,"tag":45,"props":1208,"children":1209},{"style":63},[1210],{"type":18,"value":1211}," multi_viewport",{"type":13,"tag":45,"props":1213,"children":1214},{"style":52},[1215],{"type":18,"value":616},{"type":13,"tag":45,"props":1217,"children":1218},{"style":595},[1219],{"type":18,"value":621},{"type":13,"tag":45,"props":1221,"children":1222},{"style":52},[1223],{"type":18,"value":626},{"type":13,"tag":45,"props":1225,"children":1226},{"style":595},[1227],{"type":18,"value":631},{"type":13,"tag":45,"props":1229,"children":1230},{"style":63},[1231],{"type":18,"value":636},{"type":13,"tag":45,"props":1233,"children":1234},{"style":639},[1235],{"type":18,"value":1236},"// viewport arrays\n",{"type":13,"tag":45,"props":1238,"children":1239},{"class":47,"line":240},[1240,1245,1249,1253,1257,1261,1265],{"type":13,"tag":45,"props":1241,"children":1242},{"style":63},[1243],{"type":18,"value":1244}," sampler_anisotropy",{"type":13,"tag":45,"props":1246,"children":1247},{"style":52},[1248],{"type":18,"value":616},{"type":13,"tag":45,"props":1250,"children":1251},{"style":595},[1252],{"type":18,"value":621},{"type":13,"tag":45,"props":1254,"children":1255},{"style":52},[1256],{"type":18,"value":626},{"type":13,"tag":45,"props":1258,"children":1259},{"style":595},[1260],{"type":18,"value":631},{"type":13,"tag":45,"props":1262,"children":1263},{"style":63},[1264],{"type":18,"value":636},{"type":13,"tag":45,"props":1266,"children":1267},{"style":639},[1268],{"type":18,"value":1269},"// anisotropic sampler filtering\n",{"type":13,"tag":45,"props":1271,"children":1272},{"class":47,"line":249},[1273,1278,1282,1286,1290,1294,1298],{"type":13,"tag":45,"props":1274,"children":1275},{"style":63},[1276],{"type":18,"value":1277}," texture_compression_etc2",{"type":13,"tag":45,"props":1279,"children":1280},{"style":52},[1281],{"type":18,"value":616},{"type":13,"tag":45,"props":1283,"children":1284},{"style":595},[1285],{"type":18,"value":621},{"type":13,"tag":45,"props":1287,"children":1288},{"style":52},[1289],{"type":18,"value":626},{"type":13,"tag":45,"props":1291,"children":1292},{"style":595},[1293],{"type":18,"value":631},{"type":13,"tag":45,"props":1295,"children":1296},{"style":63},[1297],{"type":18,"value":636},{"type":13,"tag":45,"props":1299,"children":1300},{"style":639},[1301],{"type":18,"value":1302},"// ETC texture compression formats\n",{"type":13,"tag":45,"props":1304,"children":1305},{"class":47,"line":258},[1306,1311,1315,1319,1323,1327,1331],{"type":13,"tag":45,"props":1307,"children":1308},{"style":63},[1309],{"type":18,"value":1310}," texture_compression_astc_ldr",{"type":13,"tag":45,"props":1312,"children":1313},{"style":52},[1314],{"type":18,"value":616},{"type":13,"tag":45,"props":1316,"children":1317},{"style":595},[1318],{"type":18,"value":621},{"type":13,"tag":45,"props":1320,"children":1321},{"style":52},[1322],{"type":18,"value":626},{"type":13,"tag":45,"props":1324,"children":1325},{"style":595},[1326],{"type":18,"value":631},{"type":13,"tag":45,"props":1328,"children":1329},{"style":63},[1330],{"type":18,"value":636},{"type":13,"tag":45,"props":1332,"children":1333},{"style":639},[1334],{"type":18,"value":1335},"// ASTC LDR texture compression formats\n",{"type":13,"tag":45,"props":1337,"children":1338},{"class":47,"line":267},[1339,1344,1348,1352,1356,1360,1364],{"type":13,"tag":45,"props":1340,"children":1341},{"style":63},[1342],{"type":18,"value":1343}," texture_compression_bc",{"type":13,"tag":45,"props":1345,"children":1346},{"style":52},[1347],{"type":18,"value":616},{"type":13,"tag":45,"props":1349,"children":1350},{"style":595},[1351],{"type":18,"value":621},{"type":13,"tag":45,"props":1353,"children":1354},{"style":52},[1355],{"type":18,"value":626},{"type":13,"tag":45,"props":1357,"children":1358},{"style":595},[1359],{"type":18,"value":631},{"type":13,"tag":45,"props":1361,"children":1362},{"style":63},[1363],{"type":18,"value":636},{"type":13,"tag":45,"props":1365,"children":1366},{"style":639},[1367],{"type":18,"value":1368},"// BC1-7 texture compressed formats\n",{"type":13,"tag":45,"props":1370,"children":1371},{"class":47,"line":276},[1372,1377,1381,1385,1389,1393,1397],{"type":13,"tag":45,"props":1373,"children":1374},{"style":63},[1375],{"type":18,"value":1376}," occlusion_query_precise",{"type":13,"tag":45,"props":1378,"children":1379},{"style":52},[1380],{"type":18,"value":616},{"type":13,"tag":45,"props":1382,"children":1383},{"style":595},[1384],{"type":18,"value":621},{"type":13,"tag":45,"props":1386,"children":1387},{"style":52},[1388],{"type":18,"value":626},{"type":13,"tag":45,"props":1390,"children":1391},{"style":595},[1392],{"type":18,"value":631},{"type":13,"tag":45,"props":1394,"children":1395},{"style":63},[1396],{"type":18,"value":636},{"type":13,"tag":45,"props":1398,"children":1399},{"style":639},[1400],{"type":18,"value":1401},"// precise occlusion queries returning actual sample counts\n",{"type":13,"tag":45,"props":1403,"children":1404},{"class":47,"line":285},[1405,1410,1414,1418,1422,1426,1430],{"type":13,"tag":45,"props":1406,"children":1407},{"style":63},[1408],{"type":18,"value":1409}," pipeline_statistics_query",{"type":13,"tag":45,"props":1411,"children":1412},{"style":52},[1413],{"type":18,"value":616},{"type":13,"tag":45,"props":1415,"children":1416},{"style":595},[1417],{"type":18,"value":621},{"type":13,"tag":45,"props":1419,"children":1420},{"style":52},[1421],{"type":18,"value":626},{"type":13,"tag":45,"props":1423,"children":1424},{"style":595},[1425],{"type":18,"value":631},{"type":13,"tag":45,"props":1427,"children":1428},{"style":63},[1429],{"type":18,"value":636},{"type":13,"tag":45,"props":1431,"children":1432},{"style":639},[1433],{"type":18,"value":1434},"// pipeline statistics query\n",{"type":13,"tag":45,"props":1436,"children":1437},{"class":47,"line":294},[1438,1443,1447,1451,1455,1459,1463],{"type":13,"tag":45,"props":1439,"children":1440},{"style":63},[1441],{"type":18,"value":1442}," vertex_pipeline_stores_and_atomics",{"type":13,"tag":45,"props":1444,"children":1445},{"style":52},[1446],{"type":18,"value":616},{"type":13,"tag":45,"props":1448,"children":1449},{"style":595},[1450],{"type":18,"value":621},{"type":13,"tag":45,"props":1452,"children":1453},{"style":52},[1454],{"type":18,"value":626},{"type":13,"tag":45,"props":1456,"children":1457},{"style":595},[1458],{"type":18,"value":631},{"type":13,"tag":45,"props":1460,"children":1461},{"style":63},[1462],{"type":18,"value":636},{"type":13,"tag":45,"props":1464,"children":1465},{"style":639},[1466],{"type":18,"value":1467},"// stores and atomic ops on storage buffers and images are supported in vertex, tessellation, and geometry stages\n",{"type":13,"tag":45,"props":1469,"children":1470},{"class":47,"line":303},[1471,1476,1480,1484,1488,1492,1496],{"type":13,"tag":45,"props":1472,"children":1473},{"style":63},[1474],{"type":18,"value":1475}," fragment_stores_and_atomics",{"type":13,"tag":45,"props":1477,"children":1478},{"style":52},[1479],{"type":18,"value":616},{"type":13,"tag":45,"props":1481,"children":1482},{"style":595},[1483],{"type":18,"value":621},{"type":13,"tag":45,"props":1485,"children":1486},{"style":52},[1487],{"type":18,"value":626},{"type":13,"tag":45,"props":1489,"children":1490},{"style":595},[1491],{"type":18,"value":631},{"type":13,"tag":45,"props":1493,"children":1494},{"style":63},[1495],{"type":18,"value":636},{"type":13,"tag":45,"props":1497,"children":1498},{"style":639},[1499],{"type":18,"value":1500},"// stores and atomic ops on storage buffers and images are supported in the fragment stage\n",{"type":13,"tag":45,"props":1502,"children":1503},{"class":47,"line":312},[1504,1509,1513,1517,1521,1525,1529],{"type":13,"tag":45,"props":1505,"children":1506},{"style":63},[1507],{"type":18,"value":1508}," shader_tessellation_and_geometry_point_size",{"type":13,"tag":45,"props":1510,"children":1511},{"style":52},[1512],{"type":18,"value":616},{"type":13,"tag":45,"props":1514,"children":1515},{"style":595},[1516],{"type":18,"value":621},{"type":13,"tag":45,"props":1518,"children":1519},{"style":52},[1520],{"type":18,"value":626},{"type":13,"tag":45,"props":1522,"children":1523},{"style":595},[1524],{"type":18,"value":631},{"type":13,"tag":45,"props":1526,"children":1527},{"style":63},[1528],{"type":18,"value":636},{"type":13,"tag":45,"props":1530,"children":1531},{"style":639},[1532],{"type":18,"value":1533},"// tessellation and geometry stages can export point size\n",{"type":13,"tag":45,"props":1535,"children":1536},{"class":47,"line":321},[1537,1542,1546,1550,1554,1558,1562],{"type":13,"tag":45,"props":1538,"children":1539},{"style":63},[1540],{"type":18,"value":1541}," shader_image_gather_extended",{"type":13,"tag":45,"props":1543,"children":1544},{"style":52},[1545],{"type":18,"value":616},{"type":13,"tag":45,"props":1547,"children":1548},{"style":595},[1549],{"type":18,"value":621},{"type":13,"tag":45,"props":1551,"children":1552},{"style":52},[1553],{"type":18,"value":626},{"type":13,"tag":45,"props":1555,"children":1556},{"style":595},[1557],{"type":18,"value":631},{"type":13,"tag":45,"props":1559,"children":1560},{"style":63},[1561],{"type":18,"value":636},{"type":13,"tag":45,"props":1563,"children":1564},{"style":639},[1565],{"type":18,"value":1566},"// image gather with runtime values and independent offsets\n",{"type":13,"tag":45,"props":1568,"children":1569},{"class":47,"line":330},[1570,1575,1579,1583,1587,1591,1595],{"type":13,"tag":45,"props":1571,"children":1572},{"style":63},[1573],{"type":18,"value":1574}," shader_storage_image_extended_formats",{"type":13,"tag":45,"props":1576,"children":1577},{"style":52},[1578],{"type":18,"value":616},{"type":13,"tag":45,"props":1580,"children":1581},{"style":595},[1582],{"type":18,"value":621},{"type":13,"tag":45,"props":1584,"children":1585},{"style":52},[1586],{"type":18,"value":626},{"type":13,"tag":45,"props":1588,"children":1589},{"style":595},[1590],{"type":18,"value":631},{"type":13,"tag":45,"props":1592,"children":1593},{"style":63},[1594],{"type":18,"value":636},{"type":13,"tag":45,"props":1596,"children":1597},{"style":639},[1598],{"type":18,"value":1599},"// the extended set of formats can be used for storage images\n",{"type":13,"tag":45,"props":1601,"children":1602},{"class":47,"line":339},[1603,1608,1612,1616,1620,1624,1628],{"type":13,"tag":45,"props":1604,"children":1605},{"style":63},[1606],{"type":18,"value":1607}," shader_storage_image_multisample",{"type":13,"tag":45,"props":1609,"children":1610},{"style":52},[1611],{"type":18,"value":616},{"type":13,"tag":45,"props":1613,"children":1614},{"style":595},[1615],{"type":18,"value":621},{"type":13,"tag":45,"props":1617,"children":1618},{"style":52},[1619],{"type":18,"value":626},{"type":13,"tag":45,"props":1621,"children":1622},{"style":595},[1623],{"type":18,"value":631},{"type":13,"tag":45,"props":1625,"children":1626},{"style":63},[1627],{"type":18,"value":636},{"type":13,"tag":45,"props":1629,"children":1630},{"style":639},[1631],{"type":18,"value":1632},"// multisample images can be used for storage images\n",{"type":13,"tag":45,"props":1634,"children":1635},{"class":47,"line":348},[1636,1641,1645,1649,1653,1657,1661],{"type":13,"tag":45,"props":1637,"children":1638},{"style":63},[1639],{"type":18,"value":1640}," shader_storage_image_read_without_format",{"type":13,"tag":45,"props":1642,"children":1643},{"style":52},[1644],{"type":18,"value":616},{"type":13,"tag":45,"props":1646,"children":1647},{"style":595},[1648],{"type":18,"value":621},{"type":13,"tag":45,"props":1650,"children":1651},{"style":52},[1652],{"type":18,"value":626},{"type":13,"tag":45,"props":1654,"children":1655},{"style":595},[1656],{"type":18,"value":631},{"type":13,"tag":45,"props":1658,"children":1659},{"style":63},[1660],{"type":18,"value":636},{"type":13,"tag":45,"props":1662,"children":1663},{"style":639},[1664],{"type":18,"value":1665},"// read from storage image does not require format qualifier\n",{"type":13,"tag":45,"props":1667,"children":1668},{"class":47,"line":357},[1669,1674,1678,1682,1686,1690,1694],{"type":13,"tag":45,"props":1670,"children":1671},{"style":63},[1672],{"type":18,"value":1673}," shader_storage_image_write_without_format",{"type":13,"tag":45,"props":1675,"children":1676},{"style":52},[1677],{"type":18,"value":616},{"type":13,"tag":45,"props":1679,"children":1680},{"style":595},[1681],{"type":18,"value":621},{"type":13,"tag":45,"props":1683,"children":1684},{"style":52},[1685],{"type":18,"value":626},{"type":13,"tag":45,"props":1687,"children":1688},{"style":595},[1689],{"type":18,"value":631},{"type":13,"tag":45,"props":1691,"children":1692},{"style":63},[1693],{"type":18,"value":636},{"type":13,"tag":45,"props":1695,"children":1696},{"style":639},[1697],{"type":18,"value":1698},"// write to storage image does not require format qualifier\n",{"type":13,"tag":45,"props":1700,"children":1701},{"class":47,"line":366},[1702,1707,1711,1715,1719,1723,1727],{"type":13,"tag":45,"props":1703,"children":1704},{"style":63},[1705],{"type":18,"value":1706}," shader_uniform_buffer_array_dynamic_indexing",{"type":13,"tag":45,"props":1708,"children":1709},{"style":52},[1710],{"type":18,"value":616},{"type":13,"tag":45,"props":1712,"children":1713},{"style":595},[1714],{"type":18,"value":621},{"type":13,"tag":45,"props":1716,"children":1717},{"style":52},[1718],{"type":18,"value":626},{"type":13,"tag":45,"props":1720,"children":1721},{"style":595},[1722],{"type":18,"value":631},{"type":13,"tag":45,"props":1724,"children":1725},{"style":63},[1726],{"type":18,"value":636},{"type":13,"tag":45,"props":1728,"children":1729},{"style":639},[1730],{"type":18,"value":1731},"// arrays of uniform buffers can be accessed with dynamically uniform indices\n",{"type":13,"tag":45,"props":1733,"children":1734},{"class":47,"line":375},[1735,1740,1744,1748,1752,1756,1760],{"type":13,"tag":45,"props":1736,"children":1737},{"style":63},[1738],{"type":18,"value":1739}," shader_sampled_image_array_dynamic_indexing",{"type":13,"tag":45,"props":1741,"children":1742},{"style":52},[1743],{"type":18,"value":616},{"type":13,"tag":45,"props":1745,"children":1746},{"style":595},[1747],{"type":18,"value":621},{"type":13,"tag":45,"props":1749,"children":1750},{"style":52},[1751],{"type":18,"value":626},{"type":13,"tag":45,"props":1753,"children":1754},{"style":595},[1755],{"type":18,"value":631},{"type":13,"tag":45,"props":1757,"children":1758},{"style":63},[1759],{"type":18,"value":636},{"type":13,"tag":45,"props":1761,"children":1762},{"style":639},[1763],{"type":18,"value":1764},"// arrays of sampled images can be accessed with dynamically uniform indices\n",{"type":13,"tag":45,"props":1766,"children":1767},{"class":47,"line":384},[1768,1773,1777,1781,1785,1789,1793],{"type":13,"tag":45,"props":1769,"children":1770},{"style":63},[1771],{"type":18,"value":1772}," shader_storage_buffer_array_dynamic_indexing",{"type":13,"tag":45,"props":1774,"children":1775},{"style":52},[1776],{"type":18,"value":616},{"type":13,"tag":45,"props":1778,"children":1779},{"style":595},[1780],{"type":18,"value":621},{"type":13,"tag":45,"props":1782,"children":1783},{"style":52},[1784],{"type":18,"value":626},{"type":13,"tag":45,"props":1786,"children":1787},{"style":595},[1788],{"type":18,"value":631},{"type":13,"tag":45,"props":1790,"children":1791},{"style":63},[1792],{"type":18,"value":636},{"type":13,"tag":45,"props":1794,"children":1795},{"style":639},[1796],{"type":18,"value":1797},"// arrays of storage buffers can be accessed with dynamically uniform indices\n",{"type":13,"tag":45,"props":1799,"children":1800},{"class":47,"line":393},[1801,1806,1810,1814,1818,1822,1826],{"type":13,"tag":45,"props":1802,"children":1803},{"style":63},[1804],{"type":18,"value":1805}," shader_storage_image_array_dynamic_indexing",{"type":13,"tag":45,"props":1807,"children":1808},{"style":52},[1809],{"type":18,"value":616},{"type":13,"tag":45,"props":1811,"children":1812},{"style":595},[1813],{"type":18,"value":621},{"type":13,"tag":45,"props":1815,"children":1816},{"style":52},[1817],{"type":18,"value":626},{"type":13,"tag":45,"props":1819,"children":1820},{"style":595},[1821],{"type":18,"value":631},{"type":13,"tag":45,"props":1823,"children":1824},{"style":63},[1825],{"type":18,"value":636},{"type":13,"tag":45,"props":1827,"children":1828},{"style":639},[1829],{"type":18,"value":1830},"// arrays of storage images can be accessed with dynamically uniform indices\n",{"type":13,"tag":45,"props":1832,"children":1833},{"class":47,"line":402},[1834,1839,1843,1847,1851,1855,1859],{"type":13,"tag":45,"props":1835,"children":1836},{"style":63},[1837],{"type":18,"value":1838}," shader_clip_distance",{"type":13,"tag":45,"props":1840,"children":1841},{"style":52},[1842],{"type":18,"value":616},{"type":13,"tag":45,"props":1844,"children":1845},{"style":595},[1846],{"type":18,"value":621},{"type":13,"tag":45,"props":1848,"children":1849},{"style":52},[1850],{"type":18,"value":626},{"type":13,"tag":45,"props":1852,"children":1853},{"style":595},[1854],{"type":18,"value":631},{"type":13,"tag":45,"props":1856,"children":1857},{"style":63},[1858],{"type":18,"value":636},{"type":13,"tag":45,"props":1860,"children":1861},{"style":639},[1862],{"type":18,"value":1863},"// clip distance in shaders\n",{"type":13,"tag":45,"props":1865,"children":1866},{"class":47,"line":411},[1867,1872,1876,1880,1884,1888,1892],{"type":13,"tag":45,"props":1868,"children":1869},{"style":63},[1870],{"type":18,"value":1871}," shader_cull_distance",{"type":13,"tag":45,"props":1873,"children":1874},{"style":52},[1875],{"type":18,"value":616},{"type":13,"tag":45,"props":1877,"children":1878},{"style":595},[1879],{"type":18,"value":621},{"type":13,"tag":45,"props":1881,"children":1882},{"style":52},[1883],{"type":18,"value":626},{"type":13,"tag":45,"props":1885,"children":1886},{"style":595},[1887],{"type":18,"value":631},{"type":13,"tag":45,"props":1889,"children":1890},{"style":63},[1891],{"type":18,"value":636},{"type":13,"tag":45,"props":1893,"children":1894},{"style":639},[1895],{"type":18,"value":1896},"// cull distance in shaders\n",{"type":13,"tag":45,"props":1898,"children":1899},{"class":47,"line":420},[1900,1905,1909,1913,1917,1921,1925],{"type":13,"tag":45,"props":1901,"children":1902},{"style":63},[1903],{"type":18,"value":1904}," shader_float64",{"type":13,"tag":45,"props":1906,"children":1907},{"style":52},[1908],{"type":18,"value":616},{"type":13,"tag":45,"props":1910,"children":1911},{"style":595},[1912],{"type":18,"value":621},{"type":13,"tag":45,"props":1914,"children":1915},{"style":52},[1916],{"type":18,"value":626},{"type":13,"tag":45,"props":1918,"children":1919},{"style":595},[1920],{"type":18,"value":631},{"type":13,"tag":45,"props":1922,"children":1923},{"style":63},[1924],{"type":18,"value":636},{"type":13,"tag":45,"props":1926,"children":1927},{"style":639},[1928],{"type":18,"value":1929},"// 64-bit floats (doubles) in shaders\n",{"type":13,"tag":45,"props":1931,"children":1932},{"class":47,"line":429},[1933,1938,1942,1946,1950,1954,1958],{"type":13,"tag":45,"props":1934,"children":1935},{"style":63},[1936],{"type":18,"value":1937}," shader_int64",{"type":13,"tag":45,"props":1939,"children":1940},{"style":52},[1941],{"type":18,"value":616},{"type":13,"tag":45,"props":1943,"children":1944},{"style":595},[1945],{"type":18,"value":621},{"type":13,"tag":45,"props":1947,"children":1948},{"style":52},[1949],{"type":18,"value":626},{"type":13,"tag":45,"props":1951,"children":1952},{"style":595},[1953],{"type":18,"value":631},{"type":13,"tag":45,"props":1955,"children":1956},{"style":63},[1957],{"type":18,"value":636},{"type":13,"tag":45,"props":1959,"children":1960},{"style":639},[1961],{"type":18,"value":1962},"// 64-bit integers in shaders\n",{"type":13,"tag":45,"props":1964,"children":1965},{"class":47,"line":438},[1966,1971,1975,1979,1983,1987,1991],{"type":13,"tag":45,"props":1967,"children":1968},{"style":63},[1969],{"type":18,"value":1970}," shader_int16",{"type":13,"tag":45,"props":1972,"children":1973},{"style":52},[1974],{"type":18,"value":616},{"type":13,"tag":45,"props":1976,"children":1977},{"style":595},[1978],{"type":18,"value":621},{"type":13,"tag":45,"props":1980,"children":1981},{"style":52},[1982],{"type":18,"value":626},{"type":13,"tag":45,"props":1984,"children":1985},{"style":595},[1986],{"type":18,"value":631},{"type":13,"tag":45,"props":1988,"children":1989},{"style":63},[1990],{"type":18,"value":636},{"type":13,"tag":45,"props":1992,"children":1993},{"style":639},[1994],{"type":18,"value":1995},"// 16-bit integers in shaders\n",{"type":13,"tag":45,"props":1997,"children":1998},{"class":47,"line":447},[1999,2004,2008,2012,2016,2020,2024],{"type":13,"tag":45,"props":2000,"children":2001},{"style":63},[2002],{"type":18,"value":2003}," shader_resource_residency",{"type":13,"tag":45,"props":2005,"children":2006},{"style":52},[2007],{"type":18,"value":616},{"type":13,"tag":45,"props":2009,"children":2010},{"style":595},[2011],{"type":18,"value":621},{"type":13,"tag":45,"props":2013,"children":2014},{"style":52},[2015],{"type":18,"value":626},{"type":13,"tag":45,"props":2017,"children":2018},{"style":595},[2019],{"type":18,"value":631},{"type":13,"tag":45,"props":2021,"children":2022},{"style":63},[2023],{"type":18,"value":636},{"type":13,"tag":45,"props":2025,"children":2026},{"style":639},[2027],{"type":18,"value":2028},"// shader can use texture operations that return resource residency information (requires sparseNonResident support)\n",{"type":13,"tag":45,"props":2030,"children":2031},{"class":47,"line":456},[2032,2037,2041,2045,2049,2053,2057],{"type":13,"tag":45,"props":2033,"children":2034},{"style":63},[2035],{"type":18,"value":2036}," shader_resource_min_lod",{"type":13,"tag":45,"props":2038,"children":2039},{"style":52},[2040],{"type":18,"value":616},{"type":13,"tag":45,"props":2042,"children":2043},{"style":595},[2044],{"type":18,"value":621},{"type":13,"tag":45,"props":2046,"children":2047},{"style":52},[2048],{"type":18,"value":626},{"type":13,"tag":45,"props":2050,"children":2051},{"style":595},[2052],{"type":18,"value":631},{"type":13,"tag":45,"props":2054,"children":2055},{"style":63},[2056],{"type":18,"value":636},{"type":13,"tag":45,"props":2058,"children":2059},{"style":639},[2060],{"type":18,"value":2061},"// shader can use texture operations that specify minimum resource LOD\n",{"type":13,"tag":45,"props":2063,"children":2064},{"class":47,"line":465},[2065,2070,2074,2078,2082,2086,2090],{"type":13,"tag":45,"props":2066,"children":2067},{"style":63},[2068],{"type":18,"value":2069}," sparse_binding",{"type":13,"tag":45,"props":2071,"children":2072},{"style":52},[2073],{"type":18,"value":616},{"type":13,"tag":45,"props":2075,"children":2076},{"style":595},[2077],{"type":18,"value":621},{"type":13,"tag":45,"props":2079,"children":2080},{"style":52},[2081],{"type":18,"value":626},{"type":13,"tag":45,"props":2083,"children":2084},{"style":595},[2085],{"type":18,"value":631},{"type":13,"tag":45,"props":2087,"children":2088},{"style":63},[2089],{"type":18,"value":636},{"type":13,"tag":45,"props":2091,"children":2092},{"style":639},[2093],{"type":18,"value":2094},"// Sparse resources support: Resource memory can be managed at opaque page level rather than object level\n",{"type":13,"tag":45,"props":2096,"children":2097},{"class":47,"line":474},[2098,2103,2107,2111,2115,2119,2123],{"type":13,"tag":45,"props":2099,"children":2100},{"style":63},[2101],{"type":18,"value":2102}," sparse_residency_buffer",{"type":13,"tag":45,"props":2104,"children":2105},{"style":52},[2106],{"type":18,"value":616},{"type":13,"tag":45,"props":2108,"children":2109},{"style":595},[2110],{"type":18,"value":621},{"type":13,"tag":45,"props":2112,"children":2113},{"style":52},[2114],{"type":18,"value":626},{"type":13,"tag":45,"props":2116,"children":2117},{"style":595},[2118],{"type":18,"value":631},{"type":13,"tag":45,"props":2120,"children":2121},{"style":63},[2122],{"type":18,"value":636},{"type":13,"tag":45,"props":2124,"children":2125},{"style":639},[2126],{"type":18,"value":2127},"// Sparse resources support: GPU can access partially resident buffers \n",{"type":13,"tag":45,"props":2129,"children":2130},{"class":47,"line":483},[2131,2136,2140,2144,2148,2152,2156],{"type":13,"tag":45,"props":2132,"children":2133},{"style":63},[2134],{"type":18,"value":2135}," sparse_residency_image2_d",{"type":13,"tag":45,"props":2137,"children":2138},{"style":52},[2139],{"type":18,"value":616},{"type":13,"tag":45,"props":2141,"children":2142},{"style":595},[2143],{"type":18,"value":621},{"type":13,"tag":45,"props":2145,"children":2146},{"style":52},[2147],{"type":18,"value":626},{"type":13,"tag":45,"props":2149,"children":2150},{"style":595},[2151],{"type":18,"value":631},{"type":13,"tag":45,"props":2153,"children":2154},{"style":63},[2155],{"type":18,"value":636},{"type":13,"tag":45,"props":2157,"children":2158},{"style":639},[2159],{"type":18,"value":2160},"// Sparse resources support: GPU can access partially resident 2D (non-MSAA non-depth/stencil) images \n",{"type":13,"tag":45,"props":2162,"children":2163},{"class":47,"line":492},[2164,2169,2173,2177,2181,2185,2189],{"type":13,"tag":45,"props":2165,"children":2166},{"style":63},[2167],{"type":18,"value":2168}," sparse_residency_image3_d",{"type":13,"tag":45,"props":2170,"children":2171},{"style":52},[2172],{"type":18,"value":616},{"type":13,"tag":45,"props":2174,"children":2175},{"style":595},[2176],{"type":18,"value":621},{"type":13,"tag":45,"props":2178,"children":2179},{"style":52},[2180],{"type":18,"value":626},{"type":13,"tag":45,"props":2182,"children":2183},{"style":595},[2184],{"type":18,"value":631},{"type":13,"tag":45,"props":2186,"children":2187},{"style":63},[2188],{"type":18,"value":636},{"type":13,"tag":45,"props":2190,"children":2191},{"style":639},[2192],{"type":18,"value":2193},"// Sparse resources support: GPU can access partially resident 3D images \n",{"type":13,"tag":45,"props":2195,"children":2196},{"class":47,"line":501},[2197,2202,2206,2210,2214,2218,2222],{"type":13,"tag":45,"props":2198,"children":2199},{"style":63},[2200],{"type":18,"value":2201}," sparse_residency2_samples",{"type":13,"tag":45,"props":2203,"children":2204},{"style":52},[2205],{"type":18,"value":616},{"type":13,"tag":45,"props":2207,"children":2208},{"style":595},[2209],{"type":18,"value":621},{"type":13,"tag":45,"props":2211,"children":2212},{"style":52},[2213],{"type":18,"value":626},{"type":13,"tag":45,"props":2215,"children":2216},{"style":595},[2217],{"type":18,"value":631},{"type":13,"tag":45,"props":2219,"children":2220},{"style":63},[2221],{"type":18,"value":636},{"type":13,"tag":45,"props":2223,"children":2224},{"style":639},[2225],{"type":18,"value":2226},"// Sparse resources support: GPU can access partially resident MSAA 2D images with 2 samples\n",{"type":13,"tag":45,"props":2228,"children":2229},{"class":47,"line":510},[2230,2235,2239,2243,2247,2251,2255],{"type":13,"tag":45,"props":2231,"children":2232},{"style":63},[2233],{"type":18,"value":2234}," sparse_residency4_samples",{"type":13,"tag":45,"props":2236,"children":2237},{"style":52},[2238],{"type":18,"value":616},{"type":13,"tag":45,"props":2240,"children":2241},{"style":595},[2242],{"type":18,"value":621},{"type":13,"tag":45,"props":2244,"children":2245},{"style":52},[2246],{"type":18,"value":626},{"type":13,"tag":45,"props":2248,"children":2249},{"style":595},[2250],{"type":18,"value":631},{"type":13,"tag":45,"props":2252,"children":2253},{"style":63},[2254],{"type":18,"value":636},{"type":13,"tag":45,"props":2256,"children":2257},{"style":639},[2258],{"type":18,"value":2259},"// Sparse resources support: GPU can access partially resident MSAA 2D images with 4 samples\n",{"type":13,"tag":45,"props":2261,"children":2262},{"class":47,"line":519},[2263,2268,2272,2276,2280,2284,2288],{"type":13,"tag":45,"props":2264,"children":2265},{"style":63},[2266],{"type":18,"value":2267}," sparse_residency8_samples",{"type":13,"tag":45,"props":2269,"children":2270},{"style":52},[2271],{"type":18,"value":616},{"type":13,"tag":45,"props":2273,"children":2274},{"style":595},[2275],{"type":18,"value":621},{"type":13,"tag":45,"props":2277,"children":2278},{"style":52},[2279],{"type":18,"value":626},{"type":13,"tag":45,"props":2281,"children":2282},{"style":595},[2283],{"type":18,"value":631},{"type":13,"tag":45,"props":2285,"children":2286},{"style":63},[2287],{"type":18,"value":636},{"type":13,"tag":45,"props":2289,"children":2290},{"style":639},[2291],{"type":18,"value":2292},"// Sparse resources support: GPU can access partially resident MSAA 2D images with 8 samples\n",{"type":13,"tag":45,"props":2294,"children":2295},{"class":47,"line":528},[2296,2301,2305,2309,2313,2317,2321],{"type":13,"tag":45,"props":2297,"children":2298},{"style":63},[2299],{"type":18,"value":2300}," sparse_residency16_samples",{"type":13,"tag":45,"props":2302,"children":2303},{"style":52},[2304],{"type":18,"value":616},{"type":13,"tag":45,"props":2306,"children":2307},{"style":595},[2308],{"type":18,"value":621},{"type":13,"tag":45,"props":2310,"children":2311},{"style":52},[2312],{"type":18,"value":626},{"type":13,"tag":45,"props":2314,"children":2315},{"style":595},[2316],{"type":18,"value":631},{"type":13,"tag":45,"props":2318,"children":2319},{"style":63},[2320],{"type":18,"value":636},{"type":13,"tag":45,"props":2322,"children":2323},{"style":639},[2324],{"type":18,"value":2325},"// Sparse resources support: GPU can access partially resident MSAA 2D images with 16 samples\n",{"type":13,"tag":45,"props":2327,"children":2328},{"class":47,"line":537},[2329,2334,2338,2342,2346,2350,2354],{"type":13,"tag":45,"props":2330,"children":2331},{"style":63},[2332],{"type":18,"value":2333}," sparse_residency_aliased",{"type":13,"tag":45,"props":2335,"children":2336},{"style":52},[2337],{"type":18,"value":616},{"type":13,"tag":45,"props":2339,"children":2340},{"style":595},[2341],{"type":18,"value":621},{"type":13,"tag":45,"props":2343,"children":2344},{"style":52},[2345],{"type":18,"value":626},{"type":13,"tag":45,"props":2347,"children":2348},{"style":595},[2349],{"type":18,"value":631},{"type":13,"tag":45,"props":2351,"children":2352},{"style":63},[2353],{"type":18,"value":636},{"type":13,"tag":45,"props":2355,"children":2356},{"style":639},[2357],{"type":18,"value":2358},"// Sparse resources support: GPU can correctly access data aliased into multiple locations (opt-in)\n",{"type":13,"tag":45,"props":2360,"children":2361},{"class":47,"line":546},[2362,2367,2371,2375,2379,2383,2387],{"type":13,"tag":45,"props":2363,"children":2364},{"style":63},[2365],{"type":18,"value":2366}," variable_multisample_rate",{"type":13,"tag":45,"props":2368,"children":2369},{"style":52},[2370],{"type":18,"value":616},{"type":13,"tag":45,"props":2372,"children":2373},{"style":595},[2374],{"type":18,"value":621},{"type":13,"tag":45,"props":2376,"children":2377},{"style":52},[2378],{"type":18,"value":626},{"type":13,"tag":45,"props":2380,"children":2381},{"style":595},[2382],{"type":18,"value":631},{"type":13,"tag":45,"props":2384,"children":2385},{"style":63},[2386],{"type":18,"value":636},{"type":13,"tag":45,"props":2388,"children":2389},{"style":639},[2390],{"type":18,"value":2391},"// multisample rate must be the same for all pipelines in a subpass\n",{"type":13,"tag":45,"props":2393,"children":2394},{"class":47,"line":555},[2395,2400,2404,2408,2412,2416,2420],{"type":13,"tag":45,"props":2396,"children":2397},{"style":63},[2398],{"type":18,"value":2399}," inherited_queries",{"type":13,"tag":45,"props":2401,"children":2402},{"style":52},[2403],{"type":18,"value":616},{"type":13,"tag":45,"props":2405,"children":2406},{"style":595},[2407],{"type":18,"value":621},{"type":13,"tag":45,"props":2409,"children":2410},{"style":52},[2411],{"type":18,"value":626},{"type":13,"tag":45,"props":2413,"children":2414},{"style":595},[2415],{"type":18,"value":631},{"type":13,"tag":45,"props":2417,"children":2418},{"style":63},[2419],{"type":18,"value":636},{"type":13,"tag":45,"props":2421,"children":2422},{"style":639},[2423],{"type":18,"value":2424},"// Queries may be inherited from primary to secondary command buffers\n",{"type":13,"tag":45,"props":2426,"children":2427},{"class":47,"line":564},[2428],{"type":13,"tag":45,"props":2429,"children":2430},{"style":63},[2431],{"type":18,"value":2432},"}\n",{"type":13,"tag":14,"props":2434,"children":2435},{},[2436],{"type":18,"value":2437},"This structure describes the following features:",{"type":13,"tag":2439,"props":2440,"children":2441},"ul",{},[2442,3155,3260,3317,3364,3414,3483,3555,3611,3660,3733,3796,3853,3912,3947,4055,4135,4172,4232,4394,4434,4602,4919,5128,5218,5274,5310,5342,5428,5478,5809,5879,5909,5938,5988,6046,6094,6135,6173,6210,6250,6289,6395,6444,6484,6578,6623,6693,6747,6814,6880,6946,7012,7068,7127],{"type":13,"tag":2443,"props":2444,"children":2445},"li",{},[2446,2451,2453,2459,2461,2467,2468,2474,2476,2483,2484,2489,2491,2496,2498,2501,2503],{"type":13,"tag":2447,"props":2448,"children":2450},"anchor",{"id":2449},"features-robustBufferAccess",[],{"type":18,"value":2452}," ",{"type":13,"tag":21,"props":2454,"children":2456},{"className":2455},[],[2457],{"type":18,"value":2458},"robustBufferAccess",{"type":18,"value":2460}," specifies that\naccesses to buffers are bounds-checked against the range of the buffer\ndescriptor (as determined by ",{"type":13,"tag":21,"props":2462,"children":2464},{"className":2463},[],[2465],{"type":18,"value":2466},"VkDescriptorBufferInfo",{"type":18,"value":626},{"type":13,"tag":21,"props":2469,"children":2471},{"className":2470},[],[2472],{"type":18,"value":2473},"range",{"type":18,"value":2475},",\n",{"type":13,"tag":2477,"props":2478,"children":2480},"a",{"href":2479},"/man/VkBufferViewCreateInfo",[2481],{"type":18,"value":2482},"VkBufferViewCreateInfo",{"type":18,"value":626},{"type":13,"tag":21,"props":2485,"children":2487},{"className":2486},[],[2488],{"type":18,"value":2473},{"type":18,"value":2490},", or the size of the buffer).\nOut of bounds accesses ",{"type":13,"tag":2492,"props":2493,"children":2495},"normative",{"type":2494},"must",[],{"type":18,"value":2497}," not cause application termination, and the\neffects of shader loads, stores, and atomics ",{"type":13,"tag":2492,"props":2499,"children":2500},{"type":2494},[],{"type":18,"value":2502}," conform to an\nimplementation-dependent behavior as described below.",{"type":13,"tag":2439,"props":2504,"children":2505},{},[2506,2699,2712,2908,2946,2982,3090,3127],{"type":13,"tag":2443,"props":2507,"children":2508},{},[2509,2511],{"type":18,"value":2510},"A buffer access is considered to be out of bounds if any of the\nfollowing are true:",{"type":13,"tag":2439,"props":2512,"children":2513},{},[2514,2527,2555,2599,2654,2676],{"type":13,"tag":2443,"props":2515,"children":2516},{},[2517,2519,2525],{"type":18,"value":2518},"The pointer was formed by ",{"type":13,"tag":21,"props":2520,"children":2522},{"className":2521},[],[2523],{"type":18,"value":2524},"OpImageTexelPointer",{"type":18,"value":2526}," and the coordinate\nis less than zero or greater than or equal to the number of whole\nelements in the bound range.",{"type":13,"tag":2443,"props":2528,"children":2529},{},[2530,2532,2537,2539,2545,2547,2553],{"type":18,"value":2531},"The pointer was not formed by ",{"type":13,"tag":21,"props":2533,"children":2535},{"className":2534},[],[2536],{"type":18,"value":2524},{"type":18,"value":2538}," and the object\npointed to is not wholly contained within the bound range.\nThis includes accesses performed via ",{"type":13,"tag":2540,"props":2541,"children":2542},"em",{},[2543],{"type":18,"value":2544},"variable pointers",{"type":18,"value":2546}," where the\nbuffer descriptor being accessed cannot be statically determined.\nUninitialized pointers and pointers equal to ",{"type":13,"tag":21,"props":2548,"children":2550},{"className":2549},[],[2551],{"type":18,"value":2552},"OpConstantNull",{"type":18,"value":2554}," are\ntreated as pointing to a zero-sized object, so all accesses through\nsuch pointers are considered to be out of bounds.\nBuffer accesses through buffer device addresses are not\nbounds-checked.",{"type":13,"tag":2443,"props":2556,"children":2557},{},[2558,2560,2577,2579,2585,2587,2593,2597],{"type":18,"value":2559},"If the ",{"type":13,"tag":2477,"props":2561,"children":2563},{"href":2562},"/man/VkPhysicalDeviceCooperativeMatrixFeaturesNV#features-cooperativeMatrixRobustBufferAccess-NV",[2564,2570,2571],{"type":13,"tag":21,"props":2565,"children":2567},{"className":2566},[],[2568],{"type":18,"value":2569},"VkPhysicalDeviceCooperativeMatrixFeaturesNV",{"type":18,"value":626},{"type":13,"tag":21,"props":2572,"children":2574},{"className":2573},[],[2575],{"type":18,"value":2576},"cooperativeMatrixRobustBufferAccess",{"type":18,"value":2578},"\nfeature is not enabled, then accesses using\n",{"type":13,"tag":21,"props":2580,"children":2582},{"className":2581},[],[2583],{"type":18,"value":2584},"OpCooperativeMatrixLoadNV",{"type":18,"value":2586}," and ",{"type":13,"tag":21,"props":2588,"children":2590},{"className":2589},[],[2591],{"type":18,"value":2592},"OpCooperativeMatrixStoreNV",{"type":13,"tag":2492,"props":2594,"children":2596},{"type":2595},"may",[],{"type":18,"value":2598}," not be bounds-checked.",{"type":13,"tag":2443,"props":2600,"children":2601},{},[2602,2603,2619,2620,2626,2627,2633,2636,2637],{"type":18,"value":2559},{"type":13,"tag":2477,"props":2604,"children":2606},{"href":2605},"/man/VkPhysicalDeviceCooperativeMatrixFeaturesKHR#features-cooperativeMatrixRobustBufferAccess",[2607,2613,2614],{"type":13,"tag":21,"props":2608,"children":2610},{"className":2609},[],[2611],{"type":18,"value":2612},"VkPhysicalDeviceCooperativeMatrixFeaturesKHR",{"type":18,"value":626},{"type":13,"tag":21,"props":2615,"children":2617},{"className":2616},[],[2618],{"type":18,"value":2576},{"type":18,"value":2578},{"type":13,"tag":21,"props":2621,"children":2623},{"className":2622},[],[2624],{"type":18,"value":2625},"OpCooperativeMatrixLoadKHR",{"type":18,"value":2586},{"type":13,"tag":21,"props":2628,"children":2630},{"className":2629},[],[2631],{"type":18,"value":2632},"OpCooperativeMatrixStoreKHR",{"type":13,"tag":2492,"props":2634,"children":2635},{"type":2595},[],{"type":18,"value":2598},{"type":13,"tag":2638,"props":2639,"children":2640},"note",{},[2641],{"type":13,"tag":14,"props":2642,"children":2643},{},[2644,2646,2652],{"type":18,"value":2645},"If a SPIR-V ",{"type":13,"tag":21,"props":2647,"children":2649},{"className":2648},[],[2650],{"type":18,"value":2651},"OpLoad",{"type":18,"value":2653}," instruction loads a structure and the tail end of\nthe structure is out of bounds, then all members of the structure are\nconsidered out of bounds even if the members at the end are not statically\nused.",{"type":13,"tag":2443,"props":2655,"children":2656},{},[2657,2659,2669,2671,2674],{"type":18,"value":2658},"If\n",{"type":13,"tag":2477,"props":2660,"children":2662},{"href":2661},"/man/VkPhysicalDeviceRobustness2FeaturesEXT#features-robustBufferAccess2",[2663],{"type":13,"tag":21,"props":2664,"children":2666},{"className":2665},[],[2667],{"type":18,"value":2668},"robustBufferAccess2",{"type":18,"value":2670}," is not\nenabled and\nany buffer access is determined to be out of bounds, then any other\naccess of the same type (load, store, or atomic) to the same buffer\nthat accesses an address less than 16 bytes away from the out of\nbounds address ",{"type":13,"tag":2492,"props":2672,"children":2673},{"type":2595},[],{"type":18,"value":2675}," also be considered out of bounds.",{"type":13,"tag":2443,"props":2677,"children":2678},{},[2679,2681,2684,2686,2692,2694,2697],{"type":18,"value":2680},"If the access is a load that reads from the same memory locations as a\nprior store in the same shader invocation, with no other intervening\naccesses to the same memory locations in that shader invocation, then\nthe result of the load ",{"type":13,"tag":2492,"props":2682,"children":2683},{"type":2595},[],{"type":18,"value":2685}," be the value stored by the store\ninstruction, even if the access is out of bounds.\nIf the load is ",{"type":13,"tag":21,"props":2687,"children":2689},{"className":2688},[],[2690],{"type":18,"value":2691},"Volatile",{"type":18,"value":2693},", then an out of bounds load ",{"type":13,"tag":2492,"props":2695,"children":2696},{"type":2494},[],{"type":18,"value":2698}," return\nthe appropriate out of bounds value.",{"type":13,"tag":2443,"props":2700,"children":2701},{},[2702,2704,2710],{"type":18,"value":2703},"Accesses to descriptors written with a ",{"type":13,"tag":2477,"props":2705,"children":2707},{"href":2706},"/man/VK_NULL_HANDLE",[2708],{"type":18,"value":2709},"VK_NULL_HANDLE",{"type":18,"value":2711}," resource or\nview are not considered to be out of bounds.\nInstead, each type of descriptor access defines a specific behavior for\naccesses to a null descriptor.",{"type":13,"tag":2443,"props":2713,"children":2714},{},[2715,2717],{"type":18,"value":2716},"Out-of-bounds buffer loads will return any of the following values:",{"type":13,"tag":2439,"props":2718,"children":2719},{},[2720,2766,2823,2833,2853,2880,2885],{"type":13,"tag":2443,"props":2721,"children":2722},{},[2723,2725,2733,2735,2745,2747,2750,2752,2760,2761,2764],{"type":18,"value":2724},"If the access is to a uniform buffer and\n",{"type":13,"tag":2477,"props":2726,"children":2727},{"href":2661},[2728],{"type":13,"tag":21,"props":2729,"children":2731},{"className":2730},[],[2732],{"type":18,"value":2668},{"type":18,"value":2734}," is\nenabled, loads of offsets between the end of the descriptor range and\nthe end of the descriptor range rounded up to a multiple of\n",{"type":13,"tag":2477,"props":2736,"children":2738},{"href":2737},"/man/VkPhysicalDeviceRobustness2PropertiesEXT#limits-robustUniformBufferAccessSizeAlignment",[2739],{"type":13,"tag":21,"props":2740,"children":2742},{"className":2741},[],[2743],{"type":18,"value":2744},"robustUniformBufferAccessSizeAlignment",{"type":18,"value":2746}," bytes ",{"type":13,"tag":2492,"props":2748,"children":2749},{"type":2494},[],{"type":18,"value":2751}," return\neither zero values or the contents of the memory at the offset being\nloaded.\nLoads of offsets past the descriptor range rounded up to a multiple of\n",{"type":13,"tag":2477,"props":2753,"children":2754},{"href":2737},[2755],{"type":13,"tag":21,"props":2756,"children":2758},{"className":2757},[],[2759],{"type":18,"value":2744},{"type":18,"value":2746},{"type":13,"tag":2492,"props":2762,"children":2763},{"type":2494},[],{"type":18,"value":2765}," return zero\nvalues.",{"type":13,"tag":2443,"props":2767,"children":2768},{},[2769,2771,2779,2780,2790,2791,2794,2795,2803,2804,2807,2809,2817,2818,2821],{"type":18,"value":2770},"If the access is to a storage buffer and\n",{"type":13,"tag":2477,"props":2772,"children":2773},{"href":2661},[2774],{"type":13,"tag":21,"props":2775,"children":2777},{"className":2776},[],[2778],{"type":18,"value":2668},{"type":18,"value":2734},{"type":13,"tag":2477,"props":2781,"children":2783},{"href":2782},"/man/VkPhysicalDeviceRobustness2PropertiesEXT#limits-robustStorageBufferAccessSizeAlignment",[2784],{"type":13,"tag":21,"props":2785,"children":2787},{"className":2786},[],[2788],{"type":18,"value":2789},"robustStorageBufferAccessSizeAlignment",{"type":18,"value":2746},{"type":13,"tag":2492,"props":2792,"children":2793},{"type":2494},[],{"type":18,"value":2751},{"type":13,"tag":2477,"props":2796,"children":2797},{"href":2782},[2798],{"type":13,"tag":21,"props":2799,"children":2801},{"className":2800},[],[2802],{"type":18,"value":2789},{"type":18,"value":2746},{"type":13,"tag":2492,"props":2805,"children":2806},{"type":2494},[],{"type":18,"value":2808}," return zero\nvalues.\nSimilarly, stores to addresses between the end of the descriptor range\nand the end of the descriptor range rounded up to a multiple of\n",{"type":13,"tag":2477,"props":2810,"children":2811},{"href":2782},[2812],{"type":13,"tag":21,"props":2813,"children":2815},{"className":2814},[],[2816],{"type":18,"value":2789},{"type":18,"value":2746},{"type":13,"tag":2492,"props":2819,"children":2820},{"type":2595},[],{"type":18,"value":2822}," be\ndiscarded.",{"type":13,"tag":2443,"props":2824,"children":2825},{},[2826,2828,2831],{"type":18,"value":2827},"Non-atomic accesses to storage buffers that are a multiple of 32 bits\n",{"type":13,"tag":2492,"props":2829,"children":2830},{"type":2595},[],{"type":18,"value":2832}," be decomposed into 32-bit accesses that are individually\nbounds-checked.",{"type":13,"tag":2443,"props":2834,"children":2835},{},[2836,2838,2846,2848,2851],{"type":18,"value":2837},"If the access is to an index buffer and\n",{"type":13,"tag":2477,"props":2839,"children":2840},{"href":2661},[2841],{"type":13,"tag":21,"props":2842,"children":2844},{"className":2843},[],[2845],{"type":18,"value":2668},{"type":18,"value":2847}," is\nenabled, zero values ",{"type":13,"tag":2492,"props":2849,"children":2850},{"type":2494},[],{"type":18,"value":2852}," be returned.",{"type":13,"tag":2443,"props":2854,"children":2855},{},[2856,2858,2866,2867,2870,2872,2878],{"type":18,"value":2857},"If the access is to a uniform texel buffer or storage texel buffer and\n",{"type":13,"tag":2477,"props":2859,"children":2860},{"href":2661},[2861],{"type":13,"tag":21,"props":2862,"children":2864},{"className":2863},[],[2865],{"type":18,"value":2668},{"type":18,"value":2847},{"type":13,"tag":2492,"props":2868,"children":2869},{"type":2494},[],{"type":18,"value":2871}," be returned, and then\n",{"type":13,"tag":2477,"props":2873,"children":2875},{"href":2874},"/chapters/textures#textures-conversion-to-rgba",[2876],{"type":18,"value":2877},"Conversion to RGBA",{"type":18,"value":2879}," is applied based on\nthe buffer view’s format.",{"type":13,"tag":2443,"props":2881,"children":2882},{},[2883],{"type":18,"value":2884},"Values from anywhere within the memory range(s) bound to the buffer\n(possibly including bytes of memory past the end of the buffer, up to\nthe end of the bound range).",{"type":13,"tag":2443,"props":2886,"children":2887},{},[2888,2890,2893,2895],{"type":18,"value":2889},"Zero values, or (0,0,0,x) vectors for vector reads where x is a\nvalid value represented in the type of the vector components and ",{"type":13,"tag":2492,"props":2891,"children":2892},{"type":2595},[],{"type":18,"value":2894},"\nbe any of:",{"type":13,"tag":2439,"props":2896,"children":2897},{},[2898,2903],{"type":13,"tag":2443,"props":2899,"children":2900},{},[2901],{"type":18,"value":2902},"0, 1, or the maximum representable positive integer value, for signed\nor unsigned integer components",{"type":13,"tag":2443,"props":2904,"children":2905},{},[2906],{"type":18,"value":2907},"0.0 or 1.0, for floating-point components",{"type":13,"tag":2443,"props":2909,"children":2910},{},[2911,2913,2916,2918,2921,2923],{"type":18,"value":2912},"Out-of-bounds writes ",{"type":13,"tag":2492,"props":2914,"children":2915},{"type":2595},[],{"type":18,"value":2917}," modify values within the memory range(s)\nbound to the buffer, but ",{"type":13,"tag":2492,"props":2919,"children":2920},{"type":2494},[],{"type":18,"value":2922}," not modify any other memory.",{"type":13,"tag":2439,"props":2924,"children":2925},{},[2926],{"type":13,"tag":2443,"props":2927,"children":2928},{},[2929,2931,2939,2941,2944],{"type":18,"value":2930},"If ",{"type":13,"tag":2477,"props":2932,"children":2933},{"href":2661},[2934],{"type":13,"tag":21,"props":2935,"children":2937},{"className":2936},[],[2938],{"type":18,"value":2668},{"type":18,"value":2940}," is\nenabled, out of bounds writes ",{"type":13,"tag":2492,"props":2942,"children":2943},{"type":2494},[],{"type":18,"value":2945}," not modify any memory.",{"type":13,"tag":2443,"props":2947,"children":2948},{},[2949,2951,2954,2955,2958,2960],{"type":18,"value":2950},"Out-of-bounds atomics ",{"type":13,"tag":2492,"props":2952,"children":2953},{"type":2595},[],{"type":18,"value":2917},{"type":13,"tag":2492,"props":2956,"children":2957},{"type":2494},[],{"type":18,"value":2959}," not modify any other memory, and return\nan undefined: value.",{"type":13,"tag":2439,"props":2961,"children":2962},{},[2963],{"type":13,"tag":2443,"props":2964,"children":2965},{},[2966,2967,2975,2977,2980],{"type":18,"value":2930},{"type":13,"tag":2477,"props":2968,"children":2969},{"href":2661},[2970],{"type":13,"tag":21,"props":2971,"children":2973},{"className":2972},[],[2974],{"type":18,"value":2668},{"type":18,"value":2976}," is\nenabled, out of bounds atomics ",{"type":13,"tag":2492,"props":2978,"children":2979},{"type":2494},[],{"type":18,"value":2981}," not modify any memory, and return\nan undefined: value.",{"type":13,"tag":2443,"props":2983,"children":2984},{},[2985,2986,2994,2996,3044,3048,3050,3055,3057,3062,3064],{"type":18,"value":2930},{"type":13,"tag":2477,"props":2987,"children":2988},{"href":2661},[2989],{"type":13,"tag":21,"props":2990,"children":2992},{"className":2991},[],[2993],{"type":18,"value":2668},{"type":18,"value":2995}," is\ndisabled, vertex\ninput attributes are considered out of bounds if the offset of the\nattribute in the bound vertex buffer range plus the size of the\nattribute is greater than either:",{"type":13,"tag":2439,"props":2997,"children":2998},{},[2999,3018],{"type":13,"tag":2443,"props":3000,"children":3001},{},[3002,3008,3010,3016],{"type":13,"tag":21,"props":3003,"children":3005},{"className":3004},[],[3006],{"type":18,"value":3007},"vertexBufferRangeSize",{"type":18,"value":3009},", if ",{"type":13,"tag":21,"props":3011,"children":3013},{"className":3012},[],[3014],{"type":18,"value":3015},"bindingStride",{"type":18,"value":3017}," == 0; or",{"type":13,"tag":2443,"props":3019,"children":3020},{},[3021,3023,3028,3030,3035,3037,3042],{"type":18,"value":3022},"(",{"type":13,"tag":21,"props":3024,"children":3026},{"className":3025},[],[3027],{"type":18,"value":3007},{"type":18,"value":3029}," - (",{"type":13,"tag":21,"props":3031,"children":3033},{"className":3032},[],[3034],{"type":18,"value":3007},{"type":18,"value":3036}," %\n",{"type":13,"tag":21,"props":3038,"children":3040},{"className":3039},[],[3041],{"type":18,"value":3015},{"type":18,"value":3043},"))",{"type":13,"tag":3045,"props":3046,"children":3047},"br",{},[],{"type":18,"value":3049},"where ",{"type":13,"tag":21,"props":3051,"children":3053},{"className":3052},[],[3054],{"type":18,"value":3007},{"type":18,"value":3056}," is the byte size of the memory range bound\nto the vertex buffer binding and ",{"type":13,"tag":21,"props":3058,"children":3060},{"className":3059},[],[3061],{"type":18,"value":3015},{"type":18,"value":3063}," is the byte stride of\nthe corresponding vertex input binding.\nFurther, if any vertex input attribute using a specific vertex input binding\nis out of bounds, then all vertex input attributes using that vertex input\nbinding for that vertex shader invocation are considered out of bounds.",{"type":13,"tag":2439,"props":3065,"children":3066},{},[3067],{"type":13,"tag":2443,"props":3068,"children":3069},{},[3070,3072],{"type":18,"value":3071},"If a vertex input attribute is out of bounds, it will be assigned one\nof the following values:",{"type":13,"tag":2439,"props":3073,"children":3074},{},[3075,3080,3085],{"type":13,"tag":2443,"props":3076,"children":3077},{},[3078],{"type":18,"value":3079},"Values from anywhere within the memory range(s) bound to the buffer,\nconverted according to the format of the attribute.",{"type":13,"tag":2443,"props":3081,"children":3082},{},[3083],{"type":18,"value":3084},"Zero values, format converted according to the format of the\nattribute.",{"type":13,"tag":2443,"props":3086,"children":3087},{},[3088],{"type":18,"value":3089},"Zero values, or (0,0,0,x) vectors, as described above.",{"type":13,"tag":2443,"props":3091,"children":3092},{},[3093,3094,3102,3104],{"type":18,"value":2930},{"type":13,"tag":2477,"props":3095,"children":3096},{"href":2661},[3097],{"type":13,"tag":21,"props":3098,"children":3100},{"className":3099},[],[3101],{"type":18,"value":2668},{"type":18,"value":3103}," is\nenabled, vertex input attributes are considered out of bounds if the\noffset of the attribute in the bound vertex buffer range plus the size\nof the attribute is greater than the byte size of the memory range\nbound to the vertex buffer binding.",{"type":13,"tag":2439,"props":3105,"children":3106},{},[3107],{"type":13,"tag":2443,"props":3108,"children":3109},{},[3110,3112,3118,3120,3125],{"type":18,"value":3111},"If a vertex input attribute is out of bounds, the\n",{"type":13,"tag":2477,"props":3113,"children":3115},{"href":3114},"/chapters/fxvertex#fxvertex-input-extraction",[3116],{"type":18,"value":3117},"raw data",{"type":18,"value":3119}," extracted are zero values, and\nmissing G, B, or A components are ",{"type":13,"tag":2477,"props":3121,"children":3122},{"href":3114},[3123],{"type":18,"value":3124},"filled\nwith (0,0,1)",{"type":18,"value":3126},".",{"type":13,"tag":2443,"props":3128,"children":3129},{},[3130,3131,3136,3138,3141,3143,3153],{"type":18,"value":2930},{"type":13,"tag":21,"props":3132,"children":3134},{"className":3133},[],[3135],{"type":18,"value":2458},{"type":18,"value":3137}," is not enabled, applications ",{"type":13,"tag":2492,"props":3139,"children":3140},{"type":2494},[],{"type":18,"value":3142}," not\nperform out of bounds accesses\nexcept under the conditions enabled by the\n",{"type":13,"tag":2477,"props":3144,"children":3146},{"href":3145},"/man/VkPhysicalDevicePipelineRobustnessFeaturesEXT#features-pipelineRobustness",[3147],{"type":13,"tag":21,"props":3148,"children":3150},{"className":3149},[],[3151],{"type":18,"value":3152},"pipelineRobustness",{"type":18,"value":3154}," feature\n.",{"type":13,"tag":2443,"props":3156,"children":3157},{},[3158,3162,3163,3169,3171,3177,3179,3185,3187,3193,3195,3198,3200,3206,3208,3212,3214,3219,3221,3226,3227,3230,3232,3236,3238,3241,3243,3248,3250,3259],{"type":13,"tag":2447,"props":3159,"children":3161},{"id":3160},"features-fullDrawIndexUint32",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3164,"children":3166},{"className":3165},[],[3167],{"type":18,"value":3168},"fullDrawIndexUint32",{"type":18,"value":3170}," specifies the\nfull 32-bit range of indices is supported for indexed draw calls when\nusing a ",{"type":13,"tag":2477,"props":3172,"children":3174},{"href":3173},"/man/VkIndexType",[3175],{"type":18,"value":3176},"VkIndexType",{"type":18,"value":3178}," of ",{"type":13,"tag":21,"props":3180,"children":3182},{"className":3181},[],[3183],{"type":18,"value":3184},"VK_INDEX_TYPE_UINT32",{"type":18,"value":3186},".\n",{"type":13,"tag":21,"props":3188,"children":3190},{"className":3189},[],[3191],{"type":18,"value":3192},"maxDrawIndexedIndexValue",{"type":18,"value":3194}," is the maximum index value that ",{"type":13,"tag":2492,"props":3196,"children":3197},{"type":2595},[],{"type":18,"value":3199}," be\nused (aside from the primitive restart index, which is always 2",{"type":13,"tag":3201,"props":3202,"children":3203},"sup",{},[3204],{"type":18,"value":3205},"32",{"type":18,"value":3207},"-1\nwhen the ",{"type":13,"tag":2477,"props":3209,"children":3210},{"href":3173},[3211],{"type":18,"value":3176},{"type":18,"value":3213}," is ",{"type":13,"tag":21,"props":3215,"children":3217},{"className":3216},[],[3218],{"type":18,"value":3184},{"type":18,"value":3220},").\nIf this feature is supported, ",{"type":13,"tag":21,"props":3222,"children":3224},{"className":3223},[],[3225],{"type":18,"value":3192},{"type":18,"value":2452},{"type":13,"tag":2492,"props":3228,"children":3229},{"type":2494},[],{"type":18,"value":3231}," be\n2",{"type":13,"tag":3201,"props":3233,"children":3234},{},[3235],{"type":18,"value":3205},{"type":18,"value":3237},"-1; otherwise it ",{"type":13,"tag":2492,"props":3239,"children":3240},{"type":2494},[],{"type":18,"value":3242}," be no smaller than 2",{"type":13,"tag":3201,"props":3244,"children":3245},{},[3246],{"type":18,"value":3247},"24",{"type":18,"value":3249},"-1.\nSee ",{"type":13,"tag":2477,"props":3251,"children":3253},{"href":3252},"/man/VkPhysicalDeviceLimits#limits-maxDrawIndexedIndexValue",[3254],{"type":13,"tag":21,"props":3255,"children":3257},{"className":3256},[],[3258],{"type":18,"value":3192},{"type":18,"value":3126},{"type":13,"tag":2443,"props":3261,"children":3262},{},[3263,3267,3268,3274,3276,3282,3284,3290,3291,3295,3297,3303,3304,3310,3312,3315],{"type":13,"tag":2447,"props":3264,"children":3266},{"id":3265},"features-imageCubeArray",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3269,"children":3271},{"className":3270},[],[3272],{"type":18,"value":3273},"imageCubeArray",{"type":18,"value":3275}," specifies whether image\nviews with a ",{"type":13,"tag":2477,"props":3277,"children":3279},{"href":3278},"/man/VkImageViewType",[3280],{"type":18,"value":3281},"VkImageViewType",{"type":18,"value":3283}," of\n",{"type":13,"tag":21,"props":3285,"children":3287},{"className":3286},[],[3288],{"type":18,"value":3289},"VK_IMAGE_VIEW_TYPE_CUBE_ARRAY",{"type":18,"value":2452},{"type":13,"tag":2492,"props":3292,"children":3294},{"type":3293},"can",[],{"type":18,"value":3296}," be created, and that the\ncorresponding ",{"type":13,"tag":21,"props":3298,"children":3300},{"className":3299},[],[3301],{"type":18,"value":3302},"SampledCubeArray",{"type":18,"value":2586},{"type":13,"tag":21,"props":3305,"children":3307},{"className":3306},[],[3308],{"type":18,"value":3309},"ImageCubeArray",{"type":18,"value":3311}," SPIR-V\ncapabilities ",{"type":13,"tag":2492,"props":3313,"children":3314},{"type":3293},[],{"type":18,"value":3316}," be used in shader code.",{"type":13,"tag":2443,"props":3318,"children":3319},{},[3320,3324,3325,3331,3333,3339,3341,3346,3348,3351,3353,3358,3359,3362],{"type":13,"tag":2447,"props":3321,"children":3323},{"id":3322},"features-independentBlend",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3326,"children":3328},{"className":3327},[],[3329],{"type":18,"value":3330},"independentBlend",{"type":18,"value":3332}," specifies whether\nthe ",{"type":13,"tag":21,"props":3334,"children":3336},{"className":3335},[],[3337],{"type":18,"value":3338},"VkPipelineColorBlendAttachmentState",{"type":18,"value":3340}," settings are controlled\nindependently per-attachment.\nIf this feature is not enabled, the\n",{"type":13,"tag":21,"props":3342,"children":3344},{"className":3343},[],[3345],{"type":18,"value":3338},{"type":18,"value":3347}," settings for all color\nattachments ",{"type":13,"tag":2492,"props":3349,"children":3350},{"type":2494},[],{"type":18,"value":3352}," be identical.\nOtherwise, a different ",{"type":13,"tag":21,"props":3354,"children":3356},{"className":3355},[],[3357],{"type":18,"value":3338},{"type":18,"value":2452},{"type":13,"tag":2492,"props":3360,"children":3361},{"type":3293},[],{"type":18,"value":3363}," be\nprovided for each bound color attachment.",{"type":13,"tag":2443,"props":3365,"children":3366},{},[3367,3371,3372,3378,3380,3386,3388,3394,3396,3399,3401,3404,3406,3412],{"type":13,"tag":2447,"props":3368,"children":3370},{"id":3369},"features-geometryShader",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3373,"children":3375},{"className":3374},[],[3376],{"type":18,"value":3377},"geometryShader",{"type":18,"value":3379}," specifies whether\ngeometry shaders are supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3381,"children":3383},{"className":3382},[],[3384],{"type":18,"value":3385},"VK_SHADER_STAGE_GEOMETRY_BIT",{"type":18,"value":3387},"\nand ",{"type":13,"tag":21,"props":3389,"children":3391},{"className":3390},[],[3392],{"type":18,"value":3393},"VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT",{"type":18,"value":3395}," enum values ",{"type":13,"tag":2492,"props":3397,"children":3398},{"type":2494},[],{"type":18,"value":3400}," not be\nused.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":3402,"children":3403},{"type":3293},[],{"type":18,"value":3405}," declare the\n",{"type":13,"tag":21,"props":3407,"children":3409},{"className":3408},[],[3410],{"type":18,"value":3411},"Geometry",{"type":18,"value":3413}," capability.",{"type":13,"tag":2443,"props":3415,"children":3416},{},[3417,3421,3422,3428,3430,3436,3437,3443,3444,3450,3451,3457,3459,3465,3467,3470,3472,3475,3476,3482],{"type":13,"tag":2447,"props":3418,"children":3420},{"id":3419},"features-tessellationShader",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3423,"children":3425},{"className":3424},[],[3426],{"type":18,"value":3427},"tessellationShader",{"type":18,"value":3429}," specifies\nwhether tessellation control and evaluation shaders are supported.\nIf this feature is not enabled, the\n",{"type":13,"tag":21,"props":3431,"children":3433},{"className":3432},[],[3434],{"type":18,"value":3435},"VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT",{"type":18,"value":2475},{"type":13,"tag":21,"props":3438,"children":3440},{"className":3439},[],[3441],{"type":18,"value":3442},"VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT",{"type":18,"value":2475},{"type":13,"tag":21,"props":3445,"children":3447},{"className":3446},[],[3448],{"type":18,"value":3449},"VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT",{"type":18,"value":2475},{"type":13,"tag":21,"props":3452,"children":3454},{"className":3453},[],[3455],{"type":18,"value":3456},"VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT",{"type":18,"value":3458},", and\n",{"type":13,"tag":21,"props":3460,"children":3462},{"className":3461},[],[3463],{"type":18,"value":3464},"VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_STATE_CREATE_INFO",{"type":18,"value":3466}," enum\nvalues ",{"type":13,"tag":2492,"props":3468,"children":3469},{"type":2494},[],{"type":18,"value":3471}," not be used.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":3473,"children":3474},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":3477,"children":3479},{"className":3478},[],[3480],{"type":18,"value":3481},"Tessellation",{"type":18,"value":3413},{"type":13,"tag":2443,"props":3484,"children":3485},{},[3486,3490,3491,3497,3499,3505,3507,3513,3515,3521,3523,3526,3528,3534,3536,3542,3544,3547,3548,3554],{"type":13,"tag":2447,"props":3487,"children":3489},{"id":3488},"features-sampleRateShading",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3492,"children":3494},{"className":3493},[],[3495],{"type":18,"value":3496},"sampleRateShading",{"type":18,"value":3498}," specifies whether\n",{"type":13,"tag":2477,"props":3500,"children":3502},{"href":3501},"/chapters/primsrast#primsrast-sampleshading",[3503],{"type":18,"value":3504},"Sample Shading",{"type":18,"value":3506}," and multisample interpolation\nare supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3508,"children":3510},{"className":3509},[],[3511],{"type":18,"value":3512},"sampleShadingEnable",{"type":18,"value":3514}," member of\nthe ",{"type":13,"tag":2477,"props":3516,"children":3518},{"href":3517},"/man/VkPipelineMultisampleStateCreateInfo",[3519],{"type":18,"value":3520},"VkPipelineMultisampleStateCreateInfo",{"type":18,"value":3522}," structure ",{"type":13,"tag":2492,"props":3524,"children":3525},{"type":2494},[],{"type":18,"value":3527}," be set to\n",{"type":13,"tag":21,"props":3529,"children":3531},{"className":3530},[],[3532],{"type":18,"value":3533},"VK_FALSE",{"type":18,"value":3535}," and the ",{"type":13,"tag":21,"props":3537,"children":3539},{"className":3538},[],[3540],{"type":18,"value":3541},"minSampleShading",{"type":18,"value":3543}," member is ignored.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":3545,"children":3546},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":3549,"children":3551},{"className":3550},[],[3552],{"type":18,"value":3553},"SampleRateShading",{"type":18,"value":3413},{"type":13,"tag":2443,"props":3556,"children":3557},{},[3558,3562,3563,3569,3571,3577,3578,3584,3585,3591,3592,3598,3599,3602,3604,3610],{"type":13,"tag":2447,"props":3559,"children":3561},{"id":3560},"features-dualSrcBlend",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3564,"children":3566},{"className":3565},[],[3567],{"type":18,"value":3568},"dualSrcBlend",{"type":18,"value":3570}," specifies whether blend\noperations which take two sources are supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3572,"children":3574},{"className":3573},[],[3575],{"type":18,"value":3576},"VK_BLEND_FACTOR_SRC1_COLOR",{"type":18,"value":2475},{"type":13,"tag":21,"props":3579,"children":3581},{"className":3580},[],[3582],{"type":18,"value":3583},"VK_BLEND_FACTOR_ONE_MINUS_SRC1_COLOR",{"type":18,"value":2475},{"type":13,"tag":21,"props":3586,"children":3588},{"className":3587},[],[3589],{"type":18,"value":3590},"VK_BLEND_FACTOR_SRC1_ALPHA",{"type":18,"value":3458},{"type":13,"tag":21,"props":3593,"children":3595},{"className":3594},[],[3596],{"type":18,"value":3597},"VK_BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA",{"type":18,"value":3395},{"type":13,"tag":2492,"props":3600,"children":3601},{"type":2494},[],{"type":18,"value":3603}," not be used\nas source or destination blending factors.\nSee ",{"type":13,"tag":2477,"props":3605,"children":3607},{"href":3606},"/chapters/framebuffer#framebuffer-dsb",[3608],{"type":18,"value":3609},"Dual-Source Blending",{"type":18,"value":3126},{"type":13,"tag":2443,"props":3612,"children":3613},{},[3614,3618,3619,3625,3627,3633,3635,3641,3642,3645,3646,3651,3653,3658],{"type":13,"tag":2447,"props":3615,"children":3617},{"id":3616},"features-logicOp",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3620,"children":3622},{"className":3621},[],[3623],{"type":18,"value":3624},"logicOp",{"type":18,"value":3626}," specifies whether logic operations\nare supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3628,"children":3630},{"className":3629},[],[3631],{"type":18,"value":3632},"logicOpEnable",{"type":18,"value":3634}," member of the\n",{"type":13,"tag":2477,"props":3636,"children":3638},{"href":3637},"/man/VkPipelineColorBlendStateCreateInfo",[3639],{"type":18,"value":3640},"VkPipelineColorBlendStateCreateInfo",{"type":18,"value":3522},{"type":13,"tag":2492,"props":3643,"children":3644},{"type":2494},[],{"type":18,"value":3527},{"type":13,"tag":21,"props":3647,"children":3649},{"className":3648},[],[3650],{"type":18,"value":3533},{"type":18,"value":3652},", and the ",{"type":13,"tag":21,"props":3654,"children":3656},{"className":3655},[],[3657],{"type":18,"value":3624},{"type":18,"value":3659}," member is ignored.",{"type":13,"tag":2443,"props":3661,"children":3662},{},[3663,3667,3668,3674,3676,3682,3684,3690,3691,3697,3699,3702,3704,3710,3711,3717,3718,3721,3723,3732],{"type":13,"tag":2447,"props":3664,"children":3666},{"id":3665},"features-multiDrawIndirect",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3669,"children":3671},{"className":3670},[],[3672],{"type":18,"value":3673},"multiDrawIndirect",{"type":18,"value":3675}," specifies whether\nmultiple draw indirect is supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3677,"children":3679},{"className":3678},[],[3680],{"type":18,"value":3681},"drawCount",{"type":18,"value":3683}," parameter to the\n",{"type":13,"tag":2477,"props":3685,"children":3687},{"href":3686},"/man/vkCmdDrawIndirect",[3688],{"type":18,"value":3689},"vkCmdDrawIndirect",{"type":18,"value":2586},{"type":13,"tag":2477,"props":3692,"children":3694},{"href":3693},"/man/vkCmdDrawIndexedIndirect",[3695],{"type":18,"value":3696},"vkCmdDrawIndexedIndirect",{"type":18,"value":3698}," commands\n",{"type":13,"tag":2492,"props":3700,"children":3701},{"type":2494},[],{"type":18,"value":3703}," be 0 or 1.\nThe ",{"type":13,"tag":21,"props":3705,"children":3707},{"className":3706},[],[3708],{"type":18,"value":3709},"maxDrawIndirectCount",{"type":18,"value":3634},{"type":13,"tag":21,"props":3712,"children":3714},{"className":3713},[],[3715],{"type":18,"value":3716},"VkPhysicalDeviceLimits",{"type":18,"value":3522},{"type":13,"tag":2492,"props":3719,"children":3720},{"type":2494},[],{"type":18,"value":3722}," also be 1 if this feature\nis not supported.\nSee ",{"type":13,"tag":2477,"props":3724,"children":3726},{"href":3725},"/man/VkPhysicalDeviceLimits#limits-maxDrawIndirectCount",[3727],{"type":13,"tag":21,"props":3728,"children":3730},{"className":3729},[],[3731],{"type":18,"value":3709},{"type":18,"value":3126},{"type":13,"tag":2443,"props":3734,"children":3735},{},[3736,3740,3741,3747,3749,3755,3757,3762,3764,3770,3771,3777,3779,3783,3785,3789,3791,3794],{"type":13,"tag":2447,"props":3737,"children":3739},{"id":3738},"features-drawIndirectFirstInstance",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3742,"children":3744},{"className":3743},[],[3745],{"type":18,"value":3746},"drawIndirectFirstInstance",{"type":18,"value":3748},"\nspecifies whether indirect drawing calls support the ",{"type":13,"tag":21,"props":3750,"children":3752},{"className":3751},[],[3753],{"type":18,"value":3754},"firstInstance",{"type":18,"value":3756},"\nparameter.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3758,"children":3760},{"className":3759},[],[3761],{"type":18,"value":3754},{"type":18,"value":3763}," member of all\n",{"type":13,"tag":21,"props":3765,"children":3767},{"className":3766},[],[3768],{"type":18,"value":3769},"VkDrawIndirectCommand",{"type":18,"value":2586},{"type":13,"tag":21,"props":3772,"children":3774},{"className":3773},[],[3775],{"type":18,"value":3776},"VkDrawIndexedIndirectCommand",{"type":18,"value":3778},"\nstructures that are provided to the ",{"type":13,"tag":2477,"props":3780,"children":3781},{"href":3686},[3782],{"type":18,"value":3689},{"type":18,"value":3784}," and\n",{"type":13,"tag":2477,"props":3786,"children":3787},{"href":3693},[3788],{"type":18,"value":3696},{"type":18,"value":3790}," commands ",{"type":13,"tag":2492,"props":3792,"children":3793},{"type":2494},[],{"type":18,"value":3795}," be 0.",{"type":13,"tag":2443,"props":3797,"children":3798},{},[3799,3803,3804,3810,3812,3818,3819,3825,3826,3829,3831,3836,3838,3843,3845,3851],{"type":13,"tag":2447,"props":3800,"children":3802},{"id":3801},"features-depthClamp",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3805,"children":3807},{"className":3806},[],[3808],{"type":18,"value":3809},"depthClamp",{"type":18,"value":3811}," specifies whether depth\nclamping is supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3813,"children":3815},{"className":3814},[],[3816],{"type":18,"value":3817},"depthClampEnable",{"type":18,"value":3634},{"type":13,"tag":2477,"props":3820,"children":3822},{"href":3821},"/man/VkPipelineRasterizationStateCreateInfo",[3823],{"type":18,"value":3824},"VkPipelineRasterizationStateCreateInfo",{"type":18,"value":3522},{"type":13,"tag":2492,"props":3827,"children":3828},{"type":2494},[],{"type":18,"value":3830}," be\n",{"type":13,"tag":21,"props":3832,"children":3834},{"className":3833},[],[3835],{"type":18,"value":3533},{"type":18,"value":3837},".\nOtherwise, setting ",{"type":13,"tag":21,"props":3839,"children":3841},{"className":3840},[],[3842],{"type":18,"value":3817},{"type":18,"value":3844}," to ",{"type":13,"tag":21,"props":3846,"children":3848},{"className":3847},[],[3849],{"type":18,"value":3850},"VK_TRUE",{"type":18,"value":3852}," will enable\ndepth clamping.",{"type":13,"tag":2443,"props":3854,"children":3855},{},[3856,3860,3861,3867,3869,3874,3875,3879,3880,3883,3885,3891,3893,3898,3900,3906,3907,3910],{"type":13,"tag":2447,"props":3857,"children":3859},{"id":3858},"features-depthBiasClamp",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3862,"children":3864},{"className":3863},[],[3865],{"type":18,"value":3866},"depthBiasClamp",{"type":18,"value":3868}," specifies whether depth\nbias clamping is supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3870,"children":3872},{"className":3871},[],[3873],{"type":18,"value":3866},{"type":18,"value":3634},{"type":13,"tag":2477,"props":3876,"children":3877},{"href":3821},[3878],{"type":18,"value":3824},{"type":18,"value":3522},{"type":13,"tag":2492,"props":3881,"children":3882},{"type":2494},[],{"type":18,"value":3884}," be set to\n0.0 unless the ",{"type":13,"tag":21,"props":3886,"children":3888},{"className":3887},[],[3889],{"type":18,"value":3890},"VK_DYNAMIC_STATE_DEPTH_BIAS",{"type":18,"value":3892}," dynamic state is\nenabled, in which case the ",{"type":13,"tag":21,"props":3894,"children":3896},{"className":3895},[],[3897],{"type":18,"value":3866},{"type":18,"value":3899}," parameter to\n",{"type":13,"tag":2477,"props":3901,"children":3903},{"href":3902},"/man/vkCmdSetDepthBias",[3904],{"type":18,"value":3905},"vkCmdSetDepthBias",{"type":18,"value":2452},{"type":13,"tag":2492,"props":3908,"children":3909},{"type":2494},[],{"type":18,"value":3911}," be set to 0.0.",{"type":13,"tag":2443,"props":3913,"children":3914},{},[3915,3919,3920,3926,3928,3934,3935,3941,3942,3945],{"type":13,"tag":2447,"props":3916,"children":3918},{"id":3917},"features-fillModeNonSolid",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3921,"children":3923},{"className":3922},[],[3924],{"type":18,"value":3925},"fillModeNonSolid",{"type":18,"value":3927}," specifies whether\npoint and wireframe fill modes are supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3929,"children":3931},{"className":3930},[],[3932],{"type":18,"value":3933},"VK_POLYGON_MODE_POINT",{"type":18,"value":3784},{"type":13,"tag":21,"props":3936,"children":3938},{"className":3937},[],[3939],{"type":18,"value":3940},"VK_POLYGON_MODE_LINE",{"type":18,"value":3395},{"type":13,"tag":2492,"props":3943,"children":3944},{"type":2494},[],{"type":18,"value":3946}," not be used.",{"type":13,"tag":2443,"props":3948,"children":3949},{},[3950,3954,3955,3961,3963,3969,3971,3977,3978,3981,3982,3987,3989,3995,3996,4001,4002,4008,4009,4012,4014,4019,4021,4026,4027,4032,4034,4040,4041,4047,4049,4053],{"type":13,"tag":2447,"props":3951,"children":3953},{"id":3952},"features-depthBounds",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":3956,"children":3958},{"className":3957},[],[3959],{"type":18,"value":3960},"depthBounds",{"type":18,"value":3962}," specifies whether depth\nbounds tests are supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":3964,"children":3966},{"className":3965},[],[3967],{"type":18,"value":3968},"depthBoundsTestEnable",{"type":18,"value":3970}," member\nof the ",{"type":13,"tag":2477,"props":3972,"children":3974},{"href":3973},"/man/VkPipelineDepthStencilStateCreateInfo",[3975],{"type":18,"value":3976},"VkPipelineDepthStencilStateCreateInfo",{"type":18,"value":3522},{"type":13,"tag":2492,"props":3979,"children":3980},{"type":2494},[],{"type":18,"value":3830},{"type":13,"tag":21,"props":3983,"children":3985},{"className":3984},[],[3986],{"type":18,"value":3533},{"type":18,"value":3988}," unless the\n",{"type":13,"tag":21,"props":3990,"children":3992},{"className":3991},[],[3993],{"type":18,"value":3994},"VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE",{"type":18,"value":3892},{"type":13,"tag":21,"props":3997,"children":3999},{"className":3998},[],[4000],{"type":18,"value":3968},{"type":18,"value":3899},{"type":13,"tag":2477,"props":4003,"children":4005},{"href":4004},"/man/vkCmdSetDepthBoundsTestEnable",[4006],{"type":18,"value":4007},"vkCmdSetDepthBoundsTestEnable",{"type":18,"value":2452},{"type":13,"tag":2492,"props":4010,"children":4011},{"type":2494},[],{"type":18,"value":4013}," be ",{"type":13,"tag":21,"props":4015,"children":4017},{"className":4016},[],[4018],{"type":18,"value":3533},{"type":18,"value":4020},".\nWhen ",{"type":13,"tag":21,"props":4022,"children":4024},{"className":4023},[],[4025],{"type":18,"value":3968},{"type":18,"value":3213},{"type":13,"tag":21,"props":4028,"children":4030},{"className":4029},[],[4031],{"type":18,"value":3533},{"type":18,"value":4033},", the\n",{"type":13,"tag":21,"props":4035,"children":4037},{"className":4036},[],[4038],{"type":18,"value":4039},"minDepthBounds",{"type":18,"value":2586},{"type":13,"tag":21,"props":4042,"children":4044},{"className":4043},[],[4045],{"type":18,"value":4046},"maxDepthBounds",{"type":18,"value":4048}," members of the\n",{"type":13,"tag":2477,"props":4050,"children":4051},{"href":3973},[4052],{"type":18,"value":3976},{"type":18,"value":4054}," structure are ignored.",{"type":13,"tag":2443,"props":4056,"children":4057},{},[4058,4062,4063,4069,4071,4077,4078,4082,4083,4086,4088,4094,4095,4100,4101,4107,4108,4111,4113,4119,4120,4126,4128,4133],{"type":13,"tag":2447,"props":4059,"children":4061},{"id":4060},"features-wideLines",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4064,"children":4066},{"className":4065},[],[4067],{"type":18,"value":4068},"wideLines",{"type":18,"value":4070}," specifies whether lines with\nwidth other than 1.0 are supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":4072,"children":4074},{"className":4073},[],[4075],{"type":18,"value":4076},"lineWidth",{"type":18,"value":3634},{"type":13,"tag":2477,"props":4079,"children":4080},{"href":3821},[4081],{"type":18,"value":3824},{"type":18,"value":3522},{"type":13,"tag":2492,"props":4084,"children":4085},{"type":2494},[],{"type":18,"value":4087}," be set to\n1.0 unless the ",{"type":13,"tag":21,"props":4089,"children":4091},{"className":4090},[],[4092],{"type":18,"value":4093},"VK_DYNAMIC_STATE_LINE_WIDTH",{"type":18,"value":3892},{"type":13,"tag":21,"props":4096,"children":4098},{"className":4097},[],[4099],{"type":18,"value":4076},{"type":18,"value":3899},{"type":13,"tag":2477,"props":4102,"children":4104},{"href":4103},"/man/vkCmdSetLineWidth",[4105],{"type":18,"value":4106},"vkCmdSetLineWidth",{"type":18,"value":2452},{"type":13,"tag":2492,"props":4109,"children":4110},{"type":2494},[],{"type":18,"value":4112}," be set to 1.0.\nWhen this feature is supported, the range and granularity of supported\nline widths are indicated by the ",{"type":13,"tag":21,"props":4114,"children":4116},{"className":4115},[],[4117],{"type":18,"value":4118},"lineWidthRange",{"type":18,"value":3784},{"type":13,"tag":21,"props":4121,"children":4123},{"className":4122},[],[4124],{"type":18,"value":4125},"lineWidthGranularity",{"type":18,"value":4127}," members of the ",{"type":13,"tag":21,"props":4129,"children":4131},{"className":4130},[],[4132],{"type":18,"value":3716},{"type":18,"value":4134},"\nstructure, respectively.",{"type":13,"tag":2443,"props":4136,"children":4137},{},[4138,4142,4143,4149,4151,4157,4158,4164,4165,4170],{"type":13,"tag":2447,"props":4139,"children":4141},{"id":4140},"features-largePoints",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4144,"children":4146},{"className":4145},[],[4147],{"type":18,"value":4148},"largePoints",{"type":18,"value":4150}," specifies whether points with\nsize greater than 1.0 are supported.\nIf this feature is not enabled, only a point size of 1.0 written by a\nshader is supported.\nThe range and granularity of supported point sizes are indicated by the\n",{"type":13,"tag":21,"props":4152,"children":4154},{"className":4153},[],[4155],{"type":18,"value":4156},"pointSizeRange",{"type":18,"value":2586},{"type":13,"tag":21,"props":4159,"children":4161},{"className":4160},[],[4162],{"type":18,"value":4163},"pointSizeGranularity",{"type":18,"value":4048},{"type":13,"tag":21,"props":4166,"children":4168},{"className":4167},[],[4169],{"type":18,"value":3716},{"type":18,"value":4171}," structure, respectively.",{"type":13,"tag":2443,"props":4173,"children":4174},{},[4175,4179,4180,4186,4188,4194,4196,4202,4203,4207,4208,4211,4212,4217,4219,4224,4225,4230],{"type":13,"tag":2447,"props":4176,"children":4178},{"id":4177},"features-alphaToOne",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4181,"children":4183},{"className":4182},[],[4184],{"type":18,"value":4185},"alphaToOne",{"type":18,"value":4187}," specifies whether the\nimplementation is able to replace the alpha value of the fragment shader\ncolor output in the ",{"type":13,"tag":2477,"props":4189,"children":4191},{"href":4190},"/chapters/fragops#fragops-covg",[4192],{"type":18,"value":4193},"Multisample Coverage",{"type":18,"value":4195}," fragment\noperation.\nIf this feature is not enabled, then the ",{"type":13,"tag":21,"props":4197,"children":4199},{"className":4198},[],[4200],{"type":18,"value":4201},"alphaToOneEnable",{"type":18,"value":3970},{"type":13,"tag":2477,"props":4204,"children":4205},{"href":3517},[4206],{"type":18,"value":3520},{"type":18,"value":3522},{"type":13,"tag":2492,"props":4209,"children":4210},{"type":2494},[],{"type":18,"value":3830},{"type":13,"tag":21,"props":4213,"children":4215},{"className":4214},[],[4216],{"type":18,"value":3533},{"type":18,"value":4218},".\nOtherwise setting ",{"type":13,"tag":21,"props":4220,"children":4222},{"className":4221},[],[4223],{"type":18,"value":4201},{"type":18,"value":3844},{"type":13,"tag":21,"props":4226,"children":4228},{"className":4227},[],[4229],{"type":18,"value":3850},{"type":18,"value":4231}," will enable\nalpha-to-one behavior.",{"type":13,"tag":2443,"props":4233,"children":4234},{},[4235,4239,4240,4246,4248],{"type":13,"tag":2447,"props":4236,"children":4238},{"id":4237},"features-multiViewport",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4241,"children":4243},{"className":4242},[],[4244],{"type":18,"value":4245},"multiViewport",{"type":18,"value":4247}," specifies whether more\nthan one viewport is supported.\nIf this feature is not enabled:",{"type":13,"tag":2439,"props":4249,"children":4250},{},[4251,4281,4312,4340,4364],{"type":13,"tag":2443,"props":4252,"children":4253},{},[4254,4255,4261,4262,4268,4269,4275,4276,4279],{"type":18,"value":19},{"type":13,"tag":21,"props":4256,"children":4258},{"className":4257},[],[4259],{"type":18,"value":4260},"viewportCount",{"type":18,"value":2586},{"type":13,"tag":21,"props":4263,"children":4265},{"className":4264},[],[4266],{"type":18,"value":4267},"scissorCount",{"type":18,"value":4048},{"type":13,"tag":2477,"props":4270,"children":4272},{"href":4271},"/man/VkPipelineViewportStateCreateInfo",[4273],{"type":18,"value":4274},"VkPipelineViewportStateCreateInfo",{"type":18,"value":3522},{"type":13,"tag":2492,"props":4277,"children":4278},{"type":2494},[],{"type":18,"value":4280}," be set to 1.",{"type":13,"tag":2443,"props":4282,"children":4283},{},[4284,4285,4291,4292,4297,4299,4305,4307,4310],{"type":18,"value":19},{"type":13,"tag":21,"props":4286,"children":4288},{"className":4287},[],[4289],{"type":18,"value":4290},"firstViewport",{"type":18,"value":2586},{"type":13,"tag":21,"props":4293,"children":4295},{"className":4294},[],[4296],{"type":18,"value":4260},{"type":18,"value":4298}," parameters to the\n",{"type":13,"tag":2477,"props":4300,"children":4302},{"href":4301},"/man/vkCmdSetViewport",[4303],{"type":18,"value":4304},"vkCmdSetViewport",{"type":18,"value":4306}," command ",{"type":13,"tag":2492,"props":4308,"children":4309},{"type":2494},[],{"type":18,"value":4311}," be set to 0 and 1, respectively.",{"type":13,"tag":2443,"props":4313,"children":4314},{},[4315,4316,4322,4323,4328,4329,4335,4336,4339],{"type":18,"value":19},{"type":13,"tag":21,"props":4317,"children":4319},{"className":4318},[],[4320],{"type":18,"value":4321},"firstScissor",{"type":18,"value":2586},{"type":13,"tag":21,"props":4324,"children":4326},{"className":4325},[],[4327],{"type":18,"value":4267},{"type":18,"value":4298},{"type":13,"tag":2477,"props":4330,"children":4332},{"href":4331},"/man/vkCmdSetScissor",[4333],{"type":18,"value":4334},"vkCmdSetScissor",{"type":18,"value":4306},{"type":13,"tag":2492,"props":4337,"children":4338},{"type":2494},[],{"type":18,"value":4311},{"type":13,"tag":2443,"props":4341,"children":4342},{},[4343,4344,4350,4351,4357,4359,4362],{"type":18,"value":19},{"type":13,"tag":21,"props":4345,"children":4347},{"className":4346},[],[4348],{"type":18,"value":4349},"exclusiveScissorCount",{"type":18,"value":3634},{"type":13,"tag":2477,"props":4352,"children":4354},{"href":4353},"/man/VkPipelineViewportExclusiveScissorStateCreateInfoNV",[4355],{"type":18,"value":4356},"VkPipelineViewportExclusiveScissorStateCreateInfoNV",{"type":18,"value":4358}," structure\n",{"type":13,"tag":2492,"props":4360,"children":4361},{"type":2494},[],{"type":18,"value":4363}," be set to 0 or 1.",{"type":13,"tag":2443,"props":4365,"children":4366},{},[4367,4368,4374,4375,4380,4382,4388,4389,4392],{"type":18,"value":19},{"type":13,"tag":21,"props":4369,"children":4371},{"className":4370},[],[4372],{"type":18,"value":4373},"firstExclusiveScissor",{"type":18,"value":2586},{"type":13,"tag":21,"props":4376,"children":4378},{"className":4377},[],[4379],{"type":18,"value":4349},{"type":18,"value":4381},"\nparameters to the ",{"type":13,"tag":2477,"props":4383,"children":4385},{"href":4384},"/man/vkCmdSetExclusiveScissorNV",[4386],{"type":18,"value":4387},"vkCmdSetExclusiveScissorNV",{"type":18,"value":4306},{"type":13,"tag":2492,"props":4390,"children":4391},{"type":2494},[],{"type":18,"value":4393}," be set\nto 0 and 1, respectively.",{"type":13,"tag":2443,"props":4395,"children":4396},{},[4397,4401,4402,4408,4410,4416,4417,4423,4424,4427,4428,4433],{"type":13,"tag":2447,"props":4398,"children":4400},{"id":4399},"features-samplerAnisotropy",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4403,"children":4405},{"className":4404},[],[4406],{"type":18,"value":4407},"samplerAnisotropy",{"type":18,"value":4409}," specifies whether\nanisotropic filtering is supported.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":4411,"children":4413},{"className":4412},[],[4414],{"type":18,"value":4415},"anisotropyEnable",{"type":18,"value":3634},{"type":13,"tag":2477,"props":4418,"children":4420},{"href":4419},"/man/VkSamplerCreateInfo",[4421],{"type":18,"value":4422},"VkSamplerCreateInfo",{"type":18,"value":3522},{"type":13,"tag":2492,"props":4425,"children":4426},{"type":2494},[],{"type":18,"value":4013},{"type":13,"tag":21,"props":4429,"children":4431},{"className":4430},[],[4432],{"type":18,"value":3533},{"type":18,"value":3126},{"type":13,"tag":2443,"props":4435,"children":4436},{},[4437,4441,4442,4448,4450,4456,4457,4463,4464,4470,4472,4475,4477,4483,4485,4578,4581,4583,4589,4590,4596,4597,4600],{"type":13,"tag":2447,"props":4438,"children":4440},{"id":4439},"features-textureCompressionETC2",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4443,"children":4445},{"className":4444},[],[4446],{"type":18,"value":4447},"textureCompressionETC2",{"type":18,"value":4449},"\nspecifies whether all of the ETC2 and EAC compressed texture formats are\nsupported.\nIf this feature is enabled, then the\n",{"type":13,"tag":21,"props":4451,"children":4453},{"className":4452},[],[4454],{"type":18,"value":4455},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT",{"type":18,"value":2475},{"type":13,"tag":21,"props":4458,"children":4460},{"className":4459},[],[4461],{"type":18,"value":4462},"VK_FORMAT_FEATURE_BLIT_SRC_BIT",{"type":18,"value":3784},{"type":13,"tag":21,"props":4465,"children":4467},{"className":4466},[],[4468],{"type":18,"value":4469},"VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT",{"type":18,"value":4471}," features ",{"type":13,"tag":2492,"props":4473,"children":4474},{"type":2494},[],{"type":18,"value":4476},"\nbe supported in ",{"type":13,"tag":21,"props":4478,"children":4480},{"className":4479},[],[4481],{"type":18,"value":4482},"optimalTilingFeatures",{"type":18,"value":4484}," for the following formats:",{"type":13,"tag":2439,"props":4486,"children":4487},{},[4488,4497,4506,4515,4524,4533,4542,4551,4560,4569],{"type":13,"tag":2443,"props":4489,"children":4490},{},[4491],{"type":13,"tag":21,"props":4492,"children":4494},{"className":4493},[],[4495],{"type":18,"value":4496},"VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK",{"type":13,"tag":2443,"props":4498,"children":4499},{},[4500],{"type":13,"tag":21,"props":4501,"children":4503},{"className":4502},[],[4504],{"type":18,"value":4505},"VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK",{"type":13,"tag":2443,"props":4507,"children":4508},{},[4509],{"type":13,"tag":21,"props":4510,"children":4512},{"className":4511},[],[4513],{"type":18,"value":4514},"VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK",{"type":13,"tag":2443,"props":4516,"children":4517},{},[4518],{"type":13,"tag":21,"props":4519,"children":4521},{"className":4520},[],[4522],{"type":18,"value":4523},"VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK",{"type":13,"tag":2443,"props":4525,"children":4526},{},[4527],{"type":13,"tag":21,"props":4528,"children":4530},{"className":4529},[],[4531],{"type":18,"value":4532},"VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK",{"type":13,"tag":2443,"props":4534,"children":4535},{},[4536],{"type":13,"tag":21,"props":4537,"children":4539},{"className":4538},[],[4540],{"type":18,"value":4541},"VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK",{"type":13,"tag":2443,"props":4543,"children":4544},{},[4545],{"type":13,"tag":21,"props":4546,"children":4548},{"className":4547},[],[4549],{"type":18,"value":4550},"VK_FORMAT_EAC_R11_UNORM_BLOCK",{"type":13,"tag":2443,"props":4552,"children":4553},{},[4554],{"type":13,"tag":21,"props":4555,"children":4557},{"className":4556},[],[4558],{"type":18,"value":4559},"VK_FORMAT_EAC_R11_SNORM_BLOCK",{"type":13,"tag":2443,"props":4561,"children":4562},{},[4563],{"type":13,"tag":21,"props":4564,"children":4566},{"className":4565},[],[4567],{"type":18,"value":4568},"VK_FORMAT_EAC_R11G11_UNORM_BLOCK",{"type":13,"tag":2443,"props":4570,"children":4571},{},[4572],{"type":13,"tag":21,"props":4573,"children":4575},{"className":4574},[],[4576],{"type":18,"value":4577},"VK_FORMAT_EAC_R11G11_SNORM_BLOCK",{"type":13,"tag":3045,"props":4579,"children":4580},{},[],{"type":18,"value":4582},"To query for additional properties, or if the feature is not enabled,\n",{"type":13,"tag":2477,"props":4584,"children":4586},{"href":4585},"/man/vkGetPhysicalDeviceFormatProperties",[4587],{"type":18,"value":4588},"vkGetPhysicalDeviceFormatProperties",{"type":18,"value":3784},{"type":13,"tag":2477,"props":4591,"children":4593},{"href":4592},"/man/vkGetPhysicalDeviceImageFormatProperties",[4594],{"type":18,"value":4595},"vkGetPhysicalDeviceImageFormatProperties",{"type":18,"value":2452},{"type":13,"tag":2492,"props":4598,"children":4599},{"type":3293},[],{"type":18,"value":4601}," be used to check for\nsupported properties of individual formats as normal.",{"type":13,"tag":2443,"props":4603,"children":4604},{},[4605,4609,4610,4616,4618,4623,4624,4629,4630,4635,4636,4639,4640,4645,4646,4901,4904,4905,4909,4910,4914,4915,4918],{"type":13,"tag":2447,"props":4606,"children":4608},{"id":4607},"features-textureCompressionASTC\\_LDR",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4611,"children":4613},{"className":4612},[],[4614],{"type":18,"value":4615},"textureCompressionASTC_LDR",{"type":18,"value":4617},"\nspecifies whether all of the ASTC LDR compressed texture formats are\nsupported.\nIf this feature is enabled, then the\n",{"type":13,"tag":21,"props":4619,"children":4621},{"className":4620},[],[4622],{"type":18,"value":4455},{"type":18,"value":2475},{"type":13,"tag":21,"props":4625,"children":4627},{"className":4626},[],[4628],{"type":18,"value":4462},{"type":18,"value":3784},{"type":13,"tag":21,"props":4631,"children":4633},{"className":4632},[],[4634],{"type":18,"value":4469},{"type":18,"value":4471},{"type":13,"tag":2492,"props":4637,"children":4638},{"type":2494},[],{"type":18,"value":4476},{"type":13,"tag":21,"props":4641,"children":4643},{"className":4642},[],[4644],{"type":18,"value":4482},{"type":18,"value":4484},{"type":13,"tag":2439,"props":4647,"children":4648},{},[4649,4658,4667,4676,4685,4694,4703,4712,4721,4730,4739,4748,4757,4766,4775,4784,4793,4802,4811,4820,4829,4838,4847,4856,4865,4874,4883,4892],{"type":13,"tag":2443,"props":4650,"children":4651},{},[4652],{"type":13,"tag":21,"props":4653,"children":4655},{"className":4654},[],[4656],{"type":18,"value":4657},"VK_FORMAT_ASTC_4x4_UNORM_BLOCK",{"type":13,"tag":2443,"props":4659,"children":4660},{},[4661],{"type":13,"tag":21,"props":4662,"children":4664},{"className":4663},[],[4665],{"type":18,"value":4666},"VK_FORMAT_ASTC_4x4_SRGB_BLOCK",{"type":13,"tag":2443,"props":4668,"children":4669},{},[4670],{"type":13,"tag":21,"props":4671,"children":4673},{"className":4672},[],[4674],{"type":18,"value":4675},"VK_FORMAT_ASTC_5x4_UNORM_BLOCK",{"type":13,"tag":2443,"props":4677,"children":4678},{},[4679],{"type":13,"tag":21,"props":4680,"children":4682},{"className":4681},[],[4683],{"type":18,"value":4684},"VK_FORMAT_ASTC_5x4_SRGB_BLOCK",{"type":13,"tag":2443,"props":4686,"children":4687},{},[4688],{"type":13,"tag":21,"props":4689,"children":4691},{"className":4690},[],[4692],{"type":18,"value":4693},"VK_FORMAT_ASTC_5x5_UNORM_BLOCK",{"type":13,"tag":2443,"props":4695,"children":4696},{},[4697],{"type":13,"tag":21,"props":4698,"children":4700},{"className":4699},[],[4701],{"type":18,"value":4702},"VK_FORMAT_ASTC_5x5_SRGB_BLOCK",{"type":13,"tag":2443,"props":4704,"children":4705},{},[4706],{"type":13,"tag":21,"props":4707,"children":4709},{"className":4708},[],[4710],{"type":18,"value":4711},"VK_FORMAT_ASTC_6x5_UNORM_BLOCK",{"type":13,"tag":2443,"props":4713,"children":4714},{},[4715],{"type":13,"tag":21,"props":4716,"children":4718},{"className":4717},[],[4719],{"type":18,"value":4720},"VK_FORMAT_ASTC_6x5_SRGB_BLOCK",{"type":13,"tag":2443,"props":4722,"children":4723},{},[4724],{"type":13,"tag":21,"props":4725,"children":4727},{"className":4726},[],[4728],{"type":18,"value":4729},"VK_FORMAT_ASTC_6x6_UNORM_BLOCK",{"type":13,"tag":2443,"props":4731,"children":4732},{},[4733],{"type":13,"tag":21,"props":4734,"children":4736},{"className":4735},[],[4737],{"type":18,"value":4738},"VK_FORMAT_ASTC_6x6_SRGB_BLOCK",{"type":13,"tag":2443,"props":4740,"children":4741},{},[4742],{"type":13,"tag":21,"props":4743,"children":4745},{"className":4744},[],[4746],{"type":18,"value":4747},"VK_FORMAT_ASTC_8x5_UNORM_BLOCK",{"type":13,"tag":2443,"props":4749,"children":4750},{},[4751],{"type":13,"tag":21,"props":4752,"children":4754},{"className":4753},[],[4755],{"type":18,"value":4756},"VK_FORMAT_ASTC_8x5_SRGB_BLOCK",{"type":13,"tag":2443,"props":4758,"children":4759},{},[4760],{"type":13,"tag":21,"props":4761,"children":4763},{"className":4762},[],[4764],{"type":18,"value":4765},"VK_FORMAT_ASTC_8x6_UNORM_BLOCK",{"type":13,"tag":2443,"props":4767,"children":4768},{},[4769],{"type":13,"tag":21,"props":4770,"children":4772},{"className":4771},[],[4773],{"type":18,"value":4774},"VK_FORMAT_ASTC_8x6_SRGB_BLOCK",{"type":13,"tag":2443,"props":4776,"children":4777},{},[4778],{"type":13,"tag":21,"props":4779,"children":4781},{"className":4780},[],[4782],{"type":18,"value":4783},"VK_FORMAT_ASTC_8x8_UNORM_BLOCK",{"type":13,"tag":2443,"props":4785,"children":4786},{},[4787],{"type":13,"tag":21,"props":4788,"children":4790},{"className":4789},[],[4791],{"type":18,"value":4792},"VK_FORMAT_ASTC_8x8_SRGB_BLOCK",{"type":13,"tag":2443,"props":4794,"children":4795},{},[4796],{"type":13,"tag":21,"props":4797,"children":4799},{"className":4798},[],[4800],{"type":18,"value":4801},"VK_FORMAT_ASTC_10x5_UNORM_BLOCK",{"type":13,"tag":2443,"props":4803,"children":4804},{},[4805],{"type":13,"tag":21,"props":4806,"children":4808},{"className":4807},[],[4809],{"type":18,"value":4810},"VK_FORMAT_ASTC_10x5_SRGB_BLOCK",{"type":13,"tag":2443,"props":4812,"children":4813},{},[4814],{"type":13,"tag":21,"props":4815,"children":4817},{"className":4816},[],[4818],{"type":18,"value":4819},"VK_FORMAT_ASTC_10x6_UNORM_BLOCK",{"type":13,"tag":2443,"props":4821,"children":4822},{},[4823],{"type":13,"tag":21,"props":4824,"children":4826},{"className":4825},[],[4827],{"type":18,"value":4828},"VK_FORMAT_ASTC_10x6_SRGB_BLOCK",{"type":13,"tag":2443,"props":4830,"children":4831},{},[4832],{"type":13,"tag":21,"props":4833,"children":4835},{"className":4834},[],[4836],{"type":18,"value":4837},"VK_FORMAT_ASTC_10x8_UNORM_BLOCK",{"type":13,"tag":2443,"props":4839,"children":4840},{},[4841],{"type":13,"tag":21,"props":4842,"children":4844},{"className":4843},[],[4845],{"type":18,"value":4846},"VK_FORMAT_ASTC_10x8_SRGB_BLOCK",{"type":13,"tag":2443,"props":4848,"children":4849},{},[4850],{"type":13,"tag":21,"props":4851,"children":4853},{"className":4852},[],[4854],{"type":18,"value":4855},"VK_FORMAT_ASTC_10x10_UNORM_BLOCK",{"type":13,"tag":2443,"props":4857,"children":4858},{},[4859],{"type":13,"tag":21,"props":4860,"children":4862},{"className":4861},[],[4863],{"type":18,"value":4864},"VK_FORMAT_ASTC_10x10_SRGB_BLOCK",{"type":13,"tag":2443,"props":4866,"children":4867},{},[4868],{"type":13,"tag":21,"props":4869,"children":4871},{"className":4870},[],[4872],{"type":18,"value":4873},"VK_FORMAT_ASTC_12x10_UNORM_BLOCK",{"type":13,"tag":2443,"props":4875,"children":4876},{},[4877],{"type":13,"tag":21,"props":4878,"children":4880},{"className":4879},[],[4881],{"type":18,"value":4882},"VK_FORMAT_ASTC_12x10_SRGB_BLOCK",{"type":13,"tag":2443,"props":4884,"children":4885},{},[4886],{"type":13,"tag":21,"props":4887,"children":4889},{"className":4888},[],[4890],{"type":18,"value":4891},"VK_FORMAT_ASTC_12x12_UNORM_BLOCK",{"type":13,"tag":2443,"props":4893,"children":4894},{},[4895],{"type":13,"tag":21,"props":4896,"children":4898},{"className":4897},[],[4899],{"type":18,"value":4900},"VK_FORMAT_ASTC_12x12_SRGB_BLOCK",{"type":13,"tag":3045,"props":4902,"children":4903},{},[],{"type":18,"value":4582},{"type":13,"tag":2477,"props":4906,"children":4907},{"href":4585},[4908],{"type":18,"value":4588},{"type":18,"value":3784},{"type":13,"tag":2477,"props":4911,"children":4912},{"href":4592},[4913],{"type":18,"value":4595},{"type":18,"value":2452},{"type":13,"tag":2492,"props":4916,"children":4917},{"type":3293},[],{"type":18,"value":4601},{"type":13,"tag":2443,"props":4920,"children":4921},{},[4922,4926,4927,4933,4935,4940,4941,4946,4947,4952,4953,4956,4957,4962,4963,5110,5113,5114,5118,5119,5123,5124,5127],{"type":13,"tag":2447,"props":4923,"children":4925},{"id":4924},"features-textureCompressionBC",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":4928,"children":4930},{"className":4929},[],[4931],{"type":18,"value":4932},"textureCompressionBC",{"type":18,"value":4934}," specifies\nwhether all of the BC compressed texture formats are supported.\nIf this feature is enabled, then the\n",{"type":13,"tag":21,"props":4936,"children":4938},{"className":4937},[],[4939],{"type":18,"value":4455},{"type":18,"value":2475},{"type":13,"tag":21,"props":4942,"children":4944},{"className":4943},[],[4945],{"type":18,"value":4462},{"type":18,"value":3784},{"type":13,"tag":21,"props":4948,"children":4950},{"className":4949},[],[4951],{"type":18,"value":4469},{"type":18,"value":4471},{"type":13,"tag":2492,"props":4954,"children":4955},{"type":2494},[],{"type":18,"value":4476},{"type":13,"tag":21,"props":4958,"children":4960},{"className":4959},[],[4961],{"type":18,"value":4482},{"type":18,"value":4484},{"type":13,"tag":2439,"props":4964,"children":4965},{},[4966,4975,4984,4993,5002,5011,5020,5029,5038,5047,5056,5065,5074,5083,5092,5101],{"type":13,"tag":2443,"props":4967,"children":4968},{},[4969],{"type":13,"tag":21,"props":4970,"children":4972},{"className":4971},[],[4973],{"type":18,"value":4974},"VK_FORMAT_BC1_RGB_UNORM_BLOCK",{"type":13,"tag":2443,"props":4976,"children":4977},{},[4978],{"type":13,"tag":21,"props":4979,"children":4981},{"className":4980},[],[4982],{"type":18,"value":4983},"VK_FORMAT_BC1_RGB_SRGB_BLOCK",{"type":13,"tag":2443,"props":4985,"children":4986},{},[4987],{"type":13,"tag":21,"props":4988,"children":4990},{"className":4989},[],[4991],{"type":18,"value":4992},"VK_FORMAT_BC1_RGBA_UNORM_BLOCK",{"type":13,"tag":2443,"props":4994,"children":4995},{},[4996],{"type":13,"tag":21,"props":4997,"children":4999},{"className":4998},[],[5000],{"type":18,"value":5001},"VK_FORMAT_BC1_RGBA_SRGB_BLOCK",{"type":13,"tag":2443,"props":5003,"children":5004},{},[5005],{"type":13,"tag":21,"props":5006,"children":5008},{"className":5007},[],[5009],{"type":18,"value":5010},"VK_FORMAT_BC2_UNORM_BLOCK",{"type":13,"tag":2443,"props":5012,"children":5013},{},[5014],{"type":13,"tag":21,"props":5015,"children":5017},{"className":5016},[],[5018],{"type":18,"value":5019},"VK_FORMAT_BC2_SRGB_BLOCK",{"type":13,"tag":2443,"props":5021,"children":5022},{},[5023],{"type":13,"tag":21,"props":5024,"children":5026},{"className":5025},[],[5027],{"type":18,"value":5028},"VK_FORMAT_BC3_UNORM_BLOCK",{"type":13,"tag":2443,"props":5030,"children":5031},{},[5032],{"type":13,"tag":21,"props":5033,"children":5035},{"className":5034},[],[5036],{"type":18,"value":5037},"VK_FORMAT_BC3_SRGB_BLOCK",{"type":13,"tag":2443,"props":5039,"children":5040},{},[5041],{"type":13,"tag":21,"props":5042,"children":5044},{"className":5043},[],[5045],{"type":18,"value":5046},"VK_FORMAT_BC4_UNORM_BLOCK",{"type":13,"tag":2443,"props":5048,"children":5049},{},[5050],{"type":13,"tag":21,"props":5051,"children":5053},{"className":5052},[],[5054],{"type":18,"value":5055},"VK_FORMAT_BC4_SNORM_BLOCK",{"type":13,"tag":2443,"props":5057,"children":5058},{},[5059],{"type":13,"tag":21,"props":5060,"children":5062},{"className":5061},[],[5063],{"type":18,"value":5064},"VK_FORMAT_BC5_UNORM_BLOCK",{"type":13,"tag":2443,"props":5066,"children":5067},{},[5068],{"type":13,"tag":21,"props":5069,"children":5071},{"className":5070},[],[5072],{"type":18,"value":5073},"VK_FORMAT_BC5_SNORM_BLOCK",{"type":13,"tag":2443,"props":5075,"children":5076},{},[5077],{"type":13,"tag":21,"props":5078,"children":5080},{"className":5079},[],[5081],{"type":18,"value":5082},"VK_FORMAT_BC6H_UFLOAT_BLOCK",{"type":13,"tag":2443,"props":5084,"children":5085},{},[5086],{"type":13,"tag":21,"props":5087,"children":5089},{"className":5088},[],[5090],{"type":18,"value":5091},"VK_FORMAT_BC6H_SFLOAT_BLOCK",{"type":13,"tag":2443,"props":5093,"children":5094},{},[5095],{"type":13,"tag":21,"props":5096,"children":5098},{"className":5097},[],[5099],{"type":18,"value":5100},"VK_FORMAT_BC7_UNORM_BLOCK",{"type":13,"tag":2443,"props":5102,"children":5103},{},[5104],{"type":13,"tag":21,"props":5105,"children":5107},{"className":5106},[],[5108],{"type":18,"value":5109},"VK_FORMAT_BC7_SRGB_BLOCK",{"type":13,"tag":3045,"props":5111,"children":5112},{},[],{"type":18,"value":4582},{"type":13,"tag":2477,"props":5115,"children":5116},{"href":4585},[5117],{"type":18,"value":4588},{"type":18,"value":3784},{"type":13,"tag":2477,"props":5120,"children":5121},{"href":4592},[5122],{"type":18,"value":4595},{"type":18,"value":2452},{"type":13,"tag":2492,"props":5125,"children":5126},{"type":3293},[],{"type":18,"value":4601},{"type":13,"tag":2443,"props":5129,"children":5130},{},[5131,5135,5136,5142,5144,5150,5152,5158,5159,5165,5167,5173,5175,5181,5183,5186,5188,5194,5196,5202,5203,5209,5211,5216],{"type":13,"tag":2447,"props":5132,"children":5134},{"id":5133},"features-occlusionQueryPrecise",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":5137,"children":5139},{"className":5138},[],[5140],{"type":18,"value":5141},"occlusionQueryPrecise",{"type":18,"value":5143}," specifies\nwhether occlusion queries returning actual sample counts are supported.\nOcclusion queries are created in a ",{"type":13,"tag":21,"props":5145,"children":5147},{"className":5146},[],[5148],{"type":18,"value":5149},"VkQueryPool",{"type":18,"value":5151}," by specifying the\n",{"type":13,"tag":21,"props":5153,"children":5155},{"className":5154},[],[5156],{"type":18,"value":5157},"queryType",{"type":18,"value":3178},{"type":13,"tag":21,"props":5160,"children":5162},{"className":5161},[],[5163],{"type":18,"value":5164},"VK_QUERY_TYPE_OCCLUSION",{"type":18,"value":5166}," in the\n",{"type":13,"tag":2477,"props":5168,"children":5170},{"href":5169},"/man/VkQueryPoolCreateInfo",[5171],{"type":18,"value":5172},"VkQueryPoolCreateInfo",{"type":18,"value":5174}," structure which is passed to\n",{"type":13,"tag":2477,"props":5176,"children":5178},{"href":5177},"/man/vkCreateQueryPool",[5179],{"type":18,"value":5180},"vkCreateQueryPool",{"type":18,"value":5182},".\nIf this feature is enabled, queries of this type ",{"type":13,"tag":2492,"props":5184,"children":5185},{"type":3293},[],{"type":18,"value":5187}," enable\n",{"type":13,"tag":21,"props":5189,"children":5191},{"className":5190},[],[5192],{"type":18,"value":5193},"VK_QUERY_CONTROL_PRECISE_BIT",{"type":18,"value":5195}," in the ",{"type":13,"tag":21,"props":5197,"children":5199},{"className":5198},[],[5200],{"type":18,"value":5201},"flags",{"type":18,"value":3899},{"type":13,"tag":2477,"props":5204,"children":5206},{"href":5205},"/man/vkCmdBeginQuery",[5207],{"type":18,"value":5208},"vkCmdBeginQuery",{"type":18,"value":5210},".\nIf this feature is not supported, the implementation supports only\nboolean occlusion queries.\nWhen any samples are passed, boolean queries will return a non-zero\nresult value, otherwise a result value of zero is returned.\nWhen this feature is enabled and ",{"type":13,"tag":21,"props":5212,"children":5214},{"className":5213},[],[5215],{"type":18,"value":5193},{"type":18,"value":5217}," is\nset, occlusion queries will report the actual number of samples passed.",{"type":13,"tag":2443,"props":5219,"children":5220},{},[5221,5225,5226,5232,5234,5240,5241,5245,5247,5253,5255,5258,5260,5266,5268,5272],{"type":13,"tag":2447,"props":5222,"children":5224},{"id":5223},"features-pipelineStatisticsQuery",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":5227,"children":5229},{"className":5228},[],[5230],{"type":18,"value":5231},"pipelineStatisticsQuery",{"type":18,"value":5233},"\nspecifies whether the pipeline statistics queries are supported.\nIf this feature is not enabled, queries of type\n",{"type":13,"tag":21,"props":5235,"children":5237},{"className":5236},[],[5238],{"type":18,"value":5239},"VK_QUERY_TYPE_PIPELINE_STATISTICS",{"type":18,"value":2452},{"type":13,"tag":2492,"props":5242,"children":5244},{"type":5243},"cannot",[],{"type":18,"value":5246}," be created, and none of\nthe ",{"type":13,"tag":2477,"props":5248,"children":5250},{"href":5249},"/man/VkQueryPipelineStatisticFlagBits",[5251],{"type":18,"value":5252},"VkQueryPipelineStatisticFlagBits",{"type":18,"value":5254}," bits ",{"type":13,"tag":2492,"props":5256,"children":5257},{"type":3293},[],{"type":18,"value":5259}," be set in the\n",{"type":13,"tag":21,"props":5261,"children":5263},{"className":5262},[],[5264],{"type":18,"value":5265},"pipelineStatistics",{"type":18,"value":5267}," member of the ",{"type":13,"tag":2477,"props":5269,"children":5270},{"href":5169},[5271],{"type":18,"value":5172},{"type":18,"value":5273},"\nstructure.",{"type":13,"tag":2443,"props":5275,"children":5276},{},[5277,5281,5287,5289,5292,5294,5300,5302,5308],{"type":13,"tag":2447,"props":5278,"children":5280},{"id":5279},"features-vertexPipelineStoresAndAtomics",[],{"type":13,"tag":21,"props":5282,"children":5284},{"className":5283},[],[5285],{"type":18,"value":5286},"vertexPipelineStoresAndAtomics",{"type":18,"value":5288}," specifies whether storage buffers\nand images support stores and atomic operations in the vertex,\ntessellation, and geometry shader stages.\nIf this feature is not enabled, all storage image, storage texel buffer,\nand storage buffer variables used by these stages in shader modules\n",{"type":13,"tag":2492,"props":5290,"children":5291},{"type":2494},[],{"type":18,"value":5293}," be decorated with the ",{"type":13,"tag":21,"props":5295,"children":5297},{"className":5296},[],[5298],{"type":18,"value":5299},"NonWritable",{"type":18,"value":5301}," decoration (or the\n",{"type":13,"tag":21,"props":5303,"children":5305},{"className":5304},[],[5306],{"type":18,"value":5307},"readonly",{"type":18,"value":5309}," memory qualifier in GLSL).",{"type":13,"tag":2443,"props":5311,"children":5312},{},[5313,5317,5318,5324,5326,5329,5330,5335,5336,5341],{"type":13,"tag":2447,"props":5314,"children":5316},{"id":5315},"features-fragmentStoresAndAtomics",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":5319,"children":5321},{"className":5320},[],[5322],{"type":18,"value":5323},"fragmentStoresAndAtomics",{"type":18,"value":5325},"\nspecifies whether storage buffers and images support stores and atomic\noperations in the fragment shader stage.\nIf this feature is not enabled, all storage image, storage texel buffer,\nand storage buffer variables used by the fragment stage in shader\nmodules ",{"type":13,"tag":2492,"props":5327,"children":5328},{"type":2494},[],{"type":18,"value":5293},{"type":13,"tag":21,"props":5331,"children":5333},{"className":5332},[],[5334],{"type":18,"value":5299},{"type":18,"value":5301},{"type":13,"tag":21,"props":5337,"children":5339},{"className":5338},[],[5340],{"type":18,"value":5307},{"type":18,"value":5309},{"type":13,"tag":2443,"props":5343,"children":5344},{},[5345,5349,5355,5357,5363,5365,5370,5372,5375,5377,5380,5381,5387,5389,5392,5393,5399,5401,5404,5406,5415,5417,5426],{"type":13,"tag":2447,"props":5346,"children":5348},{"id":5347},"features-shaderTessellationAndGeometryPointSize",[],{"type":13,"tag":21,"props":5350,"children":5352},{"className":5351},[],[5353],{"type":18,"value":5354},"shaderTessellationAndGeometryPointSize",{"type":18,"value":5356}," specifies whether the\n",{"type":13,"tag":21,"props":5358,"children":5360},{"className":5359},[],[5361],{"type":18,"value":5362},"PointSize",{"type":18,"value":5364}," built-in decoration is available in the tessellation\ncontrol, tessellation evaluation, and geometry shader stages.\nIf this feature is not enabled, members decorated with the\n",{"type":13,"tag":21,"props":5366,"children":5368},{"className":5367},[],[5369],{"type":18,"value":5362},{"type":18,"value":5371}," built-in decoration ",{"type":13,"tag":2492,"props":5373,"children":5374},{"type":2494},[],{"type":18,"value":5376}," not be read from or written to\nand all points written from a tessellation or geometry shader will have\na size of 1.0.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":5378,"children":5379},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":5382,"children":5384},{"className":5383},[],[5385],{"type":18,"value":5386},"TessellationPointSize",{"type":18,"value":5388}," capability for tessellation control and\nevaluation shaders, or if the shader modules ",{"type":13,"tag":2492,"props":5390,"children":5391},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":5394,"children":5396},{"className":5395},[],[5397],{"type":18,"value":5398},"GeometryPointSize",{"type":18,"value":5400}," capability for geometry shaders.\nAn implementation supporting this feature ",{"type":13,"tag":2492,"props":5402,"children":5403},{"type":2494},[],{"type":18,"value":5405}," also support one or both\nof the ",{"type":13,"tag":2477,"props":5407,"children":5409},{"href":5408},"/man/VkPhysicalDeviceFeatures#features-tessellationShader",[5410],{"type":13,"tag":21,"props":5411,"children":5413},{"className":5412},[],[5414],{"type":18,"value":3427},{"type":18,"value":5416}," or\n",{"type":13,"tag":2477,"props":5418,"children":5420},{"href":5419},"/man/VkPhysicalDeviceFeatures#features-geometryShader",[5421],{"type":13,"tag":21,"props":5422,"children":5424},{"className":5423},[],[5425],{"type":18,"value":3377},{"type":18,"value":5427}," features.",{"type":13,"tag":2443,"props":5429,"children":5430},{},[5431,5435,5436,5442,5444,5450,5452,5458,5459,5465,5467,5470,5471,5477],{"type":13,"tag":2447,"props":5432,"children":5434},{"id":5433},"features-shaderImageGatherExtended",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":5437,"children":5439},{"className":5438},[],[5440],{"type":18,"value":5441},"shaderImageGatherExtended",{"type":18,"value":5443},"\nspecifies whether the extended set of image gather instructions are\navailable in shader code.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":5445,"children":5447},{"className":5446},[],[5448],{"type":18,"value":5449},"OpImage*Gather",{"type":18,"value":5451}," instructions do\nnot support the ",{"type":13,"tag":21,"props":5453,"children":5455},{"className":5454},[],[5456],{"type":18,"value":5457},"Offset",{"type":18,"value":2586},{"type":13,"tag":21,"props":5460,"children":5462},{"className":5461},[],[5463],{"type":18,"value":5464},"ConstOffsets",{"type":18,"value":5466}," operands.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":5468,"children":5469},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":5472,"children":5474},{"className":5473},[],[5475],{"type":18,"value":5476},"ImageGatherExtended",{"type":18,"value":3413},{"type":13,"tag":2443,"props":5479,"children":5480},{},[5481,5485,5491,5493,5499,5501,5507,5508,5511,5512,5517,5518,5728],{"type":13,"tag":2447,"props":5482,"children":5484},{"id":5483},"features-shaderStorageImageExtendedFormats",[],{"type":13,"tag":21,"props":5486,"children":5488},{"className":5487},[],[5489],{"type":18,"value":5490},"shaderStorageImageExtendedFormats",{"type":18,"value":5492}," specifies whether all the\n",{"type":13,"tag":21,"props":5494,"children":5496},{"className":5495},[],[5497],{"type":18,"value":5498},"storage image extended formats",{"type":18,"value":5500}," below are supported; if this feature\nis supported, then the ",{"type":13,"tag":21,"props":5502,"children":5504},{"className":5503},[],[5505],{"type":18,"value":5506},"VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":5509,"children":5510},{"type":2494},[],{"type":18,"value":4476},{"type":13,"tag":21,"props":5513,"children":5515},{"className":5514},[],[5516],{"type":18,"value":4482},{"type":18,"value":4484},{"type":13,"tag":2439,"props":5519,"children":5520},{},[5521,5530,5539,5548,5557,5566,5575,5584,5593,5602,5611,5620,5629,5638,5647,5656,5665,5674,5683,5692,5701,5710,5719],{"type":13,"tag":2443,"props":5522,"children":5523},{},[5524],{"type":13,"tag":21,"props":5525,"children":5527},{"className":5526},[],[5528],{"type":18,"value":5529},"VK_FORMAT_R16G16_SFLOAT",{"type":13,"tag":2443,"props":5531,"children":5532},{},[5533],{"type":13,"tag":21,"props":5534,"children":5536},{"className":5535},[],[5537],{"type":18,"value":5538},"VK_FORMAT_B10G11R11_UFLOAT_PACK32",{"type":13,"tag":2443,"props":5540,"children":5541},{},[5542],{"type":13,"tag":21,"props":5543,"children":5545},{"className":5544},[],[5546],{"type":18,"value":5547},"VK_FORMAT_R16_SFLOAT",{"type":13,"tag":2443,"props":5549,"children":5550},{},[5551],{"type":13,"tag":21,"props":5552,"children":5554},{"className":5553},[],[5555],{"type":18,"value":5556},"VK_FORMAT_R16G16B16A16_UNORM",{"type":13,"tag":2443,"props":5558,"children":5559},{},[5560],{"type":13,"tag":21,"props":5561,"children":5563},{"className":5562},[],[5564],{"type":18,"value":5565},"VK_FORMAT_A2B10G10R10_UNORM_PACK32",{"type":13,"tag":2443,"props":5567,"children":5568},{},[5569],{"type":13,"tag":21,"props":5570,"children":5572},{"className":5571},[],[5573],{"type":18,"value":5574},"VK_FORMAT_R16G16_UNORM",{"type":13,"tag":2443,"props":5576,"children":5577},{},[5578],{"type":13,"tag":21,"props":5579,"children":5581},{"className":5580},[],[5582],{"type":18,"value":5583},"VK_FORMAT_R8G8_UNORM",{"type":13,"tag":2443,"props":5585,"children":5586},{},[5587],{"type":13,"tag":21,"props":5588,"children":5590},{"className":5589},[],[5591],{"type":18,"value":5592},"VK_FORMAT_R16_UNORM",{"type":13,"tag":2443,"props":5594,"children":5595},{},[5596],{"type":13,"tag":21,"props":5597,"children":5599},{"className":5598},[],[5600],{"type":18,"value":5601},"VK_FORMAT_R8_UNORM",{"type":13,"tag":2443,"props":5603,"children":5604},{},[5605],{"type":13,"tag":21,"props":5606,"children":5608},{"className":5607},[],[5609],{"type":18,"value":5610},"VK_FORMAT_R16G16B16A16_SNORM",{"type":13,"tag":2443,"props":5612,"children":5613},{},[5614],{"type":13,"tag":21,"props":5615,"children":5617},{"className":5616},[],[5618],{"type":18,"value":5619},"VK_FORMAT_R16G16_SNORM",{"type":13,"tag":2443,"props":5621,"children":5622},{},[5623],{"type":13,"tag":21,"props":5624,"children":5626},{"className":5625},[],[5627],{"type":18,"value":5628},"VK_FORMAT_R8G8_SNORM",{"type":13,"tag":2443,"props":5630,"children":5631},{},[5632],{"type":13,"tag":21,"props":5633,"children":5635},{"className":5634},[],[5636],{"type":18,"value":5637},"VK_FORMAT_R16_SNORM",{"type":13,"tag":2443,"props":5639,"children":5640},{},[5641],{"type":13,"tag":21,"props":5642,"children":5644},{"className":5643},[],[5645],{"type":18,"value":5646},"VK_FORMAT_R8_SNORM",{"type":13,"tag":2443,"props":5648,"children":5649},{},[5650],{"type":13,"tag":21,"props":5651,"children":5653},{"className":5652},[],[5654],{"type":18,"value":5655},"VK_FORMAT_R16G16_SINT",{"type":13,"tag":2443,"props":5657,"children":5658},{},[5659],{"type":13,"tag":21,"props":5660,"children":5662},{"className":5661},[],[5663],{"type":18,"value":5664},"VK_FORMAT_R8G8_SINT",{"type":13,"tag":2443,"props":5666,"children":5667},{},[5668],{"type":13,"tag":21,"props":5669,"children":5671},{"className":5670},[],[5672],{"type":18,"value":5673},"VK_FORMAT_R16_SINT",{"type":13,"tag":2443,"props":5675,"children":5676},{},[5677],{"type":13,"tag":21,"props":5678,"children":5680},{"className":5679},[],[5681],{"type":18,"value":5682},"VK_FORMAT_R8_SINT",{"type":13,"tag":2443,"props":5684,"children":5685},{},[5686],{"type":13,"tag":21,"props":5687,"children":5689},{"className":5688},[],[5690],{"type":18,"value":5691},"VK_FORMAT_A2B10G10R10_UINT_PACK32",{"type":13,"tag":2443,"props":5693,"children":5694},{},[5695],{"type":13,"tag":21,"props":5696,"children":5698},{"className":5697},[],[5699],{"type":18,"value":5700},"VK_FORMAT_R16G16_UINT",{"type":13,"tag":2443,"props":5702,"children":5703},{},[5704],{"type":13,"tag":21,"props":5705,"children":5707},{"className":5706},[],[5708],{"type":18,"value":5709},"VK_FORMAT_R8G8_UINT",{"type":13,"tag":2443,"props":5711,"children":5712},{},[5713],{"type":13,"tag":21,"props":5714,"children":5716},{"className":5715},[],[5717],{"type":18,"value":5718},"VK_FORMAT_R16_UINT",{"type":13,"tag":2443,"props":5720,"children":5721},{},[5722],{"type":13,"tag":21,"props":5723,"children":5725},{"className":5724},[],[5726],{"type":18,"value":5727},"VK_FORMAT_R8_UINT",{"type":13,"tag":2638,"props":5729,"children":5730},{},[5731,5749,5769],{"type":13,"tag":14,"props":5732,"children":5733},{},[5734,5739,5741,5747],{"type":13,"tag":21,"props":5735,"children":5737},{"className":5736},[],[5738],{"type":18,"value":5490},{"type":18,"value":5740}," feature only adds a guarantee of\nformat support, which is specified for the whole physical device.\nTherefore enabling or disabling the feature via ",{"type":13,"tag":2477,"props":5742,"children":5744},{"href":5743},"/man/vkCreateDevice",[5745],{"type":18,"value":5746},"vkCreateDevice",{"type":18,"value":5748}," has no\npractical effect.",{"type":13,"tag":14,"props":5750,"children":5751},{},[5752,5754,5758,5759,5763,5764,5767],{"type":18,"value":5753},"To query for additional properties, or if the feature is not supported,\n",{"type":13,"tag":2477,"props":5755,"children":5756},{"href":4585},[5757],{"type":18,"value":4588},{"type":18,"value":3784},{"type":13,"tag":2477,"props":5760,"children":5761},{"href":4592},[5762],{"type":18,"value":4595},{"type":18,"value":2452},{"type":13,"tag":2492,"props":5765,"children":5766},{"type":3293},[],{"type":18,"value":5768}," be used to check for\nsupported properties of individual formats, as usual rules allow.",{"type":13,"tag":14,"props":5770,"children":5771},{},[5772,5778,5779,5785,5786,5792,5794,5800,5802,5808],{"type":13,"tag":21,"props":5773,"children":5775},{"className":5774},[],[5776],{"type":18,"value":5777},"VK_FORMAT_R32G32_UINT",{"type":18,"value":636},{"type":13,"tag":21,"props":5780,"children":5782},{"className":5781},[],[5783],{"type":18,"value":5784},"VK_FORMAT_R32G32_SINT",{"type":18,"value":3458},{"type":13,"tag":21,"props":5787,"children":5789},{"className":5788},[],[5790],{"type":18,"value":5791},"VK_FORMAT_R32G32_SFLOAT",{"type":18,"value":5793}," from ",{"type":13,"tag":21,"props":5795,"children":5797},{"className":5796},[],[5798],{"type":18,"value":5799},"StorageImageExtendedFormats",{"type":18,"value":5801}," SPIR-V\ncapability, are already covered by core Vulkan\n",{"type":13,"tag":2477,"props":5803,"children":5805},{"href":5804},"/404#formats-mandatory-features-32bit",[5806],{"type":18,"value":5807},"mandatory format support",{"type":18,"value":3126},{"type":13,"tag":2443,"props":5810,"children":5811},{},[5812,5816,5822,5824,5830,5832,5838,5839,5842,5844,5850,5852,5858,5860,5863,5864,5870,5871,5877],{"type":13,"tag":2447,"props":5813,"children":5815},{"id":5814},"features-shaderStorageImageMultisample",[],{"type":13,"tag":21,"props":5817,"children":5819},{"className":5818},[],[5820],{"type":18,"value":5821},"shaderStorageImageMultisample",{"type":18,"value":5823}," specifies whether multisampled\nstorage images are supported.\nIf this feature is not enabled, images that are created with a\n",{"type":13,"tag":21,"props":5825,"children":5827},{"className":5826},[],[5828],{"type":18,"value":5829},"usage",{"type":18,"value":5831}," that includes ",{"type":13,"tag":21,"props":5833,"children":5835},{"className":5834},[],[5836],{"type":18,"value":5837},"VK_IMAGE_USAGE_STORAGE_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":5840,"children":5841},{"type":2494},[],{"type":18,"value":5843}," be\ncreated with ",{"type":13,"tag":21,"props":5845,"children":5847},{"className":5846},[],[5848],{"type":18,"value":5849},"samples",{"type":18,"value":5851}," equal to ",{"type":13,"tag":21,"props":5853,"children":5855},{"className":5854},[],[5856],{"type":18,"value":5857},"VK_SAMPLE_COUNT_1_BIT",{"type":18,"value":5859},".\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":5861,"children":5862},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":5865,"children":5867},{"className":5866},[],[5868],{"type":18,"value":5869},"StorageImageMultisample",{"type":18,"value":2586},{"type":13,"tag":21,"props":5872,"children":5874},{"className":5873},[],[5875],{"type":18,"value":5876},"ImageMSArray",{"type":18,"value":5878}," capabilities.",{"type":13,"tag":2443,"props":5880,"children":5881},{},[5882,5886,5892,5894,5899,5901,5907],{"type":13,"tag":2447,"props":5883,"children":5885},{"id":5884},"features-shaderStorageImageReadWithoutFormat",[],{"type":13,"tag":21,"props":5887,"children":5889},{"className":5888},[],[5890],{"type":18,"value":5891},"shaderStorageImageReadWithoutFormat",{"type":18,"value":5893}," specifies whether storage\nimages and storage texel buffers require a format qualifier to be\nspecified when reading.\n",{"type":13,"tag":21,"props":5895,"children":5897},{"className":5896},[],[5898],{"type":18,"value":5891},{"type":18,"value":5900}," applies only to formats listed\nin the ",{"type":13,"tag":2477,"props":5902,"children":5904},{"href":5903},"/chapters/formats#formats-without-shader-storage-format",[5905],{"type":18,"value":5906},"storage without format",{"type":18,"value":5908},"\nlist.",{"type":13,"tag":2443,"props":5910,"children":5911},{},[5912,5916,5922,5924,5929,5931,5936],{"type":13,"tag":2447,"props":5913,"children":5915},{"id":5914},"features-shaderStorageImageWriteWithoutFormat",[],{"type":13,"tag":21,"props":5917,"children":5919},{"className":5918},[],[5920],{"type":18,"value":5921},"shaderStorageImageWriteWithoutFormat",{"type":18,"value":5923}," specifies whether storage\nimages and storage texel buffers require a format qualifier to be\nspecified when writing.\n",{"type":13,"tag":21,"props":5925,"children":5927},{"className":5926},[],[5928],{"type":18,"value":5921},{"type":18,"value":5930}," applies only to formats\nlisted in the ",{"type":13,"tag":2477,"props":5932,"children":5933},{"href":5903},[5934],{"type":18,"value":5935},"storage without\nformat",{"type":18,"value":5937}," list.",{"type":13,"tag":2443,"props":5939,"children":5940},{},[5941,5945,5951,5953,5956,5958,5964,5965,5971,5972,5975,5977,5980,5981,5987],{"type":13,"tag":2447,"props":5942,"children":5944},{"id":5943},"features-shaderUniformBufferArrayDynamicIndexing",[],{"type":13,"tag":21,"props":5946,"children":5948},{"className":5947},[],[5949],{"type":18,"value":5950},"shaderUniformBufferArrayDynamicIndexing",{"type":18,"value":5952}," specifies whether arrays\nof uniform buffers ",{"type":13,"tag":2492,"props":5954,"children":5955},{"type":3293},[],{"type":18,"value":5957}," be indexed by integer expressions that are\ndynamically uniform within\nthe invocation group in shader code.\nIf this feature is not enabled, resources with a descriptor type of\n",{"type":13,"tag":21,"props":5959,"children":5961},{"className":5960},[],[5962],{"type":18,"value":5963},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER",{"type":18,"value":5416},{"type":13,"tag":21,"props":5966,"children":5968},{"className":5967},[],[5969],{"type":18,"value":5970},"VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC",{"type":18,"value":2452},{"type":13,"tag":2492,"props":5973,"children":5974},{"type":2494},[],{"type":18,"value":5976}," be indexed only by\nconstant integral expressions when aggregated into arrays in shader\ncode.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":5978,"children":5979},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":5982,"children":5984},{"className":5983},[],[5985],{"type":18,"value":5986},"UniformBufferArrayDynamicIndexing",{"type":18,"value":3413},{"type":13,"tag":2443,"props":5989,"children":5990},{},[5991,5995,6001,6003,6006,6008,6014,6015,6021,6023,6029,6030,6033,6035,6038,6039,6045],{"type":13,"tag":2447,"props":5992,"children":5994},{"id":5993},"features-shaderSampledImageArrayDynamicIndexing",[],{"type":13,"tag":21,"props":5996,"children":5998},{"className":5997},[],[5999],{"type":18,"value":6000},"shaderSampledImageArrayDynamicIndexing",{"type":18,"value":6002}," specifies whether arrays of\nsamplers or sampled images ",{"type":13,"tag":2492,"props":6004,"children":6005},{"type":3293},[],{"type":18,"value":6007}," be indexed by integer expressions that\nare dynamically uniform within\nthe invocation group in shader code.\nIf this feature is not enabled, resources with a descriptor type of\n",{"type":13,"tag":21,"props":6009,"children":6011},{"className":6010},[],[6012],{"type":18,"value":6013},"VK_DESCRIPTOR_TYPE_SAMPLER",{"type":18,"value":2475},{"type":13,"tag":21,"props":6016,"children":6018},{"className":6017},[],[6019],{"type":18,"value":6020},"VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER",{"type":18,"value":6022},", or\n",{"type":13,"tag":21,"props":6024,"children":6026},{"className":6025},[],[6027],{"type":18,"value":6028},"VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6031,"children":6032},{"type":2494},[],{"type":18,"value":6034}," be indexed only by constant\nintegral expressions when aggregated into arrays in shader code.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6036,"children":6037},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6040,"children":6042},{"className":6041},[],[6043],{"type":18,"value":6044},"SampledImageArrayDynamicIndexing",{"type":18,"value":3413},{"type":13,"tag":2443,"props":6047,"children":6048},{},[6049,6053,6059,6061,6064,6065,6071,6072,6078,6079,6082,6083,6086,6087,6093],{"type":13,"tag":2447,"props":6050,"children":6052},{"id":6051},"features-shaderStorageBufferArrayDynamicIndexing",[],{"type":13,"tag":21,"props":6054,"children":6056},{"className":6055},[],[6057],{"type":18,"value":6058},"shaderStorageBufferArrayDynamicIndexing",{"type":18,"value":6060}," specifies whether arrays\nof storage buffers ",{"type":13,"tag":2492,"props":6062,"children":6063},{"type":3293},[],{"type":18,"value":5957},{"type":13,"tag":21,"props":6066,"children":6068},{"className":6067},[],[6069],{"type":18,"value":6070},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER",{"type":18,"value":5416},{"type":13,"tag":21,"props":6073,"children":6075},{"className":6074},[],[6076],{"type":18,"value":6077},"VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6080,"children":6081},{"type":2494},[],{"type":18,"value":5976},{"type":13,"tag":2492,"props":6084,"children":6085},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6088,"children":6090},{"className":6089},[],[6091],{"type":18,"value":6092},"StorageBufferArrayDynamicIndexing",{"type":18,"value":3413},{"type":13,"tag":2443,"props":6095,"children":6096},{},[6097,6101,6107,6109,6112,6113,6119,6120,6123,6124,6127,6128,6134],{"type":13,"tag":2447,"props":6098,"children":6100},{"id":6099},"features-shaderStorageImageArrayDynamicIndexing",[],{"type":13,"tag":21,"props":6102,"children":6104},{"className":6103},[],[6105],{"type":18,"value":6106},"shaderStorageImageArrayDynamicIndexing",{"type":18,"value":6108}," specifies whether arrays of\nstorage images ",{"type":13,"tag":2492,"props":6110,"children":6111},{"type":3293},[],{"type":18,"value":5957},{"type":13,"tag":21,"props":6114,"children":6116},{"className":6115},[],[6117],{"type":18,"value":6118},"VK_DESCRIPTOR_TYPE_STORAGE_IMAGE",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6121,"children":6122},{"type":2494},[],{"type":18,"value":6034},{"type":13,"tag":2492,"props":6125,"children":6126},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6129,"children":6131},{"className":6130},[],[6132],{"type":18,"value":6133},"StorageImageArrayDynamicIndexing",{"type":18,"value":3413},{"type":13,"tag":2443,"props":6136,"children":6137},{},[6138,6142,6143,6149,6151,6157,6158,6161,6163,6166,6167,6172],{"type":13,"tag":2447,"props":6139,"children":6141},{"id":6140},"features-shaderClipDistance",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6144,"children":6146},{"className":6145},[],[6147],{"type":18,"value":6148},"shaderClipDistance",{"type":18,"value":6150}," specifies\nwhether clip distances are supported in shader code.\nIf this feature is not enabled, any members decorated with the\n",{"type":13,"tag":21,"props":6152,"children":6154},{"className":6153},[],[6155],{"type":18,"value":6156},"ClipDistance",{"type":18,"value":5371},{"type":13,"tag":2492,"props":6159,"children":6160},{"type":2494},[],{"type":18,"value":6162}," not be read from or written\nto in shader modules.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6164,"children":6165},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6168,"children":6170},{"className":6169},[],[6171],{"type":18,"value":6156},{"type":18,"value":3413},{"type":13,"tag":2443,"props":6174,"children":6175},{},[6176,6180,6181,6187,6189,6195,6196,6199,6200,6203,6204,6209],{"type":13,"tag":2447,"props":6177,"children":6179},{"id":6178},"features-shaderCullDistance",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6182,"children":6184},{"className":6183},[],[6185],{"type":18,"value":6186},"shaderCullDistance",{"type":18,"value":6188}," specifies\nwhether cull distances are supported in shader code.\nIf this feature is not enabled, any members decorated with the\n",{"type":13,"tag":21,"props":6190,"children":6192},{"className":6191},[],[6193],{"type":18,"value":6194},"CullDistance",{"type":18,"value":5371},{"type":13,"tag":2492,"props":6197,"children":6198},{"type":2494},[],{"type":18,"value":6162},{"type":13,"tag":2492,"props":6201,"children":6202},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6205,"children":6207},{"className":6206},[],[6208],{"type":18,"value":6194},{"type":18,"value":3413},{"type":13,"tag":2443,"props":6211,"children":6212},{},[6213,6217,6218,6224,6226,6229,6231,6234,6236,6242,6244,6249],{"type":13,"tag":2447,"props":6214,"children":6216},{"id":6215},"features-shaderFloat64",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6219,"children":6221},{"className":6220},[],[6222],{"type":18,"value":6223},"shaderFloat64",{"type":18,"value":6225}," specifies whether 64-bit\nfloats (doubles) are supported in shader code.\nIf this feature is not enabled, 64-bit floating-point types ",{"type":13,"tag":2492,"props":6227,"children":6228},{"type":2494},[],{"type":18,"value":6230}," not be\nused in shader code.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6232,"children":6233},{"type":3293},[],{"type":18,"value":6235}," declare the ",{"type":13,"tag":21,"props":6237,"children":6239},{"className":6238},[],[6240],{"type":18,"value":6241},"Float64",{"type":18,"value":6243},"\ncapability.\nDeclaring and using 64-bit floats is enabled for all storage classes\nthat SPIR-V allows with the ",{"type":13,"tag":21,"props":6245,"children":6247},{"className":6246},[],[6248],{"type":18,"value":6241},{"type":18,"value":3413},{"type":13,"tag":2443,"props":6251,"children":6252},{},[6253,6257,6258,6264,6266,6269,6271,6274,6275,6281,6283,6288],{"type":13,"tag":2447,"props":6254,"children":6256},{"id":6255},"features-shaderInt64",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6259,"children":6261},{"className":6260},[],[6262],{"type":18,"value":6263},"shaderInt64",{"type":18,"value":6265}," specifies whether 64-bit\nintegers (signed and unsigned) are supported in shader code.\nIf this feature is not enabled, 64-bit integer types ",{"type":13,"tag":2492,"props":6267,"children":6268},{"type":2494},[],{"type":18,"value":6270}," not be used\nin shader code.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6272,"children":6273},{"type":3293},[],{"type":18,"value":6235},{"type":13,"tag":21,"props":6276,"children":6278},{"className":6277},[],[6279],{"type":18,"value":6280},"Int64",{"type":18,"value":6282},"\ncapability.\nDeclaring and using 64-bit integers is enabled for all storage classes\nthat SPIR-V allows with the ",{"type":13,"tag":21,"props":6284,"children":6286},{"className":6285},[],[6287],{"type":18,"value":6280},{"type":18,"value":3413},{"type":13,"tag":2443,"props":6290,"children":6291},{},[6292,6296,6297,6303,6305,6308,6309,6312,6313,6319,6321,6326,6328,6334,6335,6341,6343,6349,6351,6357,6358,6364,6365,6371,6372,6378,6379,6385,6387,6393],{"type":13,"tag":2447,"props":6293,"children":6295},{"id":6294},"features-shaderInt16",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6298,"children":6300},{"className":6299},[],[6301],{"type":18,"value":6302},"shaderInt16",{"type":18,"value":6304}," specifies whether 16-bit\nintegers (signed and unsigned) are supported in shader code.\nIf this feature is not enabled, 16-bit integer types ",{"type":13,"tag":2492,"props":6306,"children":6307},{"type":2494},[],{"type":18,"value":6270},{"type":13,"tag":2492,"props":6310,"children":6311},{"type":3293},[],{"type":18,"value":6235},{"type":13,"tag":21,"props":6314,"children":6316},{"className":6315},[],[6317],{"type":18,"value":6318},"Int16",{"type":18,"value":6320},"\ncapability.\nHowever, this only enables a subset of the storage classes that SPIR-V\nallows for the ",{"type":13,"tag":21,"props":6322,"children":6324},{"className":6323},[],[6325],{"type":18,"value":6318},{"type":18,"value":6327}," SPIR-V capability: Declaring and using 16-bit\nintegers in the ",{"type":13,"tag":21,"props":6329,"children":6331},{"className":6330},[],[6332],{"type":18,"value":6333},"Private",{"type":18,"value":2475},{"type":13,"tag":21,"props":6336,"children":6338},{"className":6337},[],[6339],{"type":18,"value":6340},"Workgroup",{"type":18,"value":6342}," (for non-Block variables),\nand ",{"type":13,"tag":21,"props":6344,"children":6346},{"className":6345},[],[6347],{"type":18,"value":6348},"Function",{"type":18,"value":6350}," storage classes is enabled, while declaring them in\nthe interface storage classes (e.g., ",{"type":13,"tag":21,"props":6352,"children":6354},{"className":6353},[],[6355],{"type":18,"value":6356},"UniformConstant",{"type":18,"value":636},{"type":13,"tag":21,"props":6359,"children":6361},{"className":6360},[],[6362],{"type":18,"value":6363},"Uniform",{"type":18,"value":2475},{"type":13,"tag":21,"props":6366,"children":6368},{"className":6367},[],[6369],{"type":18,"value":6370},"StorageBuffer",{"type":18,"value":636},{"type":13,"tag":21,"props":6373,"children":6375},{"className":6374},[],[6376],{"type":18,"value":6377},"Input",{"type":18,"value":636},{"type":13,"tag":21,"props":6380,"children":6382},{"className":6381},[],[6383],{"type":18,"value":6384},"Output",{"type":18,"value":6386},", and ",{"type":13,"tag":21,"props":6388,"children":6390},{"className":6389},[],[6391],{"type":18,"value":6392},"PushConstant",{"type":18,"value":6394},") is\nnot enabled.",{"type":13,"tag":2443,"props":6396,"children":6397},{},[6398,6402,6403,6409,6411,6417,6419,6422,6424,6427,6428,6434,6436,6442],{"type":13,"tag":2447,"props":6399,"children":6401},{"id":6400},"features-shaderResourceResidency",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6404,"children":6406},{"className":6405},[],[6407],{"type":18,"value":6408},"shaderResourceResidency",{"type":18,"value":6410},"\nspecifies whether image operations that return resource residency\ninformation are supported in shader code.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":6412,"children":6414},{"className":6413},[],[6415],{"type":18,"value":6416},"OpImageSparse*",{"type":18,"value":6418}," instructions\n",{"type":13,"tag":2492,"props":6420,"children":6421},{"type":2494},[],{"type":18,"value":6423}," not be used in shader code.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6425,"children":6426},{"type":3293},[],{"type":18,"value":3405},{"type":13,"tag":21,"props":6429,"children":6431},{"className":6430},[],[6432],{"type":18,"value":6433},"SparseResidency",{"type":18,"value":6435}," capability.\nThe feature requires at least one of the ",{"type":13,"tag":21,"props":6437,"children":6439},{"className":6438},[],[6440],{"type":18,"value":6441},"sparseResidency*",{"type":18,"value":6443}," features\nto be supported.",{"type":13,"tag":2443,"props":6445,"children":6446},{},[6447,6451,6452,6458,6460,6466,6468,6471,6473,6476,6477,6482],{"type":13,"tag":2447,"props":6448,"children":6450},{"id":6449},"features-shaderResourceMinLod",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6453,"children":6455},{"className":6454},[],[6456],{"type":18,"value":6457},"shaderResourceMinLod",{"type":18,"value":6459}," specifies\nwhether image operations specifying the minimum resource LOD are\nsupported in shader code.\nIf this feature is not enabled, the ",{"type":13,"tag":21,"props":6461,"children":6463},{"className":6462},[],[6464],{"type":18,"value":6465},"MinLod",{"type":18,"value":6467}," image operand ",{"type":13,"tag":2492,"props":6469,"children":6470},{"type":2494},[],{"type":18,"value":6472}," not\nbe used in shader code.\nThis also specifies whether shader modules ",{"type":13,"tag":2492,"props":6474,"children":6475},{"type":3293},[],{"type":18,"value":6235},{"type":13,"tag":21,"props":6478,"children":6480},{"className":6479},[],[6481],{"type":18,"value":6465},{"type":18,"value":6483},"\ncapability.",{"type":13,"tag":2443,"props":6485,"children":6486},{},[6487,6491,6492,6498,6500,6503,6505,6508,6510,6516,6517,6523,6525,6528,6530,6536,6537,6543,6545,6550,6551,6557,6558,6564,6566,6569,6571,6577],{"type":13,"tag":2447,"props":6488,"children":6490},{"id":6489},"features-sparseBinding",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6493,"children":6495},{"className":6494},[],[6496],{"type":18,"value":6497},"sparseBinding",{"type":18,"value":6499}," specifies whether\nresource memory ",{"type":13,"tag":2492,"props":6501,"children":6502},{"type":3293},[],{"type":18,"value":6504}," be managed at opaque sparse block level instead of\nat the object level.\nIf this feature is not enabled, resource memory ",{"type":13,"tag":2492,"props":6506,"children":6507},{"type":2494},[],{"type":18,"value":6509}," be bound only on a\nper-object basis using the ",{"type":13,"tag":2477,"props":6511,"children":6513},{"href":6512},"/man/vkBindBufferMemory",[6514],{"type":18,"value":6515},"vkBindBufferMemory",{"type":18,"value":3784},{"type":13,"tag":2477,"props":6518,"children":6520},{"href":6519},"/man/vkBindImageMemory",[6521],{"type":18,"value":6522},"vkBindImageMemory",{"type":18,"value":6524}," commands.\nIn this case, buffers and images ",{"type":13,"tag":2492,"props":6526,"children":6527},{"type":2494},[],{"type":18,"value":6529}," not be created with\n",{"type":13,"tag":21,"props":6531,"children":6533},{"className":6532},[],[6534],{"type":18,"value":6535},"VK_BUFFER_CREATE_SPARSE_BINDING_BIT",{"type":18,"value":3784},{"type":13,"tag":21,"props":6538,"children":6540},{"className":6539},[],[6541],{"type":18,"value":6542},"VK_IMAGE_CREATE_SPARSE_BINDING_BIT",{"type":18,"value":6544}," set in the ",{"type":13,"tag":21,"props":6546,"children":6548},{"className":6547},[],[6549],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6552,"children":6554},{"href":6553},"/man/VkBufferCreateInfo",[6555],{"type":18,"value":6556},"VkBufferCreateInfo",{"type":18,"value":2586},{"type":13,"tag":2477,"props":6559,"children":6561},{"href":6560},"/man/VkImageCreateInfo",[6562],{"type":18,"value":6563},"VkImageCreateInfo",{"type":18,"value":6565}," structures,\nrespectively.\nOtherwise resource memory ",{"type":13,"tag":2492,"props":6567,"children":6568},{"type":3293},[],{"type":18,"value":6570}," be managed as described in\n",{"type":13,"tag":2477,"props":6572,"children":6574},{"href":6573},"/chapters/sparsememory#sparsememory-sparseresourcefeatures",[6575],{"type":18,"value":6576},"Sparse Resource Features",{"type":18,"value":3126},{"type":13,"tag":2443,"props":6579,"children":6580},{},[6581,6585,6586,6592,6594,6597,6599,6602,6603,6609,6610,6615,6617,6621],{"type":13,"tag":2447,"props":6582,"children":6584},{"id":6583},"features-sparseResidencyBuffer",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6587,"children":6589},{"className":6588},[],[6590],{"type":18,"value":6591},"sparseResidencyBuffer",{"type":18,"value":6593}," specifies\nwhether the device ",{"type":13,"tag":2492,"props":6595,"children":6596},{"type":3293},[],{"type":18,"value":6598}," access partially resident buffers.\nIf this feature is not enabled, buffers ",{"type":13,"tag":2492,"props":6600,"children":6601},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6604,"children":6606},{"className":6605},[],[6607],{"type":18,"value":6608},"VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT",{"type":18,"value":6544},{"type":13,"tag":21,"props":6611,"children":6613},{"className":6612},[],[6614],{"type":18,"value":5201},{"type":18,"value":6616},"\nmember of the ",{"type":13,"tag":2477,"props":6618,"children":6619},{"href":6553},[6620],{"type":18,"value":6556},{"type":18,"value":6622}," structure.",{"type":13,"tag":2443,"props":6624,"children":6625},{},[6626,6630,6631,6637,6639,6642,6644,6650,6651,6657,6658,6663,6665,6670,6671,6674,6675,6681,6682,6687,6688,6692],{"type":13,"tag":2447,"props":6627,"children":6629},{"id":6628},"features-sparseResidencyImage2D",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6632,"children":6634},{"className":6633},[],[6635],{"type":18,"value":6636},"sparseResidencyImage2D",{"type":18,"value":6638},"\nspecifies whether the device ",{"type":13,"tag":2492,"props":6640,"children":6641},{"type":3293},[],{"type":18,"value":6643}," access partially resident 2D images\nwith 1 sample per pixel.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6645,"children":6647},{"className":6646},[],[6648],{"type":18,"value":6649},"imageType",{"type":18,"value":3283},{"type":13,"tag":21,"props":6652,"children":6654},{"className":6653},[],[6655],{"type":18,"value":6656},"VK_IMAGE_TYPE_2D",{"type":18,"value":2586},{"type":13,"tag":21,"props":6659,"children":6661},{"className":6660},[],[6662],{"type":18,"value":5849},{"type":18,"value":6664}," set to\n",{"type":13,"tag":21,"props":6666,"children":6668},{"className":6667},[],[6669],{"type":18,"value":5857},{"type":18,"value":2452},{"type":13,"tag":2492,"props":6672,"children":6673},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6676,"children":6678},{"className":6677},[],[6679],{"type":18,"value":6680},"VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT",{"type":18,"value":6544},{"type":13,"tag":21,"props":6683,"children":6685},{"className":6684},[],[6686],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6689,"children":6690},{"href":6560},[6691],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":6694,"children":6695},{},[6696,6700,6701,6707,6708,6711,6713,6718,6719,6725,6726,6729,6730,6735,6736,6741,6742,6746],{"type":13,"tag":2447,"props":6697,"children":6699},{"id":6698},"features-sparseResidencyImage3D",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6702,"children":6704},{"className":6703},[],[6705],{"type":18,"value":6706},"sparseResidencyImage3D",{"type":18,"value":6638},{"type":13,"tag":2492,"props":6709,"children":6710},{"type":3293},[],{"type":18,"value":6712}," access partially resident 3D images.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6714,"children":6716},{"className":6715},[],[6717],{"type":18,"value":6649},{"type":18,"value":3283},{"type":13,"tag":21,"props":6720,"children":6722},{"className":6721},[],[6723],{"type":18,"value":6724},"VK_IMAGE_TYPE_3D",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6727,"children":6728},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6731,"children":6733},{"className":6732},[],[6734],{"type":18,"value":6680},{"type":18,"value":6544},{"type":13,"tag":21,"props":6737,"children":6739},{"className":6738},[],[6740],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6743,"children":6744},{"href":6560},[6745],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":6748,"children":6749},{},[6750,6754,6755,6761,6763,6766,6768,6773,6774,6779,6780,6785,6786,6792,6793,6796,6797,6802,6803,6808,6809,6813],{"type":13,"tag":2447,"props":6751,"children":6753},{"id":6752},"features-sparseResidency2Samples",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6756,"children":6758},{"className":6757},[],[6759],{"type":18,"value":6760},"sparseResidency2Samples",{"type":18,"value":6762},"\nspecifies whether the physical device ",{"type":13,"tag":2492,"props":6764,"children":6765},{"type":3293},[],{"type":18,"value":6767}," access partially resident 2D\nimages with 2 samples per pixel.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6769,"children":6771},{"className":6770},[],[6772],{"type":18,"value":6649},{"type":18,"value":3283},{"type":13,"tag":21,"props":6775,"children":6777},{"className":6776},[],[6778],{"type":18,"value":6656},{"type":18,"value":2586},{"type":13,"tag":21,"props":6781,"children":6783},{"className":6782},[],[6784],{"type":18,"value":5849},{"type":18,"value":6664},{"type":13,"tag":21,"props":6787,"children":6789},{"className":6788},[],[6790],{"type":18,"value":6791},"VK_SAMPLE_COUNT_2_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6794,"children":6795},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6798,"children":6800},{"className":6799},[],[6801],{"type":18,"value":6680},{"type":18,"value":6544},{"type":13,"tag":21,"props":6804,"children":6806},{"className":6805},[],[6807],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6810,"children":6811},{"href":6560},[6812],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":6815,"children":6816},{},[6817,6821,6822,6828,6829,6832,6834,6839,6840,6845,6846,6851,6852,6858,6859,6862,6863,6868,6869,6874,6875,6879],{"type":13,"tag":2447,"props":6818,"children":6820},{"id":6819},"features-sparseResidency4Samples",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6823,"children":6825},{"className":6824},[],[6826],{"type":18,"value":6827},"sparseResidency4Samples",{"type":18,"value":6762},{"type":13,"tag":2492,"props":6830,"children":6831},{"type":3293},[],{"type":18,"value":6833}," access partially resident 2D\nimages with 4 samples per pixel.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6835,"children":6837},{"className":6836},[],[6838],{"type":18,"value":6649},{"type":18,"value":3283},{"type":13,"tag":21,"props":6841,"children":6843},{"className":6842},[],[6844],{"type":18,"value":6656},{"type":18,"value":2586},{"type":13,"tag":21,"props":6847,"children":6849},{"className":6848},[],[6850],{"type":18,"value":5849},{"type":18,"value":6664},{"type":13,"tag":21,"props":6853,"children":6855},{"className":6854},[],[6856],{"type":18,"value":6857},"VK_SAMPLE_COUNT_4_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6860,"children":6861},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6864,"children":6866},{"className":6865},[],[6867],{"type":18,"value":6680},{"type":18,"value":6544},{"type":13,"tag":21,"props":6870,"children":6872},{"className":6871},[],[6873],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6876,"children":6877},{"href":6560},[6878],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":6881,"children":6882},{},[6883,6887,6888,6894,6895,6898,6900,6905,6906,6911,6912,6917,6918,6924,6925,6928,6929,6934,6935,6940,6941,6945],{"type":13,"tag":2447,"props":6884,"children":6886},{"id":6885},"features-sparseResidency8Samples",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6889,"children":6891},{"className":6890},[],[6892],{"type":18,"value":6893},"sparseResidency8Samples",{"type":18,"value":6762},{"type":13,"tag":2492,"props":6896,"children":6897},{"type":3293},[],{"type":18,"value":6899}," access partially resident 2D\nimages with 8 samples per pixel.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6901,"children":6903},{"className":6902},[],[6904],{"type":18,"value":6649},{"type":18,"value":3283},{"type":13,"tag":21,"props":6907,"children":6909},{"className":6908},[],[6910],{"type":18,"value":6656},{"type":18,"value":2586},{"type":13,"tag":21,"props":6913,"children":6915},{"className":6914},[],[6916],{"type":18,"value":5849},{"type":18,"value":6664},{"type":13,"tag":21,"props":6919,"children":6921},{"className":6920},[],[6922],{"type":18,"value":6923},"VK_SAMPLE_COUNT_8_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6926,"children":6927},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6930,"children":6932},{"className":6931},[],[6933],{"type":18,"value":6680},{"type":18,"value":6544},{"type":13,"tag":21,"props":6936,"children":6938},{"className":6937},[],[6939],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":6942,"children":6943},{"href":6560},[6944],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":6947,"children":6948},{},[6949,6953,6954,6960,6961,6964,6966,6971,6972,6977,6978,6983,6984,6990,6991,6994,6995,7000,7001,7006,7007,7011],{"type":13,"tag":2447,"props":6950,"children":6952},{"id":6951},"features-sparseResidency16Samples",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":6955,"children":6957},{"className":6956},[],[6958],{"type":18,"value":6959},"sparseResidency16Samples",{"type":18,"value":6762},{"type":13,"tag":2492,"props":6962,"children":6963},{"type":3293},[],{"type":18,"value":6965}," access partially resident 2D\nimages with 16 samples per pixel.\nIf this feature is not enabled, images with an ",{"type":13,"tag":21,"props":6967,"children":6969},{"className":6968},[],[6970],{"type":18,"value":6649},{"type":18,"value":3283},{"type":13,"tag":21,"props":6973,"children":6975},{"className":6974},[],[6976],{"type":18,"value":6656},{"type":18,"value":2586},{"type":13,"tag":21,"props":6979,"children":6981},{"className":6980},[],[6982],{"type":18,"value":5849},{"type":18,"value":6664},{"type":13,"tag":21,"props":6985,"children":6987},{"className":6986},[],[6988],{"type":18,"value":6989},"VK_SAMPLE_COUNT_16_BIT",{"type":18,"value":2452},{"type":13,"tag":2492,"props":6992,"children":6993},{"type":2494},[],{"type":18,"value":6529},{"type":13,"tag":21,"props":6996,"children":6998},{"className":6997},[],[6999],{"type":18,"value":6680},{"type":18,"value":6544},{"type":13,"tag":21,"props":7002,"children":7004},{"className":7003},[],[7005],{"type":18,"value":5201},{"type":18,"value":3970},{"type":13,"tag":2477,"props":7008,"children":7009},{"href":6560},[7010],{"type":18,"value":6563},{"type":18,"value":6622},{"type":13,"tag":2443,"props":7013,"children":7014},{},[7015,7019,7020,7026,7027,7030,7032,7038,7039,7045,7046,7049,7051,7056,7057,7061,7062,7066],{"type":13,"tag":2447,"props":7016,"children":7018},{"id":7017},"features-sparseResidencyAliased",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":7021,"children":7023},{"className":7022},[],[7024],{"type":18,"value":7025},"sparseResidencyAliased",{"type":18,"value":6762},{"type":13,"tag":2492,"props":7028,"children":7029},{"type":3293},[],{"type":18,"value":7031}," correctly access data aliased\ninto multiple locations.\nIf this feature is not enabled, the\n",{"type":13,"tag":21,"props":7033,"children":7035},{"className":7034},[],[7036],{"type":18,"value":7037},"VK_BUFFER_CREATE_SPARSE_ALIASED_BIT",{"type":18,"value":3784},{"type":13,"tag":21,"props":7040,"children":7042},{"className":7041},[],[7043],{"type":18,"value":7044},"VK_IMAGE_CREATE_SPARSE_ALIASED_BIT",{"type":18,"value":3395},{"type":13,"tag":2492,"props":7047,"children":7048},{"type":2494},[],{"type":18,"value":7050}," not be used\nin ",{"type":13,"tag":21,"props":7052,"children":7054},{"className":7053},[],[7055],{"type":18,"value":5201},{"type":18,"value":4127},{"type":13,"tag":2477,"props":7058,"children":7059},{"href":6553},[7060],{"type":18,"value":6556},{"type":18,"value":3784},{"type":13,"tag":2477,"props":7063,"children":7064},{"href":6560},[7065],{"type":18,"value":6563},{"type":18,"value":7067}," structures, respectively.",{"type":13,"tag":2443,"props":7069,"children":7070},{},[7071,7075,7076,7082,7084,7090,7093,7095,7099,7100,7106,7108,7113,7115,7120,7122,7125],{"type":13,"tag":2447,"props":7072,"children":7074},{"id":7073},"features-variableMultisampleRate",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":7077,"children":7079},{"className":7078},[],[7080],{"type":18,"value":7081},"variableMultisampleRate",{"type":18,"value":7083},"\nspecifies whether all pipelines that will be bound to a command buffer\nduring a ",{"type":13,"tag":2477,"props":7085,"children":7087},{"href":7086},"/man/VkFramebufferCreateInfo#renderpass-noattachments",[7088],{"type":18,"value":7089},"subpass which uses no attachments",{"type":13,"tag":2492,"props":7091,"children":7092},{"type":2494},[],{"type":18,"value":7094}," have the same value for\n",{"type":13,"tag":2477,"props":7096,"children":7097},{"href":3517},[7098],{"type":18,"value":3520},{"type":18,"value":626},{"type":13,"tag":21,"props":7101,"children":7103},{"className":7102},[],[7104],{"type":18,"value":7105},"rasterizationSamples",{"type":18,"value":7107},".\nIf set to ",{"type":13,"tag":21,"props":7109,"children":7111},{"className":7110},[],[7112],{"type":18,"value":3850},{"type":18,"value":7114},", the implementation supports variable\nmultisample rates in a subpass which uses no attachments.\nIf set to ",{"type":13,"tag":21,"props":7116,"children":7118},{"className":7117},[],[7119],{"type":18,"value":3533},{"type":18,"value":7121},", then all pipelines bound in such a subpass\n",{"type":13,"tag":2492,"props":7123,"children":7124},{"type":2494},[],{"type":18,"value":7126}," have the same multisample rate.\nThis has no effect in situations where a subpass uses any attachments.",{"type":13,"tag":2443,"props":7128,"children":7129},{},[7130,7134,7135,7141,7143,7146],{"type":13,"tag":2447,"props":7131,"children":7133},{"id":7132},"features-inheritedQueries",[],{"type":18,"value":2452},{"type":13,"tag":21,"props":7136,"children":7138},{"className":7137},[],[7139],{"type":18,"value":7140},"inheritedQueries",{"type":18,"value":7142}," specifies whether a\nsecondary command buffer ",{"type":13,"tag":2492,"props":7144,"children":7145},{"type":2595},[],{"type":18,"value":7147}," be executed while a query is active.",{"type":13,"tag":7149,"props":7150,"children":7151},"style",{},[7152],{"type":18,"value":7153},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":39,"searchDepth":69,"depth":69,"links":7155},[],"markdown",1725732568331]