Pankaj Mistry 
							
						 
					 
					
						
						
						
						
							
						
						
							e05cc20ec2 
							
						 
					 
					
						
						
							
							Add support for es extension GL_EXT_blend_func_extended  
						
						... 
						
						
						
						* Introduces builtin variables gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT
* Introduces builtin constant gl_MaxDualSourceDrawBuffersEXT
* enables support for layout qualifier "index" in es profile 
						
						
					 
					
						2020-04-30 23:21:14 -07:00 
						 
				 
			
				
					
						
							
							
								pmistryNV 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							2c53baedbb 
							
						 
					 
					
						
						
							
							Add support for extension GL_EXT_shader_integer_mix ( #2203 )  
						
						
						
						
					 
					
						2020-04-30 22:41:33 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							859b0342b8 
							
						 
					 
					
						
						
							
							Types:  Fix   #1290 : Rationalize and correct "mixed" style array dimensioning.  
						
						... 
						
						
						
						There a couple functional problems, which when reduced down also led to
some good simplifications and rationalization.  So, this commit:
 - corrects "mixed" functionality: int[A] f[B] -> f[B][A]
 - correct multi-identifier decls: int[A] f[B], g[C] -> f and g are independently sized.
 - increases symmetry between different places in the code that do this
 - makes fewer ways to do the same thing; several methods are just gone now
 - makes more clear when something is copied or shared 
						
						
					 
					
						2018-03-26 00:38:53 -06:00 
						 
				 
			
				
					
						
							
							
								Ben Clayton 
							
						 
					 
					
						
						
						
						
							
						
						
							017a567be1 
							
						 
					 
					
						
						
							
							Add support for GL_NV_shader_noperspective_interpolation  
						
						
						
						
					 
					
						2018-03-13 15:55:18 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ba5cc2fafa 
							
						 
					 
					
						
						
							
							GLSL:  Fix   #822 : Improve information given for syntax errors.  
						
						... 
						
						
						
						Also, fixed one test file that didn't have its syntax error as the last line. 
						
						
					 
					
						2017-04-20 12:21:53 -06:00 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
						
						
							
						
						
							ba56e23e8a 
							
						 
					 
					
						
						
							
							Fix typo in error message.  
						
						
						
						
					 
					
						2016-10-01 12:36:19 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f6640761c4 
							
						 
					 
					
						
						
							
							Front-end: Implement 2nd task of issue  #400 ; precision of result and operation.  
						
						... 
						
						
						
						From the ES spec + Bugzilla 15931 and GL_KHR_vulkan_glsl:
- Update precision qualifiers for all built-in function prototypes.
- Implement the new algorithm used to distinguish built-in function
  operation precisions from result precisions.
Also add tracking of separate result and operation precisions, and
use that in generating SPIR-V.
(SPIR-V cares about precision of operation, while the front-end
cares about precision of result, for propagation.) 
						
						
					 
					
						2016-08-02 21:48:02 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							af459216a1 
							
						 
					 
					
						
						
							
							Correct precision qualification on built-in functions.  
						
						... 
						
						
						
						This is a replacement commit for pull request #238 .
This is a design change, followed by implementation change that
A) fixes the changes caused by the design change, and
B) fixes some cases that were originally incorrect.
The design change is to not give built-in functions default precision qualification.
This is to allow the rule that the precision of some built-in functions adopt their
precision qualification from the calling arguments.  This is A above.
A consequence of this design change is that all built-ins that are supposed to have
an explicit precision qualifier must now be declared that way.  So, a lot more
built-in declarations now have precision qualifiers, just to keep things the same.
This is B above. 
						
						
					 
					
						2016-05-03 19:34:00 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							69d01eadd6 
							
						 
					 
					
						
						
							
							Semantics: Catch nested types containing 'int' with non-'flat' interpolation.  
						
						
						
						
					 
					
						2015-12-22 16:39:07 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							9312269d09 
							
						 
					 
					
						
						
							
							Front-end Arrays of arrays: Add ES-specific checks and tests.  AoA should be quite close to done now.  
						
						
						
						
					 
					
						2015-09-11 15:25:38 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							fc51d284aa 
							
						 
					 
					
						
						
							
							Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.  
						
						... 
						
						
						
						If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.
If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.
Also, the old behavior is tagged as release 2.4. 
						
						
					 
					
						2015-08-19 13:43:25 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							65c78a0b62 
							
						 
					 
					
						
						
							
							Array of array: Implement the core functionality: types, constructors, operations.  
						
						... 
						
						
						
						There will be subsequent commits to refine semantics, esp. version-specific semantics,
as well as I/O functionality and restrictions.
Note: I'm getting white-space differences in the preprocessor test results,
which I'm not checking in.  I think they need to be tagged as binary or something. 
						
						
					 
					
						2015-08-10 17:08:55 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e3933d684d 
							
						 
					 
					
						
						
							
							Front-end: Implement GL_OES_gpu_shader5.  
						
						
						
						
					 
					
						2015-07-15 19:42:59 -06:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e0603a441e 
							
						 
					 
					
						
						
							
							Front-end: move to rational internal array-of-array interfaces and design.  (A-of-A is not yet implemented though.)  
						
						
						
						
					 
					
						2015-07-06 21:00:03 -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 
							
						 
					 
					
						
						
						
						
							
						
						
							af9ab5f743 
							
						 
					 
					
						
						
							
							glslang parser: Arrays-of-arrays name-mangling and error messages (lots of A-of-A stuff to come a bit later).  This patch from Google, David Neto <dneto@google.com>.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31137  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-05-11 16:16:49 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							09388459a8 
							
						 
					 
					
						
						
							
							glslang: Correct global precision qualifiers to make the qualifier global instead of temp (local).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30975  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2015-04-29 11:00:28 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							f0fce80aa7 
							
						 
					 
					
						
						
							
							Do qualifier-based checking independent of declaring a variable.  Bug 11903.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28502  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-10-08 21:29:29 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							39cf638945 
							
						 
					 
					
						
						
							
							Include GL_FRAGMENT_PRECISION_HIGH in ES 300/310.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28494  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-10-08 16:31:44 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							f57aa7bd91 
							
						 
					 
					
						
						
							
							Add missing precision qualifier checks to function formal parameter declarations.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28442  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-10-06 19:39:13 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							b3007519fc 
							
						 
					 
					
						
						
							
							Miscellaneous ES 3.1 semantics, and identification of all missing features.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27732  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-08-14 07:07:21 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							4d57090da5 
							
						 
					 
					
						
						
							
							Turn on ESSL 3.1 for most features:  
						
						... 
						
						
						
						- images: load/store, memory qualifiers
 - buffer blocks
 - compute shaders
 - atomic counters
 - texture gather
 - SSO
 - uniform locations
 - all the numeric-based version # comparisons
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@27710  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-08-12 22:07:22 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							04b1c6ed4c 
							
						 
					 
					
						
						
							
							GL_ARB_enhanced_layouts, part 5: uniform offset and align semantics.  Numerical computations not yet done.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25092  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2014-01-28 21:13:59 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							b06c378cc9 
							
						 
					 
					
						
						
							
							Non-functional: missing test result and slight coding change from yesterday's constant folding check in.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24293  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-03 16:13:22 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							78fe3ace85 
							
						 
					 
					
						
						
							
							Fix crash from attempting ES precision propagation through a constant folded built-in function call when the expression tree has unknown precisions.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24267  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-12-02 16:38:53 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							1d1132d9eb 
							
						 
					 
					
						
						
							
							Add limit checking for constant texture texel offsets and max_vertices.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24158  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-20 23:46:57 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							01c22afa37 
							
						 
					 
					
						
						
							
							Add some missing invariant semantic checks, replace some misplaced sampler semantic checks, add parameter and structure member checks against new qualifiers.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23962  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-08 07:13:18 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							8ec55cdcd2 
							
						 
					 
					
						
						
							
							Clean up/resolve a bunch of TODO, which included implementing pixel_center_integer and origin_upper_left and adjusting what versions see legacy texturing names.  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23874  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-11-05 18:07:25 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							e17ef84753 
							
						 
					 
					
						
						
							
							Fix bug where bracket dereferences were incorrectly keeping the base's qualifier (for example constBase[i] would still be a const instead of EvqTemporary).  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23722  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-10-28 19:49:16 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							ab41fe5df6 
							
						 
					 
					
						
						
							
							Add redeclarations of built-in blocks.  
						
						... 
						
						
						
						Note: lots of test results changed due to listing the members of a block when printing types.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23682  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-10-24 01:25:40 +00:00 
						 
				 
			
				
					
						
							
							
								John Kessenich 
							
						 
					 
					
						
						
						
						
							
						
						
							94fdd1117b 
							
						 
					 
					
						
						
							
							Add geometry-shader stream, invocations, max_vertices, lines, triangles, etc. layout qualifiers, and their default/inheritance behaviors, and some other misc. geometry shader features.  (Geometry shaders are not yet done though.)  
						
						... 
						
						
						
						git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@23679  e7fa87d3-cd2b-0410-9028-fcbf551c1848 
						
						
					 
					
						2013-10-23 19:34:05 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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