diff options
| author | Tim Foley <tim.foley.is@gmail.com> | 2017-08-12 16:14:48 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-12 16:14:48 -0700 |
| commit | bb66d6eddd649d8861cecefa2d6ccb7a28a827bc (patch) | |
| tree | 63fdd927ca39462176d506ea7bb99a5b8b8bfa87 /source/slang/slang-stdlib.cpp | |
| parent | 495f88167527945e680e091d49b5705f5f1af1f9 (diff) | |
| parent | f1bda6ada269716dd28653222a10d2c11dd052c5 (diff) | |
Merge pull request #158 from tfoleyNV/syntax-lookup
Data-driven parsing of modifiers
Diffstat (limited to 'source/slang/slang-stdlib.cpp')
| -rw-r--r-- | source/slang/slang-stdlib.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/source/slang/slang-stdlib.cpp b/source/slang/slang-stdlib.cpp index 71e8a6621..3ec8b9db4 100644 --- a/source/slang/slang-stdlib.cpp +++ b/source/slang/slang-stdlib.cpp @@ -2232,19 +2232,19 @@ namespace Slang // Define additional keywords - sb << "__modifier(GLSLBufferModifier) buffer;\n"; + sb << "syntax buffer : GLSLBufferModifier;\n"; // [GLSL 4.3] Storage Qualifiers // TODO: need to support `shared` here with its GLSL meaning - sb << "__modifier(GLSLPatchModifier) patch;\n"; + sb << "syntax patch : GLSLPatchModifier;\n"; // `centroid` and `sample` handled centrally // [GLSL 4.5] Interpolation Qualifiers - sb << "__modifier(SimpleModifier) smooth;\n"; - sb << "__modifier(SimpleModifier) flat;\n"; - sb << "__modifier(SimpleModifier) noperspective;\n"; + sb << "syntax smooth : SimpleModifier;\n"; + sb << "syntax flat : SimpleModifier;\n"; + sb << "syntax noperspectie : SimpleModifier;\n"; // [GLSL 4.3.2] Constant Qualifier @@ -2253,24 +2253,24 @@ namespace Slang // since they mean such different things. // [GLSL 4.7.2] Precision Qualifiers - sb << "__modifier(SimpleModifier) highp;\n"; - sb << "__modifier(SimpleModifier) mediump;\n"; - sb << "__modifier(SimpleModifier) lowp;\n"; + sb << "syntax highp : SimpleModifier;\n"; + sb << "syntax mediump : SimpleModifier;\n"; + sb << "syntax lowp : SimpleModifier;\n"; // [GLSL 4.8.1] The Invariant Qualifier - sb << "__modifier(GLSLWriteOnlyModifier) invariant;\n"; + sb << "syntax invariant : SimpleModifier;\n"; // [GLSL 4.10] Memory Qualifiers - sb << "__modifier(SimpleModifier) coherent;\n"; - sb << "__modifier(SimpleModifier) volatile;\n"; - sb << "__modifier(SimpleModifier) restrict;\n"; - sb << "__modifier(GLSLReadOnlyModifier) readonly;\n"; - sb << "__modifier(GLSLWriteOnlyModifier) writeonly;\n"; + sb << "syntax coherent : SimpleModifier;\n"; + sb << "syntax volatile : SimpleModifier;\n"; + sb << "syntax restrict : SimpleModifier;\n"; + sb << "syntax readonly : GLSLReadOnlyModifier;\n"; + sb << "syntax writeonly : GLSLWriteOnlyModifier;\n"; - // We will treat `subroutine` as a qualifier - sb << "__modifier(SimpleModifier) subroutine;\n"; + // We will treat `subroutine` as a qualifier for now + sb << "syntax subroutine : SimpleModifier;\n"; glslLibraryCode = sb.ProduceString(); return glslLibraryCode; |
