John Kessenich
3cd0024ea8
GLSL front-end: Check recursively for opaque types in a block; these are all illegal.
2015-09-30 18:57:47 -06:00
John Kessenich
ee21fc9081
SPV: Fix missing 'Member' operand to OpArrayLength.
2015-09-21 21:50:29 -06:00
John Kessenich
142d7780a4
SPV 31: Remove obsolete and unused ../SPIRV/GLSL450Lib.h.
2015-09-21 10:39:20 -06:00
John Kessenich
ff4f04dd0e
Merge pull request #75 from google/fix-vs2013-debug
...
SPV non-determinism: Fixed subtle issue that causes tests to fail in VS2013 in some configs.
2015-09-21 10:00:42 -06:00
John Kessenich
f82c661462
SPV: Remove old Rev. 30 header spirv.h (glslang has been using Rev. 31 spirv.hpp).
2015-09-21 08:59:47 -06:00
Andrew Woloszyn
2d83ab2f57
Fixed subtle issue that causes tests to fail in VS2013 in some configs.
...
Depending on specific optimization settings VS2013 will sometimes
execute the operands to
new Instruction(builder.getUniqueId(), builder.makeBoolType(), OpPhi)
left-to-right, and sometimes right-to-left. Since makeBoolType can
also call getUniqueId(), the IDs to the OpPhi can sometimes be swapped.
This guarantees an explicit ordering of the Ids so that tests work
reliably.
2015-09-18 16:12:03 -04:00
John Kessenich
b9cd3996c7
PP: Restore a line of code deleted by commit bb63bd5e3792455b77ce93e471158bed0cc884f0.
2015-09-16 18:23:20 -06:00
John Kessenich
b56a26ab4d
SPV: Generate the LocalSize Execution Mode for compute shaders.
2015-09-16 16:04:05 -06:00
John Kessenich
56bab0483a
SPV: Minor corrections to previous big merge for images and atomics.
2015-09-16 11:42:16 -06:00
John Kessenich
f6890c3798
Merge pull request #71 from amdrexu/mywork
...
SPIRV: Add image instruction support and atomic counter support.
2015-09-16 10:51:33 -06:00
Rex Xu
6b86d496c2
Add new test case for image functions and fix issues caught by this test
2015-09-16 17:48:22 +08:00
Rex Xu
bba5c80957
Merge master branch from upstream
2015-09-16 13:20:37 +08:00
Rex Xu
fa2d01844e
Merge remote-tracking branch 'upstream/master'
2015-09-16 11:44:50 +08:00
Rex Xu
04db3f5aa4
Fix issues from review comments and those relevant to texelFetch
2015-09-16 11:44:02 +08:00
John Kessenich
2398b3a458
Full stack: implement textureQueryLod(*) and textureQueryLevels(*).
2015-09-15 19:38:56 -06:00
John Kessenich
ef0118b26e
Update the Todo.txt file with recent AEP, 3.1, and textureQuery progress.
2015-09-15 19:17:30 -06:00
John Kessenich
3e60a6ff13
SPV OpAtomicCompareSwap: Generate correct operand order and number of operands.
2015-09-14 22:45:16 -06:00
John Kessenich
7355eebb18
SPV legacy texturing: Smear result of Op*Dref* up to a vector to match
...
the expectations of old GLSL shadow*() lookups.
2015-09-14 22:08:12 -06:00
John Kessenich
e770b3e6cf
SPV return from main: Simplify a legacy design such returns are not jumps to exit block.
...
Structured control-flow rules allow leaving the middle of a construct through
a return, but not through a jump to a block that does a return.
Addresses issue #58 .
2015-09-14 21:08:58 -06:00
John Kessenich
5f5b205ce9
Bump up layout(location) limit from 62 to 4094, to handle bigger uniform locations.
2015-09-13 21:03:33 -06:00
Rex Xu
30f9258d5e
Merge master branch from upstream
2015-09-14 10:38:56 +08:00
Rex Xu
88fa964745
Merge remote-tracking branch 'upstream/master'
2015-09-14 10:15:54 +08:00
John Kessenich
fa668dad99
SPV: Reduce spurious type generation by removing intermediate types in the middle of access chains.
...
This generally simplifies access chain generation, with far fewer type conversions.
It is particularly important to future SPIR-V changes where there is less aggregate
type uniqueness due to carrying different layout information with the type.
2015-09-13 14:46:30 -06:00
John Kessenich
c9a808319a
SPV arrays: Add support for runtime-sized array types and arrays of arrays.
...
This includes run-time block.member.length() (OpArrayLength).
2015-09-13 10:18:19 -06:00
John Kessenich
9312269d09
Front-end Arrays of arrays: Add ES-specific checks and tests. AoA should be quite close to done now.
2015-09-11 15:25:38 -06:00
John Kessenich
a06bd527ca
SPV: Correct generation of transparent offsets for implicitly assigned offsets.
2015-09-11 15:15:23 -06:00
Rex Xu
42323e4107
Merge pull request #1 from KhronosGroup/master
...
Sync local master branch from the upstream
2015-09-10 12:06:48 +08:00
John Kessenich
31ed4830d1
SPV: Only decorate array and matrix strides for transparent types requiring explicit layouts.
2015-09-09 17:51:38 -06:00
John Kessenich
874b1f8858
Add test results for merge pull request #69 .
2015-09-09 16:36:37 -06:00
John Kessenich
79807811b5
README: Update testing section.
2015-09-09 16:34:13 -06:00
John Kessenich
0487d550d1
Merge pull request #69 from jekstrand/texel-fetch
...
SPIR-V: Add support for texelFetch
2015-09-09 16:33:45 -06:00
John Kessenich
358dd560c5
Update test results for pull request #68 , SPIRV: Decorate matrices and arrays with their strides.
2015-09-09 16:19:15 -06:00
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
Rex Xu
fc6189197d
SPIRV: Add the support of missing image functions #72
2015-09-09 16:42:49 +08:00
Rex Xu
d4782c10d4
SPIRV: Token layout of OpAtomicXXX instructions is incorrect #70
2015-09-06 16:30:11 +08:00
Rex Xu
0c81156c2d
SPIRV: Fix a comment issue
2015-09-06 14:55:45 +08:00
Jason Ekstrand
18b9fbd742
SPIRV: Add support for texelFetch
...
There's nothing really special about texelFetch other than the opcode and
some restrictions so adding it is pretty trivial.
2015-09-05 14:17:24 -07: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