platform/upstream/glslang.git
9 years agoGenerate correctly structured do-while loops.
David Neto [Wed, 15 Jul 2015 20:21:26 +0000 (16:21 -0400)]
Generate correctly structured do-while loops.

The loop test is always emitted before the loop body.

For do-while loops, use a phi node to track whether we're
on the first loop iteration, and only check the loop test
on the second and subsequent iterations.

For do-while loops, the loop test branch no longer occurs
at the top of the loop, so it must get its own selection
merge instruction.

A block can't be the target of more than one merge instruction.
So when the loop test executes after the body (as in do-while in GLSL)
we need to introduce a dummy block to be the target of the selection
merge just before the loop test conditional branch.

The other arm of the branch exits the loop and hence is the
"break block" exception in the structured control flow rules.

9 years agoMerge pull request #21 from google/allow_non_null_strings
John Kessenich [Fri, 17 Jul 2015 17:51:56 +0000 (11:51 -0600)]
Merge pull request #21 from google/allow_non_null_strings

Added a setStringsWithLengths() method to TShader.

9 years agoMerge pull request #20 from google/remove_exception
John Kessenich [Fri, 17 Jul 2015 17:45:31 +0000 (11:45 -0600)]
Merge pull request #20 from google/remove_exception

Removed the single usage of exceptions in all of glslang.

9 years agoAdded a setStringsWithLengths() method to TShader.
Andrew Woloszyn [Thu, 16 Jul 2015 13:48:47 +0000 (09:48 -0400)]
Added a setStringsWithLengths() method to TShader.

This allows us to pass through non null-terminated strings.

9 years agoRemoved the single usage of exceptions in all of glslang.
Andrew Woloszyn [Fri, 10 Jul 2015 20:11:00 +0000 (16:11 -0400)]
Removed the single usage of exceptions in all of glslang.

9 years agoFront-end: Implement GL_OES_gpu_shader5.
John Kessenich [Thu, 16 Jul 2015 01:42:59 +0000 (19:42 -0600)]
Front-end: Implement GL_OES_gpu_shader5.

9 years agoMerge pull request #18 from srk-lunarg/v30_static_analysis_fixes
John Kessenich [Wed, 15 Jul 2015 21:06:39 +0000 (15:06 -0600)]
Merge pull request #18 from srk-lunarg/v30_static_analysis_fixes

Comment out some dead assignments per suggestion from static analysis…

9 years agoComment out some dead assignments per suggestion from static analysis tools.
Steve [Wed, 15 Jul 2015 20:34:35 +0000 (14:34 -0600)]
Comment out some dead assignments per suggestion from static analysis tools.
Code is left in as comments for clarity to humans.

9 years agoMerge pull request #17 from google/non-existing-string
John Kessenich [Wed, 15 Jul 2015 20:03:33 +0000 (14:03 -0600)]
Merge pull request #17 from google/non-existing-string

Protect location setting methods from writing to non-existing strings.

9 years agoProtect location setting methods from writing to non-existing strings.
Lei Zhang [Fri, 10 Jul 2015 15:18:47 +0000 (11:18 -0400)]
Protect location setting methods from writing to non-existing strings.

TInputScanner advances its internal indices to the next character at
the end of get(), which means, after reading in the last character
in the user-provided shader string, internal index (currentSource)
will point to the next shader string (currentSource == numSources),
which doesn't exist. Then if a location setting method is called,
we will write to some out-of-bound memory.

A test case for this is "#line 10000\n". The eval() method in CPPline()
will evaluate 10000, but at the same time it reads in the next
token, '\n', and the currentSource will be numSources in TInputScanner.
Then a parseContext.setCurrentLine() is called, we are writing to
out-of-bound memory. Another test case will be "#line 10000 0\n".

9 years agoInclude specification revision as part of the version string.
John Kessenich [Wed, 15 Jul 2015 16:03:39 +0000 (10:03 -0600)]
Include specification revision as part of the version string.

9 years agoMerge pull request #16 from google/pp-directive
John Kessenich [Wed, 15 Jul 2015 01:36:29 +0000 (19:36 -0600)]
Merge pull request #16 from google/pp-directive

Preprocessing directive handling

9 years agoFront-end: enforce qualifiers that cannot appear on block declarations.
John Kessenich [Wed, 15 Jul 2015 01:30:11 +0000 (19:30 -0600)]
Front-end: enforce qualifiers that cannot appear on block declarations.

Also seems to pick up some white-space (line-ending) test differences with a
prevoius checkin.

9 years agoFix compile errors: about 25 .PpError didn't compile, need to be .ppError.
John Kessenich [Tue, 14 Jul 2015 21:33:38 +0000 (15:33 -0600)]
Fix compile errors: about 25 .PpError didn't compile, need to be .ppError.

9 years agoMerge pull request #15 from google/preprocessing-error
John Kessenich [Tue, 14 Jul 2015 21:29:13 +0000 (15:29 -0600)]
Merge pull request #15 from google/preprocessing-error

Added error output to the preprocessor.

This patch distinguishes preprocessing errors with normal parsing
errors and gives glslangValidator the ability to output preprocessing
errors.

9 years agoAdded error output to the preprocessor.
Andrew Woloszyn [Wed, 24 Jun 2015 21:00:46 +0000 (17:00 -0400)]
Added error output to the preprocessor.

This patch distinguishes preprocessing errors with normal parsing
errors and gives glslangValidator the ability to output preprocessing
errors.

9 years agoRemove uncessary line break.
Lei Zhang [Fri, 3 Jul 2015 05:35:26 +0000 (01:35 -0400)]
Remove uncessary line break.

We output empty lines before processing non-whitespace tokens,
not after done processing them.

9 years agoFix empty line handling in line directive callback.
Lei Zhang [Sun, 5 Jul 2015 02:30:59 +0000 (22:30 -0400)]
Fix empty line handling in line directive callback.

The current line number for the #line directive should be passed
in as parameter to the line directive callback. Without it, we
don't know how many empty lines we should output.

9 years agoFix line number handling in line directive callback.
Lei Zhang [Fri, 3 Jul 2015 05:25:47 +0000 (01:25 -0400)]
Fix line number handling in line directive callback.

The line argument passed into the lineCallback function is the
literal value of the first argument of the #line directive.
lastLine in DoPreprocessing() should be updated taking into
consideration the different definitions for #line between specs.

Add a test to reveal the bug.

9 years agoMerge pull request #14 from google/extensionturnedon
John Kessenich [Tue, 14 Jul 2015 18:30:26 +0000 (12:30 -0600)]
Merge pull request #14 from google/extensionturnedon

Simplify function calls for extensionsTurnedOn().

Lots of places in the code use extensionsTurnedOn(1, ...). This
patch introduces a new method, extensionTurnedOn(), for testing
if a single extension is turned on.

9 years agoMerge pull request #11 from baldurk/size-t-int-warning-fixes
John Kessenich [Tue, 14 Jul 2015 18:25:55 +0000 (12:25 -0600)]
Merge pull request #11 from baldurk/size-t-int-warning-fixes

Fix warnings compiling on x64 with size_t to int casts

9 years agoSimplify function calls for extensionsTurnedOn().
Lei Zhang [Sun, 5 Jul 2015 21:48:53 +0000 (17:48 -0400)]
Simplify function calls for extensionsTurnedOn().

Lots of places in the code use extensionsTurnedOn(1, ...). This
patch introduces a new method, extensionTurnedOn(), for testing
if a single extension is turned on.

9 years agoUpdate readme to point to Khronos landing page.
John Kessenich [Mon, 13 Jul 2015 17:41:06 +0000 (11:41 -0600)]
Update readme to point to Khronos landing page.

9 years agoFix incorrect used of snprintf()
John Kessenich [Mon, 13 Jul 2015 01:39:51 +0000 (19:39 -0600)]
Fix incorrect used of snprintf()

9 years agoUpdated command-line options, adding -o for saving binaries, -G for OpenGL SPIR-V...
John Kessenich [Mon, 13 Jul 2015 01:28:10 +0000 (19:28 -0600)]
Updated command-line options, adding -o for saving binaries, -G for OpenGL SPIR-V validation, -v etc.

Old uses should still work as they did before.
Also encapsulated use of these flags during parsing, for the parse context.
Added SPIR-V version to -v.

9 years agoon x64, size_t is 64-bit and int is 32-bit, so needs an explicit cast
baldurk [Sun, 12 Jul 2015 09:32:58 +0000 (11:32 +0200)]
on x64, size_t is 64-bit and int is 32-bit, so needs an explicit cast

9 years agoFix clang static analyzer issues, as reported by floooh.
John Kessenich [Sun, 12 Jul 2015 00:01:03 +0000 (18:01 -0600)]
Fix clang static analyzer issues, as reported by floooh.

9 years agoMerge pull request #4 from baldurk/relative-include-paths
John Kessenich [Sat, 11 Jul 2015 22:41:38 +0000 (16:41 -0600)]
Merge pull request #4 from baldurk/relative-include-paths

include by relative path, so root doesn't need to be in the search path

9 years agoMerge pull request #5 from floooh/fix-clang-warnings
John Kessenich [Sat, 11 Jul 2015 22:36:08 +0000 (16:36 -0600)]
Merge pull request #5 from floooh/fix-clang-warnings

Fix for most Xcode/clang warnings on OSX

9 years agoAdd some missing 'const' and texture-op guards, for future change to enum-based textu...
John Kessenich [Sat, 11 Jul 2015 19:37:02 +0000 (13:37 -0600)]
Add some missing 'const' and texture-op guards, for future change to enum-based texture calls.

The infrastructure is in place to not do text comparisons for "texture" ... for deducing type of
texture call.  But, it is not yet turned on, as it could break some consumers.  Am soliciting
any feedback on that.

See in Initialize.cpp: const bool PureOperatorBuiltins = false;  // could break backward compatibility; pending feedback

9 years agoFix most clang warnings
Andre Weissflog [Sat, 11 Jul 2015 12:45:57 +0000 (14:45 +0200)]
Fix most clang warnings

- member initializing order in some constructors
- missing default branches in switch-case
- uninitialized variable if switch-case default (uncritical because
  program would exit)
- && and || brace warnings in if()

9 years agoinclude by relative path, so root doesn't need to be in the search path
baldurk [Wed, 8 Jul 2015 13:11:59 +0000 (15:11 +0200)]
include by relative path, so root doesn't need to be in the search path

9 years agoLinux build: fix case problem with new file.
John Kessenich [Tue, 7 Jul 2015 06:53:26 +0000 (00:53 -0600)]
Linux build: fix case problem with new file.

9 years agoClear up a C++ compile warning
John Kessenich [Tue, 7 Jul 2015 03:02:26 +0000 (21:02 -0600)]
Clear up a C++ compile warning

9 years agoFront-end: move to rational internal array-of-array interfaces and design. (A-of...
John Kessenich [Tue, 7 Jul 2015 01:08:03 +0000 (19:08 -0600)]
Front-end: move to rational internal array-of-array interfaces and design.  (A-of-A is not yet implemented though.)

9 years agodocs: Update missing features list
John Kessenich [Mon, 6 Jul 2015 20:17:11 +0000 (14:17 -0600)]
docs: Update missing features list

9 years agoglslang -> SPIR-V: smear scalars for integer (scalar * vector). OpVectorTimesScalar...
John Kessenich [Sat, 4 Jul 2015 23:17:31 +0000 (17:17 -0600)]
glslang -> SPIR-V: smear scalars for integer (scalar * vector).  OpVectorTimesScalar is only for floats.

9 years agoUse E_ prefix instead of _ for distinguishing extension strings from glext.h
John Kessenich [Fri, 3 Jul 2015 15:24:46 +0000 (09:24 -0600)]
Use E_ prefix instead of _ for distinguishing extension strings from glext.h

9 years agoMerge pull request #2 from nwnk/glext-compatibility
John Kessenich [Fri, 3 Jul 2015 15:15:03 +0000 (09:15 -0600)]
Merge pull request #2 from nwnk/glext-compatibility

Fix incompatibility with <GL/glext.h>

9 years agoMerge pull request #3 from fkaa/include-fix
John Kessenich [Fri, 3 Jul 2015 15:12:50 +0000 (09:12 -0600)]
Merge pull request #3 from fkaa/include-fix

Fix SPV include directives depending on root folder name

9 years agoFix include directive depending on root folder name
Felix Kaaman [Thu, 2 Jul 2015 13:25:23 +0000 (15:25 +0200)]
Fix include directive depending on root folder name

9 years agoFix incompatibility with <GL/glext.h>
Adam Jackson [Tue, 30 Jun 2015 14:11:38 +0000 (10:11 -0400)]
Fix incompatibility with <GL/glext.h>

New extensions in glext.h follow the pattern:

    #ifndef GL_ARB_texture_rectangle
    #define GL_ARB_texture_rectangle 1
    #define GL_TEXTURE_RECTANGLE_ARB          0x84F5
    #define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6
    #define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7
    #define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
    #endif /* GL_ARB_texture_rectangle */

Versions.h tries to declare:

    const char* const GL_ARB_texture_rectangle = "GL_ARB_texture_rectangle";

Which means, if you've included glext.h before Versions.h, that the
compiler will see "const char* const 1 = ...", and rightly refuse to
continue.

The ham-fisted approach taken here is to rename the variables in
Versions.h with a leading underscore.  This does sort of undermine the
comment about "better to have the compiler do spelling checks", but.

Signed-off-by: Adam Jackson <ajax@redhat.com>
9 years agoMake double underscore "__" an error for ES 300, but a warning for 310.
John Kessenich [Mon, 29 Jun 2015 23:19:17 +0000 (17:19 -0600)]
Make double underscore "__" an error for ES 300, but a warning for 310.

The 310 spec (and desktop specs) have clarified this is a waring, not an
error, but 300 tests still expect an error.

9 years agoBuilding README: Update to CMake information.
John Kessenich [Mon, 29 Jun 2015 16:42:27 +0000 (10:42 -0600)]
Building README: Update to CMake information.

9 years agoMerge pull request #1 from antiagainst/markdown-readme
John Kessenich [Mon, 29 Jun 2015 16:30:13 +0000 (10:30 -0600)]
Merge pull request #1 from antiagainst/markdown-readme

Format README using markdown.

9 years agoFormat README using markdown.
Lei Zhang [Sat, 27 Jun 2015 22:43:26 +0000 (18:43 -0400)]
Format README using markdown.

9 years agoFinal round for line endings.
John Kessenich [Fri, 26 Jun 2015 22:58:36 +0000 (16:58 -0600)]
Final round for line endings.

9 years agoSecond round line ending clean up, from fresh round trip.
John Kessenich [Fri, 26 Jun 2015 22:42:50 +0000 (16:42 -0600)]
Second round line ending clean up, from fresh round trip.

9 years agoAdd .gitattributes and normalize a few stray file's line endings
John Kessenich [Fri, 26 Jun 2015 22:29:10 +0000 (16:29 -0600)]
Add .gitattributes and normalize a few stray file's line endings

9 years agoMake the "switch-label not followed by statement" warning an error, depending on...
John Kessenich [Fri, 26 Jun 2015 18:24:28 +0000 (12:24 -0600)]
Make the "switch-label not followed by statement" warning an error, depending on version.

9 years agoAdd +x to two more scripts.
John Kessenich [Fri, 26 Jun 2015 16:48:26 +0000 (10:48 -0600)]
Add +x to two more scripts.

9 years agoAdd +x to two executables.
John Kessenich [Fri, 26 Jun 2015 06:40:05 +0000 (00:40 -0600)]
Add +x to two executables.

9 years agoMake smoother use in GitHub
johnkslang [Fri, 26 Jun 2015 06:12:31 +0000 (00:12 -0600)]
Make smoother use in GitHub

+x bison.exe, remove some extra files in runtests, and ignore more
created files.

9 years agoglslang build: force the use of -std=c++11 when building with Clang. David Neto...
John Kessenich [Wed, 24 Jun 2015 16:05:50 +0000 (16:05 +0000)]
glslang build: force the use of -std=c++11 when building with Clang.  David Neto <dneto@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31583 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: Implement AEP *_point_size extensions.
John Kessenich [Tue, 23 Jun 2015 04:14:00 +0000 (04:14 +0000)]
glslang front-end: Implement AEP *_point_size extensions.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31560 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: Full turn-on of AEP tessellation semantics.
John Kessenich [Fri, 19 Jun 2015 23:03:32 +0000 (23:03 +0000)]
glslang front-end: Full turn-on of AEP tessellation semantics.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31538 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Finish turn on of AEP geometry shaders for ES 3.1.
John Kessenich [Fri, 19 Jun 2015 06:28:59 +0000 (06:28 +0000)]
glslang: Finish turn on of AEP geometry shaders for ES 3.1.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31532 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: Don't emit blank lines for empty info logs. From Andrew Woloszyn...
John Kessenich [Fri, 19 Jun 2015 05:14:19 +0000 (05:14 +0000)]
glslang front-end: Don't emit blank lines for empty info logs. From Andrew Woloszyn <awoloszyn@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31531 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang testing: Remove dependence on testfiles from LunarGLASS.
John Kessenich [Wed, 17 Jun 2015 16:15:09 +0000 (16:15 +0000)]
glslang testing: Remove dependence on testfiles from LunarGLASS.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31512 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agofix linux ^M issues with previous check-in
John Kessenich [Wed, 17 Jun 2015 02:41:51 +0000 (02:41 +0000)]
fix linux ^M issues with previous check-in

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31509 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work...
John Kessenich [Wed, 17 Jun 2015 02:38:44 +0000 (02:38 +0000)]
glslang preprocessing: Add -E option to print out preprocessed GLSL, and do the work needed to generate a preprocessed stream.  From Andrew Woloszyn <awoloszyn@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31508 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: Added a callback mechanism for #line/#pragma/#version/#extension...
John Kessenich [Tue, 16 Jun 2015 23:08:00 +0000 (23:08 +0000)]
glslang front-end: Added a callback mechanism for #line/#pragma/#version/#extension.  From Andrew Woloszyn <awoloszyn@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31507 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: track column numbers (they don't go anywhere yet, just get tracked...
John Kessenich [Tue, 16 Jun 2015 19:49:22 +0000 (19:49 +0000)]
glslang front-end: track column numbers (they don't go anywhere yet, just get tracked).  Andrew Woloszyn <awoloszyn@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31506 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Add API override of version and profile for testing purposes. From Lei...
John Kessenich [Tue, 16 Jun 2015 19:01:56 +0000 (19:01 +0000)]
glslang: Add API override of version and profile for testing purposes.  From Lei Zhang <antiagainst@google.com>.

Add defaultProfile and forceDefaultVersionAndProfile into shader
compilation interface.

forceDefaultVersionAndProfile allows us to force parsing the input
shaders using defaultVersion and defaultProfile, regardless of
the #version directive in input shaders.

These two parameters enables us to programmatically invoke glslang
but specify version and profile from somewhere else like command
line.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31504 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang tests: Fix error propagation. From David Neto <dneto@google.com>.
John Kessenich [Tue, 16 Jun 2015 18:40:40 +0000 (18:40 +0000)]
glslang tests:  Fix error propagation.  From David Neto <dneto@google.com>.

The problem is that putting the while loop at the end of a pipeline was hiding any errors being generated by those tests.  The patch changes the script to use a case statement inside the while loop instead of "grep" on the outside.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31503 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang AEP: Full semantics for *_shader_io_blocks.
John Kessenich [Mon, 15 Jun 2015 15:08:41 +0000 (15:08 +0000)]
glslang AEP: Full semantics for *_shader_io_blocks.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31490 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang AEP: Geometry shader features nominally working. (Full semantic check and...
John Kessenich [Sun, 14 Jun 2015 21:36:44 +0000 (21:36 +0000)]
glslang AEP: Geometry shader features nominally working.  (Full semantic check and turn on pending.)  Also picked up partial tessellation shader interface, shader_io_blocks, and mirrored OES set of extensions functionality.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31487 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: swap arguments as needed for OpVectorTimesScalar and OpMatrixTimesSca...
John Kessenich [Sat, 13 Jun 2015 00:48:48 +0000 (00:48 +0000)]
glslang -> SPV: swap arguments as needed for OpVectorTimesScalar and OpMatrixTimesScalar, and check for correct types for those as well as OpMatrixTimesVector, OpVectorTimesMatrix, and OpMatrixTimesMatrix.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31486 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: fix degenerate switch topologies (bug 14118).
John Kessenich [Fri, 12 Jun 2015 22:34:37 +0000 (22:34 +0000)]
glslang -> SPV: fix degenerate switch topologies (bug 14118).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31485 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang ES reference: Don't allow std430 on uniform blocks (bug 14095).
John Kessenich [Fri, 12 Jun 2015 22:09:25 +0000 (22:09 +0000)]
glslang ES reference: Don't allow std430 on uniform blocks (bug 14095).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31484 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang AEP: The extension scheme, extension-enabled stage-existence testing, and...
John Kessenich [Fri, 12 Jun 2015 05:01:25 +0000 (05:01 +0000)]
glslang AEP: The extension scheme, extension-enabled stage-existence testing, and compute-shader interface.  Still needs in/out blocks, unsized arrays, etc. before real testing can be done.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31479 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang front-end: Support relaxed error checking for bug 13724 "...initializer must...
John Kessenich [Thu, 11 Jun 2015 16:39:01 +0000 (16:39 +0000)]
glslang front-end: Support relaxed error checking for bug 13724 "...initializer must be a constant expression..." because that change breaks existing shipping applications.  (Normal validation for portability testing still gives an error.)

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31475 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang portability: Fixed a slew of OSX compilation warnings (but not all).
John Kessenich [Wed, 10 Jun 2015 23:23:12 +0000 (23:23 +0000)]
glslang portability: Fixed a slew of OSX compilation warnings (but not all).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31469 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang portability: Resolve OSX errors, some other OS warnings.
John Kessenich [Wed, 10 Jun 2015 22:05:48 +0000 (22:05 +0000)]
glslang portability: Resolve OSX errors, some other OS warnings.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31468 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoSPV compressor: Fixes a possible asserts. Attribution: spvremapper@lunarg.com
John Kessenich [Tue, 9 Jun 2015 02:01:53 +0000 (02:01 +0000)]
SPV compressor: Fixes a possible asserts.  Attribution: spvremapper@lunarg.com

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31451 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Allow programmatically prepending code to a shader without worrying about...
John Kessenich [Mon, 8 Jun 2015 18:31:23 +0000 (18:31 +0000)]
glslang: Allow programmatically prepending code to a shader without worrying about #version being first, to implement command-line-defined macros.  From Dejan Mircevski <deki@google.com>.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31448 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang ref. front-end: Add missing image format for desktop (but these are still...
John Kessenich [Mon, 8 Jun 2015 17:48:26 +0000 (17:48 +0000)]
glslang ref. front-end: Add missing image format for desktop (but these are still yet to be used.)

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31447 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoRequesting input on Bug 1346: checking in, turned off, enum-based operators for textu...
John Kessenich [Tue, 26 May 2015 01:36:50 +0000 (01:36 +0000)]
Requesting input on Bug 1346: checking in, turned off, enum-based operators for texturing and image operations.  Please reply there with any input, thanks.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31289 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang tests: Update test result from test-file change.
John Kessenich [Mon, 25 May 2015 22:14:41 +0000 (22:14 +0000)]
glslang tests: Update test result from test-file change.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31288 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoupdate Window's binary
John Kessenich [Fri, 22 May 2015 23:32:53 +0000 (23:32 +0000)]
update Window's binary

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31280 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoupdate linux binary
John Kessenich [Fri, 22 May 2015 23:32:33 +0000 (23:32 +0000)]
update linux binary

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31279 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: Improvements in swizzles on access chains: Bug 14007 (wrong type...
John Kessenich [Fri, 22 May 2015 21:57:58 +0000 (21:57 +0000)]
glslang -> SPV: Improvements in swizzles on access chains: Bug 14007 (wrong type), simplications, tests, support mixed swizzle with dynamic component selection.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31277 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: add decorations for built-ins that are inside blocks.
John Kessenich [Fri, 22 May 2015 01:53:15 +0000 (01:53 +0000)]
glslang -> SPV: add decorations for built-ins that are inside blocks.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31266 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: translate the source profile to the SPV source language.
John Kessenich [Fri, 22 May 2015 01:21:31 +0000 (01:21 +0000)]
glslang -> SPV: translate the source profile to the SPV source language.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31265 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglsl -> SPV: fix OpVectorInsertDynamic result type bug.
John Kessenich [Fri, 22 May 2015 00:58:41 +0000 (00:58 +0000)]
glsl -> SPV: fix OpVectorInsertDynamic result type bug.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31262 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoCorrect some English spellings of SPIR-V.
John Kessenich [Wed, 20 May 2015 16:13:01 +0000 (16:13 +0000)]
Correct some English spellings of SPIR-V.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31237 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoSPV compression: Final check-in enabling this on MSVC 2012. All compression submissi...
John Kessenich [Wed, 20 May 2015 16:04:17 +0000 (16:04 +0000)]
SPV compression: Final check-in enabling this on MSVC 2012.  All compression submissions from Steve (spvremapper@lunarg.com).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31236 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoSPIR-V compression: Requires rerunning CMake. Adds a standalone tool for running...
John Kessenich [Tue, 19 May 2015 21:07:04 +0000 (21:07 +0000)]
SPIR-V compression: Requires rerunning CMake.  Adds a standalone tool for running the SPV compression.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31232 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: Use the new TBuiltInVariable instead of string compares to get the...
John Kessenich [Mon, 18 May 2015 23:25:32 +0000 (23:25 +0000)]
glslang -> SPV: Use the new TBuiltInVariable instead of string compares to get the type of SPV built in. Also fixed gl_FragData and gl_PrimitiveIDIn.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31226 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Formally track all built-in variables, right from the beginning, to enable...
John Kessenich [Mon, 18 May 2015 16:45:49 +0000 (16:45 +0000)]
glslang: Formally track all built-in variables, right from the beginning, to enable avoiding all textual compares at any subsequent stage in the stack.  (To be used in future check ins.)

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31224 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Fix a few more warnings, and see it using nullptr causes anyone problems...
John Kessenich [Mon, 18 May 2015 01:59:45 +0000 (01:59 +0000)]
glslang: Fix a few more warnings, and see it using nullptr causes anyone problems (testing c++11 portability).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31218 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang PP: make decimal number parser clearer and add boundary tests. Also, disable...
John Kessenich [Sat, 16 May 2015 01:15:41 +0000 (01:15 +0000)]
glslang PP: make decimal number parser clearer and add boundary tests.  Also, disable the warning for "do {} while (true);"

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31215 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang tests: Add Success/Failed message to summarize results.
John Kessenich [Fri, 15 May 2015 21:54:24 +0000 (21:54 +0000)]
glslang tests: Add Success/Failed message to summarize results.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31214 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang SPV tests: Add two more source tests for the last check in.
John Kessenich [Fri, 15 May 2015 21:36:01 +0000 (21:36 +0000)]
glslang SPV tests: Add two more source tests for the last check in.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31213 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang SPV tests: Add a set of SPV tests.
John Kessenich [Fri, 15 May 2015 21:32:46 +0000 (21:32 +0000)]
glslang SPV tests: Add a set of SPV tests.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31212 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang tests: Get same form of IEEE INF across platforms. Submitted by Lei Zhang...
John Kessenich [Fri, 15 May 2015 20:26:13 +0000 (20:26 +0000)]
glslang tests: Get same form of IEEE INF across platforms.  Submitted by Lei Zhang (antiagainst@google.com) and David Neto (dneto@google.com).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31210 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang tests: Track accumulative success/fail result. Contributed by Lei Zhang...
John Kessenich [Fri, 15 May 2015 19:01:17 +0000 (19:01 +0000)]
glslang tests:  Track accumulative success/fail result.  Contributed by Lei Zhang (antiagainst@google.com).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31207 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV testing: Add two missing test results.
John Kessenich [Fri, 15 May 2015 18:50:14 +0000 (18:50 +0000)]
glslang -> SPV testing:  Add two missing test results.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31206 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang -> SPV: improved support for do-while/continue. Contributed by David Neto...
John Kessenich [Fri, 15 May 2015 18:44:16 +0000 (18:44 +0000)]
glslang -> SPV: improved support for do-while/continue.  Contributed by David Neto (dneto@google.com).

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31205 e7fa87d3-cd2b-0410-9028-fcbf551c1848

9 years agoglslang: Fix over 100 warnings from MSVC warning level 4.
John Kessenich [Fri, 15 May 2015 17:30:55 +0000 (17:30 +0000)]
glslang: Fix over 100 warnings from MSVC warning level 4.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@31202 e7fa87d3-cd2b-0410-9028-fcbf551c1848