From ea7690558bca71ce3a9453adff4e0135352a352f Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Mon, 30 Mar 2020 19:23:09 -0400 Subject: CUDA version handling (#1301) * render feature for CUDA compute model. * Use SemanticVersion type. * Enable CUDA wave tests that require CUDA SM 7.0. Provide mechanism for DownstreamCompiler to specify version numbers. * Enabled wave-equality.slang * Make CUDA SM version major version not just a single digit. * Fix assert. * DownstreamCompiler::Version -> CapabilityVersion --- source/slang/hlsl.meta.slang | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/slang/hlsl.meta.slang') diff --git a/source/slang/hlsl.meta.slang b/source/slang/hlsl.meta.slang index e2e745773..f82f7b5f4 100644 --- a/source/slang/hlsl.meta.slang +++ b/source/slang/hlsl.meta.slang @@ -2616,15 +2616,18 @@ __generic __glsl_extension(GL_KHR_shader_subgroup_vote) __spirv_version(1.3) __target_intrinsic(glsl, "subgroupAllEqual($0)") +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveAllEqual($0)") bool WaveActiveAllEqual(T value); __generic __glsl_extension(GL_KHR_shader_subgroup_vote) __spirv_version(1.3) __target_intrinsic(glsl, "subgroupAllEqual($0)") +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveAllEqualMultiple($0)") bool WaveActiveAllEqual(vector value); __generic +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveAllEqualMultiple($0)") bool WaveActiveAllEqual(matrix value); @@ -2796,14 +2799,17 @@ uint WavePrefixCountBits(bool value); __generic __target_intrinsic(hlsl) +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveMatchScalar($0)") uint4 WaveMatch(T value); __generic __target_intrinsic(hlsl) +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveMatchMultiple($0)") uint4 WaveMatch(vector value); __generic __target_intrinsic(hlsl) +__cuda_sm_version(7.0) __target_intrinsic(cuda, "_waveMatchMultiple($0)") uint4 WaveMatch(matrix value); -- cgit v1.2.3