summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/user-guide/a3-02-reference-capability-atoms.md1588
1 files changed, 794 insertions, 794 deletions
diff --git a/docs/user-guide/a3-02-reference-capability-atoms.md b/docs/user-guide/a3-02-reference-capability-atoms.md
index f1b2d2bdb..d46861d48 100644
--- a/docs/user-guide/a3-02-reference-capability-atoms.md
+++ b/docs/user-guide/a3-02-reference-capability-atoms.md
@@ -18,15 +18,6 @@ Targets
----------------------
*Capabilities to specify code generation targets (`glsl`, `spirv`...)*
-`textualTarget`
-> Represents a non-assembly code generation target.
-
-`hlsl`
-> Represents the HLSL code generation target.
-
-`glsl`
-> Represents the GLSL code generation target.
-
`c`
> Represents the C programming language code generation target.
@@ -36,85 +27,160 @@ Targets
`cuda`
> Represents the CUDA code generation target.
+`glsl`
+> Represents the GLSL code generation target.
+
+`hlsl`
+> Represents the HLSL code generation target.
+
`metal`
> Represents the Metal programming language code generation target.
+`slangvm`
+> Represents the Slang VM bytecode target.
+
`spirv`
> Represents the SPIR-V code generation target.
+`textualTarget`
+> Represents a non-assembly code generation target.
+
`wgsl`
> Represents the WebGPU shading language code generation target.
-`slangvm`
-> Represents the Slang VM bytecode target.
-
Stages
----------------------
*Capabilities to specify code generation stages (`vertex`, `fragment`...)*
-`vertex`
-> Vertex shader stage
+`amplification`
+> Amplification shader stage & mesh shader capabilities
-`fragment`
-> Fragment shader stage
+`anyhit`
+> Any-Hit shader stage & ray-tracing capabilities
+
+`callable`
+> Callable shader stage & ray-tracing capabilities
+
+`closesthit`
+> Closest-Hit shader stage & ray-tracing capabilities
`compute`
> Compute shader stage
-`hull`
-> Hull shader stage
+`dispatch`
+> Dispatch shader stage
`domain`
> Domain shader stage
+`fragment`
+> Fragment shader stage
+
`geometry`
> Geometry shader stage
-`dispatch`
-> Dispatch shader stage
+`hull`
+> Hull shader stage
+
+`intersection`
+> Intersection shader stage & ray-tracing capabilities
+
+`mesh`
+> Mesh shader stage & mesh shader capabilities
+
+`miss`
+> Ray-Miss shader stage & ray-tracing capabilities
`pixel`
> Pixel shader stage
+`raygen`
+> Ray-Generation shader stage & ray-tracing capabilities
+
+`raygeneration`
+> Ray-Generation shader stage & ray-tracing capabilities
+
+`task`
+> Task shader stage & mesh shader capabilities
+
`tesscontrol`
> Tessellation Control shader stage
`tesseval`
> Tessellation Evaluation shader stage
-`raygen`
-> Ray-Generation shader stage & ray-tracing capabilities
+`vertex`
+> Vertex shader stage
-`raygeneration`
-> Ray-Generation shader stage & ray-tracing capabilities
+Versions
+----------------------
+*Capabilities to specify versions of a code generation target (`sm_5_0`, `GLSL_400`...)*
-`intersection`
-> Intersection shader stage & ray-tracing capabilities
+`GLSL_130`
+> GLSL 130 and related capabilities of other targets.
-`anyhit`
-> Any-Hit shader stage & ray-tracing capabilities
+`GLSL_140`
+> GLSL 140 and related capabilities of other targets.
-`closesthit`
-> Closest-Hit shader stage & ray-tracing capabilities
+`GLSL_150`
+> GLSL 150 and related capabilities of other targets.
-`callable`
-> Callable shader stage & ray-tracing capabilities
+`GLSL_330`
+> GLSL 330 and related capabilities of other targets.
-`miss`
-> Ray-Miss shader stage & ray-tracing capabilities
+`GLSL_400`
+> GLSL 400 and related capabilities of other targets.
-`mesh`
-> Mesh shader stage & mesh shader capabilities
+`GLSL_410`
+> GLSL 410 and related capabilities of other targets.
-`task`
-> Task shader stage & mesh shader capabilities
+`GLSL_420`
+> GLSL 420 and related capabilities of other targets.
-`amplification`
-> Amplification shader stage & mesh shader capabilities
+`GLSL_430`
+> GLSL 430 and related capabilities of other targets.
-Versions
-----------------------
-*Capabilities to specify versions of a code generation target (`sm_5_0`, `GLSL_400`...)*
+`GLSL_440`
+> GLSL 440 and related capabilities of other targets.
+
+`GLSL_450`
+> GLSL 450 and related capabilities of other targets.
+
+`GLSL_460`
+> GLSL 460 and related capabilities of other targets.
+
+`cuda_sm_1_0`
+> cuda 1.0 and related capabilities of other targets.
+
+`cuda_sm_2_0`
+> cuda 2.0 and related capabilities of other targets.
+
+`cuda_sm_3_0`
+> cuda 3.0 and related capabilities of other targets.
+
+`cuda_sm_3_5`
+> cuda 3.5 and related capabilities of other targets.
+
+`cuda_sm_4_0`
+> cuda 4.0 and related capabilities of other targets.
+
+`cuda_sm_5_0`
+> cuda 5.0 and related capabilities of other targets.
+
+`cuda_sm_6_0`
+> cuda 6.0 and related capabilities of other targets.
+
+`cuda_sm_7_0`
+> cuda 7.0 and related capabilities of other targets.
+
+`cuda_sm_8_0`
+> cuda 8.0 and related capabilities of other targets.
+
+`cuda_sm_9_0`
+> cuda 9.0 and related capabilities of other targets.
+
+`dxil_lib`
+> Represents capabilities required for DXIL Library compilation.
`glsl_spirv_1_0`
> Represents SPIR-V 1.0 through glslang.
@@ -137,6 +203,15 @@ Versions
`glsl_spirv_1_6`
> Represents SPIR-V 1.6 through glslang.
+`hlsl_2018`
+> Represent HLSL compatibility support.
+
+`hlsl_coopvec_poc`
+> Represent compatibility support for the deprecated POC DXC
+
+`hlsl_nvapi`
+> Represents HLSL NVAPI support.
+
`metallib_2_3`
> Represents MetalLib 2.3.
@@ -152,269 +227,389 @@ Versions
`metallib_latest`
> Represents the latest MetalLib version.
-`hlsl_nvapi`
-> Represents HLSL NVAPI support.
-
-`hlsl_2018`
-> Represent HLSL compatibility support.
-
-`hlsl_coopvec_poc`
-> Represent compatibility support for the deprecated POC DXC
-
-`dxil_lib`
-> Represents capabilities required for DXIL Library compilation.
-
-`spirv_1_0`
-> Represents SPIR-V 1.0 version.
-
-`spirv_1_1`
-> Represents SPIR-V 1.1 version, which includes SPIR-V 1.0.
-
-`spirv_1_2`
-> Represents SPIR-V 1.2 version, which includes SPIR-V 1.1.
-
-`spirv_1_3`
-> Represents SPIR-V 1.3 version, which includes SPIR-V 1.2.
-
-`spirv_1_4`
-> Represents SPIR-V 1.4 version, which includes SPIR-V 1.3.
-
-`spirv_1_5`
-> Represents SPIR-V 1.5 version, which includes SPIR-V 1.4 and additional extensions.
-
-`spirv_1_6`
-> Represents SPIR-V 1.6 version, which includes SPIR-V 1.5 and additional extensions.
-
-`spirv_latest`
-> Represents the latest SPIR-V version.
+`sm_4_0`
+> HLSL shader model 4.0 and related capabilities of other targets.
+> Includes related GLSL/SPIRV extensions.
`sm_4_0_version`
> HLSL shader model 4.0 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_4_0`
-> HLSL shader model 4.0 and related capabilities of other targets.
+`sm_4_1`
+> HLSL shader model 4.1 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_4_1_version`
> HLSL shader model 4.1 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_4_1`
-> HLSL shader model 4.1 and related capabilities of other targets.
+`sm_5_0`
+> HLSL shader model 5.0 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_5_0_version`
> HLSL shader model 5.0 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_5_0`
-> HLSL shader model 5.0 and related capabilities of other targets.
+`sm_5_1`
+> HLSL shader model 5.1 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_5_1_version`
> HLSL shader model 5.1 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_5_1`
-> HLSL shader model 5.1 and related capabilities of other targets.
+`sm_6_0`
+> HLSL shader model 6.0 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_0_version`
> HLSL shader model 6.0 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_0`
-> HLSL shader model 6.0 and related capabilities of other targets.
+`sm_6_1`
+> HLSL shader model 6.1 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_1_version`
> HLSL shader model 6.1 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_1`
-> HLSL shader model 6.1 and related capabilities of other targets.
+`sm_6_2`
+> HLSL shader model 6.2 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_2_version`
> HLSL shader model 6.2 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_2`
-> HLSL shader model 6.2 and related capabilities of other targets.
+`sm_6_3`
+> HLSL shader model 6.3 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_3_version`
> HLSL shader model 6.3 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_3`
-> HLSL shader model 6.3 and related capabilities of other targets.
+`sm_6_4`
+> HLSL shader model 6.4 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_4_version`
> HLSL shader model 6.4 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_4`
-> HLSL shader model 6.4 and related capabilities of other targets.
+`sm_6_5`
+> HLSL shader model 6.5 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_5_version`
> HLSL shader model 6.5 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_5`
-> HLSL shader model 6.5 and related capabilities of other targets.
+`sm_6_6`
+> HLSL shader model 6.6 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_6_version`
> HLSL shader model 6.6 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_6`
-> HLSL shader model 6.6 and related capabilities of other targets.
+`sm_6_7`
+> HLSL shader model 6.7 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_7_version`
> HLSL shader model 6.7 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_7`
-> HLSL shader model 6.7 and related capabilities of other targets.
+`sm_6_8`
+> HLSL shader model 6.8 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_8_version`
> HLSL shader model 6.8 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_8`
-> HLSL shader model 6.8 and related capabilities of other targets.
+`sm_6_9`
+> HLSL shader model 6.9 and related capabilities of other targets.
> Includes related GLSL/SPIRV extensions.
`sm_6_9_version`
> HLSL shader model 6.9 and related capabilities of other targets.
> Does not include related GLSL/SPIRV extensions.
-`sm_6_9`
-> HLSL shader model 6.9 and related capabilities of other targets.
-> Includes related GLSL/SPIRV extensions.
+`spirv_1_0`
+> Represents SPIR-V 1.0 version.
-`GLSL_130`
-> GLSL 130 and related capabilities of other targets.
+`spirv_1_1`
+> Represents SPIR-V 1.1 version, which includes SPIR-V 1.0.
-`GLSL_140`
-> GLSL 140 and related capabilities of other targets.
+`spirv_1_2`
+> Represents SPIR-V 1.2 version, which includes SPIR-V 1.1.
-`GLSL_150`
-> GLSL 150 and related capabilities of other targets.
+`spirv_1_3`
+> Represents SPIR-V 1.3 version, which includes SPIR-V 1.2.
-`GLSL_330`
-> GLSL 330 and related capabilities of other targets.
+`spirv_1_4`
+> Represents SPIR-V 1.4 version, which includes SPIR-V 1.3.
-`GLSL_400`
-> GLSL 400 and related capabilities of other targets.
+`spirv_1_5`
+> Represents SPIR-V 1.5 version, which includes SPIR-V 1.4 and additional extensions.
-`GLSL_410`
-> GLSL 410 and related capabilities of other targets.
+`spirv_1_6`
+> Represents SPIR-V 1.6 version, which includes SPIR-V 1.5 and additional extensions.
-`GLSL_420`
-> GLSL 420 and related capabilities of other targets.
+`spirv_latest`
+> Represents the latest SPIR-V version.
-`GLSL_430`
-> GLSL 430 and related capabilities of other targets.
+Extensions
+----------------------
+*Capabilities to specify extensions (`GL_EXT`, `SPV_EXT`...)*
-`GLSL_440`
-> GLSL 440 and related capabilities of other targets.
+`GL_ARB_derivative_control`
+> Represents the GL_ARB_derivative_control extension.
-`GLSL_450`
-> GLSL 450 and related capabilities of other targets.
+`GL_ARB_fragment_shader_interlock`
+> Represents the GL_ARB_fragment_shader_interlock extension.
-`GLSL_460`
-> GLSL 460 and related capabilities of other targets.
+`GL_ARB_gpu_shader5`
+> Represents the GL_ARB_gpu_shader5 extension.
-`cuda_sm_1_0`
-> cuda 1.0 and related capabilities of other targets.
+`GL_ARB_gpu_shader_int64`
+> Represents the GL_ARB_gpu_shader_int64 extension.
-`cuda_sm_2_0`
-> cuda 2.0 and related capabilities of other targets.
+`GL_ARB_shader_clock`
+> Represents the GL_ARB_shader_clock extension.
-`cuda_sm_3_0`
-> cuda 3.0 and related capabilities of other targets.
+`GL_ARB_shader_clock64`
+> Represents the GL_ARB_shader_clock64 extension.
-`cuda_sm_3_5`
-> cuda 3.5 and related capabilities of other targets.
+`GL_ARB_shader_image_load_store`
+> Represents the GL_ARB_shader_image_load_store extension.
-`cuda_sm_4_0`
-> cuda 4.0 and related capabilities of other targets.
+`GL_ARB_shader_image_size`
+> Represents the GL_ARB_shader_image_size extension.
-`cuda_sm_5_0`
-> cuda 5.0 and related capabilities of other targets.
+`GL_ARB_shader_texture_image_samples`
+> Represents the GL_ARB_shader_texture_image_samples extension.
-`cuda_sm_6_0`
-> cuda 6.0 and related capabilities of other targets.
+`GL_ARB_sparse_texture`
+> Represents the GL_ARB_sparse_texture extension.
-`cuda_sm_7_0`
-> cuda 7.0 and related capabilities of other targets.
+`GL_ARB_sparse_texture2`
+> Represents the GL_ARB_sparse_texture2 extension.
-`cuda_sm_8_0`
-> cuda 8.0 and related capabilities of other targets.
+`GL_ARB_sparse_texture_clamp`
+> Represents the GL_ARB_sparse_texture_clamp extension.
-`cuda_sm_9_0`
-> cuda 9.0 and related capabilities of other targets.
+`GL_ARB_texture_gather`
+> Represents the GL_ARB_texture_gather extension.
-Extensions
-----------------------
-*Capabilities to specify extensions (`GL_EXT`, `SPV_EXT`...)*
+`GL_ARB_texture_multisample`
+> Represents the GL_ARB_texture_multisample extension.
+
+`GL_ARB_texture_query_levels`
+> Represents the GL_ARB_texture_query_levels extension.
+
+`GL_EXT_buffer_reference`
+> Represents the GL_EXT_buffer_reference extension.
+
+`GL_EXT_buffer_reference_uvec2`
+> Represents the GL_EXT_buffer_reference_uvec2 extension.
+
+`GL_EXT_debug_printf`
+> Represents the GL_EXT_debug_printf extension.
+
+`GL_EXT_demote_to_helper_invocation`
+> Represents the GL_EXT_demote_to_helper_invocation extension.
+
+`GL_EXT_device_group`
+> Represents the GL_EXT_device_group extension.
+
+`GL_EXT_fragment_shader_barycentric`
+> Represents the GL_EXT_fragment_shader_barycentric extension.
+
+`GL_EXT_maximal_reconvergence`
+> Represents the GL_EXT_maximal_reconvergence extension.
+
+`GL_EXT_mesh_shader`
+> Represents the GL_EXT_mesh_shader extension.
+
+`GL_EXT_nonuniform_qualifier`
+> Represents the GL_EXT_nonuniform_qualifier extension.
+
+`GL_EXT_ray_query`
+> Represents the GL_EXT_ray_query extension.
+
+`GL_EXT_ray_tracing`
+> Represents the GL_EXT_ray_tracing extension.
+
+`GL_EXT_ray_tracing_position_fetch`
+> Represents the GL_EXT_ray_tracing_position_fetch extension.
+
+`GL_EXT_ray_tracing_position_fetch_ray_query`
+> Represents the GL_EXT_ray_tracing_position_fetch_ray_query extension.
+
+`GL_EXT_ray_tracing_position_fetch_ray_tracing`
+> Represents the GL_EXT_ray_tracing_position_fetch_ray_tracing extension.
+
+`GL_EXT_samplerless_texture_functions`
+> Represents the GL_EXT_samplerless_texture_functions extension.
+
+`GL_EXT_shader_atomic_float`
+> Represents the GL_EXT_shader_atomic_float extension.
+
+`GL_EXT_shader_atomic_float2`
+> Represents the GL_EXT_shader_atomic_float2 extension.
+
+`GL_EXT_shader_atomic_float_min_max`
+> Represents the GL_EXT_shader_atomic_float_min_max extension.
+
+`GL_EXT_shader_atomic_int64`
+> Represents the GL_EXT_shader_atomic_int64 extension.
+
+`GL_EXT_shader_explicit_arithmetic_types`
+> Represents the GL_EXT_shader_explicit_arithmetic_types extension.
+
+`GL_EXT_shader_explicit_arithmetic_types_int64`
+> Represents the GL_EXT_shader_explicit_arithmetic_types_int64 extension.
+
+`GL_EXT_shader_image_load_store`
+> Represents the GL_EXT_shader_image_load_store extension.
+
+`GL_EXT_shader_quad_control`
+> Represents the GL_EXT_shader_quad_control extension.
+
+`GL_EXT_shader_realtime_clock`
+> Represents the GL_EXT_shader_realtime_clock extension.
+
+`GL_EXT_texture_query_lod`
+> Represents the GL_EXT_texture_query_lod extension.
+
+`GL_EXT_texture_shadow_lod`
+> Represents the GL_EXT_texture_shadow_lod extension.
+
+`GL_KHR_memory_scope_semantics`
+> Represents the GL_KHR_memory_scope_semantics extension.
+
+`GL_KHR_shader_subgroup_arithmetic`
+> Represents the GL_KHR_shader_subgroup_arithmetic extension.
+
+`GL_KHR_shader_subgroup_ballot`
+> Represents the GL_KHR_shader_subgroup_ballot extension.
+
+`GL_KHR_shader_subgroup_basic`
+> Represents the GL_KHR_shader_subgroup_basic extension.
+
+`GL_KHR_shader_subgroup_clustered`
+> Represents the GL_KHR_shader_subgroup_clustered extension.
+
+`GL_KHR_shader_subgroup_quad`
+> Represents the GL_KHR_shader_subgroup_quad extension.
+
+`GL_KHR_shader_subgroup_rotate`
+> Represents the GL_KHR_shader_subgroup_rotate extension.
+
+`GL_KHR_shader_subgroup_shuffle`
+> Represents the GL_KHR_shader_subgroup_shuffle extension.
+
+`GL_KHR_shader_subgroup_shuffle_relative`
+> Represents the GL_KHR_shader_subgroup_shuffle_relative extension.
+
+`GL_KHR_shader_subgroup_vote`
+> Represents the GL_KHR_shader_subgroup_vote extension.
+
+`GL_NV_cluster_acceleration_structure`
+> Represents the GL_NV_cluster_acceleration_structure extension.
+
+`GL_NV_compute_shader_derivatives`
+> Represents the GL_NV_compute_shader_derivatives extension.
+
+`GL_NV_fragment_shader_barycentric`
+> Represents the GL_NV_fragment_shader_barycentric extension.
+
+`GL_NV_gpu_shader5`
+> Represents the GL_NV_gpu_shader5 extension.
+
+`GL_NV_ray_tracing`
+> Represents the GL_NV_ray_tracing extension.
+
+`GL_NV_ray_tracing_motion_blur`
+> Represents the GL_NV_ray_tracing_motion_blur extension.
+
+`GL_NV_shader_atomic_fp16_vector`
+> Represents the GL_NV_shader_atomic_fp16_vector extension.
+
+`GL_NV_shader_invocation_reorder`
+> Represents the GL_NV_shader_invocation_reorder extension.
+
+`GL_NV_shader_subgroup_partitioned`
+> Represents the GL_NV_shader_subgroup_partitioned extension.
+
+`GL_NV_shader_texture_footprint`
+> Represents the GL_NV_shader_texture_footprint extension.
+
+`SPV_EXT_demote_to_helper_invocation`
+> Represents the SPIR-V extension for demoting to helper invocation.
+
+`SPV_EXT_descriptor_indexing`
+> Represents the SPIR-V extension for descriptor indexing.
+
+`SPV_EXT_fragment_fully_covered`
+> Represents the SPIR-V extension for SPV_EXT_fragment_fully_covered.
`SPV_EXT_fragment_shader_interlock`
> Represents the SPIR-V extension for fragment shader interlock operations.
+`SPV_EXT_mesh_shader`
+> Represents the SPIR-V extension for mesh shaders.
+
`SPV_EXT_physical_storage_buffer`
> Represents the SPIR-V extension for physical storage buffer.
-`SPV_EXT_fragment_fully_covered`
-> Represents the SPIR-V extension for SPV_EXT_fragment_fully_covered.
+`SPV_EXT_replicated_composites`
+> Represents the SPIR-V extension for SPV_EXT_replicated_composites.
-`SPV_EXT_descriptor_indexing`
-> Represents the SPIR-V extension for descriptor indexing.
+`SPV_EXT_shader_atomic_float16_add`
+> Represents the SPIR-V extension for atomic float16 add operations.
`SPV_EXT_shader_atomic_float_add`
> Represents the SPIR-V extension for atomic float add operations.
-`SPV_EXT_shader_atomic_float16_add`
-> Represents the SPIR-V extension for atomic float16 add operations.
-
`SPV_EXT_shader_atomic_float_min_max`
> Represents the SPIR-V extension for atomic float min/max operations.
-`SPV_EXT_mesh_shader`
-> Represents the SPIR-V extension for mesh shaders.
+`SPV_GOOGLE_user_type`
+> Represents the SPIR-V extension for SPV_GOOGLE_user_type.
-`SPV_EXT_demote_to_helper_invocation`
-> Represents the SPIR-V extension for demoting to helper invocation.
+`SPV_KHR_compute_shader_derivatives`
+> Represents the SPIR-V extension for compute shader derivatives.
-`SPV_KHR_maximal_reconvergence`
-> Represents the SPIR-V extension for maximal reconvergence.
+`SPV_KHR_cooperative_matrix`
+> Represents the SPIR-V extension for SPV_KHR_cooperative_matrix.
-`SPV_KHR_quad_control`
-> Represents the SPIR-V extension for quad group control.
+`SPV_KHR_device_group`
+> Represents the SPIR-V extension for device-group information.
`SPV_KHR_fragment_shader_barycentric`
> Represents the SPIR-V extension for fragment shader barycentric.
+`SPV_KHR_maximal_reconvergence`
+> Represents the SPIR-V extension for maximal reconvergence.
+
`SPV_KHR_non_semantic_info`
> Represents the SPIR-V extension for non-semantic information.
-`SPV_KHR_device_group`
-> Represents the SPIR-V extension for device-group information.
-
-`SPV_KHR_ray_tracing`
-> Represents the SPIR-V extension for ray tracing.
+`SPV_KHR_quad_control`
+> Represents the SPIR-V extension for quad group control.
`SPV_KHR_ray_query`
> Represents the SPIR-V extension for ray queries.
+`SPV_KHR_ray_tracing`
+> Represents the SPIR-V extension for ray tracing.
+
`SPV_KHR_ray_tracing_position_fetch`
> Represents the SPIR-V extension for ray tracing position fetch.
> Should be used with either SPV_KHR_ray_query or SPV_KHR_ray_tracing.
@@ -422,99 +617,96 @@ Extensions
`SPV_KHR_shader_clock`
> Represents the SPIR-V extension for shader clock.
-`SPV_NV_shader_subgroup_partitioned`
-> Represents the SPIR-V extension for shader subgroup partitioned.
-
`SPV_KHR_subgroup_rotate`
> Represents the SPIR-V extension enables rotating values across invocations within a subgroup.
-`SPV_NV_ray_tracing_motion_blur`
-> Represents the SPIR-V extension for ray tracing motion blur.
-
-`SPV_NV_shader_invocation_reorder`
-> Represents the SPIR-V extension for shader invocation reorder.
-> Requires SPV_KHR_ray_tracing.
+`SPV_KHR_vulkan_memory_model`
+> Represents the SPIR-V extension for SPV_KHR_vulkan_memory_model.
`SPV_NV_cluster_acceleration_structure`
> Represents the SPIR-V extension for cluster acceleration structure.
-`SPV_NV_linear_swept_spheres`
-> Represents the SPIR-V extension for linear swept spheres.
-
-`SPV_NV_shader_image_footprint`
-> Represents the SPIR-V extension for shader image footprint.
-
-`SPV_KHR_compute_shader_derivatives`
-> Represents the SPIR-V extension for compute shader derivatives.
-
`SPV_NV_compute_shader_derivatives`
> Represents the SPIR-V extension for compute shader derivatives.
-`SPV_GOOGLE_user_type`
-> Represents the SPIR-V extension for SPV_GOOGLE_user_type.
-
-`SPV_EXT_replicated_composites`
-> Represents the SPIR-V extension for SPV_EXT_replicated_composites.
-
-`SPV_KHR_vulkan_memory_model`
-> Represents the SPIR-V extension for SPV_KHR_vulkan_memory_model.
+`SPV_NV_cooperative_matrix2`
+> Represents the SPIR-V extension for SPV_NV_cooperative_matrix2.
`SPV_NV_cooperative_vector`
> Represents the SPIR-V extension for SPV_NV_cooperative_vector.
-`SPV_KHR_cooperative_matrix`
-> Represents the SPIR-V extension for SPV_KHR_cooperative_matrix.
+`SPV_NV_linear_swept_spheres`
+> Represents the SPIR-V extension for linear swept spheres.
-`SPV_NV_tensor_addressing`
-> Represents the SPIR-V extension for SPV_NV_tensor_addressing.
+`SPV_NV_ray_tracing_motion_blur`
+> Represents the SPIR-V extension for ray tracing motion blur.
-`SPV_NV_cooperative_matrix2`
-> Represents the SPIR-V extension for SPV_NV_cooperative_matrix2.
+`SPV_NV_shader_image_footprint`
+> Represents the SPIR-V extension for shader image footprint.
-`spvDeviceGroup`
-> Represents the SPIR-V capability for DeviceGroup.
+`SPV_NV_shader_invocation_reorder`
+> Represents the SPIR-V extension for shader invocation reorder.
+> Requires SPV_KHR_ray_tracing.
-`spvAtomicFloat32AddEXT`
-> Represents the SPIR-V capability for atomic float 32 add operations.
+`SPV_NV_shader_subgroup_partitioned`
+> Represents the SPIR-V extension for shader subgroup partitioned.
+
+`SPV_NV_tensor_addressing`
+> Represents the SPIR-V extension for SPV_NV_tensor_addressing.
`spvAtomicFloat16AddEXT`
> Represents the SPIR-V capability for atomic float 16 add operations.
-`spvAtomicFloat64AddEXT`
-> Represents the SPIR-V capability for atomic float 64 add operations.
+`spvAtomicFloat16MinMaxEXT`
+> Represents the SPIR-V capability for atomic float 16 min/max operations.
-`spvInt64Atomics`
-> Represents the SPIR-V capability for 64-bit integer atomics.
+`spvAtomicFloat32AddEXT`
+> Represents the SPIR-V capability for atomic float 32 add operations.
`spvAtomicFloat32MinMaxEXT`
> Represents the SPIR-V capability for atomic float 32 min/max operations.
-`spvAtomicFloat16MinMaxEXT`
-> Represents the SPIR-V capability for atomic float 16 min/max operations.
+`spvAtomicFloat64AddEXT`
+> Represents the SPIR-V capability for atomic float 64 add operations.
`spvAtomicFloat64MinMaxEXT`
> Represents the SPIR-V capability for atomic float 64 min/max operations.
-`spvDerivativeControl`
-> Represents the SPIR-V capability for 'derivative control' operations.
+`spvCooperativeMatrixBlockLoadsNV`
+> Represents the SPIR-V capability for cooperative matrix 2
-`spvImageQuery`
-> Represents the SPIR-V capability for image query operations.
+`spvCooperativeMatrixConversionsNV`
+> Represents the SPIR-V capability for cooperative matrix 2
-`spvImageGatherExtended`
-> Represents the SPIR-V capability for extended image gather operations.
+`spvCooperativeMatrixKHR`
+> Represents the SPIR-V capability for cooperative matrices
-`spvSparseResidency`
-> Represents the SPIR-V capability for sparse residency.
+`spvCooperativeMatrixPerElementOperationsNV`
+> Represents the SPIR-V capability for cooperative matrix 2
-`spvImageFootprintNV`
-> Represents the SPIR-V capability for image footprint.
+`spvCooperativeMatrixReductionsNV`
+> Represents the SPIR-V capability for cooperative matrix 2
-`spvMinLod`
-> Represents the SPIR-V capability for using minimum LOD operations.
+`spvCooperativeMatrixTensorAddressingNV`
+> Represents the SPIR-V capability for cooperative matrix 2
-`spvFragmentShaderPixelInterlockEXT`
-> Represents the SPIR-V capability for using SPV_EXT_fragment_shader_interlock.
+`spvCooperativeVectorNV`
+> Represents the SPIR-V capability for cooperative vectors
+
+`spvCooperativeVectorTrainingNV`
+> Represents the SPIR-V capability for cooperative vector training
+
+`spvDemoteToHelperInvocation`
+> Represents the SPIR-V capability for demoting to helper invocation.
+
+`spvDemoteToHelperInvocationEXT`
+> Represents the SPIR-V capability for demoting to helper invocation.
+
+`spvDerivativeControl`
+> Represents the SPIR-V capability for 'derivative control' operations.
+
+`spvDeviceGroup`
+> Represents the SPIR-V capability for DeviceGroup.
`spvFragmentBarycentricKHR`
> Represents the SPIR-V capability for using SPV_KHR_fragment_shader_barycentric.
@@ -522,38 +714,53 @@ Extensions
`spvFragmentFullyCoveredEXT`
> Represents the SPIR-V capability for using SPV_EXT_fragment_fully_covered functionality.
-`spvGroupNonUniformBallot`
-> Represents the SPIR-V capability for group non-uniform ballot operations.
-
-`spvGroupNonUniformShuffle`
-> Represents the SPIR-V capability for group non-uniform shuffle operations.
+`spvFragmentShaderPixelInterlockEXT`
+> Represents the SPIR-V capability for using SPV_EXT_fragment_shader_interlock.
`spvGroupNonUniformArithmetic`
> Represents the SPIR-V capability for group non-uniform arithmetic operations.
+`spvGroupNonUniformBallot`
+> Represents the SPIR-V capability for group non-uniform ballot operations.
+
+`spvGroupNonUniformPartitionedNV`
+> Represents the SPIR-V capability for group non-uniform partitioned operations.
+
`spvGroupNonUniformQuad`
> Represents the SPIR-V capability for group non-uniform quad operations.
+`spvGroupNonUniformRotateKHR`
+> Represents the SPIR-V capability for group non-uniform rotate operations.
+
+`spvGroupNonUniformShuffle`
+> Represents the SPIR-V capability for group non-uniform shuffle operations.
+
`spvGroupNonUniformVote`
> Represents the SPIR-V capability for group non-uniform vote operations.
-`spvGroupNonUniformPartitionedNV`
-> Represents the SPIR-V capability for group non-uniform partitioned operations.
+`spvImageFootprintNV`
+> Represents the SPIR-V capability for image footprint.
-`spvGroupNonUniformRotateKHR`
-> Represents the SPIR-V capability for group non-uniform rotate operations.
+`spvImageGatherExtended`
+> Represents the SPIR-V capability for extended image gather operations.
-`spvRayTracingMotionBlurNV`
-> Represents the SPIR-V capability for ray tracing motion blur.
+`spvImageQuery`
+> Represents the SPIR-V capability for image query operations.
+
+`spvInt64Atomics`
+> Represents the SPIR-V capability for 64-bit integer atomics.
+
+`spvMaximalReconvergenceKHR`
+> Represents the SPIR-V capability for maximal reconvergence.
`spvMeshShadingEXT`
> Represents the SPIR-V capability for mesh shading.
-`spvRayTracingKHR`
-> Represents the SPIR-V capability for ray tracing.
+`spvMinLod`
+> Represents the SPIR-V capability for using minimum LOD operations.
-`spvRayTracingPositionFetchKHR`
-> Represents the SPIR-V capability for ray tracing position fetch.
+`spvQuadControlKHR`
+> Represents the SPIR-V capability for quad group control.
`spvRayQueryKHR`
> Represents the SPIR-V capability for ray query.
@@ -561,345 +768,254 @@ Extensions
`spvRayQueryPositionFetchKHR`
> Represents the SPIR-V capability for ray query position fetch.
-`spvShaderInvocationReorderNV`
-> Represents the SPIR-V capability for shader invocation reorder.
-
`spvRayTracingClusterAccelerationStructureNV`
> Represents the SPIR-V capability for cluster acceleration structure.
+`spvRayTracingKHR`
+> Represents the SPIR-V capability for ray tracing.
+
`spvRayTracingLinearSweptSpheresGeometryNV`
> Represents the SPIR-V capability for linear swept spheres.
-`spvShaderClockKHR`
-> Represents the SPIR-V capability for shader clock.
-
-`spvShaderNonUniformEXT`
-> Represents the SPIR-V capability for non-uniform resource indexing.
-
-`spvShaderNonUniform`
-> Represents the SPIR-V capability for non-uniform resource indexing.
-
-`spvDemoteToHelperInvocationEXT`
-> Represents the SPIR-V capability for demoting to helper invocation.
+`spvRayTracingMotionBlurNV`
+> Represents the SPIR-V capability for ray tracing motion blur.
-`spvDemoteToHelperInvocation`
-> Represents the SPIR-V capability for demoting to helper invocation.
+`spvRayTracingPositionFetchKHR`
+> Represents the SPIR-V capability for ray tracing position fetch.
`spvReplicatedCompositesEXT`
> Represents the SPIR-V capability for replicated composites
-`spvCooperativeVectorNV`
-> Represents the SPIR-V capability for cooperative vectors
-
-`spvCooperativeVectorTrainingNV`
-> Represents the SPIR-V capability for cooperative vector training
-
-`spvCooperativeMatrixKHR`
-> Represents the SPIR-V capability for cooperative matrices
-
-`spvCooperativeMatrixReductionsNV`
-> Represents the SPIR-V capability for cooperative matrix 2
+`spvShaderClockKHR`
+> Represents the SPIR-V capability for shader clock.
-`spvCooperativeMatrixConversionsNV`
-> Represents the SPIR-V capability for cooperative matrix 2
+`spvShaderInvocationReorderNV`
+> Represents the SPIR-V capability for shader invocation reorder.
-`spvCooperativeMatrixPerElementOperationsNV`
-> Represents the SPIR-V capability for cooperative matrix 2
+`spvShaderNonUniform`
+> Represents the SPIR-V capability for non-uniform resource indexing.
-`spvCooperativeMatrixTensorAddressingNV`
-> Represents the SPIR-V capability for cooperative matrix 2
+`spvShaderNonUniformEXT`
+> Represents the SPIR-V capability for non-uniform resource indexing.
-`spvCooperativeMatrixBlockLoadsNV`
-> Represents the SPIR-V capability for cooperative matrix 2
+`spvSparseResidency`
+> Represents the SPIR-V capability for sparse residency.
`spvTensorAddressingNV`
> Represents the SPIR-V capability for tensor addressing
-`spvMaximalReconvergenceKHR`
-> Represents the SPIR-V capability for maximal reconvergence.
-
-`spvQuadControlKHR`
-> Represents the SPIR-V capability for quad group control.
-
-`spvVulkanMemoryModelKHR`
-> Represents the SPIR-V capability for vulkan memory model.
-
`spvVulkanMemoryModelDeviceScopeKHR`
> Represents the SPIR-V capability for vulkan memory model.
-`GL_EXT_buffer_reference`
-> Represents the GL_EXT_buffer_reference extension.
-
-`GL_EXT_buffer_reference_uvec2`
-> Represents the GL_EXT_buffer_reference_uvec2 extension.
-
-`GL_EXT_debug_printf`
-> Represents the GL_EXT_debug_printf extension.
-
-`GL_EXT_demote_to_helper_invocation`
-> Represents the GL_EXT_demote_to_helper_invocation extension.
-
-`GL_EXT_maximal_reconvergence`
-> Represents the GL_EXT_maximal_reconvergence extension.
-
-`GL_EXT_shader_quad_control`
-> Represents the GL_EXT_shader_quad_control extension.
-
-`GL_EXT_device_group`
-> Represents the GL_EXT_device_group extension.
-
-`GL_EXT_fragment_shader_barycentric`
-> Represents the GL_EXT_fragment_shader_barycentric extension.
-
-`GL_EXT_mesh_shader`
-> Represents the GL_EXT_mesh_shader extension.
-
-`GL_EXT_nonuniform_qualifier`
-> Represents the GL_EXT_nonuniform_qualifier extension.
-
-`GL_EXT_ray_query`
-> Represents the GL_EXT_ray_query extension.
-
-`GL_EXT_ray_tracing`
-> Represents the GL_EXT_ray_tracing extension.
-
-`GL_EXT_ray_tracing_position_fetch_ray_tracing`
-> Represents the GL_EXT_ray_tracing_position_fetch_ray_tracing extension.
-
-`GL_EXT_ray_tracing_position_fetch_ray_query`
-> Represents the GL_EXT_ray_tracing_position_fetch_ray_query extension.
-
-`GL_EXT_ray_tracing_position_fetch`
-> Represents the GL_EXT_ray_tracing_position_fetch extension.
-
-`GL_EXT_samplerless_texture_functions`
-> Represents the GL_EXT_samplerless_texture_functions extension.
-
-`GL_EXT_shader_atomic_float`
-> Represents the GL_EXT_shader_atomic_float extension.
-
-`GL_EXT_shader_atomic_float_min_max`
-> Represents the GL_EXT_shader_atomic_float_min_max extension.
-
-`GL_EXT_shader_atomic_float2`
-> Represents the GL_EXT_shader_atomic_float2 extension.
-
-`GL_EXT_shader_atomic_int64`
-> Represents the GL_EXT_shader_atomic_int64 extension.
+`spvVulkanMemoryModelKHR`
+> Represents the SPIR-V capability for vulkan memory model.
-`GL_EXT_shader_explicit_arithmetic_types`
-> Represents the GL_EXT_shader_explicit_arithmetic_types extension.
+Compound Capabilities
+----------------------
+*Capabilities to specify capabilities created by other capabilities (`raytracing`, `meshshading`...)*
-`GL_EXT_shader_explicit_arithmetic_types_int64`
-> Represents the GL_EXT_shader_explicit_arithmetic_types_int64 extension.
+`amplification_mesh`
+> Collection of shader stages
-`GL_EXT_shader_image_load_store`
-> Represents the GL_EXT_shader_image_load_store extension.
+`any_cpp_target`
+> All "cpp syntax" code-gen targets
-`GL_EXT_shader_realtime_clock`
-> Represents the GL_EXT_shader_realtime_clock extension.
+`any_gfx_target`
+> All slang-gfx compatible code-gen targets
-`GL_EXT_texture_query_lod`
-> Represents the GL_EXT_texture_query_lod extension.
+`any_stage`
+> Collection of all shader stages
-`GL_EXT_texture_shadow_lod`
-> Represents the GL_EXT_texture_shadow_lod extension.
+`any_target`
+> All code-gen targets
-`GL_ARB_derivative_control`
-> Represents the GL_ARB_derivative_control extension.
+`any_textual_target`
+> All non-asm code-gen targets
-`GL_ARB_fragment_shader_interlock`
-> Represents the GL_ARB_fragment_shader_interlock extension.
+`anyhit_closesthit`
+> Collection of shader stages
-`GL_ARB_gpu_shader5`
-> Represents the GL_ARB_gpu_shader5 extension.
+`anyhit_closesthit_intersection`
+> Collection of shader stages
-`GL_ARB_shader_image_load_store`
-> Represents the GL_ARB_shader_image_load_store extension.
+`anyhit_closesthit_intersection_miss`
+> Collection of shader stages
-`GL_ARB_shader_image_size`
-> Represents the GL_ARB_shader_image_size extension.
+`appendstructuredbuffer`
+> Capabilities required to use AppendStructuredBuffer
-`GL_ARB_texture_multisample`
-> Represents the GL_ARB_texture_multisample extension.
+`atomic64`
+> Capabilities needed for int64/uint64 atomic operations
-`GL_ARB_shader_texture_image_samples`
-> Represents the GL_ARB_shader_texture_image_samples extension.
+`atomic_glsl`
+> (GLSL/SPIRV) Capabilities required to use GLSL-400 atomic operations
-`GL_ARB_sparse_texture`
-> Represents the GL_ARB_sparse_texture extension.
+`atomic_glsl_float1`
+> (GLSL/SPIRV) Capabilities required to use GLSL-tier-1 float-atomic operations
-`GL_ARB_sparse_texture2`
-> Represents the GL_ARB_sparse_texture2 extension.
+`atomic_glsl_float2`
+> (GLSL/SPIRV) Capabilities required to use GLSL-tier-2 float-atomic operations
-`GL_ARB_sparse_texture_clamp`
-> Represents the GL_ARB_sparse_texture_clamp extension.
+`atomic_glsl_halfvec`
+> (GLSL/SPIRV) Capabilities required to use NVAPI GLSL-fp16 float-atomic operations
-`GL_ARB_texture_gather`
-> Represents the GL_ARB_texture_gather extension.
+`atomic_glsl_hlsl_cuda9_int64`
+> (All implemented targets) Capabilities required to use atomic operations (cuda_sm_9 tier atomics)
-`GL_ARB_texture_query_levels`
-> Represents the GL_ARB_texture_query_levels extension.
+`atomic_glsl_hlsl_cuda_metal`
+> (All implemented targets) Capabilities required to use atomic operations
-`GL_ARB_shader_clock`
-> Represents the GL_ARB_shader_clock extension.
+`atomic_glsl_hlsl_nvapi_cuda5_int64`
+> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_5 tier atomics)
-`GL_ARB_shader_clock64`
-> Represents the GL_ARB_shader_clock64 extension.
+`atomic_glsl_hlsl_nvapi_cuda6_int64`
+> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_6 tier atomics)
-`GL_ARB_gpu_shader_int64`
-> Represents the GL_ARB_gpu_shader_int64 extension.
+`atomic_glsl_hlsl_nvapi_cuda9_int64`
+> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_9 tier atomics)
-`GL_KHR_memory_scope_semantics`
-> Represents the GL_KHR_memory_scope_semantics extension.
+`atomic_glsl_hlsl_nvapi_cuda_metal_float1`
+> (All implemented targets) Capabilities required to use atomic operations of GLSL tier-1 float atomics
-`GL_KHR_shader_subgroup_arithmetic`
-> Represents the GL_KHR_shader_subgroup_arithmetic extension.
+`atomic_glsl_int64`
+> (GLSL/SPIRV) Capabilities required to use int64/uint64 atomic operations
-`GL_KHR_shader_subgroup_ballot`
-> Represents the GL_KHR_shader_subgroup_ballot extension.
+`atomic_hlsl`
+> (hlsl only) Capabilities required to use hlsl atomic operations
-`GL_KHR_shader_subgroup_basic`
-> Represents the GL_KHR_shader_subgroup_basic extension.
+`atomic_hlsl_nvapi`
+> (hlsl only) Capabilities required to use hlsl NVAPI atomics
-`GL_KHR_shader_subgroup_clustered`
-> Represents the GL_KHR_shader_subgroup_clustered extension.
+`atomic_hlsl_sm_6_6`
+> (hlsl only) Capabilities required to use hlsl sm_6_6 atomics
-`GL_KHR_shader_subgroup_quad`
-> Represents the GL_KHR_shader_subgroup_quad extension.
+`atomicfloat`
+> Capabilities needed to use GLSL-tier-1 float-atomic operations
-`GL_KHR_shader_subgroup_shuffle`
-> Represents the GL_KHR_shader_subgroup_shuffle extension.
+`atomicfloat2`
+> Capabilities needed to use GLSL-tier-2 float-atomic operations
-`GL_KHR_shader_subgroup_shuffle_relative`
-> Represents the GL_KHR_shader_subgroup_shuffle_relative extension.
+`breakpoint`
+> Capabilities required to enable shader breakpoints
-`GL_KHR_shader_subgroup_vote`
-> Represents the GL_KHR_shader_subgroup_vote extension.
+`bufferreference`
+> Capabilities needed to use GLSL buffer-reference's
-`GL_KHR_shader_subgroup_rotate`
-> Represents the GL_KHR_shader_subgroup_rotate extension.
+`bufferreference_int64`
+> Capabilities needed to use GLSL buffer-reference's with int64
-`GL_NV_compute_shader_derivatives`
-> Represents the GL_NV_compute_shader_derivatives extension.
+`byteaddressbuffer`
+> Capabilities required to use ByteAddressBuffer
-`GL_NV_fragment_shader_barycentric`
-> Represents the GL_NV_fragment_shader_barycentric extension.
+`byteaddressbuffer_rw`
+> Capabilities required to use RWByteAddressBuffer
-`GL_NV_gpu_shader5`
-> Represents the GL_NV_gpu_shader5 extension.
+`compute_fragment`
+> Collection of shader stages
-`GL_NV_ray_tracing`
-> Represents the GL_NV_ray_tracing extension.
+`compute_fragment_geometry_vertex`
+> Collection of shader stages
-`GL_NV_ray_tracing_motion_blur`
-> Represents the GL_NV_ray_tracing_motion_blur extension.
+`compute_tesscontrol_tesseval`
+> Collection of shader stages
-`GL_NV_shader_atomic_fp16_vector`
-> Represents the GL_NV_shader_atomic_fp16_vector extension.
+`consumestructuredbuffer`
+> Capabilities required to use ConsumeStructuredBuffer
-`GL_NV_shader_invocation_reorder`
-> Represents the GL_NV_shader_invocation_reorder extension.
+`cooperative_matrix`
+> Capabilities needed to use cooperative matrices
-`GL_NV_shader_subgroup_partitioned`
-> Represents the GL_NV_shader_subgroup_partitioned extension.
+`cooperative_matrix_2`
+> Capabilities needed to use tensor addressing
-`GL_NV_shader_texture_footprint`
-> Represents the GL_NV_shader_texture_footprint extension.
+`cooperative_matrix_block_load`
+> Capabilities needed to use decodeFunc with cooperative matrix load
-`GL_NV_cluster_acceleration_structure`
-> Represents the GL_NV_cluster_acceleration_structure extension.
+`cooperative_matrix_conversion`
+> Capabilities needed to convert cooperative matrices
-Compound Capabilities
-----------------------
-*Capabilities to specify capabilities created by other capabilities (`raytracing`, `meshshading`...)*
+`cooperative_matrix_map_element`
+> Capabilities needed to use MapElement operation with cooperative matrix
-`any_target`
-> All code-gen targets
+`cooperative_matrix_reduction`
+> Capabilities needed to use reduction operations with cooperative matrix
-`any_textual_target`
-> All non-asm code-gen targets
+`cooperative_matrix_tensor_addressing`
+> Capabilities needed to load or store with tensor_addressing extension
-`any_gfx_target`
-> All slang-gfx compatible code-gen targets
+`cooperative_vector`
+> Capabilities needed to use cooperative vectors
+> Note that cpp and cuda are supported via a fallback non-cooperative implementation
+> No HLSL shader model bound yet
-`any_cpp_target`
-> All "cpp syntax" code-gen targets
+`cooperative_vector_training`
+> Capabilities needed to train cooperative vectors
`cpp_cuda`
> CPP and CUDA code-gen targets
-`cpp_cuda_spirv`
-> CPP, CUDA and SPIRV code-gen targets
-
-`cuda_spirv`
-> CUDA and SPIRV code-gen targets
-
-`cpp_cuda_glsl_spirv`
-> CPP, CUDA, GLSL and SPIRV code-gen targets
-
`cpp_cuda_glsl_hlsl`
> CPP, CUDA, GLSL, and HLSL code-gen targets
+`cpp_cuda_glsl_hlsl_metal_spirv`
+> CPP, CUDA, GLSL, HLSL, Metal and SPIRV code-gen targets
+
+`cpp_cuda_glsl_hlsl_metal_spirv_wgsl`
+> CPP, CUDA, GLSL, HLSL, Metal, SPIRV and WGSL code-gen targets
+
`cpp_cuda_glsl_hlsl_spirv`
> CPP, CUDA, GLSL, HLSL, and SPIRV code-gen targets
`cpp_cuda_glsl_hlsl_spirv_wgsl`
> CPP, CUDA, GLSL, HLSL, SPIRV and WGSL code-gen targets
-`cpp_cuda_glsl_hlsl_metal_spirv`
-> CPP, CUDA, GLSL, HLSL, Metal and SPIRV code-gen targets
-
-`cpp_cuda_glsl_hlsl_metal_spirv_wgsl`
-> CPP, CUDA, GLSL, HLSL, Metal, SPIRV and WGSL code-gen targets
+`cpp_cuda_glsl_spirv`
+> CPP, CUDA, GLSL and SPIRV code-gen targets
`cpp_cuda_hlsl`
> CPP, CUDA, and HLSL code-gen targets
+`cpp_cuda_hlsl_metal_spirv`
+> CPP, CUDA, HLSL, Metal, and SPIRV code-gen targets
+
`cpp_cuda_hlsl_spirv`
> CPP, CUDA, HLSL, and SPIRV code-gen targets
-`cpp_cuda_hlsl_metal_spirv`
-> CPP, CUDA, HLSL, Metal, and SPIRV code-gen targets
+`cpp_cuda_spirv`
+> CPP, CUDA and SPIRV code-gen targets
`cpp_glsl`
> CPP, and GLSL code-gen targets
-`cpp_glsl_hlsl_spirv`
-> CPP, GLSL, HLSL, and SPIRV code-gen targets
-
-`cpp_glsl_hlsl_spirv_wgsl`
-> CPP, GLSL, HLSL, SPIRV and WGSL code-gen targets
-
`cpp_glsl_hlsl_metal_spirv`
> CPP, GLSL, HLSL, Metal, and SPIRV code-gen targets
`cpp_glsl_hlsl_metal_spirv_wgsl`
> CPP, GLSL, HLSL, Metal, SPIRV and WGSL code-gen targets
+`cpp_glsl_hlsl_spirv`
+> CPP, GLSL, HLSL, and SPIRV code-gen targets
+
+`cpp_glsl_hlsl_spirv_wgsl`
+> CPP, GLSL, HLSL, SPIRV and WGSL code-gen targets
+
`cpp_hlsl`
> CPP, and HLSL code-gen targets
`cuda_glsl_hlsl`
> CUDA, GLSL, and HLSL code-gen targets
-`cuda_hlsl_metal_spirv`
-> CUDA, HLSL, Metal, and SPIRV code-gen targets
-
-`cuda_glsl_hlsl_spirv`
-> CUDA, GLSL, HLSL, and SPIRV code-gen targets
-
-`cuda_glsl_hlsl_spirv_wgsl`
-> CUDA, GLSL, HLSL, SPIRV, and WGSL code-gen targets
-
`cuda_glsl_hlsl_metal_spirv`
> CUDA, GLSL, HLSL, Metal, and SPIRV code-gen targets
`cuda_glsl_hlsl_metal_spirv_wgsl`
> CUDA, GLSL, HLSL, Metal, SPIRV and WGSL code-gen targets
-`cuda_glsl_spirv`
-> CUDA, GLSL, and SPIRV code-gen targets
+`cuda_glsl_hlsl_spirv`
+> CUDA, GLSL, HLSL, and SPIRV code-gen targets
+
+`cuda_glsl_hlsl_spirv_wgsl`
+> CUDA, GLSL, HLSL, SPIRV, and WGSL code-gen targets
`cuda_glsl_metal_spirv`
> CUDA, GLSL, Metal, and SPIRV code-gen targets
@@ -907,17 +1023,38 @@ Compound Capabilities
`cuda_glsl_metal_spirv_wgsl`
> CUDA, GLSL, Metal, SPIRV and WGSL code-gen targets
+`cuda_glsl_spirv`
+> CUDA, GLSL, and SPIRV code-gen targets
+
`cuda_hlsl`
> CUDA, and HLSL code-gen targets
+`cuda_hlsl_metal_spirv`
+> CUDA, HLSL, Metal, and SPIRV code-gen targets
+
`cuda_hlsl_spirv`
> CUDA, HLSL, SPIRV code-gen targets
-`glsl_hlsl_spirv`
-> GLSL, HLSL, and SPIRV code-gen targets
+`cuda_spirv`
+> CUDA and SPIRV code-gen targets
-`glsl_hlsl_spirv_wgsl`
-> GLSL, HLSL, SPIRV and WGSL code-gen targets
+`domain_hull`
+> Collection of shader stages
+
+`fragmentprocessing`
+> Capabilities required to use fragment derivative operations (without GLSL derivativecontrol)
+
+`fragmentprocessing_derivativecontrol`
+> Capabilities required to use fragment derivative operations (with GLSL derivativecontrol)
+
+`fragmentshaderbarycentric`
+> Capabilities needed to use fragment-shader-barycentric's
+
+`fragmentshaderinterlock`
+> Capabilities needed for interlocked-fragment operations
+
+`getattributeatvertex`
+> Capabilities required to use 'getAttributeAtVertex'
`glsl_hlsl_metal_spirv`
> GLSL, HLSL, Metal, and SPIRV code-gen targets
@@ -925,6 +1062,12 @@ Compound Capabilities
`glsl_hlsl_metal_spirv_wgsl`
> GLSL, HLSL, Metal, SPIRV and WGSL code-gen targets
+`glsl_hlsl_spirv`
+> GLSL, HLSL, and SPIRV code-gen targets
+
+`glsl_hlsl_spirv_wgsl`
+> GLSL, HLSL, SPIRV and WGSL code-gen targets
+
`glsl_metal_spirv`
> GLSL, Metal, and SPIRV code-gen targets
@@ -937,172 +1080,166 @@ Compound Capabilities
`glsl_spirv_wgsl`
> GLSL, SPIRV, and WGSL code-gen targets
+`helper_lane`
+> Capabilities required to enable helper-lane demotion
+
`hlsl_spirv`
> HLSL, and SPIRV code-gen targets
-`nvapi`
-> NVAPI capability for HLSL
+`image_loadstore`
+> (GLSL/SPIRV) Capabilities required to use image load/image store operations
-`raytracing`
-> Capabilities needed for minimal raytracing support
+`image_samples`
+> Capabilities required to query image (RWTexture) sample info
-`ser`
-> Capabilities needed for shader-execution-reordering
+`image_size`
+> Capabilities required to query image (RWTexture) size info
+
+`memorybarrier`
+> Capabilities required to use sm_5_0 style memory barriers
+
+`meshshading`
+> Ccapabilities required to use mesh shading features
`motionblur`
> Capabilities needed for raytracing-motionblur
-`rayquery`
-> Capabilities needed for compute-shader rayquery
-
-`raytracing_motionblur`
-> Capabilities needed for compute-shader rayquery and motion-blur
+`nonuniformqualifier`
+> Capabilities required to use NonUniform qualifier
-`ser_motion`
-> Capabilities needed for shader-execution-reordering and motion-blur
+`nvapi`
+> NVAPI capability for HLSL
-`shaderclock`
-> Capabilities needed for realtime clocks
+`pack_vector`
+> Capabilities required to use pack/unpack intrinsics on packed vector data
-`fragmentshaderinterlock`
-> Capabilities needed for interlocked-fragment operations
+`printf`
+> Capabilities required to use 'printf'
-`atomic64`
-> Capabilities needed for int64/uint64 atomic operations
+`quad_control`
+> Capabilities required to enable quad group control
-`atomicfloat`
-> Capabilities needed to use GLSL-tier-1 float-atomic operations
+`raygen_closesthit_miss`
+> Collection of shader stages
-`atomicfloat2`
-> Capabilities needed to use GLSL-tier-2 float-atomic operations
+`raygen_closesthit_miss_callable`
+> Collection of shader stages
-`fragmentshaderbarycentric`
-> Capabilities needed to use fragment-shader-barycentric's
+`rayquery`
+> Capabilities needed for compute-shader rayquery
-`shadermemorycontrol`
-> (gfx targets) Capabilities needed to use memory barriers
+`rayquery_position`
+> Collection of capabilities for rayquery + ray_tracing_position_fetch.
-`bufferreference`
-> Capabilities needed to use GLSL buffer-reference's
+`raytracing`
+> Capabilities needed for minimal raytracing support
-`bufferreference_int64`
-> Capabilities needed to use GLSL buffer-reference's with int64
+`raytracing_allstages`
+> Collection of capabilities for raytracing with all raytracing stages.
-`cooperative_vector`
-> Capabilities needed to use cooperative vectors
-> Note that cpp and cuda are supported via a fallback non-cooperative implementation
-> No HLSL shader model bound yet
+`raytracing_anyhit`
+> Collection of capabilities for raytracing with the shader stage of anyhit.
-`cooperative_vector_training`
-> Capabilities needed to train cooperative vectors
+`raytracing_anyhit_closesthit`
+> Collection of capabilities for raytracing with the shader stages of anyhit and closesthit.
-`cooperative_matrix`
-> Capabilities needed to use cooperative matrices
+`raytracing_anyhit_closesthit_intersection`
+> Collection of capabilities for raytracing with the shader stages of anyhit, closesthit, and intersection.
-`cooperative_matrix_reduction`
-> Capabilities needed to use reduction operations with cooperative matrix
+`raytracing_anyhit_closesthit_intersection_miss`
+> Collection of capabilities for raytracing with the shader stages of anyhit, closesthit, intersection, and miss.
-`cooperative_matrix_conversion`
-> Capabilities needed to convert cooperative matrices
+`raytracing_intersection`
+> Collection of capabilities for raytracing with the shader stage of intersection.
-`cooperative_matrix_map_element`
-> Capabilities needed to use MapElement operation with cooperative matrix
+`raytracing_lss`
+> Collection of capabilities for linear swept spheres.
-`cooperative_matrix_tensor_addressing`
-> Capabilities needed to load or store with tensor_addressing extension
+`raytracing_lss_ho`
+> hit object APIs allow raygen shaders, but not the non-hit object APIs. So we have this special
+> capdef specifically for the hitobject variant.
+> Collection of capabilities for linear swept spheres.
-`cooperative_matrix_block_load`
-> Capabilities needed to use decodeFunc with cooperative matrix load
+`raytracing_motionblur`
+> Capabilities needed for compute-shader rayquery and motion-blur
-`tensor_addressing`
-> Capabilities needed to use tensor addressing
+`raytracing_motionblur_anyhit_closesthit_intersection_miss`
+> Collection of capabilities for raytracing + motion blur and the shader stages of anyhit, closesthit, intersection, and miss.
-`cooperative_matrix_2`
-> Capabilities needed to use tensor addressing
+`raytracing_motionblur_raygen_closesthit_miss`
+> Collection of capabilities for raytracing + motion blur and the shader stages of raygen, closesthit, and miss.
-`vk_mem_model`
-> Capabilities needed to use vulkan memory model
+`raytracing_position`
+> Collection of capabilities for raytracing + ray_tracing_position_fetch and the shader stages of anyhit and closesthit.
-`any_stage`
-> Collection of all shader stages
+`raytracing_raygen_closesthit_miss`
+> Collection of capabilities for raytracing with the shader stages of raygen, closesthit, and miss.
-`amplification_mesh`
-> Collection of shader stages
+`raytracing_raygen_closesthit_miss_callable`
+> Collection of capabilities for raytracing the shader stages of raygen, closesthit, miss, and callable.
`raytracing_stages`
> Collection of shader stages
-`anyhit_closesthit`
-> Collection of shader stages
-
-`raygen_closesthit_miss`
-> Collection of shader stages
-
-`anyhit_closesthit_intersection`
-> Collection of shader stages
-
-`anyhit_closesthit_intersection_miss`
-> Collection of shader stages
-
-`raygen_closesthit_miss_callable`
-> Collection of shader stages
-
-`compute_tesscontrol_tesseval`
+`raytracingstages_compute`
> Collection of shader stages
-`compute_fragment`
+`raytracingstages_compute_amplification_mesh`
> Collection of shader stages
-`compute_fragment_geometry_vertex`
+`raytracingstages_compute_fragment`
> Collection of shader stages
-`domain_hull`
+`raytracingstages_compute_fragment_geometry_vertex`
> Collection of shader stages
`raytracingstages_fragment`
> Collection of shader stages
-`raytracingstages_compute`
-> Collection of shader stages
+`ser`
+> Capabilities needed for shader-execution-reordering
-`raytracingstages_compute_amplification_mesh`
-> Collection of shader stages
+`ser_any_closesthit_intersection_miss`
+> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit, closesthit, intersection, and miss.
-`raytracingstages_compute_fragment`
-> Collection of shader stages
+`ser_anyhit_closesthit`
+> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit and closesthit.
-`raytracingstages_compute_fragment_geometry_vertex`
-> Collection of shader stages
+`ser_anyhit_closesthit_intersection`
+> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit, closesthit, and intersection.
-`meshshading`
-> Ccapabilities required to use mesh shading features
+`ser_motion`
+> Capabilities needed for shader-execution-reordering and motion-blur
-`shadermemorycontrol_compute`
-> (gfx targets) Capabilities required to use memory barriers that only work for raytracing & compute shader stages
+`ser_motion_raygen`
+> Collection of capabilities for raytracing raytracing + motion blur + shader execution reordering and the shader stage of raygen.
-`subpass`
-> Capabilities required to use Subpass-Input's
+`ser_motion_raygen_closesthit_miss`
+> Collection of capabilities for raytracing + motion blur + shader execution reordering and the shader stages of raygen, closesthit, and miss.
-`appendstructuredbuffer`
-> Capabilities required to use AppendStructuredBuffer
+`ser_raygen`
+> Collection of capabilities for raytracing + shader execution reordering and the shader stage of raygen.
-`atomic_hlsl`
-> (hlsl only) Capabilities required to use hlsl atomic operations
+`ser_raygen_closesthit_miss`
+> Collection of capabilities for raytracing + shader execution reordering and the shader stages of raygen, closesthit, and miss.
-`atomic_hlsl_nvapi`
-> (hlsl only) Capabilities required to use hlsl NVAPI atomics
+`shader5_sm_4_0`
+> Capabilities required to use sm_4_0 features apart of GL_ARB_gpu_shader5
-`atomic_hlsl_sm_6_6`
-> (hlsl only) Capabilities required to use hlsl sm_6_6 atomics
+`shader5_sm_5_0`
+> Capabilities required to use sm_5_0 features apart of GL_ARB_gpu_shader5
-`byteaddressbuffer`
-> Capabilities required to use ByteAddressBuffer
+`shaderclock`
+> Capabilities needed for realtime clocks
-`byteaddressbuffer_rw`
-> Capabilities required to use RWByteAddressBuffer
+`shaderinvocationgroup`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_vote'
-`consumestructuredbuffer`
-> Capabilities required to use ConsumeStructuredBuffer
+`shadermemorycontrol`
+> (gfx targets) Capabilities needed to use memory barriers
+
+`shadermemorycontrol_compute`
+> (gfx targets) Capabilities required to use memory barriers that only work for raytracing & compute shader stages
`structuredbuffer`
> Capabilities required to use StructuredBuffer
@@ -1110,102 +1247,8 @@ Compound Capabilities
`structuredbuffer_rw`
> Capabilities required to use RWStructuredBuffer
-`fragmentprocessing`
-> Capabilities required to use fragment derivative operations (without GLSL derivativecontrol)
-
-`fragmentprocessing_derivativecontrol`
-> Capabilities required to use fragment derivative operations (with GLSL derivativecontrol)
-
-`getattributeatvertex`
-> Capabilities required to use 'getAttributeAtVertex'
-
-`memorybarrier`
-> Capabilities required to use sm_5_0 style memory barriers
-
-`texture_sm_4_0`
-> Capabilities required to use sm_4_0 texture operations
-
-`texture_sm_4_1`
-> Capabilities required to use sm_4_1 texture operations
-
-`texture_sm_4_1_samplerless`
-> Capabilities required to use sm_4_1 samplerless texture operations
-
-`texture_sm_4_1_compute_fragment`
-> Capabilities required to use 'compute/fragment shader only' texture operations.
-> We do not require 'compute'/'fragment' shader capabilities since this seems to be incorrect behavior despite what official documentation says.
-
-`texture_sm_4_0_fragment`
-> Capabilities required to use 'fragment shader only' texture operations
-
-`texture_sm_4_1_clamp_fragment`
-> Capabilities required to use 'fragment shader only' texture clamp operations
-
-`texture_sm_4_1_vertex_fragment_geometry`
-> Capabilities required to use 'fragment/geometry shader only' texture clamp operations
-
-`texture_gather`
-> Capabilities required to use 'vertex/fragment/geometry shader only' texture gather operations
-
-`image_samples`
-> Capabilities required to query image (RWTexture) sample info
-
-`image_size`
-> Capabilities required to query image (RWTexture) size info
-
-`texture_size`
-> Capabilities required to query texture sample info
-
-`texture_querylod`
-> Capabilities required to query texture LOD info
-
-`texture_querylevels`
-> Capabilities required to query texture level info
-
-`texture_shadowlod`
-> Capabilities required to query shadow texture lod info
-
-`atomic_glsl_float1`
-> (GLSL/SPIRV) Capabilities required to use GLSL-tier-1 float-atomic operations
-
-`atomic_glsl_float2`
-> (GLSL/SPIRV) Capabilities required to use GLSL-tier-2 float-atomic operations
-
-`atomic_glsl_halfvec`
-> (GLSL/SPIRV) Capabilities required to use NVAPI GLSL-fp16 float-atomic operations
-
-`atomic_glsl`
-> (GLSL/SPIRV) Capabilities required to use GLSL-400 atomic operations
-
-`atomic_glsl_int64`
-> (GLSL/SPIRV) Capabilities required to use int64/uint64 atomic operations
-
-`image_loadstore`
-> (GLSL/SPIRV) Capabilities required to use image load/image store operations
-
-`nonuniformqualifier`
-> Capabilities required to use NonUniform qualifier
-
-`printf`
-> Capabilities required to use 'printf'
-
-`texturefootprint`
-> Capabilities required to use basic TextureFootprint operations
-
-`texturefootprintclamp`
-> Capabilities required to use TextureFootprint clamp operations
-
-`shader5_sm_4_0`
-> Capabilities required to use sm_4_0 features apart of GL_ARB_gpu_shader5
-
-`shader5_sm_5_0`
-> Capabilities required to use sm_5_0 features apart of GL_ARB_gpu_shader5
-
-`pack_vector`
-> Capabilities required to use pack/unpack intrinsics on packed vector data
-
-`subgroup_basic`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_basic'
+`subgroup_arithmetic`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_arithmetic'
`subgroup_ballot`
> Capabilities required to use GLSL-style subgroup operations 'subgroup_ballot'
@@ -1213,156 +1256,89 @@ Compound Capabilities
`subgroup_ballot_activemask`
> Capabilities required to use GLSL-style subgroup operations 'subgroup_ballot_activemask'
+`subgroup_basic`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_basic'
+
`subgroup_basic_ballot`
> Capabilities required to use GLSL-style subgroup operations 'subgroup_basic_ballot'
-`subgroup_vote`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_vote'
-
-`shaderinvocationgroup`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_vote'
-
-`subgroup_arithmetic`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_arithmetic'
-
-`subgroup_shuffle`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_shuffle'
-
-`subgroup_shufflerelative`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_shuffle_relative'
-
`subgroup_clustered`
> Capabilities required to use GLSL-style subgroup operations 'subgroup_clustered'
-`subgroup_quad`
-> Capabilities required to use GLSL-style subgroup operations 'subgroup_quad'
-
`subgroup_partitioned`
> Capabilities required to use GLSL-style subgroup operations 'subgroup_partitioned'
+`subgroup_quad`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_quad'
+
`subgroup_rotate`
> Capabilities required to use GLSL-style subgroup rotate operations 'subgroup_rotate'
-`atomic_glsl_hlsl_nvapi_cuda_metal_float1`
-> (All implemented targets) Capabilities required to use atomic operations of GLSL tier-1 float atomics
-
-`atomic_glsl_hlsl_nvapi_cuda5_int64`
-> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_5 tier atomics)
-
-`atomic_glsl_hlsl_nvapi_cuda6_int64`
-> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_6 tier atomics)
-
-`atomic_glsl_hlsl_nvapi_cuda9_int64`
-> (All implemented targets) Capabilities required to use atomic operations of int64 (cuda_sm_9 tier atomics)
-
-`atomic_glsl_hlsl_cuda_metal`
-> (All implemented targets) Capabilities required to use atomic operations
-
-`atomic_glsl_hlsl_cuda9_int64`
-> (All implemented targets) Capabilities required to use atomic operations (cuda_sm_9 tier atomics)
-
-`helper_lane`
-> Capabilities required to enable helper-lane demotion
-
-`quad_control`
-> Capabilities required to enable quad group control
-
-`breakpoint`
-> Capabilities required to enable shader breakpoints
-
-`raytracing_allstages`
-> Collection of capabilities for raytracing with all raytracing stages.
-
-`raytracing_anyhit`
-> Collection of capabilities for raytracing with the shader stage of anyhit.
+`subgroup_shuffle`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_shuffle'
-`raytracing_intersection`
-> Collection of capabilities for raytracing with the shader stage of intersection.
+`subgroup_shufflerelative`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_shuffle_relative'
-`raytracing_anyhit_closesthit`
-> Collection of capabilities for raytracing with the shader stages of anyhit and closesthit.
+`subgroup_vote`
+> Capabilities required to use GLSL-style subgroup operations 'subgroup_vote'
-`raytracing_lss`
-> Collection of capabilities for linear swept spheres.
+`subpass`
+> Capabilities required to use Subpass-Input's
-`raytracing_lss_ho`
-> hit object APIs allow raygen shaders, but not the non-hit object APIs. So we have this special
-> capdef specifically for the hitobject variant.
-> Collection of capabilities for linear swept spheres.
+`tensor_addressing`
+> Capabilities needed to use tensor addressing
-`raytracing_anyhit_closesthit_intersection`
-> Collection of capabilities for raytracing with the shader stages of anyhit, closesthit, and intersection.
+`texture_gather`
+> Capabilities required to use 'vertex/fragment/geometry shader only' texture gather operations
-`raytracing_raygen_closesthit_miss`
-> Collection of capabilities for raytracing with the shader stages of raygen, closesthit, and miss.
+`texture_querylevels`
+> Capabilities required to query texture level info
-`raytracing_anyhit_closesthit_intersection_miss`
-> Collection of capabilities for raytracing with the shader stages of anyhit, closesthit, intersection, and miss.
+`texture_querylod`
+> Capabilities required to query texture LOD info
-`raytracing_raygen_closesthit_miss_callable`
-> Collection of capabilities for raytracing the shader stages of raygen, closesthit, miss, and callable.
+`texture_shadowlod`
+> Capabilities required to query shadow texture lod info
-`raytracing_position`
-> Collection of capabilities for raytracing + ray_tracing_position_fetch and the shader stages of anyhit and closesthit.
+`texture_size`
+> Capabilities required to query texture sample info
-`raytracing_motionblur_anyhit_closesthit_intersection_miss`
-> Collection of capabilities for raytracing + motion blur and the shader stages of anyhit, closesthit, intersection, and miss.
+`texture_sm_4_0`
+> Capabilities required to use sm_4_0 texture operations
-`raytracing_motionblur_raygen_closesthit_miss`
-> Collection of capabilities for raytracing + motion blur and the shader stages of raygen, closesthit, and miss.
+`texture_sm_4_0_fragment`
+> Capabilities required to use 'fragment shader only' texture operations
-`rayquery_position`
-> Collection of capabilities for rayquery + ray_tracing_position_fetch.
+`texture_sm_4_1`
+> Capabilities required to use sm_4_1 texture operations
-`ser_raygen`
-> Collection of capabilities for raytracing + shader execution reordering and the shader stage of raygen.
+`texture_sm_4_1_clamp_fragment`
+> Capabilities required to use 'fragment shader only' texture clamp operations
-`ser_raygen_closesthit_miss`
-> Collection of capabilities for raytracing + shader execution reordering and the shader stages of raygen, closesthit, and miss.
+`texture_sm_4_1_compute_fragment`
+> Capabilities required to use 'compute/fragment shader only' texture operations.
+> We do not require 'compute'/'fragment' shader capabilities since this seems to be incorrect behavior despite what official documentation says.
-`ser_any_closesthit_intersection_miss`
-> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit, closesthit, intersection, and miss.
+`texture_sm_4_1_samplerless`
+> Capabilities required to use sm_4_1 samplerless texture operations
-`ser_anyhit_closesthit_intersection`
-> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit, closesthit, and intersection.
+`texture_sm_4_1_vertex_fragment_geometry`
+> Capabilities required to use 'fragment/geometry shader only' texture clamp operations
-`ser_anyhit_closesthit`
-> Collection of capabilities for raytracing + shader execution reordering and the shader stages of anyhit and closesthit.
+`texturefootprint`
+> Capabilities required to use basic TextureFootprint operations
-`ser_motion_raygen_closesthit_miss`
-> Collection of capabilities for raytracing + motion blur + shader execution reordering and the shader stages of raygen, closesthit, and miss.
+`texturefootprintclamp`
+> Capabilities required to use TextureFootprint clamp operations
-`ser_motion_raygen`
-> Collection of capabilities for raytracing raytracing + motion blur + shader execution reordering and the shader stage of raygen.
+`vk_mem_model`
+> Capabilities needed to use vulkan memory model
Other
----------------------
*Capabilities which may be deprecated*
-`optix_coopvec`
-> Represents capabilities required for optix cooperative vector support.
-
-`SPIRV_1_0`
-> Use `spirv_1_0` instead
-
-`SPIRV_1_1`
-> Use `spirv_1_1` instead
-
-`SPIRV_1_2`
-> Use `spirv_1_2` instead
-
-`SPIRV_1_3`
-> Use `spirv_1_3` instead
-
-`SPIRV_1_4`
-> Use `spirv_1_4` instead
-
-`SPIRV_1_5`
-> Use `spirv_1_5` instead
-
-`SPIRV_1_6`
-> Use `spirv_1_6` instead
-
`DX_4_0`
> Use `sm_4_0` instead
@@ -1414,6 +1390,9 @@ Other
`GLSL_430_SPIRV_1_0`
> User should not use this capability
+`GLSL_430_SPIRV_1_0_compute`
+> User should not use this capability
+
`METAL_2_3`
> Use `metallib_2_3` instead
@@ -1426,8 +1405,29 @@ Other
`METAL_3_1`
> Use `metallib_3_1` instead
-`GLSL_430_SPIRV_1_0_compute`
-> User should not use this capability
+`SPIRV_1_0`
+> Use `spirv_1_0` instead
+
+`SPIRV_1_1`
+> Use `spirv_1_1` instead
+
+`SPIRV_1_2`
+> Use `spirv_1_2` instead
+
+`SPIRV_1_3`
+> Use `spirv_1_3` instead
+
+`SPIRV_1_4`
+> Use `spirv_1_4` instead
+
+`SPIRV_1_5`
+> Use `spirv_1_5` instead
+
+`SPIRV_1_6`
+> Use `spirv_1_6` instead
`all`
> User should not use this capability
+
+`optix_coopvec`
+> Represents capabilities required for optix cooperative vector support.