4231 Commits

Author SHA1 Message Date
John Kessenich
0f4ef5b088 glslang build: Always run a custom command for Bison. The Cmake BISON_TARGET rule doesn't understand this use of --defines, and so the targets are always rebuilt even if no source files change. Contributor: Stefanus Du Toit (stefanus@google.com).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31111 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-08 01:12:45 +00:00
John Kessenich
57193ecdc3 glslang: In ShFinalize: 1) Delete CommonSymbolTable entries. 2) After deleting objects, set the pointers to NULL. This allows us to cleanly restart glslang a second time in the same process, because it forces a new allocation. Contributor: Andrew Woloszyn (awoloszyn@google.com).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31110 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-08 01:03:55 +00:00
John Kessenich
bb8c3de8b3 glslang parser: Fix crash for ES shader with a uniform block with an unsized array that is later accessed. David Neto (dneto@google.com).
Instead of crashing, exit early from the implicit-sized-array-size-update routine so we can get to a real error message which is emitted later.


git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31109 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-08 00:54:34 +00:00
John Kessenich
1cfc71b73e glslang->SPV: Fix addStringOperand so it saves the string argument early, before the str parameter variable is modified. Otherwise you save a garbage string (buffer overrun?) because "str" has run past the terminating NUL. Contributor: Â Lei Zhang antiagainst@google.com
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31108 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-08 00:45:31 +00:00
John Kessenich
a0096021d9 glslang parser: Fix precedence bug, submitted (as was the previous one) by Andrew Woloszyn (awoloszyn@google.com).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31103 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-07 16:23:04 +00:00
John Kessenich
11f5fc04b8 glslang preprocassor: Fix operator precedence bug.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31087 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-07 01:04:29 +00:00
John Kessenich
b7cc33116a glslang portability: add a #include <cassert>.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31082 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-06 22:16:30 +00:00
John Kessenich
95eaea5989 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31076 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-06 16:19:02 +00:00
John Kessenich
63d7d420dd update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31075 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-06 16:18:08 +00:00
John Kessenich
735a2efa70 glslang -> SPV: 1) Include post switch-break unreachable blocks and 2) Generally, don't emit degenerate (basically empty) unreachable blocks.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31023 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-05-03 22:38:16 +00:00
John Kessenich
968c8f8e78 glslang: Bug 13724: ES global initializers must be constant.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30990 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-30 03:22:41 +00:00
John Kessenich
09388459a8 glslang: Correct global precision qualifiers to make the qualifier global instead of temp (local).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30975 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-29 11:00:28 +00:00
John Kessenich
8b37b04ecc glslang AST output: include global vs. temp (local) in the printed output. This only effects test results, but a future check-in is going to fix some globals.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30973 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-29 10:16:56 +00:00
John Kessenich
bcef333a78 SPV: Emit layout(index=) as Index decoration.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30939 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-27 10:03:25 +00:00
John Kessenich
6dc09cd0f3 glslang: support negation of doubles.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30795 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-17 22:03:30 +00:00
John Kessenich
edd181944e glslang and SPIR-V: Some basic turn on for doubles (previously untested but existed code). Partly from a submission, partly addressing bug 13772.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30794 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-17 21:47:07 +00:00
John Kessenich
87a5e2a84b glslang: Allow GL_ARB_explicit_attrib_location to add "layout" keyword pre version 140.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30647 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-09 21:04:44 +00:00
John Kessenich
837c6380f3 glslang: include 0 as not being a power of 2
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30613 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-08 15:51:14 +00:00
John Kessenich
24c9cc57ad update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30512 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-03 00:19:37 +00:00
John Kessenich
d74951e2de update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30511 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-03 00:19:19 +00:00
John Kessenich
5302c7d836 glslang -> SPIR-V: Correct renaming mistake made in moving to the auto-generated headers.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30510 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-03 00:10:51 +00:00
John Kessenich
d8132e164d glslang GLSL -> SPIR-V: Final delta to bump to revision 30 of the specification.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30488 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-02 16:32:51 +00:00
John Kessenich
9a3399450a glslang -> SPIR-V: some built-in decoration code was turned off; turn it on.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30466 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-04-01 20:35:23 +00:00
John Kessenich
0016eaf1b9 GLSL AST -> SPIR-V: Update to explicit enum values for the GLSL extended instruction set.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30443 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-31 01:46:57 +00:00
John Kessenich
b40d6ac9e7 glslang AST -> SPIR-V: Move to new auto-generated official headers, and for the disassembler, mirror the split done between the auto-generation header database and the specification.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30434 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-30 17:41:16 +00:00
John Kessenich
1f77cacd69 glslang -> SPIR-V: Correct code generated for EmitStreamVertex and EndStreamPrimitive.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30270 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-24 00:32:50 +00:00
John Kessenich
34a7e67769 update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30042 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-04 16:35:14 +00:00
John Kessenich
1aa7b89510 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30041 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-04 16:33:39 +00:00
John Kessenich
43bc2d857d glslang: Add SPIR-V human readable form. (Use -H.): Fix Linux build problems.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30039 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-04 03:55:31 +00:00
John Kessenich
acba77200b glslang: Add SPIR-V human readable form. (Use -H.)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30038 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-04 03:48:38 +00:00
John Kessenich
6b40b0a15d update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30035 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-03 17:50:34 +00:00
John Kessenich
19fdb20ee6 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30034 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-03 17:50:04 +00:00
John Kessenich
00dfa06f89 glslangValidator: Add straightforward SPIR-V support (non-optimizing, ~3.x functionality): fix linux case issue.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30033 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-03 17:15:07 +00:00
John Kessenich
0df0cdeeeb glslangValidator: Add straightforward SPIR-V support (non-optimizing, ~3.x functionality).
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@30032 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-03-03 17:09:43 +00:00
John Kessenich
1899e83369 update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29355 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-01-07 18:48:49 +00:00
John Kessenich
4ec10181b6 update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29354 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-01-07 18:48:34 +00:00
John Kessenich
50d542e6b9 Implement ES-3.0-specific error semantics for redefining predefined macros.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29353 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-01-07 18:47:57 +00:00
John Kessenich
548ec2c12c Include ?: in the tests for flow control.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29348 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-01-07 06:36:55 +00:00
John Kessenich
05a62bf528 Implement barrier() control-flow rules: in flow control, non-main, and post-return.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29347 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2015-01-07 06:14:06 +00:00
John Kessenich
cbc7dd979a update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29283 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-21 20:31:28 +00:00
John Kessenich
d93ec05a1f update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29282 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-21 20:31:09 +00:00
John Kessenich
c311d35500 Fix default precision check for formal parameters; it was one level too deep. This will accept more fragment shaders with no default precision before declaring functions.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29281 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-21 20:30:04 +00:00
John Kessenich
33a5423f76 Still generate switch statement when WARNING about missing statements is given. It was correct behave when this used to be an error, but not now that it is a warning.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29279 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-21 16:48:29 +00:00
John Kessenich
2b20dcb64d Fix public bug 1277: #line L sets the next line to L+1 or just L, based on the version of the language.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29277 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-20 07:03:18 +00:00
John Kessenich
560df75970 update Window's binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29197 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-11 00:19:46 +00:00
John Kessenich
1faae74e4e update linux binary
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29196 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-11 00:19:22 +00:00
John Kessenich
6df2904391 Implement specification change in 'restrict', allowing it to come and go across function calls.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@29195 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-12-11 00:17:42 +00:00
John Kessenich
1575e0d7c7 Correct test result for previous check in.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28969 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-11-17 16:46:15 +00:00
John Kessenich
c47175c7bb Add memory qualifiers (coherent volatile restrict) to imageSize(), imageLoad(), imageStore(), atomic*(), and imageAtomic*(), to remove errors about dropping qualifiers.
Several bugs are related to this, and this is a slightly speculative fix, bit it is certainly wrong to either do it the way it was or to reflect the current specifications.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28968 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-11-17 16:45:10 +00:00
John Kessenich
6ab7bf20f0 Non-functional: Change %pure_parser to %pure-parser, to improve portability.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@28857 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-11-05 16:36:44 +00:00