Commit Graph

741 Commits

Author SHA1 Message Date
John Kessenich
d2386d0ea9 Merge pull request #68 from jekstrand/stride-decorations
SPIRV: Decorate matrices and arrays with their strides
2015-09-09 16:12:35 -06:00
John Kessenich
023f7e00d0 Merge pull request #66 from chadversary/cmake-dont-override-install-prefix
cmake: Don't override CMAKE_INSTALL_PREFIX
2015-09-09 15:52:29 -06:00
John Kessenich
68e1c454da Merge pull request #60 from xorgy/no-define-defined
Preprocessor:  'defined' cannot be used as a macro name in #define or #undef.
2015-09-09 15:45:23 -06:00
John Kessenich
ebb7bf37fd Remove executables from the source tree. This addresses issue #48. 2015-09-09 15:33:41 -06:00
Jason Ekstrand
54aedf1f66 SPIRV: Decorate matrices and arrays with their strides 2015-09-05 09:50:58 -07:00
Chad Versace
4cbf748b13 cmake: Don't override CMAKE_INSTALL_PREFIX
Stop forcing CMAKE_INSTALL_PREFIX="install". If the user manually set
CMAKE_INSTALL_PREFIX, then trust that he knows what he's doing.

This patch does NOT change the project's default value ("install") of
CMAKE_INSTALL_PREFIX.

Change-Id: I81b46dd1986427b498fe6316bed03f01689987d4
2015-08-31 14:38:06 -07:00
John Kessenich
c8b2e36f52 Implement GL_KHR_blend_equation_advanced. 2015-08-30 05:43:51 -06:00
Aaron Hamilton
7d3b73bfff 'defined' cannot be used as a macro name in #define or #undef. 2015-08-29 23:15:13 +00:00
John Kessenich
d6c37b190b GL_OES_shader_multisample_interpolation: Include scalar swizzles as valid for interpolateAt*. 2015-08-22 16:54:35 -06:00
John Kessenich
0fc4338f3e Implement GL_OES_shader_multisample_interpolation, as well as core desktop versions of it. 2015-08-22 13:11:12 -06:00
John Kessenich
ba01ebd5ba Link-check fix: Don't include built-in variables in the fragment output ES rule:
"No layout(location=) is required if there is only one output" should not count
built-in variables like gl_SampleMask.  This is fixed.
2015-08-21 09:19:52 -06:00
John Kessenich
78258d3d40 Fix misspelled EOpFrexp and EOpLdexp. 2015-08-19 17:30:12 -06:00
John Kessenich
fc51d284aa Backward incompatible: Turn on PureOperatorBuiltins: use only enum-based built-in functions in the AST.
If this breaks your AST consumer, best is to modify it to test
against the enum values instead of doing string comparisons on
built-in function names.  This is the reason the change was made.

If you need the old behavior, you should be able to get it back by changing
PureOperatorBuiltins to be false instead of true.  This path will work for
a while, but is marked deprecated.

Also, the old behavior is tagged as release 2.4.
2015-08-19 13:43:25 -06:00
John Kessenich
a32d8f620d Create last version before moving to pure enums for built-in functions. 2015-08-19 12:13:44 -06:00
John Kessenich
81639827d5 More preparation for pure built-in functions as enums: Add texturing op cracker. 2015-08-19 10:46:52 -06:00
John Kessenich
ef676b0a59 Front-end "pure" built-in TOperator: Finish adding full support, but still turned off.
This is to avoid all need to do text comparison of built-in function names
when consuming the AST.  All built-in functions get enumerants.

Will want to turn on soon.  See PureOperatorBuiltins.  See issue #8.
2015-08-18 23:17:15 -06:00
John Kessenich
e88217b7d8 Add more TOperator: fma/frexp/ldexp, AddCarry/SubBorrow/MulExtended/Bit*/Find*, (un)pack4x8/2x32, ftransform.
Also corrects some existing ones missing the "Op" part of their name.
2015-08-18 22:27:23 -06:00
John Kessenich
f5b2c06b32 Turn on the gpu_shader5 of the AEP .tesc test. 2015-08-18 22:27:22 -06:00
John Kessenich
156af43c25 Merge pull request #57 from google/glslang-android
Fixes for compiling glslang on Android.
2015-08-17 10:27:11 -06:00
Andrew Woloszyn
8b64fa5474 Fixes for compiling glslang on Android.
Primarily fix is due to Android not supporting std::to_string().
2015-08-17 11:39:38 -04:00
John Kessenich
fb5ba510ca Implement GL_OES_shader_image_atomic. 2015-08-16 23:40:15 -06:00
John Kessenich
556ab3ac96 Implement GL_OES_sample_variables. 2015-08-16 21:55:59 -06:00
John Kessenich
a39159a192 Implement GL_OES_texture_storage_multisample_2d_array. 2015-08-16 21:10:38 -06:00
John Kessenich
2b0a11351f Fix two multi-sample bugs: 1) include MS in name mangling, 2) add 'sample' argument texelFetch(*MS*,...). 2015-08-16 21:04:07 -06:00
John Kessenich
dc9eff7221 Implement GL_OES_texture_cube_map_array. 2015-08-16 14:21:20 -06:00
John Kessenich
302b46aebc Implement GL_OES_texture_buffer. 2015-08-16 13:11:01 -06:00
John Kessenich
30314590ff Implement GL_OES_primitive_bounding_box. 2015-08-16 12:09:15 -06:00
John Kessenich
cee88e3644 Whitespace in preprocessor results; trying to eliminate differences. 2015-08-16 11:35:30 -06:00
John Kessenich
fc9d2708cb Merge pull request #56 from Psybrus/master
Fixed VS2015 build
2015-08-16 11:07:50 -06:00
Neil Richardson
c8a96f45f7 Fixed VS2015 build 2015-08-15 08:29:37 -07:00
John Kessenich
f99b7dde08 Merge pull request #54 from mknejp/master
SPIR-V: Return undefined values from implicit returns instead of dummy
2015-08-11 14:25:20 -06:00
John Kessenich
c54ac79298 Merge pull request #55 from srk-lunarg/v31_type_fixes
Add missing OpTypeSampledImage to prevent unknown type error from SPV…
2015-08-11 14:24:34 -06:00
Steve
3573f2e029 Add missing OpTypeSampledImage to prevent unknown type error from SPVRemapper. 2015-08-11 09:20:14 -06:00
Miro Knejp
28f9b1c28d SPIR-V: Return undefined values from implicit returns instead of dummy
Previously if a non-void function implictly returned, a dummy variable
was created as return value. Now instead it returns the result of the
OpUndef instruction. This better conveys the presence of undefined
behavior to SPIR-V consuming tools (and humans).

It also saves one ID per occurrence...
2015-08-11 03:26:46 +02:00
John Kessenich
65c78a0b62 Array of array: Implement the core functionality: types, constructors, operations.
There will be subsequent commits to refine semantics, esp. version-specific semantics,
as well as I/O functionality and restrictions.

Note: I'm getting white-space differences in the preprocessor test results,
which I'm not checking in.  I think they need to be tagged as binary or something.
2015-08-10 17:08:55 -06:00
John Kessenich
b35483587f Array of Array prep: Turn a batch of 0's into nullptr or UnsizedArraySize.
Added some const as well. This will remove camouflage of the next commit,
which will add the bulk of Array of Array semantics and functionality.
(Note the basic grammar and data structure is already in place.)
2015-08-09 18:15:25 -06:00
John Kessenich
6726cccc91 Add new SPIR-V 31 files. 2015-08-06 22:59:24 -06:00
John Kessenich
5e4b1242bf Move to revision 31 of SPIR-V. 2015-08-06 22:55:01 -06:00
John Kessenich
e24a74c320 Create last version before going to SPIR-V Revision 31. 2015-08-06 22:22:22 -06:00
John Kessenich
3473a4b98f Merge pull request #53 from google/get-string-name-or-num
Add getStringNameOrNum() in TSourceLoc.
2015-08-06 22:06:34 -06:00
John Kessenich
306695360d Fixes to 8f1684b7bb, merge pull request 52. 2015-08-06 22:02:24 -06:00
John Kessenich
8f1684b7bb Merge pull request #52 from baldurk/gcc-warn-fixes
Compile fixes for gcc -Wall
2015-08-06 21:03:57 -06:00
John Kessenich
50a40f4e21 Merge pull request #51 from baldurk/size-t-int-warning-fixes
Remove unsigned/size_t downcast (warning when building on x64)
2015-08-06 20:43:13 -06:00
Lei Zhang
bb63bd5e37 Create a new method to return string name or number to DRY code. 2015-08-06 15:24:56 -04:00
baldurk
d7c5ead6a1 Compile fixes for gcc -Wall 2015-08-05 21:04:23 +02:00
baldurk
36a78b5541 Remove unsigned/size_t downcast (warning when building on x64) 2015-08-05 20:25:55 +02:00
John Kessenich
0718e45c24 Merge pull request #50 from google/remove-unused-code
Remove unused members from TPpContext
2015-08-05 12:07:48 -06:00
David Neto
1ee1f88b40 Remove unused members from TPpContext.
The ErrMsg and ifloc members were unused or had no effect.
2015-08-05 13:15:27 -04:00
John Kessenich
d618070ab0 Merge pull request #46 from google/include-directive
#include directive support
2015-08-05 10:29:23 -06:00
Lei Zhang
484bb12703 Create a new ppRequireExtensions method for preprocessor.
Now extensions required by preprocessor should be checked via
the ppRequireExtensions method. This is more clear and coherent
with the rest of the code.
2015-08-05 11:56:14 -04:00