diff --git a/README.md b/README.md index 0b57c6cb..427cf5a5 100755 --- a/README.md +++ b/README.md @@ -293,7 +293,7 @@ class TProgram For just validating (not generating code), subsitute these calls: -``` +```cxx setEnvInput(EShSourceHlsl or EShSourceGlsl, stage, EShClientNone, 0); setEnvClient(EShClientNone, 0); setEnvTarget(EShTargetNone, 0); diff --git a/Test/baseResults/glspv.esversion.vert.out b/Test/baseResults/glspv.esversion.vert.out index 782865ab..395d7f37 100644 --- a/Test/baseResults/glspv.esversion.vert.out +++ b/Test/baseResults/glspv.esversion.vert.out @@ -1,6 +1,25 @@ glspv.esversion.vert -ERROR: #version: ES shaders for OpenGL SPIR-V are not supported -ERROR: 1 compilation errors. No code generated. +// Module Version 10000 +// Generated by (magic number): 80007 +// Id's are bound by 10 - -SPIR-V is not generated for failed compile or link + Capability Shader + 1: ExtInstImport "GLSL.std.450" + MemoryModel Logical GLSL450 + EntryPoint Vertex 4 "main" 8 9 + Source ESSL 310 + Name 4 "main" + Name 8 "gl_VertexID" + Name 9 "gl_InstanceID" + Decorate 8(gl_VertexID) BuiltIn VertexId + Decorate 9(gl_InstanceID) BuiltIn InstanceId + 2: TypeVoid + 3: TypeFunction 2 + 6: TypeInt 32 1 + 7: TypePointer Input 6(int) + 8(gl_VertexID): 7(ptr) Variable Input +9(gl_InstanceID): 7(ptr) Variable Input + 4(main): 2 Function None 3 + 5: Label + Return + FunctionEnd diff --git a/glslang/MachineIndependent/ShaderLang.cpp b/glslang/MachineIndependent/ShaderLang.cpp index a51c0c4c..f63305e1 100755 --- a/glslang/MachineIndependent/ShaderLang.cpp +++ b/glslang/MachineIndependent/ShaderLang.cpp @@ -646,14 +646,9 @@ bool DeduceVersionProfile(TInfoSink& infoSink, EShLanguage stage, bool versionNo if (spvVersion.spv != 0) { switch (profile) { case EEsProfile: - if (spvVersion.vulkan > 0 && version < 310) { + if (version < 310) { correct = false; - infoSink.info.message(EPrefixError, "#version: ES shaders for Vulkan SPIR-V require version 310 or higher"); - version = 310; - } - if (spvVersion.openGl >= 100) { - correct = false; - infoSink.info.message(EPrefixError, "#version: ES shaders for OpenGL SPIR-V are not supported"); + infoSink.info.message(EPrefixError, "#version: ES shaders for SPIR-V require version 310 or higher"); version = 310; } break; diff --git a/glslang/Public/ShaderLang.h b/glslang/Public/ShaderLang.h index a5a443d6..a3103c65 100755 --- a/glslang/Public/ShaderLang.h +++ b/glslang/Public/ShaderLang.h @@ -126,8 +126,8 @@ class TType; typedef enum { EShSourceNone, - EShSourceGlsl, - EShSourceHlsl, + EShSourceGlsl, // GLSL, includes ESSL (OpenGL ES GLSL) + EShSourceHlsl, // HLSL } EShSource; // if EShLanguage were EShStage, this could be EShLanguage instead typedef enum {