Neil Henning
81a63f1de0
Add conversion folding when the source is a constant.
...
This change adds unary conversion folding when the source is a constant.
This fixes an ISV issue whereby:
```
const float16_t f = float16_t(42.0);
```
Wouldn't compile because the conversion operator would always produce an
EvqTemporary when it could have produced an EvqConst.
I've also added a test case that proves out that all basic-type to
basic-type conversions work.
2018-11-26 12:45:33 +00:00
John Kessenich
0e6c82ce93
Merge pull request #1592 from KhronosGroup/subgroupBroadcast-const-id
...
GLSL: Fix #1591 : Require the id in subgroupBroadcast to be constant.
2018-11-24 23:13:25 -07:00
John Kessenich
f2675d4d6c
GLSL: Fix #1591 : Require the id in subgroupBroadcast to be constant.
2018-11-21 15:16:30 -07:00
John Kessenich
d2a7b07a64
Merge pull request #1587 from dneto0/update-known-good
...
Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
2018-11-16 14:41:13 -07:00
David Neto
2d1739d57a
Update to newer SPIRV-Tools, including VK_EXT_scalar_block_layout
...
Validator has more refined messages about what kind of block layout
rules have been applied.
2018-11-16 16:16:31 -05:00
John Kessenich
1a5e3a9ba6
Bump minor version.
2018-11-16 10:02:18 -07:00
John Kessenich
654544e96b
Merge branch 'jeffbolznv-scalar_block_layout'
2018-11-16 09:57:59 -07:00
John Kessenich
e3b76ed608
Merge branch 'scalar_block_layout' of https://github.com/jeffbolznv/glslang into jeffbolznv-scalar_block_layout
2018-11-16 09:57:33 -07:00
John Kessenich
30cb924538
Move to next SPIRV-Tools known good.
2018-11-15 23:43:35 -07:00
John Kessenich
f4ba9522ec
GLSL: Increase supported sizes of XBF strides and offsets.
2018-11-15 15:12:07 -07:00
John Kessenich
579ccece45
Merge pull request #1583 from TiemoJung/fix_dot_int
...
[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)
2018-11-15 11:29:12 -07:00
John Kessenich
1bc601c674
Bump revision.
2018-11-15 10:37:21 -07:00
John Kessenich
75cbfcc278
Update to latest SPIR-V Tools.
2018-11-15 09:57:43 -07:00
t.jung
b16bea801c
[HLSL/Spir-V] fix for incorrect spir-v on int dot(int, int)
...
Decomposes OpDot into corresponding multiplies and additions.
2018-11-15 11:02:30 +01:00
John Kessenich
e3cc0d35f3
Merge pull request #1579 from TiemoJung/handle_c_register
...
HLSL: implemented c register handling
2018-11-14 11:40:45 -07:00
John Kessenich
844e0773a3
Merge pull request #1580 from TiemoJung/float1_times_scalar_fix
...
HLSL: fix invalid spir-v vector * scalar for float1
2018-11-14 11:39:22 -07:00
John Kessenich
e323a4544c
Merge pull request #1577 from TiemoJung/fix_broken_type_system
...
Updated type conversion rules for HLSL frontend
2018-11-14 11:35:22 -07:00
Jeff Bolz
7da39ed968
Implement GL_EXT_scalar_block_layout
2018-11-14 09:30:53 -06:00
t.jung
697fdf015f
HLSL: fix invalid spir-v vector * scalar for float1
...
Missing check for float results in always emitting OpIMul even for float types
2018-11-14 14:27:22 +01:00
t.jung
31cd98c7b2
HLSL: implemented c register handling
...
Adjusted a test not to use c register for
a structured buffer, they are supposed to
use t registers
Added comments with hints for what are the
register types are used for.
2018-11-14 13:12:12 +01:00
t.jung
8279f0728a
Updated type conversion rules for HLSL frontend
2018-11-14 08:13:32 +01:00
John Kessenich
7274bbc27c
Merge pull request #1571 from dj2/result
...
Handle potentially uninitialized result
2018-11-13 08:36:43 -07:00
Dan Sinclair
12fcaa2cc2
Review feedback
2018-11-13 09:17:44 -05:00
John Kessenich
97573b0c41
Merge pull request #1573 from dneto0/fix-pch
...
PCH filename depends on current binary dir
2018-11-12 16:13:40 -07:00
David Neto
0392544b7a
PCH filename depends on current binary dir
...
Fixes #1572
2018-11-12 17:09:07 -05:00
Dan Sinclair
70661b9c08
Handle potentially uninitialized result
2018-11-12 13:56:52 -05:00
John Kessenich
d509a5eec6
Merge pull request #1569 from amdrexu/bugfix
...
Fix parser issue: redeclare gl_FragStencilRefARB is not supported
2018-11-12 09:01:35 -07:00
Rex Xu
7bf5fcc541
Fix parser issue: redeclare gl_FragStencilRefARB is not supported
2018-11-12 15:15:57 +08:00
John Kessenich
918caa7ee4
Merge pull request #1547 from Igalia/apinheiro/xfb-struct-assignment
...
Apinheiro/xfb struct assignment
2018-11-09 12:27:39 -07:00
John Kessenich
685fccd97a
Merge pull request #1565 from greg-lunarg/kg25
...
Add DeadBranchElim before MergeReturn in legalization.
2018-11-08 21:08:54 -07:00
GregF
68fbda9862
Add DeadBranchElim before MergeReturn in legalization.
...
MergeReturn now requires this or could throw an error.
2018-11-08 10:35:45 -07:00
John Kessenich
4207c97b93
Fix #1563 : Corrupt token when an object macro miscalls a function macro
2018-11-07 18:25:56 -07:00
John Kessenich
4ee2f75294
PP: More clearly distinguish funtion-like and object-like macros
2018-11-07 17:22:17 -07:00
John Kessenich
0a339ec20c
Merge pull request #1564 from jeffbolznv/spirv-pch
...
Rename PCH macro to glslang_pch (to avoid name collision) and update to latest spirv-tools
2018-11-07 10:01:25 -07:00
Jeff Bolz
02ed310ac3
Rename PCH macro to glslang_pch (to avoid name collision) and update to latest spirv-tools
2018-11-07 09:35:31 -06:00
John Kessenich
8b782e77df
Tests: Add test for ways of calling no-argument macro with ().
2018-11-06 14:51:27 -07:00
John Kessenich
1c1c2d643a
Merge pull request #1559 from jeffbolznv/glslang_pch
...
Use precompiled headers for some glslang projects (MSVC-only)
2018-11-02 10:24:48 -06:00
John Kessenich
cdf7a85b14
Merge pull request #1557 from nicebyte/spec-const-decorations
...
Add names for composite spec constants in SPIR-V
2018-11-02 10:23:22 -06:00
Grigory Dzhavadyan
4c9876b34c
Add names for composite constants in SPIR-V
...
Consider the following code:
layout(constant_id=0) const int Y = 1;
layout(constant_id=1) const int Z = 2;
layout(constant_id=3) const int X = Y + Z;
Previously, it would produce SPIR-V decorations like this:
Decorate 21(Y) SpecId 1
Decorate 22 SpecId 3
Decorate 33(Z) SpecId 0
This seems inaccurate, since the spec constant `X` that is dependent on
the two others did not get a name in the SPIR-V decorations. This behavior
may potentially negatively affect shader introspection capabilities.
This change alters the behavior to always add a name, which results in the code
above producing the following decorations:
Decorate 21(Y) SpecId 1
Decorate 22(X) SpecId 3
Decorate 33(Z) SpecId 0
2018-11-02 00:45:12 -07:00
Jeff Bolz
22d0b7cbad
Use precompiled headers for some glslang projects
2018-10-31 15:38:08 -05:00
John Kessenich
a440fbb04f
Merge pull request #1543 from alelenv/nv-raytracing-final
...
Add support for nv_ray_tracing final
2018-10-31 12:00:36 -06:00
Ashwin Lele
ff1783db87
Multiple features and misc fixes for final raytracing non experimental version.
2018-10-31 07:55:24 -07:00
Alejandro Piñeiro
af8c1bdb16
ParseHelper: assign xfb_offset for struct members too
...
If the out variable is a struct type, with a xfb_offset explicitly
assigned, the members need to get their xfb_offset assigned. This is
specially relevant, as we cannot use layout qualifiers on struct
members.
2018-10-31 10:34:44 +01:00
John Kessenich
0ac199df32
Merge pull request #1558 from Kangz/fix_build_gn
...
BUILD.gn: remove reference to non-existent header
2018-10-30 17:17:11 -06:00
Corentin Wallez
ab5382cf79
BUILD.gn: remove reference to non-existent header
2018-10-30 16:11:46 +01:00
John Kessenich
b2b3d81e9b
Merge pull request #1556 from Kangz/msvc
...
Fix MSVC warning C4065: 'default' but no 'case' labels
2018-10-29 16:16:46 -06:00
Corentin Wallez
04a2fe93d0
Fix MSVC warning C4065: 'default' but no 'case' labels
...
This would happen in SpvPostProcess when we don't enable AMD extensions.
2018-10-29 16:24:00 +01:00
John Kessenich
f0928b3f56
Build: Pin googletest to a version that works with visual studio 2013.
2018-10-26 11:28:37 -06:00
John Kessenich
25ed3fce0c
Merge pull request #1542 from sheredom/fix_8bit_storagebuffer
...
Fix 8-bit storage nearly always using the UniformAndStorageBuffer8BitAccess capability.
2018-10-26 10:27:46 -06:00
John Kessenich
8717a5d39a
SPV/Standalone: Support specifying arbitrary versions of SPIR-V.
2018-10-26 10:16:47 -06:00