John Kessenich
c51287d744
SPV: Update to spec. decisions (and issue #205 ) for barrier().
...
A barrier (ESSL/GLSL) or OpControlBarrier when in a tessellation control
shader also means doing memory synchronization for output variables.
2016-06-14 19:50:26 -06:00
John Kessenich
01de90bb1c
Merge pull request #339 from steve-lunarg/intrinsics
...
HLSL: Implement atomic ops, bit conversions, fix minor intrinsics bugs
2016-06-14 10:56:50 -06:00
John Kessenich
7b04bdde36
Merge pull request #340 from dneto0/const-key-in-std-maps
...
Build: Tracking allocator must use const key
2016-06-14 10:42:13 -06:00
David Neto
ec1476b706
Tracking allocator must use const key
...
Fixes TMap template.
This is required to build with newer libc++ versions that have a static
assert on const-ness of value_type
2016-06-14 12:15:59 -04:00
LoopDawg
589107095c
Implement atomic ops, bit conversions, fix fwidth stage mask, fix saturate dest modifier.
2016-06-13 20:50:36 -06:00
John Kessenich
cd784bc561
Merge pull request #337 from steve-lunarg/intrinsics
...
HLSL: Add decompositions for some intrinsics.
2016-06-13 08:54:45 -06:00
John Kessenich
af3674d831
Merge pull request #338 from Nekotekina/fix1
...
Build: Compilation fix (mingw64)
2016-06-13 08:37:29 -06:00
Nekotekina
5dd29c8a97
Compilation fix (mingw64)
2016-06-13 11:25:18 +03:00
John Kessenich
630dd7da43
HLSL: Flesh out misc. declaration grammar: semantics/registers/annotations/precise/etc.
...
Details within these bear even more fleshing out, but would like to have
that driven by actual need.
2016-06-12 23:54:31 -06:00
John Kessenich
e6e7494e2a
HLSL: Implement basic "struct" grammar.
2016-06-12 23:54:31 -06:00
LoopDawg
592860cae5
Add decompositions for some HLSL intrinsics.
2016-06-10 17:11:18 -06:00
John Kessenich
41ebc42926
Merge pull request #335 from jekstrand/sampler-params
...
SPV: Fix pointer address spaces for sampler function parameters
2016-06-09 20:42:23 -06:00
John Kessenich
077e052a8f
HLSL: Implement proper nesting of symbol-table scopes and identifier searching.
2016-06-09 02:03:46 -06:00
John Kessenich
71351de879
HLSL: Add all int/float/bool/uint matrix types, void for functions, and a few others.
2016-06-09 01:33:10 -06:00
Jason Ekstrand
ed15ef1a5b
GlslangToSpv: Pass the pointer directly into the client function for opaque types
...
For opaque types such as samplers, images, and atomic counters, we want to
reference the actual object in the child function. For a long time, we
used a shadow variable and made a copy of the image/sampler. In 76d0ac1a
,
this was changed to not shadow samplers. However, this didn't cover all
opaque types and it also didn't get the pointer storage classes right.
This commit fixes both of these issues.
Fixes #324
2016-06-08 17:22:46 -07:00
Jason Ekstrand
228546a8af
Types: Add an isOpaque() helper
2016-06-08 17:22:43 -07:00
Jason Ekstrand
c24cc29d37
GlslangToSpv: Properly handle opaque types in TranslateStorageClass
2016-06-08 17:05:19 -07:00
John Kessenich
5022d681d1
Merge pull request #333 from dneto0/defer-capabilities-for-some-struct-members-until-used
...
SPV: Defer capability decl for ClipDistance, CullDistance, PointSize until…
2016-06-08 10:59:51 -06:00
David Neto
a901ffed40
Defer capability decl for ClipDistance, CullDistance, PointSize until actual use
...
The compiler will mark struct members with those builtins, but won't
declare the capability until that member is accessed by some executable
instruction.
Test changes:
- spv.430.vert: was missing ClipDistance capability.
- spv.precise.tese: remove TessellationPointSize capability.
2016-06-08 09:30:04 -04:00
John Kessenich
95d85ce0ca
Merge pull request #331 from jherico/jherico-patch-1
...
Build: Fix Ubuntu 16.10 build
2016-06-07 18:07:12 -06:00
Brad Davis
880bf36cac
Fix Ubuntu 16.10 build
2016-06-07 16:23:44 -07:00
John Kessenich
71d55c090a
Merge pull request #128 from dekimir/clang-format
...
Infrastructure: Add .clang-format.
2016-06-05 21:46:33 -06:00
John Kessenich
80cb324ff6
Front-end: Fix issue #146 : which versions allow double in/out.
2016-06-05 18:52:05 -06:00
Dejan Mircevski
738314fe82
Revert SpvBuilder.* to master versions.
2016-06-05 20:46:33 -04:00
Dejan Mircevski
e592652665
Increase column limit to 120.
2016-06-05 20:45:34 -04:00
Dejan Mircevski
f377f5287b
Merge branch 'master' of github.com:KhronosGroup/glslang into clang-format
2016-06-05 20:42:20 -04:00
John Kessenich
133253b6ee
Front-end: Fix issue #147 : ensure layout(index=N) has N in [0,1].
2016-06-05 17:25:34 -06:00
John Kessenich
119f8f6906
HLSL: Flesh out the loop grammar and productions.
2016-06-05 15:44:07 -06:00
John Kessenich
0d2b6de45b
HLSL: Attribute grammar and if-else grammar/productions.
2016-06-05 12:32:18 -06:00
John Kessenich
21472aee75
HLSL: Finish skeletan of the "statement" grammar.
2016-06-04 11:46:33 -06:00
John Kessenich
1cc1a2813e
HLSL: 1) Implement lookahead buffers/stacks for token advance/recede, 2) use it for cast operation.
...
The grammar now accepts type casts, like "(int)x", but that
has to be disambiguated from "(a + b)", needed deeper lookahead
and backing up than what existed so far.
2016-06-03 16:57:53 -06:00
John Kessenich
080cdc1737
Merge pull request #328 from steve-lunarg/intrinsics
...
HLSL: Add negative intrinsics tests
2016-06-03 16:55:22 -06:00
LoopDawg
643fcb5b43
Add negative intrinsics tests
2016-06-03 16:28:57 -06:00
John Kessenich
54e3bb8a4e
Merge pull request #327 from steve-lunarg/empty-statement-fix
...
HLSL: Fix for empty statement segfault
2016-06-03 12:20:49 -06:00
LoopDawg
ef764a24b2
Fix for empty statement segfault.
2016-06-03 10:57:03 -06:00
John Kessenich
9f1f818083
Merge pull request #326 from greg-lunarg/greg-mr4
...
remapper: do not eliminate interface variables in dce
2016-06-03 10:48:12 -06:00
John Kessenich
438bb6093a
Merge pull request #322 from steve-lunarg/intrinsics
...
HLSL: Initial implementation of direct-mapped subset of HLSL intrinsics
2016-06-03 10:47:34 -06:00
GregF
39d5e711a7
remapper: do not eliminate interface variables in dce by default
...
this is done by counting op_entrypoint as a use/def
2016-06-03 09:57:57 -06:00
LoopDawg
4b67732c13
Initial implementation of direct-mapped subset of HLSL intrinsics with type subset.
...
This checkin implements about half of the HLSL intrinsics for a subset of their
entire type support (but a useful subset). The uncommented lines in
TBuiltInParseablesHlsl::identifyBuiltIns shows which are connected.
2016-06-03 08:28:29 -06:00
John Kessenich
85b52f304d
Merge pull request #323 from dneto0/mingw-static-link-against-basic-runtimes
...
Build: For MinGW, statically link exes against basic runtimes
2016-06-02 23:51:45 -06:00
John Kessenich
a5c33d6ffb
SPV: Fix issue #320 : Fetch needs to extract the image.
...
GLSL takes a traditional sampler, but SPIR-V wants just the
sampled image, not the combined sampler and image.
2016-06-02 23:47:29 -06:00
David Neto
b37dc0e458
For MinGW, statically link exes against basic runtimes
...
Avoids the need to ship basic runtimes like libgcc_s_sjlj-1.dll
with the executables.
2016-06-02 14:37:24 -04:00
John Kessenich
98f2b3bfe0
Merge pull request #311 from jherico/debug_postfix
...
Build: Produce different names for files in debug builds on MSVC
2016-06-01 18:39:18 -06:00
John Kessenich
85b332688b
Merge pull request #317 from iostrowsINTEL/double_matrix_fix
...
SPV: Fix double matrix creation
2016-06-01 18:26:52 -06:00
iostrows
af7f1c8f24
Fix double matrix creation
2016-06-01 16:40:00 +02:00
Johannes van Waveren
1fd017546a
turn -x into an option next to -o
2016-05-31 08:39:41 -05:00
John Kessenich
548c3adecd
Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.
...
This amends the previous commit, which ommitted barriers in version 420 for compute shader.
2016-05-30 19:38:39 -06:00
John Kessenich
d94c003fb7
Front-end: Complete GL_ARB_compute_shader implementation.
...
Core compute shaders were working, but the extension wasn't implemented.
2016-05-30 19:29:40 -06:00
John Kessenich
0f5e3ad23c
Fix issue #313 : Catch internal attempts to modify built-in symbols that don't exist.
...
Also beefed up support for running compute shaders is #version 420, but this
work is only partially done.
2016-05-29 18:24:31 -06:00
Johannes van Waveren
ecb0f3b75b
Added -x option to save SPIR-V as 32-bit hexadecimal numbers to a text file.
2016-05-27 12:55:53 -05:00