John Kessenich
304765681b
AST: dump attributes along with control flow.
2018-02-01 00:55:26 -07:00
John Kessenich
a2858d9bdd
GLSL: Implement GL_EXT_control_flow_attributes.
...
See https://github.com/KhronosGroup/GLSL/pull/11 .
2018-02-01 00:55:08 -07:00
John Kessenich
e18fd20d5c
HLSL: Refactor attribute implementation.
...
- make it sharable with GLSL
- correct the case insensitivity
- remove the map; queries are not needed, all entries need processing
- make it easier to build bottom up (will help GLSL parsing)
- support semantic checking and reporting
- allow front-end dependent semantics and attribute name mapping
2018-02-01 00:30:34 -07:00
John Kessenich
e349af7e20
Non-functional: Fix #1231 : remove duplicated code.
2018-01-31 22:15:45 -07:00
John Kessenich
2b5ea9f851
SPV Version: Emit the requested SPIR-V version, not the header version.
...
Fixes #1236 .
2018-01-31 18:41:59 -07:00
John Kessenich
43f5b27321
Non-Functional: Use OpModuleProcessed from the unified header.
2018-01-31 18:06:44 -07:00
John Kessenich
22f02d09cc
EShTargetSpv: Fix #1235 , spelling, in a backward compatible way.
2018-01-31 17:53:24 -07:00
John Kessenich
6c1c2766b6
SPV: Bump SPIR-V header to the unified1 version (version 1.2).
2018-01-29 16:16:11 -07:00
John Kessenich
82ead04c39
Non-functional. Fix #1223 : expand comments.
2018-01-17 21:45:25 -07:00
John Kessenich
ade21c716c
Merge pull request #1224 from fjhenigman/unused
...
Fix unused function warning.
2018-01-17 20:49:47 -07:00
John Kessenich
ab46a2e5e9
Merge pull request #1221 from dneto0/update-spirv
...
Update known-good spirv-tools.
2018-01-17 02:02:35 -07:00
Frank Henigman
541f7bbd50
Fix unused function warning.
...
TGlslangToSpvTraverser::getExtBuiltins is only used when AMD_EXTENSIONS
is defined, so only define it in that case to avoid an unused function
warning.
2018-01-16 00:18:26 -05:00
David Neto
0e58bbd5aa
Update known-good spirv-tools.
...
Optimizations used in HLSL legalization now sweep away unused types.
2018-01-12 12:52:04 -05:00
John Kessenich
e22e347395
HLSL: Fix #1208 : accept both int and uint in asuint() and asint().
2018-01-11 13:26:09 -07:00
John Kessenich
63400477f6
HLSL: Protect against 'continue' outside of loops.
2018-01-10 03:50:42 -07:00
John Kessenich
9b5668c8ef
HLSL: Fix #1214 : check for nesting in loop/switch of break statements.
2018-01-09 22:32:42 -07:00
John Kessenich
7420a761a3
HLSL: Fix #1215 : propagate error on seeing a type name instead of a variable.
2018-01-09 21:35:44 -07:00
John Kessenich
eb2c0c72bf
GLSL: XFB: more support for built-in block redeclarations with XFB.
...
- correct inheritence (or not) of the right XFB buffer
- compute implicit stride (fixes #1212 )
- semantic check block-member redeclarations
- inherit stride from a member
2018-01-09 18:00:33 -07:00
John Kessenich
9c6f8cc29b
Scanner: Many int16 and float16 fixes, including performance.
...
- fixes #1209 , addresses most of #1187
- only query feature availability on seeing the feature
(was doing it for every single token)
- correct case-sensitive checks for multi-character suffixes
2018-01-08 15:59:29 -07:00
John Kessenich
c043aadd25
Scanner: Many int64 fixes, including performance.
...
- partially addresses #1209 and #1187
- only query 64-bit extension on seeing use of a 64-bit literal
(was doing it for every single token)
- correct HLSL acceptance of 64-bit literal syntax (still an int though)
- error on overflow of 32-bit literal type
2018-01-08 11:52:23 -07:00
John Kessenich
adc33b23cc
Non-functional: Fix HLSL error message, and code formatting.
2018-01-08 11:47:08 -07:00
John Kessenich
99892d5a9a
Merge pull request #1211 from greg-lunarg/kg7
...
Update known good spirv-tools. Fixes issue #1205 .
2018-01-05 12:01:03 -07:00
GregF
ead4bb190f
Update known good spirv-tools. Fixes issue #1205 .
2018-01-05 11:17:34 -07:00
John Kessenich
798d005ccd
Build: Tickle bots to try again... seems like a process hang; all tests passed.
2018-01-02 13:07:14 -07:00
John Kessenich
132cf53737
HLSL: Fix #1203 : Declare anonymous members for cbuffer with no ';'
...
The grammar for no semicolon and no object name for cbuffer/tbuffer
was correct, but the production still skipped the anonymous declarations
if an identifier followed.
2018-01-02 11:27:54 -07:00
John Kessenich
fd1e8a78a8
HLSL: Fix 1201: Accept 'layout' as an identifier.
2017-12-29 20:59:13 -07:00
John Kessenich
046bae0bab
HLSL: Attributes: Add [[vk::constant_id()]] and [[vk::push_constant]]
2017-12-23 17:29:45 -07:00
John Kessenich
e08ed0ccf4
Merge pull request #1190 from jfmarquis/hlsl-store-type-propagation
...
HLSL: Fix possibly incorrect type conversion in Store2-3-4
2017-12-21 14:59:34 -07:00
John Kessenich
848a0ccbfd
Merge branch 'greg-lunarg-flatten1'
2017-12-21 12:26:27 -07:00
John Kessenich
8a3f7a12d4
Merge branch 'flatten1' of https://github.com/greg-lunarg/glslang into greg-lunarg-flatten1
2017-12-21 12:25:52 -07:00
John Kessenich
b3cff2f297
HLSL Tests: Remove optimization from tests that don't need it.
...
This is to create more stable test results.
2017-12-21 12:17:25 -07:00
GregF
e0639287df
HLSL Legalization: Add scalar replacement
...
This allow for propagation through structs with dynamically indexed
arrays. This supports recent removal of non-io struct flattening.
2017-12-21 11:30:13 -07:00
Jean-François Marquis
3f0aff8ee5
HLSL: Fix possibly incorrect type conversion in StoreN and LoadN
...
Set type to r-value resulting from indexing vector, to prevent
float->uint conversion when source is already uint. Resulting
OpConvertFToU would otherwise fail validation because source is
already uint.
For LoadN, incorrect uint->float->uint can be avoided; fixing
potential truncation of big integer values.
2017-12-21 12:11:40 -05:00
John Kessenich
3b2dc1a756
Merge pull request #1195 from LoopDawg/gcc-bug-workaround
...
compile error fix for g++ 5.4.0
2017-12-20 15:37:22 -07:00
LoopDawg
c074f2bc24
g++ 5.4.0 suspected defect workaround
...
Fix compilation error under g++ 5.4.0.
2017-12-20 11:21:05 -07:00
John Kessenich
3f0d4bcd6a
SPV: Document history of the generator version number.
2017-12-16 23:46:37 -07:00
John Kessenich
e1ff231235
GLSL: Fix #1193 : no 'location' on uniform/buffer block.
2017-12-16 10:07:22 -07:00
John Kessenich
a0d60f2bea
gcc: potentially a compiler-bug work around
2017-12-16 02:58:10 -07:00
John Kessenich
2505057af8
SPV: Memory model: Reduce set of memory-semantic bits requested for "all".
2017-12-16 00:34:08 -07:00
John Kessenich
838d7afc61
SPV: HLSL: Move to correct HLSL barrier semantics, per Khronos recommendation.
2017-12-16 00:34:08 -07:00
John Kessenich
c72e5937dd
SPV: Bump the generator number to account for barrier changes.
2017-12-16 00:34:08 -07:00
John Kessenich
8297936dd6
SPV: Change barrier emission to conform to Khronos decisions.
...
The memory model group agreed to these definitions for how
to map GLSL barrier, memoryBarrier, etc. With HLSL following suit.
2017-12-16 00:30:10 -07:00
John Kessenich
070aaeafcd
HLSL: Fix #1192 : when bool operands are converted to ints, convert result type.
2017-12-15 21:46:09 -07:00
John Kessenich
35682b5926
Merge pull request #1191 from greg-lunarg/kg6
...
Update spirv-tools known-good.
2017-12-15 19:25:35 -07:00
GregF
72deeb25fe
Update spirv-tools known-good.
2017-12-15 11:29:43 -07:00
John Kessenich
788fbeb36f
HLSL: Make attributes for built-in override semantics.
...
Fixes #1188 .
2017-12-15 08:15:26 -07:00
John Kessenich
a67d0706da
Merge pull request #1189 from KhronosGroup/spv-xfb
...
SPV: Implement XFB
2017-12-15 07:19:05 -07:00
John Kessenich
edaf556778
SPV: Plumb through XFB buffer and stride information.
...
Also, only emit this XFB information where the SPIR-V spec says
it should be emitted: essentially, on objects.
This and the previous commit together fix #1185 .
2017-12-15 06:25:14 -07:00
John Kessenich
be3842f6ae
GLSL: Implement XFB for redeclared built-in blocks.
2017-12-15 04:43:59 -07:00
John Kessenich
04f4566f28
Merge pull request #1184 from KhronosGroup/SPV_EXT_fragment_fully_covered
...
Add implementation of SPV_EXT_fragment_fully_covered
2017-12-14 21:29:46 -07:00