- 7fc3669 Preprocessor: Add short-circuit logic so ES errors are not given on undefined variables that are short circuited in && and || preprocessing expressions. by John Kessenich · 11 years ago
- e28beee Preprocessor: Fixed that some comments incorrectly substituted a new line instead of space. Also generally cleaned up the space-related coding. by John Kessenich · 11 years ago
- 8e789e8 Fixed a couple places that missed the error check for #else/#elif after #else. by John Kessenich · 11 years ago
- 521ca37 Remove one layer of arrayness on geometry shader inputs before checking for location overlaps. I think there is a spec. bug here. by John Kessenich · 11 years ago
- 0b39137 Implement location overlap error checking. by John Kessenich · 11 years ago
- 7fd9e11 Track the flow-control (and {}) nesting level to prevent case statements from being a different nesting level than their switch statement. by John Kessenich · 11 years ago
- 3a53006 Check for packing qualifiers on block members. by John Kessenich · 11 years ago
- afda241 Check for structures out from vertex or into fragment for ES 100 or desktop pre-150. by John Kessenich · 11 years ago
- 66cdf36 Detect and give error on second occurrence of #version. by John Kessenich · 11 years ago
- b88c60b Track whether function declarations are prototypes, and only allow at most one prototype for ES 100. by John Kessenich · 11 years ago
- e1f0f5b Re-allow non-language characters in ES 100 comments, including '\', except for '\' just before a new line. by John Kessenich · 11 years ago
- 34bd4fb Fix ES unsized-array checking: it was one level too low, disallowing some unsized syntax that is legal. by John Kessenich · 11 years ago
- 6ec8f28 Update test results. by John Kessenich · 11 years ago
- 143c8bf Give error when overloaded functions differ only on a parameter's precision qualifier. by John Kessenich · 11 years ago
- 4e734dd Disallow non-language characters in comments for ES version 100. by John Kessenich · 11 years ago
- 1abc404 Add #line functionality to allow expressions instead of just literals. Also made some preprocessor code slightly more clear. by John Kessenich · 11 years ago
- b06c378 Non-functional: missing test result and slight coding change from yesterday's constant folding check in. by John Kessenich · 11 years ago
- a4ca22f Finish compile-time constant folding for multi-argument built-ins: distance(), dot(), cross(), faceforward(), reflect(), refract(), and outerProduct(). by John Kessenich · 11 years ago
- 13221d2 Fix logic error in steering which stages get bias vs. non-bias texturing functions. by John Kessenich · 11 years ago
- 78fe3ac Fix crash from attempting ES precision propagation through a constant folded built-in function call when the expression tree has unknown precisions. by John Kessenich · 11 years ago
- 98434be Preprocessor fixes: by John Kessenich · 11 years ago
- 1fbaa35 Compile-time check on sampler binding size, link-time merging and checking of bindings. by John Kessenich · 11 years ago
- d6bef91 Correct textureGather*() extension support: by John Kessenich · 11 years ago
- 5b9f988 Reflection: Eliminate redundant arrayed block entries, and use block name instead of instance name for active uniform enumeration. by John Kessenich · 11 years ago
- 37d080c Add missing non-square matrixCompMult built-in functions. by John Kessenich · 11 years ago
- ad43f6f Implement GL_EXT_shader_texture_lod. by John Kessenich · 11 years ago
- 04884e4 Reflection: Expand out block arrays to N different blocks. by John Kessenich · 11 years ago
- 1d1132d Add limit checking for constant texture texel offsets and max_vertices. by John Kessenich · 11 years ago
- 1e91f5e Add link-time checks for max_vertices, input primitive, and output primitive for existence and matching. by John Kessenich · 11 years ago
- 5134b9c Track what ins/outs/uniforms are used, so that errors like "declare after use" or "can't use both XXX and YYY" can be issued. So far, used this for invariant, gl_FragColor et. al., and gl_FragCoord use before redeclaration. by John Kessenich · 11 years ago
- e1dba1b Fix a preprocessor memory leak by cleaning up some preprocessor memory management. by John Kessenich · 11 years ago
- 43e43ce Reflection: Flesh out expansions of complex aggregates not fully dereferenced, visit all array elements for a variable index, and correct max array index when a later occurrence is larger than an earlier one. by John Kessenich · 11 years ago
- c17dbd5 Reflection: Optimize leaf-array sizes for largest index used in a live path. by John Kessenich · 11 years ago
- 12f9221 Reflection: by John Kessenich · 11 years ago
- ec252df Reflection: Add translation from glslang types to the API #define types. by John Kessenich · 11 years ago
- 568bc3a Reflection: Implement the std140 block offset calculation rules. by John Kessenich · 11 years ago
- ffa66d3 Disallow arrays in initializers for non-array-object versions (assignment, etc. were already caught, but not initialization). by John Kessenich · 11 years ago
- 029d746 Fix line-continuation bug. by John Kessenich · 11 years ago
- 69aa9c1 Fixes to scanning: by John Kessenich · 11 years ago
- 67c9f3a Misc semantics fixes: by John Kessenich · 11 years ago
- 09709c1 Don't allow invariant in a function. by John Kessenich · 11 years ago
- bd1a5b7 Add GL_OES_EGL_image_external. Includes new keyword, type, name mangling, built-in function calls, etc. by John Kessenich · 11 years ago
- 9929636 Add GL_EXT_frag_depth. by John Kessenich · 11 years ago
- 06a37c3 Add GL_OES_standard_derivatives. Also added extension infrastructure that allows built-in symbols to be tagged with extensions and automatically error checked against them. by John Kessenich · 11 years ago
- 115a0ad Add GL_OES_texture_3D extension. Also, minor tweaks to extension adding infrastructure. by John Kessenich · 11 years ago
- 359326b Minor consistency fix: Define built-in functions to have bodies. by John Kessenich · 11 years ago
- a4351c5 More subtle checking for redeclarations: by John Kessenich · 11 years ago
- 4d6570a Fix several issues in the preprocessor: by John Kessenich · 11 years ago
- 77d908a Added constant folding for relational (e.g. lessThan) built-ins, relational built-ins for uints, and bitwise ops for mixed scalars and vectors. by John Kessenich · 11 years ago
- 0876a58 Misc. constant-folding fixes: Check % for 0, mat(mat) constructor, index range checking (within constant objects). Also, rationalize addConst*() methods. by John Kessenich · 11 years ago
- 01c22af Add some missing invariant semantic checks, replace some misplaced sampler semantic checks, add parameter and structure member checks against new qualifiers. by John Kessenich · 11 years ago
- c999ba2 Complete hook up all the compile/link errors to the command-line exit status. (Also, an updated test left from the last check-in.) by John Kessenich · 11 years ago
- b0a7eb5 Stop emitting the "#version missing" warning, and hook up the existing "suppress warnings" to a command-line option (-w). by John Kessenich · 11 years ago
- 3ac3578 Fix some Linux issues. by John Kessenich · 11 years ago
- 11f9fc7 Add and partially implement an interface for doing uniform reflection. It includes an AST traversal to identify live accesses. by John Kessenich · 11 years ago
- 8ec55cd 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. by John Kessenich · 11 years ago
- 5b0f13a Include per-shader and per-program pools in the new C++ interface to glslang. (And picked up missing test result from previous check in.) by John Kessenich · 11 years ago
- 83a6b1e Fix parameter count bug in ambiguity checking for overloaded function matching under implicit conversions. by John Kessenich · 11 years ago
- 0d22e31 Implement 1.20 style function signature matching under implicit conversion. This was the last key unimplemented feature of versions 120 through 330. by John Kessenich · 11 years ago
- 8cbd18e Fix recursion detection (it was detecting cycles in the call graph that were not directed cycles). by John Kessenich · 11 years ago
- e17ef84 Fix bug where bracket dereferences were incorrectly keeping the base's qualifier (for example constBase[i] would still be a const instead of EvqTemporary). by John Kessenich · 11 years ago
- ea869fb Improve preprocessor by using GLSL scanner, allowing read-only strings to be compiled, unifying of line # tracking, and correct detection that ES #version appeared after a comment. by John Kessenich · 11 years ago
- 9497485 Add geometry shader input array sizing/checking WRT declared input primitive layout. by John Kessenich · 11 years ago
- ab41fe5 Add redeclarations of built-in blocks. by John Kessenich · 11 years ago
- 94fdd11 Add geometry-shader stream, invocations, max_vertices, lines, triangles, etc. layout qualifiers, and their default/inheritance behaviors, and some other misc. geometry shader features. (Geometry shaders are not yet done though.) by John Kessenich · 11 years ago
- 284231c Add built-in constants through version 440. Some still need to be consumed when initializing the symbol table. by John Kessenich · 11 years ago
- c78a126 Tie "location = " to the right stages/versions/extensions. Also add "#define extension 1" extension support and instructions. by John Kessenich · 11 years ago
- 21a8770 Add texture gather functions (and extension check) for GLSL 400 and GL_ARB_texture_gather. by John Kessenich · 11 years ago
- ab30803 Add layout binding qualifier for blocks and samplers (atomics are not yet in, nor link validation). by John Kessenich · 11 years ago
- 8f13e13 Add swizzles to scalars. by John Kessenich · 11 years ago
- 8d8f4cc Minor preprocessor fix for error message line/string numbers coming from source line, not macro line. by John Kessenich · 11 years ago
- e46b087 Add function "const", where the initializer does not have to be a compile-time constant. by John Kessenich · 11 years ago
- 779e6b4 Add C-style curly-brace initializers. by John Kessenich · 11 years ago
- e7c59c1 Add all built-in variables for all versions/profiles/stages of GLSL. Also, made more readable; declarations are cut and paste from the specs, with quotes around them. This does not include built-in constants yet (other than MaxClipDistances), just the non-constants. by John Kessenich · 11 years ago
- 457145d Have block members use EvqVaryingIn rather than EvqIn, etc., confining the EvqIn-class of qualifier just to parameters and parse time (before it's known if something is a parameter). Also, have member error messages report their actual line, rather than the block's line. by John Kessenich · 11 years ago
- fb57e7c Add ES 3.0 fragment output link-time test for outputs having or not having location qualifiers. by John Kessenich · 11 years ago
- 27b72e4 Implement ES 2.0 (version 100) limitations for non-inductive loop detection and array indexes needing "constant-index-expressions" (inductive variables and constant expressions). by John Kessenich · 11 years ago
- a4ea131 Turn on non-uniform blocks (in/out/buffer), and prevent new stages from working with "no profile" (before 150) shaders. by John Kessenich · 11 years ago
- 3afe67d Non-functional: Remove use of the unused structure 'remapper', and other minor internal improvements. Triggered by some bigger changes in the works. Also, turned on an existing test that was not included in the test list. by John Kessenich · 11 years ago
- 98c2ef2 Non-functional changes: Typo in error message and in comment, remove unneeded arguments, separate constructor-op mapping from handling constructors. by John Kessenich · 11 years ago
- 816e9bc Improve robustness of extension checking, and its intersection with ES 100 features. by John Kessenich · 11 years ago
- a5830df Add the following ESSL 2.0 (#version 100) limitations to the configuration file, internal infrastructure, and test cases. Still need to implement the actual detection of non-inductive loops and array accesses. While and do-while loop detection is done. by John Kessenich · 11 years ago
- 44e8cae Allow ES version 100 to redeclare built-in functions. by John Kessenich · 11 years ago
- 447fc36 Add message indicating level of completeness for not-yet-complete versions. by John Kessenich · 11 years ago
- 2ecdd14 Add function recursion testing to the link-time validation. by John Kessenich · 11 years ago
- f2ee3dd Add full support for uniforms with initializers, including intra-stage link validation of aggregate constant initializers. by John Kessenich · 11 years ago
- 9839e24 Unify the 8 grammar productions for declaring variables. This greatly simplifies making changes for this set of productions. by John Kessenich · 11 years ago
- 337dbc7 Add basic intra-stage linking validation for matching types and qualification of uniforms/ins/outs/globals, function body duplication, and mixing ES/non-ES shaders. by John Kessenich · 11 years ago
- f5ebfb5 Test for and prevent any dead-code elimination, as all code is needed in the AST for static-use analysis. by John Kessenich · 11 years ago
- 05a7063 Add optional configuration file for specifying (existing) limits. Details explained by usage statement. More limits to be added in the future. by John Kessenich · 11 years ago
- b84b700 Basic infrastructure for redeclaring built-in variables (like gl_FragCoord) so shaders can change their type/layout. by John Kessenich · 11 years ago
- 5f753e0 Full thread safety working: by John Kessenich · 11 years ago
- 38f3b89 Ensure the shared symbol table levels are read-only to make multi-threading safe. Also removed inadvertent extra copies of the symbol table shared across all stages. by John Kessenich · 11 years ago
- 69f4b51 Add link validation infrastructure for multiple compilation units per stage. Includes a new, straightforward, C++ interface to the front end. by John Kessenich · 11 years ago
- 807b8e3 Remove TIntermediate's dependency on infoSink, simplify folding of constant aggregates, and infoSink use in constant folding. 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
- 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
- c027579 Put in infrastructure for tessellation, geometry, and compute stages, and partially flesh out with built-in functions. 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