Commit Graph

  • 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