John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							71c100d7c0 
							
						 
					 
					
						
						
							
							GLSL output: Removed fixed-size buffer;  fixes   #769 .  
						
						... 
						
						
						
						Makes some white-space differences in most output, plus a few cases
where more could have been put out but was cut short by the previous
fix-sized buffer. 
						
						
					 
					
						2017-03-14 19:51:29 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							906cc21816 
							
						 
					 
					
						
						
							
							Linker: Eliminate uncalled functions, because they can be ill-defined.  
						
						... 
						
						
						
						Fixes issue #610 . Also provides a testing option to keep uncalled functions. 
						
						
					 
					
						2016-12-09 19:22:20 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cc16fa0720 
							
						 
					 
					
						
						
							
							Tests: Move to just linefeed to simply cross-platform test changes.  
						
						
						
						
					 
					
						2015-12-10 18:01:54 -07:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							aead93aafd 
							
						 
					 
					
						
						
							
							Preprocessor: Allow '\' as a token, which gets actual use in #error, but should have no other use.  
						
						... 
						
						
						
						This is just for '\' that's not before a new line.
Note the specification says it has no use other than as line continuation,
but #error is a grey area. (There are no escape sequences.) 
						
						
					 
					
						2015-07-25 17:34:32 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							dff18a2be0 
							
						 
					 
					
						
						
							
							glslang: Formally track all built-in variables, right from the beginning, to enable avoiding all textual compares at any subsequent stage in the stack.  (To be used in future check ins.)  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31224  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-05-18 16:45:49 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8b37b04ecc 
							
						 
					 
					
						
						
							
							glslang AST output: include global vs. temp (local) in the printed output.  This only effects test results, but a future check-in is going to fix some globals.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30973  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-04-29 10:16:56 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							50d542e6b9 
							
						 
					 
					
						
						
							
							Implement ES-3.0-specific error semantics for redefining predefined macros.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29353  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-01-07 18:47:57 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2b20dcb64d 
							
						 
					 
					
						
						
							
							Fix public bug 1277: #line L sets the next line to L+1 or just L, based on the version of the language.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29277  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-12-20 07:03:18 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							6e62d92cfb 
							
						 
					 
					
						
						
							
							Fix bug where an anonymous member of a built-in block containing another member with an implicitly-sized array caused two copies of the block to be referenced.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26633  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-05-14 02:38:14 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							cf0206c341 
							
						 
					 
					
						
						
							
							Restore r26245 and all tests and test results since 4/1:  
						
						... 
						
						
						
						r26245: Remove "not yet complete" warning for versions 130 and 140, after tidying up a bit and adding tests.  Token pasting is the only known missing feature, and gives its own message now on use.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26226  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-04-14 15:46:40 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f2d042a1fe 
							
						 
					 
					
						
						
							
							Non-functional, infrastructure:  Be more explicit about "implicit array sizes", improving the infrastructure for handling them.  Also fix some output that was too big for its buffer.  
						
						... 
						
						
						
						There is more upcoming functionality for link-time sizing of implicitly-sized arrays that will use this.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26176  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-04-02 02:27:26 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b4ef9e0d56 
							
						 
					 
					
						
						
							
							Track which extensions were enabled or required, in the intermediate representation, for reflection of the consumer.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26155  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-03-31 22:20:47 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							52c351442c 
							
						 
					 
					
						
						
							
							Update rules for "GL_", "gl_", and "__" to match latest specification bug fixes.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25392  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-02-18 21:55:42 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5053a39578 
							
						 
					 
					
						
						
							
							Fix slight inconsistencies in which qualifiers are inherited into block members:  
						
						... 
						
						
						
						- don't inherit 'binding'
 - always set the member storage qualifier, not just when the shader explicitly set it
 - don't include in/out members as objects that are resized by geometry/primitive layout specifiers
As a side effect, this makes built-in redeclarations (like gl_ClipDistance) require in/out.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24674  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-07 17:44:41 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							7cbfdf4394 
							
						 
					 
					
						
						
							
							Minor infrastructure changes, to simplify an upcoming check in:  
						
						... 
						
						
						
						- print out block member types when printing a block (makes all test results change)
 - const versions of all intermediate.h type-identification methods
 - layoutSlotLocation -> layoutLocation
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24664  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-06 21:27:56 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fcb4ed054c 
							
						 
					 
					
						
						
							
							Preprocessor: Rationalize, simplify, and correct the stack of input sources and their tokenization.  This included  
						
						... 
						
						
						
						- consistently dealing with EOF and its effect on error recovery (bug 11444, #1 )
 - turning a simulated OO hierarchy of function pointers and typecasting into a real C++ class hierarchy
 - correctly handling '\' everywhere, in all classes of tokens, as a layer before preprocessing itself
 - conditionally handling '\n' in macro expansion input, depending on whether it is in a macro expression or not
 - delete some unused "memory cleanup" code
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24626  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-30 20:34:28 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							2d2f31625d 
							
						 
					 
					
						
						
							
							Preprocessor:  Implement skipping of macros that evaluate to nothing while evaluating expressions.  They had been causing early termination of an expression's evaluation.  
						
						... 
						
						
						
						Also includes some unrelated updates of documentation.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24420  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-10 00:25:14 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e28beee891 
							
						 
					 
					
						
						
							
							Preprocessor:  Fixed that some comments incorrectly substituted a new line instead of space.  Also generally cleaned up the space-related coding.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24387  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-06 16:13:47 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8e789e8d62 
							
						 
					 
					
						
						
							
							Fixed a couple places that missed the error check for #else/#elif after #else.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24378  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-05 21:51:40 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1abc4045ce 
							
						 
					 
					
						
						
							
							Add #line functionality to allow expressions instead of just literals.  Also made some preprocessor code slightly more clear.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24294  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-03 17:19:03 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							98434bed00 
							
						 
					 
					
						
						
							
							Preprocessor fixes:  
						
						... 
						
						
						
						- Correctly handle non-directive lines starting with "#"
 - Correctly ignore unrecognized #pragma
 - Partial fix for new lines in the middle of macro invocation
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24266  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-02 15:56:38 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							5134b9cf57 
							
						 
					 
					
						
						
							
							Track what ins/outs/uniforms are used, so that errors like "declare after use" or "can't use both XXX and YYY" can be issued.  So far, used this for invariant, gl_FragColor et. al., and gl_FragCoord use before redeclaration.  
						
						... 
						
						
						
						Also made all tests in testlist include linker tests.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24156  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-20 21:12:43 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							69aa9c1b84 
							
						 
					 
					
						
						
							
							Fixes to scanning:  
						
						... 
						
						
						
						- do version checking for the line-continuation character
 - check for built-in names in #undef
 - bug fix for #elif after #else
 - do version checking for use of floating point suffixes (f, LF, etc.)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24011  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-12 03:31:24 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4d6570a1b3 
							
						 
					 
					
						
						
							
							Fix several issues in the preprocessor:  
						
						... 
						
						
						
						- macro expansion of hexidecimal numbers 
 - give errors instead of warnings/silence on extra tokens after #endif, #else, etc.
 - give errors on reserved macro name use, reuse of argument, and redefinition with different whitespace presence
 - detect and give error for all cases of #elif and #else after #else
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23982  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-10 23:07:36 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							0d22e31c75 
							
						 
					 
					
						
						
							
							Implement 1.20 style function signature matching under implicit conversion.  This was the last key unimplemented feature of versions 120 through 330.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23798  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-10-30 23:17:34 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							447fc3613a 
							
						 
					 
					
						
						
							
							Add message indicating level of completeness for not-yet-complete versions.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23313  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-10-01 23:13:50 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f2ee3dd46a 
							
						 
					 
					
						
						
							
							Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers.  
						
						... 
						
						
						
						This included 
 - encapsulating aggregate constants
 - removal of constant-aggregate comparison algorithms, instead using a flattened and direct std::vector comparison
 - adding structure type comparison for independently declared structures that still might match types
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23274  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-09-28 04:02:08 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							9839e2440e 
							
						 
					 
					
						
						
							
							Unify the 8 grammar productions for declaring variables.  This greatly simplifies making changes for this set of productions.  
						
						... 
						
						
						
						This change also naturally picks up redeclarations of built-in arrays and the addition of the remaining linker objects of const, arrays, etc.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23246  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-09-26 00:45:21 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							337dbc7d8c 
							
						 
					 
					
						
						
							
							Add basic intra-stage linking validation for matching types and qualification of uniforms/ins/outs/globals, function body duplication, and mixing ES/non-ES shaders.  
						
						... 
						
						
						
						Still need to handle arrays and built-in redeclarations, and many more rules, but this puts the basics in place.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23225  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-09-24 21:18:46 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4586dbdc1b 
							
						 
					 
					
						
						
							
							Track expected test results and add more README information.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22602  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-08-05 15:52:03 +00:00