summaryrefslogtreecommitdiff
path: root/source/slang/slang-capabilities.capdef
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-06-01 19:26:14 -0700
committerGitHub <noreply@github.com>2024-06-01 19:26:14 -0700
commitc5a453e56985022deb820cbbb2ff5cd6a8347e34 (patch)
tree019c81e8bfcc099f2ff17c1a58f625cf6a527d47 /source/slang/slang-capabilities.capdef
parent5799281bda2f9a174b825de4058c5e8c9aa5b27f (diff)
Support different SPIRV versions. (#4254)
Diffstat (limited to 'source/slang/slang-capabilities.capdef')
-rw-r--r--source/slang/slang-capabilities.capdef13
1 files changed, 13 insertions, 0 deletions
diff --git a/source/slang/slang-capabilities.capdef b/source/slang/slang-capabilities.capdef
index 7567dd617..6d4e5b3f4 100644
--- a/source/slang/slang-capabilities.capdef
+++ b/source/slang/slang-capabilities.capdef
@@ -129,6 +129,9 @@ def _GLSL_460 : _GLSL_450;
// metal versions
def metallib_2_3 : metal;
def metallib_2_4 : metallib_2_3;
+def metallib_3_0 : metallib_2_4;
+def metallib_3_1 : metallib_3_0;
+alias metallib_latest = metallib_3_1;
// hlsl versions
def _sm_4_0 : hlsl;
@@ -221,6 +224,7 @@ def SPV_KHR_shader_clock : spirv_1_0;
def SPV_NV_shader_image_footprint : spirv_1_0;
def SPV_GOOGLE_user_type : spirv_1_0;
def SPV_NV_compute_shader_derivatives : spirv_1_0;
+def SPV_EXT_demote_to_helper_invocation : spirv_1_4;
// SPIRV Capabilities.
@@ -252,6 +256,7 @@ def spvRayQueryPositionFetchKHR : SPV_KHR_ray_tracing_position_fetch;
def spvShaderInvocationReorderNV : SPV_NV_shader_invocation_reorder;
def spvShaderClockKHR : SPV_KHR_shader_clock;
def spvShaderNonUniform : spirv_1_5;
+def spvDemoteToHelperInvocationEXT : SPV_EXT_demote_to_helper_invocation;
// The following capabilities all pertain to how ray tracing shaders are translated
// to GLSL, where there are two different extensions that can provide the core
@@ -593,6 +598,14 @@ alias DX_6_7 = sm_6_7;
alias METAL_2_3 = metallib_2_3;
alias METAL_2_4 = metallib_2_4;
+alias SPIRV_1_0 = spirv_1_0;
+alias SPIRV_1_1 = spirv_1_1;
+alias SPIRV_1_2 = spirv_1_2;
+alias SPIRV_1_3 = spirv_1_3;
+alias SPIRV_1_4 = spirv_1_4;
+alias SPIRV_1_5 = spirv_1_5;
+alias SPIRV_1_6 = spirv_1_6;
+
alias sm_2_0_GLSL_140 = _GLSL_140 + sm_4_0 | sm_4_0;
alias sm_2_0_GLSL_400 = _GLSL_400 + sm_4_0 | sm_4_0;
alias appendstructuredbuffer = sm_5_0 + raytracingstages_compute_fragment;