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 |
|