John Kessenich
69d01eadd6
Semantics: Catch nested types containing 'int' with non-'flat' interpolation.
2015-12-22 16:39:07 -07:00
John Kessenich
ef676b0a59
Front-end "pure" built-in TOperator: Finish adding full support, but still turned off.
...
This is to avoid all need to do text comparison of built-in function names
when consuming the AST. All built-in functions get enumerants.
Will want to turn on soon. See PureOperatorBuiltins. See issue #8 .
2015-08-18 23:17:15 -06: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
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
a4ca22ff1d
Finish compile-time constant folding for multi-argument built-ins: distance(), dot(), cross(), faceforward(), reflect(), refract(), and outerProduct().
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@24272 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-12-03 01:18:06 +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
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
e369bfccfe
Semantic checks for .length(), switch/case/default, and multidimensional arrays.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22175 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-26 05:54:40 +00:00
John Kessenich
ebf0825ec4
Add the 6 hyperbolic trig functions.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22149 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-24 22:40:19 +00:00
John Kessenich
eebed6f60b
Disallow variable indexing into sampler array for ES and desktop before version 400.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22148 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-24 21:52:41 +00:00
John Kessenich
b29ba33089
Fix bug of accidentally overriding initial layout location with 0, which does not mean no location. Added in/out structure tests.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22120 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-21 19:43:44 +00:00
John Kessenich
41a36bbb2f
Track separate precision defaults for each kind of sampler, give initial defaults as per spec. Also make fragment floats have no default. Modify/add tests to adapt to these changes.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@22066 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-19 05:41:25 +00:00
John Kessenich
3ce5745ade
Add more tests for built-in variables.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@21893 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2013-06-07 18:54:19 +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
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
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
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