Skip to content

Commit eb7ac13

Browse files
authored
Merge pull request #68 from jsmall-nvidia/feature/slang-cpp-cuda-output
Support CUDA/C++/PTX output from Slang
2 parents 2c7af42 + c0ffc71 commit eb7ac13

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/ShaderPlayground.Core/Compilers/Slang/SlangCompiler.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ internal sealed class SlangCompiler : IShaderCompiler
1616
CommonParameters.CreateVersionParameter("slang"),
1717
CommonParameters.HlslEntryPoint,
1818
new ShaderCompilerParameter("Profile", "Profile", ShaderCompilerParameterType.ComboBox, ProfileOptions, "cs_5_0"),
19-
CommonParameters.CreateOutputParameter(new[] { LanguageNames.Hlsl, LanguageNames.Glsl })
19+
CommonParameters.CreateOutputParameter(new[] { LanguageNames.Hlsl, LanguageNames.Glsl, LanguageNames.Cpp, LanguageNames.Cuda, LanguageNames.Ptx })
2020
};
2121

2222
private static readonly string[] ProfileOptions =
@@ -58,6 +58,18 @@ public ShaderCompilerResult Compile(ShaderCode shaderCode, ShaderCompilerArgumen
5858
case LanguageNames.Hlsl:
5959
args += " -target hlsl";
6060
break;
61+
62+
case LanguageNames.Cuda:
63+
args += " -target cuda";
64+
break;
65+
66+
case LanguageNames.Cpp:
67+
args += " -target cpp";
68+
break;
69+
70+
case LanguageNames.Ptx:
71+
args += " -target ptx";
72+
break;
6173
}
6274

6375
using (var tempFile = TempFile.FromShaderCode(shaderCode))

src/ShaderPlayground.Core/LanguageNames.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,7 @@ public static class LanguageNames
2121
public const string Yariv = "YARI-V";
2222
public const string Zlib = "zlib";
2323
public const string Zstd = "zst";
24+
public const string Cuda = "CUDA";
25+
public const string Ptx = "PTX";
2426
}
2527
}

0 commit comments

Comments
 (0)