diff options
Diffstat (limited to 'docs/user-guide')
| -rw-r--r-- | docs/user-guide/a3-02-reference-capability-atoms.md | 1588 |
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. |
