John Kessenich
e70fcf2de1
Merge pull request #810 from steve-lunarg/clip-crash-fix
...
HLSL: Fix #804 : crash on empty sequence node passed to intrinsic expansions
2017-03-31 13:34:55 -06:00
steve-lunarg
db2e3b4169
HLSL: fix crash on empty sequence node passed to intrinsic expansions
2017-03-31 12:47:34 -06:00
John Kessenich
9ce76553b8
Merge pull request #797 from steve-lunarg/scalar-length
...
HLSL: allow length() on scalars
2017-03-31 09:26:47 -06:00
John Kessenich
18958f6cd2
HLSL: Fix #802 : Preserve promoted child under ! operator.
2017-03-30 23:32:21 -06:00
John Kessenich
7e997e2612
HLSL: Implicit bool conversions for conditional expressions and related.
...
Covers if(cond), while(cond), do-while(cond), for(;cond;), and (cond ? :).
Fixes #778 .
2017-03-30 22:52:33 -06:00
John Kessenich
8f9fdc986a
HLSL: Add namespace grammar and some basic semantics.
...
Unknown how extensive the semantics need to be yet. Need real
feedback from workloads. This is just done as part of unifying it
with the class/struct namespaces and grammar productions.
2017-03-30 16:30:17 -06:00
John Kessenich
e434ad923e
Fix #809 : smear scalar condition in OpSelect for selecting vector operands.
2017-03-30 10:16:22 -06:00
John Kessenich
4dc835c369
Non-functional: Round of adding 'const', related to more efficient getFullNamespaceName().
2017-03-30 10:16:22 -06:00
John Kessenich
714e58b2fc
Merge pull request #801 from amdrexu/bugfix
...
HLSL: Fix an issue of frexp().
2017-03-29 10:04:30 -06:00
John Kessenich
3feac2ebad
Merge pull request #806 from amdrexu/bugfix2
...
Don't emit NV-specific interface members if NV extensions are disabled.
2017-03-29 09:59:28 -06:00
Rex Xu
bcf291a7ba
Don't emit NV-specific interface members if NV extensions are disabled.
2017-03-29 23:01:36 +08:00
Rex Xu
470026f9d7
HLSL: Fix an issue of frexp().
...
The "exp" parameter is floating-point type in HLSL intrinsic while it is
integer type in GLSL built-in function.
2017-03-29 17:12:40 +08:00
Rex Xu
86e49d1773
HLSL: Move frexp() to a separate test file.
2017-03-29 17:04:58 +08:00
John Kessenich
aa3c64c214
Fix #800 (mostly): set of Linux warnings.
2017-03-28 09:52:38 -06:00
John Kessenich
9fb31ce8ec
Tests: strengthen the value of test for NV members.
2017-03-24 18:58:48 -06:00
John Kessenich
0e7378446b
Fix #790 : Don't emit NV-specific interface members unless enabled by extension.
2017-03-24 18:40:40 -06:00
steve-lunarg
1ca04c2bbd
HLSL: allow length() on scalars
2017-03-24 10:12:53 -06:00
John Kessenich
93750bc0a4
Merge pull request #796 from steve-lunarg/emptystruct-return-fix
...
HLSL: fix crash on empty struct return from entry point
2017-03-24 09:11:00 -06:00
steve-lunarg
d8e34c5119
HLSL: fix crash on empty struct return from entry point
2017-03-24 08:56:37 -06:00
John Kessenich
19ea56899c
Tests: Update test results.
2017-03-23 14:52:38 -06:00
John Kessenich
000c818efb
HLSL: Allow use of $Global members in between function calls.
...
This allows global initializers to use $Global members.
2017-03-22 23:21:34 -06:00
John Kessenich
7a41f96d10
HLSL: Implement 'this' keyword.
2017-03-22 11:38:22 -06:00
John Kessenich
3778979cd4
HLSL: non-static member functions: track and find active anonymous 'this' scopes and members.
...
Thanks to @steve-lunarg for his input and discussions on handling member functions.
2017-03-21 23:56:40 -06:00
John Kessenich
f4ba25e009
HLSL: Non-functional: the symbol field of a token was in practice unused; remove it.
...
Another precurser to getting member non-static functions working.
2017-03-21 18:36:04 -06:00
John Kessenich
5a8390696d
Merge pull request #782 from steve-lunarg/builtin-methods-prefix
...
HLSL: use prefix for builtin functions names to avoid namespace colli…
2017-03-19 23:49:55 -06:00
John Kessenich
1dd65ca398
Merge pull request #779 from steve-lunarg/buffer-unsampled-fix
...
HLSL: Buffer types should be unsampled.
2017-03-19 23:46:03 -06:00
steve-lunarg
e7d0752a33
HLSL: use prefix for builtin functions names to avoid namespace collisions
...
It would have been possible for globally scoped user functions to collide
with builtin method names. This adds a prefix to avoid polluting the
namespace.
Ideally this would be an invalid character to use in user identifiers, but
as that requires changing the scanner, for the moment it's an unlikely yet
valid prefix.
2017-03-19 18:22:11 -06:00
John Kessenich
4960baaf66
HLSL: Basic turn on of non-static member functions.
...
Still need: pass by reference in SPIR-V and symbol-table level
for accessing 'this' members from member functions.
2017-03-19 18:09:59 -06:00
John Kessenich
dfbdd9eb20
HLSL: Add implicit-this tracking to TFunction.
2017-03-19 13:10:28 -06:00
John Kessenich
f3d88bd498
HLSL non-functional: Generalize namespace nesting.
...
Also use this to move deferred member-function-body parsing to a better
place.
This should also be well poised for implementing the 'namespace' keyword.
2017-03-19 13:01:58 -06:00
steve-lunarg
d3947d232a
WIP: HLSL: propagate readonly qualifier for buffer types
2017-03-19 12:40:12 -06:00
steve-lunarg
cf2e7275e8
WIP: HLSL: Buffer types should be unsampled.
...
RWBuffer objects were generating (properly) unsampled resoures, while
Buffer objects were not. This fixes that.
2017-03-17 13:19:42 -06:00
John Kessenich
e751bca75c
Fix #777 : don't parse .suffix if <stage> is provided.
...
Adding a test for this also uncovered an extraneous \r in the runtests script,
fixed now.
2017-03-16 11:30:20 -06:00
John Kessenich
26013595fd
Merge pull request #776 from amdrexu/bugfix
...
SPV: Fix unexpected declarations of capability and extension
2017-03-16 09:54:00 -06:00
Rex Xu
5e317ffe40
SPV: Fix unexpected declarations of capability and extension
2017-03-16 23:02:39 +08:00
John Kessenich
36b218de91
HLSL: Fix #771 : add inline keyword.
2017-03-15 09:05:14 -06:00
John Kessenich
95e736c83b
Merge pull request #767 from DragoonX6/master
...
Fix building on MinGW-w64
2017-03-15 08:45:50 -06:00
John Kessenich
2dd643ff03
Merge branch 'TiemoJung-semantic_handling'
2017-03-14 22:44:24 -06:00
John Kessenich
2dc50ff372
Merge branch 'semantic_handling' of https://github.com/TiemoJung/glslang into TiemoJung-semantic_handling
2017-03-14 21:49:42 -06:00
John Kessenich
71c100d7c0
GLSL output: Removed fixed-size buffer; fixes #769 .
...
Makes some white-space differences in most output, plus a few cases
where more could have been put out but was cut short by the previous
fix-sized buffer.
2017-03-14 19:51:29 -06:00
John Kessenich
c08fb8ab9c
Full stack: properly implement GL_EXT_device_group and GL_EXT_multiview.
2017-03-14 16:45:30 -06:00
John Kessenich
78cfba97e1
Fix location of #defines for core and compatibility profile.
...
These were recently added for all profiles, versus just desktop.
2017-03-14 15:19:32 -06:00
John Kessenich
601b7fa4b9
Revert previous check-in, until knowing what the spec. is and whether the test failure is related.
2017-03-13 22:49:36 -06:00
John Kessenich
7a44a31dee
SPV: Address #759 : make ViewIndex and DeviceIndex by 'in', not 'uniform'.
2017-03-13 15:43:26 -06:00
John Kessenich
946e0a6d8c
Merge pull request #768 from amdrexu/bugfix
...
HLSL: Additional channel value for textureGatherXXX().
2017-03-13 15:31:11 -06:00
Rex Xu
d41a696c30
HLSL: Additional channel value for textureGatherXXX().
...
When mapping HLSL gather intrinsics to GLSL textureGatherXXX() built-in
function, the channel selection value is only valid for non-shadow samplers.
2017-03-13 17:07:18 +08:00
DragoonX6
8155934be6
Fix building on MinGW-w64
...
Some HLSL to Spirv tests fail.
2017-03-12 04:54:37 +01:00
John Kessenich
b16f7e6819
HLSL: Member-functions: capture body token stream for deferred syntax/semantics.
...
This is needed for accessing types/variables within a member function body that are
not known until after the struct is finished being declared. However, that funtionality
is not yet present, this is just the deferred processing, which is working for
static member functions.
2017-03-11 19:37:29 -07:00
John Kessenich
088d52bac2
HLSL: Non-functional: consolidate function declarator information.
2017-03-11 19:37:29 -07:00
John Kessenich
c04c6a4067
Merge pull request #762 from LukasBanana/master
...
Added 'GL_core_profile' and 'GL_compatibility_profile' to macro expansion
2017-03-11 14:16:58 -07:00