- 94a81fb Option rationalization and minor clean up. by John Kessenich · 11 years ago
- 8700e9e Add more constant folding cases for min, max, step, smoothstep, mix, clamp, atan, and pow. by John Kessenich · 11 years ago
- b603f91 Put all glslang internals (but not the external interface) into the glslang namespace. by John Kessenich · 11 years ago
- 23bdb29 Move the complex pieces of C++ code from glslang.y to ParseHelper.cpp. Updated some tests. by John Kessenich · 11 years ago
- d46b31f Give new scopes to non-compound (simple) if-then-else substatements, correcting scoping for declarations they contain. by John Kessenich · 11 years ago
- 3af0d53 Remove unnecessary TString constructors. by John Kessenich · 11 years ago
- a5ea9c6 Dynamically allocate symbol table containers, so timing of clean up can be more easily controlled WRT memory pool cleanup. by John Kessenich · 11 years ago
- 99a0576 Share built-in symbols common to all stages for desktop (but still per profile per version). by John Kessenich · 11 years ago
- c027579 Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions. by John Kessenich · 11 years ago
- 317f1af Update Linux binaries for name-mangling bug fix by John Kessenich · 11 years ago
- 252b619 Remove a mangled-name cache in the type that was sometimes stale. by John Kessenich · 11 years ago
- 1b42f2a Add parse-time constant folding for isinf() and isnan(). by John Kessenich · 11 years ago
- af26243 Update Linux binaries by John Kessenich · 11 years ago
- acc55c2 Update the Windows binary. by John Kessenich · 11 years ago
- 8d2fe45 Linux abs() needs to be fabs(); a few other minor Linux tweaks. by John Kessenich · 11 years ago
- 4586dbd Track expected test results and add more README information. by John Kessenich · 11 years ago
- 41a5918 Allow unsigned int in the "location = " grammar, and generally improve recognition of numeric literals to be up to spec. by John Kessenich · 11 years ago
- 161d482 Add windows executable. by John Kessenich · 11 years ago
- b849c1d Add Linux executables by John Kessenich · 11 years ago
- 54f6e56 Set up infrastructure for installing an executable. Changes the standalone name to glslangValidator. by John Kessenich · 11 years ago
- 53f3cc9 Fix bison file naming issues from upgrading to version 2.7 of bison. by John Kessenich · 11 years ago
- ee6a9c8 Make previous check in compile correctly on linux. by John Kessenich · 11 years ago
- 2b07c7e Improve multi-threading and move Standalone to a multi-threading model (currently off though). by John Kessenich · 11 years ago
- b40a488 Update index. by John Kessenich · 11 years ago
- d7c0c3f Push index page now that SVN access is setup. by John Kessenich · 11 years ago
- c4cc787 Put on hold pending configuring glslang for public access. by John Kessenich · 11 years ago
- e2c091b Link glslang project into site nav. by John Kessenich · 11 years ago
- fb4a0b6 Fix warning in release build. Update to-do list. by John Kessenich · 11 years ago
- d9d5f93 Tie missing default-precision error checks to EShMsgRelaxedErrors. by John Kessenich · 11 years ago
- e0ab8db Final linux tweak. by John Kessenich · 11 years ago
- 3a05b78 A few linux improvements/fixes for the previous check in. by John Kessenich · 11 years ago
- 7213324 Reframe the preprocessor as a C++ class, with instances, removing all C code, removing all global variables. Upgrade bison version to pass a parse context on through to the preprocessor. All the basic things to make something thread safe. by John Kessenich · 11 years ago
- 5f1a0b7 Eliminate flex as the GLSL lexical analyzer, going from two nested lexical analyzers down to one, leaving just the preprocessor's lexical analysis. A new layer replaces it, to translate from the preprocessor's view of tokenization to glslang's view of tokenization. by John Kessenich · 11 years ago
- 73ed17a Rationalize naming/access to current thread-local-storage scheme. However, the preprocessor tokenizer is not thread-safe, so this may all change. by John Kessenich · 11 years ago
- 1fde51d 1) Don't propagate precision of built-in function arguments to return type when return type is bool (e.g., isnan). by John Kessenich · 11 years ago
- 6c0928d Fix bug dropping some qualifiers when merging with block member default qualification. by John Kessenich · 11 years ago
- 69c3d8c Use the default of "smooth" for interpolation qualification for vertex outs and fragment ins (rather than all fragment IO). by John Kessenich · 11 years ago
- 554c854 Fix preprocessor memory leak. by John Kessenich · 11 years ago
- db4cd54 Handle bad input file. by John Kessenich · 11 years ago
- e369bfc Semantic checks for .length(), switch/case/default, and multidimensional arrays. by John Kessenich · 11 years ago
- ef84d10 Add semantic check for precision qualifier on wrong kind of type. Added a few more tests. by John Kessenich · 11 years ago
- d3f8589 Support line-continuation (backslash before newline) for tokens and one-line comments in the preprocessor. by John Kessenich · 11 years ago
- e5f80b8 Remove the -a option, it doesn't belong here. by John Kessenich · 11 years ago
- 41cf6b5 Add scanner that can find '#version' across an array of non-null terminated, length-based, strings. Handle the ES error where #version is not the first thing found, while still supporting desktop behavior, and more generally support length-based multiple strings for a single shader. by John Kessenich · 11 years ago
- ebf0825 Add the 6 hyperbolic trig functions. by John Kessenich · 11 years ago
- eebed6f Disallow variable indexing into sampler array for ES and desktop before version 400. by John Kessenich · 11 years ago
- 01fc064 Add semantic checks for order of qualification and repetition within a class of qualifiers. by John Kessenich · 11 years ago
- f5c1075 Address a g++ complaint. by John Kessenich · 11 years ago
- 06f8464 Create linkage symbol nodes in the AST so a linker has access to all global objects that were declared, for error checking, etc. Use it now for all ins/outs/uniforms as well as gl_VertexID and gl_InstanceID. by John Kessenich · 11 years ago
- b29ba33 Fix bug of accidentally overriding initial layout location with 0, which does not mean no location. Added in/out structure tests. by John Kessenich · 11 years ago
- 211cba2 Add grammar productions for the syntax "layout(...) uniform;" for setting global defaults. by John Kessenich · 11 years ago
- 60d9f7a Add grammar productions for adding 'invariant' to already declared variables. by John Kessenich · 11 years ago
- 41a36bb 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. by John Kessenich · 11 years ago
- c59d0cd Encapsulate warnings like errors. Add warning for missing #version. by John Kessenich · 11 years ago
- a622cf2 Fix linux build problem. by John Kessenich · 11 years ago
- f78fff9 Implement __VERSION__ macro, make ftransform() non-ES only, add more tests. by John Kessenich · 11 years ago
- fb7044a Semantic checks: ES doesn't have unsized arrays or noise*(). by John Kessenich · 11 years ago
- 3da5a32 Add semantic checks for nested blocks/structures. by John Kessenich · 11 years ago
- fd8e101 Simply compile-time error handling: mostly removed the need to test an error occurred and the need to call recover(). by John Kessenich · 11 years ago
- fbe0152 Get all the scoping rules right for ES and non ES, name hiding, built-in overriding, etc. by John Kessenich · 11 years ago
- 3c31bc3 Fix a linux build issue. by John Kessenich · 11 years ago
- a5cecfc Add constant folding for the exp*(), log*(), *sqrt(), round*(), floor(), fract(), ceil(), abs(), and sign() built in functions. by John Kessenich · 11 years ago
- fddf3ce Unify constant floats and constant doubles; they can all be constant doubles. by John Kessenich · 11 years ago
- 50a8cab Add constant folding for length(), normalize(), fwidth(), dFdx(), and dFdy(). by John Kessenich · 11 years ago
- 00f605b A round of increasing robustness against buffer overruns. by John Kessenich · 11 years ago
- 7408a69 Add semantic check for ES variably indexing a uniform block. by John Kessenich · 11 years ago
- 3ce5745 Add more tests for built-in variables. by John Kessenich · 11 years ago
- 0fbb0c4 Block/structure fixes: Merge qualifiers with multiple declarators, handle arrays of blocks, more semantic checks for what's allowed. by John Kessenich · 11 years ago
- ceb0623 Fix another problem with undefined macros needing to evaluate to 0 within a preprocessor expression, but not outside a preprocessor expression. by John Kessenich · 11 years ago
- 04de88f The new test that was to have been added with the previous check in. by John Kessenich · 11 years ago
- 2327da4 Add test for operation semantics, fix one bug it found. by John Kessenich · 11 years ago
- 6976256 A bunch of semantic checks were missing for binary arithmetic operations. Refactor the "promote" logic to fix these. by John Kessenich · 11 years ago
- 0f359f0 Change warning to error for use of double underscore. by John Kessenich · 11 years ago
- 8d00fd0 Add missing type check for operands having the same type (after conversion) around the ":" in a "?:" operation. by John Kessenich · 11 years ago
- 2d0f1e5 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. by John Kessenich · 11 years ago
- 61f205e Remove too aggressive and redundant lexical keyword check: attribute and varying can always be error checked in the grammar. by John Kessenich · 11 years ago
- 52ac67e 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. by John Kessenich · 11 years ago
- 465f452 Add 3 missing reserved keywords. by John Kessenich · 11 years ago
- c2ff770 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. by John Kessenich · 11 years ago
- 09da79e Put memory counter stuff in #ifdef _WIN32. by John Kessenich · 12 years ago
- 1d92321 Add some more qualifier helper functions. by John Kessenich · 12 years ago
- 6e4d108 Fix dependency misspelling that caused unnecessary grammar rebuilds. by John Kessenich · 12 years ago
- 8df53cc Rationalize command-line options: controlling memory leak testing, AST output, and info log output. by John Kessenich · 12 years ago
- 4d5de02 Force "smooth" interpolation qualification when in a fragment shader. by John Kessenich · 12 years ago
- 78016ef Small tweak to switch statements: use a smaller base class. by John Kessenich · 12 years ago
- b49a191 Update all "TODO", add some comments. by John Kessenich · 12 years ago
- 0108aa1 Minor changes: remove use of 'auto', plug obscure memory leak, update copyright. by John Kessenich · 12 years ago
- 0576126 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. by John Kessenich · 12 years ago
- 8e54257 - Temp fix for the GLSL yacc file (linux builds failing). by John Kessenich · 12 years ago
- b51f62c 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. by John Kessenich · 12 years ago
- 63eed38 Additional layout-related error checking. by John Kessenich · 12 years ago
- bcd79fe Implement default layout qualifiers at global and block levels with proper inheritance. Also add more error checking of qualifiers. by John Kessenich · 12 years ago
- ba04210 Add anonymous members as a new symbol table type, so the infrastructure can handle blocks with no names. by John Kessenich · 12 years ago
- ed31979 Change TType member from "type" to "basicType". It was very confusing. by John Kessenich · 12 years ago
- f6648dc Add interface blocks as a basic type and handle uniform blocks that have an instance name. Includes handling qualifiers on structure members. by John Kessenich · 12 years ago
- e9942d2 Initial implementation of layout qualifiers. More to come after uniform blocks are in place. by John Kessenich · 12 years ago
- 3ed2db5 Put in correct rules for multiple versions of qualification and typing of inputs and outputs. Also, removed EvqAttribute, merging it with EvqVaryingIn. by John Kessenich · 12 years ago
- ad3663b 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. by John Kessenich · 12 years ago
- 4ba9441 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. by John Kessenich · 12 years ago
- ebeeece 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. by John Kessenich · 12 years ago