| 
							
							
								 John Kessenich | 2d0f1e5424 | Add precision qualifier propagation for swizzling, texture lookups, built-in funtions mapped to operators, comma op, and more robustly propagate for all binary/unary ops. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21622 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-05-17 02:51:45 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 61f205ecd8 | Remove too aggressive and redundant lexical keyword check: attribute and varying can always be error checked in the grammar. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21443 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-05-07 23:48:06 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 52ac67e913 | Make the PP report an error on undefined macro in "#if ..." for ES profiles, unless relaxed error checking is requested.  Still works as normal CPP on non-ES. Also, improved error reporting in general for the PP.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21417 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-05-05 23:46:22 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 465f452749 | Add 3 missing reserved keywords. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21296 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-26 09:36:42 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | c2ff7702be | For all keywords already present, get correct when they could be identifiers, are reserved words, or are keywords, for all versions of ESSL and GLSL. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21282 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-25 16:44:03 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 09da79e190 | Put memory counter stuff in #ifdef _WIN32. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21181 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-17 19:34:23 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 1d923219fe | Add some more qualifier helper functions. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21173 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-17 05:02:12 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 6e4d1087a4 | Fix dependency misspelling that caused unnecessary grammar rebuilds. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21142 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-15 00:14:34 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 8df53cc057 | Rationalize command-line options: controlling memory leak testing, AST output, and info log output. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21141 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-14 19:23:50 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 4d5de020d8 | Force "smooth" interpolation qualification when in a fragment shader. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21140 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-13 06:05:31 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 78016eff17 | Small tweak to switch statements: use a smaller base class. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21138 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-12 22:57:28 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | b49a191532 | Update all "TODO", add some comments. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21137 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-12 17:17:07 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 0108aa1183 | Minor changes: remove use of 'auto', plug obscure memory leak, update copyright. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21136 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-12 16:50:28 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 0576126005 | Add switch/case/default statements, using a switch node that contains a sequence of case/default nodes and top-level nodes of the code chunks in between them. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21131 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-12 03:57:02 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 8e5425745f | - Temp fix for the GLSL yacc file (linux builds failing). git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21130 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-11 22:38:16 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | b51f62c573 | Add the GL_ES macro for ES personalities, along with a general mechanism for adding preambles in front of shaders without effecting line numbers, etc. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21122 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-11 16:31:09 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 63eed3867a | Additional layout-related error checking. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21108 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-10 23:30:05 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | bcd79fe5a3 | Implement default layout qualifiers at global and block levels with proper inheritance.  Also add more error checking of qualifiers. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21107 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-10 22:26:56 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ba04210097 | Add anonymous members as a new symbol table type, so the infrastructure can handle blocks with no names. Also, add more safety to the types involved regarding copy constructors, operator=, etc.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21106 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-10 20:15:16 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ed3197921e | Change TType member from "type" to "basicType". It was very confusing. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21094 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-10 02:28:55 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | f6648dc12c | Add interface blocks as a basic type and handle uniform blocks that have an instance name.  Includes handling qualifiers on structure members. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21093 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-10 02:06:46 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | e9942d26f5 | Initial implementation of layout qualifiers.  More to come after uniform blocks are in place. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21078 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-09 01:20:01 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 3ed2db58f1 | Put in correct rules for multiple versions of qualification and typing of inputs and outputs.  Also, removed EvqAttribute, merging it with EvqVaryingIn. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21064 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-07 22:43:16 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ad3663be1f | Add ES 300 built-ins trunc, round, roundEven, modf, isnan, isinf, floatBitsToInt, floatBitsToUint, intBitsToFloat, uintBitsToFloat, packSnorm2x16, unpackSnorm2x16, packUnorm2x16, unpackUnorm2x16, packHalf2x16, and unpackHalf2x16, and new form of min, max, clamp, and mix. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21063 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-07 20:04:12 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 4ba94413d3 | Split out the unary-argument built-in function path from the addUnaryMath() path, allowing the return types to be treated correctly without any special casing.  Also, implement the correct precision qualifier propagation rules for built-in functions mapped to operators. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21062 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-07 02:10:55 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ebeeece6a7 | Add uint type (big change).  For both int/uint, add the operators >>, <<, &, |, and ^.  Also added unsigned literals and uint precision support.  Also fixed how int/uint literal underflow/overflow is handled. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21054 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-05 04:05:39 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ae722a6230 | CPP:  Handle the "u" and "U" suffixes for uint literals, and correctly handle underflow/overflow of integer literals. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21033 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-04-03 18:42:43 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 7d58d655c2 | Add a forward reference function call test. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20945 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-21 17:33:38 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | a067b588aa | Fix release build, it was missing the custom build steps. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20845 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-13 01:58:33 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 213c464c60 | Add and use ability to tell the backend compiler what version/profile the source shader was. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20840 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-12 17:53:55 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | d7c120f16f | A few trivial things, including removing '/' as a command line option indicator so absolute paths work naturally. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20839 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-12 17:52:59 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 20169715df | Get a clean g++/gcc build.  Runs and gets correct results on linux. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20820 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-09 19:50:19 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | cfd643e447 | Another round of gcc/g++ fixes. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20819 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-08 23:14:42 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 37827023c4 | Add warning-suppression flag.  Combined with relaxed errors, so an enum can be used instead of many bools. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20818 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-08 19:26:11 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 4055816bc9 | Add compilation mode flags for forward-compatible contexts and relaxed error checking.  These initiate as arguments to ShCompile() and both default to being off. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20817 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-08 18:49:22 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 9500dff05e | Upgrade to MSVC 11.  Fix pool_allocator a bit. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20811 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-08 06:51:50 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 53fb465729 | Change infrastructure to support constant folding across built-in functions, as required by 1.2 semantics.  Partially fleshed out with min/max and some trig functions.  Still have to complete all operations. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20806 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-07 19:22:07 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 3f3e0ad3ad | Add unsigned ints to constUnions.  (Unsigned int support is still partial throughout.) git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20790 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-07 01:02:02 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 3252b18590 | Minor updates to tests. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20758 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-04 23:50:08 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ca8899c9ae | Add productions/data for about 14 qualifiers (versions 1.2 through 4.3). Fixed some case issues for rect/array keywords. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20742 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-03-01 21:53:13 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 4b67103b02 | Implement operator-based implicit type conversions. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20724 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-28 20:49:41 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | ef8ae2e345 | Allow gl_FragColor and gl_FragData in non-forward-compatible contexts for non-ES versions 150 - 410. Also add deprecation message for attribute/varying for core profile. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20714 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-27 19:02:52 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | df807514b6 | Skip dummy unused second component for 1D non-array shadows. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20704 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-26 19:48:48 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | b3338b307f | Fix checking-in of wrong test files. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20703 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-26 19:47:21 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | db6b9117a6 | Implement modern (130 and above) texturing.  About 250 functions for 3.0, over 500 for 4.3, created programmatically.  Handles all 3.0 functions, almost all 4.3 functions. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20698 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-25 19:44:56 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 4774d5ca15 | Rationalize original texture functions per stage. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20685 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-22 19:06:20 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | d7f9406f82 | Rationalize locations of type string methods. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20684 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-22 18:43:31 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | 6f045f3e72 | Expose the sampler type from a TType, and add a way to rebuild just the sampler type name for messages/annotation. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20672 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-21 17:22:17 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | e141d5c99c | Replace flat 110 sampler type space with an orthogonalized 430 sampler type space.  Invoke it for all the sampler types in the 4.3 grammar. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20652 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-21 02:18:42 +00:00 |  | 
			
				
					| 
							
							
								 John Kessenich | e396a22632 | Make legacy texture prototypes more concise, fix minor bugs needed to support it. git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@20650 e7fa87d3-cd2b-0410-9028-fcbf551c1848 | 2013-02-20 20:10:07 +00:00 |  |