tgjones / shader-playground

Shader playground website for exploring HLSL, GLSL, SPIR-V compilers
http://shader-playground.timjones.io
BSD 2-Clause "Simplified" License
585 stars 46 forks source link

dxc: Add all SPIR-V target versions #110

Closed MarijnS95 closed 2 years ago

MarijnS95 commented 2 years ago

All supported SPIR-V target versions as of https://github.com/microsoft/DirectXShaderCompiler/blob/76fed39c368cf65167e6db00738b212dac024b49/tools/clang/lib/SPIRV/FeatureManager.cpp#L49-L61.

It is currently impossible to pass these as -fspv-target-env=vulkan1.2 (for example) since the regex for extra arguments doesn't seem to allow a literal period (.):

System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. (Parameter 'Invalid value for ExtraOptions: '-fspv-target-env vulkan1.2'')
   at ShaderPlayground.Core.ShaderCompilerArguments.GetString(String name) in C:\Code\shader-playground\src\ShaderPlayground.Core\ShaderCompilerArguments.cs:line 67
   at ShaderPlayground.Core.Compilers.Dxc.DxcCompiler.Compile(ShaderCode shaderCode, ShaderCompilerArguments arguments, List`1 previousCompilerArguments) in C:\Code\shader-playground\src\ShaderPlayground.Core\Compilers\Dxc\DxcCompiler.cs:line 132
   at ShaderPlayground.Core.Compiler.Compile(ShaderCode shaderCode, CompilationStep[] compilationSteps) in C:\Code\shader-playground\src\ShaderPlayground.Core\Compiler.cs:line 128
   at ShaderPlayground.Web.Controllers.ApiController.Compile(ShaderCompilationRequestViewModel model) in C:\Code\shader-playground\src\ShaderPlayground.Web\Controllers\ApiController.cs:line 67
tgjones commented 2 years ago

Thank you!