Commit Graph

833 Commits

Author SHA1 Message Date
Rex Xu
e553ace049 Parser: Extension requirement of gl_PrimitiveID and gl_Layer should be checked only for ESSL instead of GLSL. 2015-12-09 15:03:41 +08:00
John Kessenich
e00e72ded1 SPV: Protect getStorageClass() with a test that the thing is pointer. 2015-12-08 20:48:49 -07:00
John Kessenich
33661450c7 SPV: Implement OpImage functionality (emit before query). 2015-12-08 19:32:47 -07:00
John Kessenich
45457bcddb Merge pull request #113 from amdrexu/feature
SPV: Implement GLSL interpolation built-in functions.
2015-12-08 14:45:01 -07:00
John Kessenich
5d60ca5744 Platforms: Remove support for Windows XP executables.
Dealing with the 110 toolset seems not worth it.
2015-12-08 14:26:26 -07:00
Rex Xu
7a26c176ce SPV: Implement GLSL interpolation built-in functions. 2015-12-08 17:40:11 +08:00
John Kessenich
c92e370e87 Merge pull request #111 from dneto0/issue-110-frexp-fix
Avoid read past end of operands vector for EOpFrexp
2015-12-07 15:03:16 -07:00
David Neto
8d63a3d35a Avoid read past end of operands vector for EOpFrexp
When emitting SPIR-V code for frexp, avoid access
beyond the end of the operands vector.  When constructing
the OpExtInst, construct a new arguments vector instead of
modifying the existing operands vector.  In the case of OpFrexp,
well need that last operand later on to generate the store.

Fixes https://github.com/KhronosGroup/glslang/issues/110

Change-Id: Ibc380fadf5e600ac491932e9ecef7afe2d72fd7f
2015-12-07 16:24:31 -05:00
John Kessenich
8c1c2ca0d7 Built-ins: fix mapping of packDouble2x32 and unpackDouble2x32. 2015-12-06 19:33:07 -07:00
John Kessenich
2359bd0a1d SPV: Fix extra operands when using the "struct" form of a built-in taking an 'out' param. 2015-12-06 19:29:11 -07:00
John Kessenich
e721f49dbd SPV: Distinguish between std140 and std430 layouts, and correctly use alignments as the base for strides. 2015-12-06 19:17:49 -07:00
John Kessenich
dd6ca17845 Semantics: Correct that std430 is universally disallowed with 'uniform'. 2015-12-06 18:10:27 -07:00
John Kessenich
71e04d62a4 Merge pull request #100 from mawww/scanner-optim
Scanner optimisations
2015-12-06 17:12:53 -07:00
John Kessenich
2765749856 Merge pull request #109 from xorgy/add-unary-math-check-for-null-before-dereferencing
In addUnaryMath, check for 'child' being null before dereferencing it.
2015-12-06 10:29:06 -07:00
Aaron Hamilton
af5a123652 In addUnaryMath, check for 'child' being null before dereferencing it. 2015-12-06 01:10:54 +00:00
John Kessenich
8481679f4d Merge pull request #107 from xorgy/fail-init-process-on-init-thread-fail
Fail InitProcess() when InitThread() fails.
2015-12-03 17:57:35 -07:00
John Kessenich
c9d6477ee2 Merge pull request #108 from mgadams/extensions_compile_fix
Fix ordered pointer comparison build warning/error
2015-12-03 17:56:53 -07:00
John Kessenich
bd0726be34 Build: Fix CMake files to find osinclude.h 2015-12-03 17:46:03 -07:00
John Kessenich
e54dd2330a Merge pull request #105 from phaulos/generic-osinclude
Use generic osinclude.h.
2015-12-03 17:20:24 -07:00
Mark Adams
a3f53e54d2 Fix ordered pointer comparison build warning/error 2015-12-03 15:31:58 -05:00
Aaron Hamilton
ebde046ca4 InitProcess() should fail if InitThread() does. 2015-12-02 07:42:20 +00:00
Pyry Haulos
5f6892e23c Use generic osinclude.h
Using platform-neutral osinclude.h makes it easier to substitute
implementation when necessary and eliminates some variability between
build configurations.
2015-12-01 13:01:34 -08:00
John Kessenich
1be8063e01 Require l-value patch-out indexing to be gl_InvocationID.
Also, generally allow ES variable indexing of in/out blocks.
2015-11-28 16:52:25 -07:00
John Kessenich
989df85dcd Array-sizing bug fix: multiple array initializers of different size in the same declaration.
Handles the case of
    float[] x = float[] (1.0, 2.0, 3.0),
            y = float[] (1.0, 2.0, 3.0, 4.0);
where a shallow copy of the type arrayness from the left-most float[]
was getting used twice.
2015-11-28 12:52:29 -07:00
John Kessenich
dad6408542 Merge pull request #98 from amdrexu/myfix
SPV: Fix an issue related with using CubeArrayShadow for texture()
2015-11-22 23:36:49 -07:00
Rex Xu
71519fe70b SPV: Fix an issue related with using CubeArrayShadow for texture() 2015-11-22 21:43:05 +08:00
John Kessenich
2c03478442 Merge pull request #10 from baldurk/osinclude-common-header
Build: Use common osinclude.h header file that redirects per-platform, remove obsolete build files, enforce relative includes.
2015-11-20 15:49:09 -07:00
baldurk
bc83e64e51 Exclude bison generated files in .gitignore 2015-11-16 23:53:46 +01:00
baldurk
5100d5603f Remove legacy build system 2015-11-16 23:51:35 +01:00
baldurk
876a0e392e Add an osinclude.h below each OS directory, redirects by platform macro
* Linux folder has been renamed to Unix, to match defines and so that it
  compiles on OS X.
* This removes the need for a per-platform include search path for the
  right OS folder
2015-11-16 18:05:18 +01:00
baldurk
08dee03d18 Remove include_directories from CMakeLists, to enforce relative includes
* This also moves bison generated files into the source tree, so that
  include of glslang_tab.cpp.h and includes from glslang_tab.cpp work
  the same way.
2015-11-16 18:05:18 +01:00
baldurk
e915da4aee Remove unnecessary include path relative to root 2015-11-16 18:05:18 +01:00
John Kessenich
085371d9d4 SPV testing: Add missing test case. 2015-11-16 09:31:26 -07:00
John Kessenich
55e7d11ce8 SPIR-V: Move from Version .99 Rev 31 to Version 1.0, Rev 2. 2015-11-15 22:31:41 -07:00
Maxime Coste
6998987ecf Avoid costly indirect calls of tStringInput::(un)?getch through TPpContext
There is no calls to the TPpContext that could change the current input,
so every calls to pp->getChar and pp->ungetChar ultimately call this->getch
and this->ungetch while adding overhead of virtual calls and vector::back.
2015-11-11 18:24:37 +00:00
Maxime Coste
29051bd148 Avoid creation of temporary std::string when looking up keywords and reserved words 2015-11-11 18:24:37 +00:00
John Kessenich
1c77f3a8d2 Merge pull request #88 from mgadams/unistd_removal
Remove obsolete unistd.h file
2015-10-28 17:29:13 -06:00
Mark Adams
ea9112e0a5 Remove obsolete unistd.h file
The presence of this file can cause build issues when integrating glslang
into other projects.
2015-10-27 14:27:18 -04:00
John Kessenich
40f6f688cd Merge pull request #85 from mgadams/gcc_build_fixes
Various build fixes when using newer GCC versions with warnings enabled
2015-10-26 15:29:10 -06:00
Mark Adams
c11e95f6e5 Various build fixes when using newer GCC versions with warnings enabled
Encountered with GCC-4.7.3 in a build environment where warnings are enabled
and treated as errors.
2015-10-26 12:38:46 -04:00
John Kessenich
fac0d1c72b Merge pull request #82 from mgadams/remove_sprintf
Replace sprintf() usage with snprintf()
2015-10-15 18:30:34 -06:00
Mark Adams
4123a04ca9 Replace sprintf() usage with snprintf()
This fixes compilation in build environments with stricter warnings enabled
2015-10-15 16:16:52 -04:00
John Kessenich
fa540d1414 SPV: Remove accidental inclusion of a test. 2015-10-15 13:55:18 -06:00
John Kessenich
7c1aa1026e SPV: Implement short circuiting of && and || when emitting SPIR-V. 2015-10-15 13:50:48 -06:00
John Kessenich
da581a2b95 GL_ARB_shader_draw_parameters: From @amdrexu, implement extension. 2015-10-14 14:10:30 -06:00
John Kessenich
b5c046e58b Front-end: Fix missing tessellation shader built-in qualifiers.
The gl_in array has a special path due to context-specific
gl_MaxPatchVertices, making the code out of order for tagging built-ins.
This commit moves the tagging to the correct location.
This also fixes issue #80.
2015-10-13 17:23:10 -06:00
John Kessenich
e690332c3c SPV: Add modes for spacing, depth, depth replacing, winding, and point mode. 2015-10-13 16:29:02 -06:00
John Kessenich
f685df8c16 Add comment that was missed in previous commit. 2015-10-13 10:55:08 -06:00
John Kessenich
716312771c SPV constants and constOffsets completion: isConstant() and disassembler to see results.
Expand to full isConstant() implementation.
Fix disassembler to generate texture look-up masks.
2015-10-13 10:45:22 -06:00
John Kessenich
d4a7a8e721 Merge pull request #81 from amdrexu/myfix
Generate correct image operand mask for Offset and ConstOffset(#77) and correct arg # for rect. texelFetchOffset.
2015-10-13 10:04:26 -06:00