Built-in symbol tables now lazily evaluated, and driven by per version, per profile input. Got all ES 100 and ES 300 built-in symbols correct.

This includes
 - doing prescan of shader to know version/profile before parsing it
 - putting precision qualifiers on built-in ES symbols
 - getting most built-in state correct for core/compatibility/missing profile
 - adding gl_VertexID and gl_InstanceID, among other ES 300 built-in symbols
 - adding the ES 300 gl_Max/Min constants
 - accepting shaders that contain nothing but whitespace without generating an error


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20627 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich
2013-02-17 06:01:50 +00:00
parent fb5f7eadfa
commit bd0747d6f0
16 changed files with 843 additions and 491 deletions

12
Test/comment.frag Normal file
View File

@@ -0,0 +1,12 @@
//
/* anotehn t* ontuh * / tnoahnt /* oo */
/* multi line...
ao */
/* no escape \
oanot */
// escape nothing \o oeu
// escape newline \
still in a comment

View File

@@ -1,4 +1,4 @@
precision mediump float;
precision highp float;
uniform sampler2D sampler;

View File

@@ -18,4 +18,5 @@ cppNest.vert
cppComplexExpr.vert
pointCoord.frag
array.frag
array100.frag
array100.frag
comment.frag