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
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
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
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
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