10 Commits

Author SHA1 Message Date
John Kessenich
85e0e02f6f Fix a preprocessor defect, where nested dead #if-#endif had nesting depth off by one level, turning what should be dead code into live code.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20461 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-02-06 02:23:47 +00:00
John Kessenich
464f6d9ff1 Add some CPP tests.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20457 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-02-06 00:14:16 +00:00
John Kessenich
f0fdc53e2a Implement non-square matrices, and make a few type improvements. Cleaned up a few old issues. Added two tests.
Details
 - added all the new non-square types
 - separated concepts of matrix size and vector size
 - removed VS 6.0 comments/workarounds
 - removed obsolete concept of matrix fields



git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20436 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-02-04 23:54:58 +00:00
John Kessenich
1c809955ba Add ability to treat keywords as identifiers in versions that had not yet reserved the keyword.
Used this for precision keywords and double matrix keywords.

Also added a few missing reserved words.

Also removed redundant "syntax error" when there is a parse error.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20423 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-01-31 22:55:53 +00:00
John Kessenich
e406f1c71c Put in basic propagation algorithm for precision qualifiers. Some corner cases are document as TODO.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20360 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-01-28 23:52:49 +00:00
John Kessenich
868933d668 Add precision.frag test.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20333 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-01-28 17:40:21 +00:00
John Kessenich
564842b23b Properly declare versions for precision qualifiers, in/out/attribute/varying.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20083 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-01-10 18:20:47 +00:00
John Kessenich
f59bfa07e0 Support in/out for stage inputs/outputs, tied to being desktop version 150 or ES 300.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20077 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-01-10 01:47:54 +00:00
John Kessenich
f20bb0eb94 Add a simple test list for regression testing. A much broader test base is needed, however.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@19954 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2012-12-13 01:37:04 +00:00
John Kessenich
9fd55bd338 Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions.
NB: *Use* of this infrastructure is so far only skeletal.

Fixed a few typos and minor issues along the way.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@19951 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2012-12-13 00:05:26 +00:00