b3338b307f
Fix checking-in of wrong test files.
John Kessenich
2013-02-26 19:47:21 +00:00
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.
John Kessenich
2013-02-25 19:44:56 +00:00
4774d5ca15
Rationalize original texture functions per stage.
John Kessenich
2013-02-22 19:06:20 +00:00
d7f9406f82
Rationalize locations of type string methods.
John Kessenich
2013-02-22 18:43:31 +00:00
6f045f3e72
Expose the sampler type from a TType, and add a way to rebuild just the sampler type name for messages/annotation.
John Kessenich
2013-02-21 17:22:17 +00:00
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.
John Kessenich
2013-02-21 02:18:42 +00:00
e396a22632
Make legacy texture prototypes more concise, fix minor bugs needed to support it.
John Kessenich
2013-02-20 20:10:07 +00:00
1aec044854
Line up version 100 and 110 texture prototypes under correct versions.
John Kessenich
2013-02-20 19:04:22 +00:00
1f2a36bd6b
Add ES 300 matrix operations: outerProduct, determinant, inverse, and transpose, and missing ES 300 limit gl_MaxFragmentInputVectors.
John Kessenich
2013-02-20 04:42:42 +00:00
bd0747d6f0
Built-in symbol tables now lazily evaluated, and driven by per version, per profile input. Got all ES 100 and ES 300 built-in symbols correct.
John Kessenich
2013-02-17 06:01:50 +00:00
fb5f7eadfa
Improve robustness for symbol downcasts by moving to a "getAs" infrastructure and doing more error checking.
John Kessenich
2013-02-14 19:02:23 +00:00
e25cd0447d
CPP: Fix stack of previous nested #if/#else/#endif for whether a #else had been seen, which was sometimes cleared and sometimes not, effected later nested #if/#else/#endif #else checks.
John Kessenich
2013-02-13 17:18:30 +00:00
aab251435b
Add bash script for running through all tests.
John Kessenich
2013-02-12 18:26:15 +00:00
71fca670f3
Allow GLSL construction of matrix from matrix, starting with version 120, and always for ES shaders.
John Kessenich
2013-02-12 08:02:20 +00:00
f792295e35
Classify more keywords as to what versions they are identifiers, reserved, or keywords.
John Kessenich
2013-02-12 06:53:13 +00:00
3e1fcf34c5
Pass 2 at building on linux: remove compile errors from the preprocessor.
John Kessenich
2013-02-12 04:58:22 +00:00
54d8cda95e
Pass 1 at building on linux: remove compile errors from machine independent.
John Kessenich
2013-02-11 22:36:01 +00:00
dadf945fd7
Simultaneously fix only known memory leak and take the next step in supporting arrays of arrays. Improved several minor things along the way.
John Kessenich
2013-02-11 00:54:44 +00:00
6968b823ef
Add gl_PointCoord.
John Kessenich
2013-02-08 22:54:14 +00:00
38c507e75a
Make the default version be 100.
John Kessenich
2013-02-08 18:56:56 +00:00
46eaf4939e
Support multiple default versions, to enable ES vs. desktop contexts, for shaders missing a #version statement.
John Kessenich
2013-02-06 23:06:52 +00:00
c435c71d87
Update copyrights.
John Kessenich
2013-02-06 19:46:32 +00:00
85e0e02f6f
Fix a preprocessor defect, where nested dead #if-#endif had nesting depth off by one level, turning what should be dead code into live code.
John Kessenich
2013-02-06 02:23:47 +00:00
464f6d9ff1
Add some CPP tests.
John Kessenich
2013-02-06 00:14:16 +00:00
f0fdc53e2a
Implement non-square matrices, and make a few type improvements. Cleaned up a few old issues. Added two tests.
John Kessenich
2013-02-04 23:54:58 +00:00
1c809955ba
Add ability to treat keywords as identifiers in versions that had not yet reserved the keyword.
John Kessenich
2013-01-31 22:55:53 +00:00
59ddbafb62
Have non-ES profiles always use EpqNone (no precision qualifier) rather than using highp. This keeps precision qualifiers out of error messages, IL dumps, etc., and avoids the precision propagation algorithm.
John Kessenich
2013-01-29 17:24:14 +00:00
e406f1c71c
Put in basic propagation algorithm for precision qualifiers. Some corner cases are document as TODO.
John Kessenich
2013-01-28 23:52:49 +00:00
cc2f8022d4
Hard code to ES profile for #version 100.
John Kessenich
2013-01-28 18:28:28 +00:00
868933d668
Add precision.frag test.
John Kessenich
2013-01-28 17:40:21 +00:00
5521862729
Implement the full scheme for ES precision qualifiers, generalizing existing storage qualifiers to be able to include multiple independent kinds of qualifiers.
John Kessenich
2013-01-24 23:10:51 +00:00
674014bfc4
Fix: version 100 does not accept the 'es' profile
John Kessenich
2013-01-24 22:37:46 +00:00
62b51a2b7e
Non functional: Simplify accesses to the parseContext in the flex file.
John Kessenich
2013-01-24 22:33:43 +00:00
6dc6df377d
Update copyrights to 2013 for files with real change in them.
John Kessenich
2013-01-11 18:55:57 +00:00
45b009a364
Update copyrights to 2013 for files with real change in them.
John Kessenich
2013-01-11 18:40:40 +00:00
564842b23b
Properly declare versions for precision qualifiers, in/out/attribute/varying.
John Kessenich
2013-01-10 18:20:47 +00:00
f59bfa07e0
Support in/out for stage inputs/outputs, tied to being desktop version 150 or ES 300.
John Kessenich
2013-01-10 01:47:54 +00:00
1b12b9c575
Fix "forward" -> "faceforward" typo, which had caused the operator for it to not be mapped, and instead passed through as a function call.
John Kessenich
2012-12-21 04:28:05 +00:00
5f96bbf9fd
Bug fix: Make the type of the result of a structure assignment be the type of the structure assigned. That is, the type of the result of the "=" itself, if used in a broader expression. This probably fixes some other subtle problems as well.
John Kessenich
2012-12-19 00:50:42 +00:00
f20bb0eb94
Add a simple test list for regression testing. A much broader test base is needed, however.
John Kessenich
2012-12-13 01:37:04 +00:00
ece0d0ca27
Change the core of glslang to be a static library rather than a DLL.
John Kessenich
2012-12-13 00:09:49 +00:00
9fd55bd338
Add a new shader-versioning infrastructure capable of handling multiple profiles, desktop/ES, many versions, features coming and going in different versions across different profiles, and extensions.
John Kessenich
2012-12-13 00:05:26 +00:00
5d3e2e35b6
Support suffixes for floats and doubles (none were supported in 110).
John Kessenich
2012-12-12 22:42:30 +00:00
e95ecc54fa
1) Improve error recovery from arrays sized with a non constant. 2) Add double vectors to the lexer. 3) Default to vertex shaders for unrecognized file name suffixes.
John Kessenich
2012-12-12 21:34:14 +00:00
fabf3e4058
Add arrays of arrays grammar, and adapt existing 1D array semantics to keep working as before.
John Kessenich
2012-12-12 21:26:43 +00:00
e320a1854b
Remove the pack/unpack languages and bring grammar up from 1.1 to 4.2 and fix the affected 1.1 productions and semantics to still work correctly for 1.1 shaders.
John Kessenich
2012-12-12 21:23:55 +00:00
200b2734d7
Bring up to date with VS 10 express.
John Kessenich
2012-12-12 21:21:23 +00:00
a0af473a8b
Create a base GLSL front-end from the 3Dlabs glslang front-end from 20-Sep-2005.
John Kessenich
2012-12-12 21:15:54 +00:00