Commit Graph

3049 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
8216e87f02 Handle SPIR-V 1.4 selection constructs.
Fix bug in to_trivial_mix_op, where we made a pre-1.4 assumption that
component count of selector is equal to value component count.
2021-06-28 12:23:44 +02:00
Hans-Kristian Arntzen
9cdeefb5e3
Merge pull request #1692 from Kangz/fix_default_copy_dtor
Fix IVariant -Wdeprecated-copy-with-dtor
2021-06-21 14:53:13 +02:00
Corentin Wallez
6a85c695cc Fix IVariant -Wdeprecated-copy-with-dtor
Since C++11 the generation of implicit copy constructor is deprecated if
the type has a user-defined constructor or destructor (even if defaulted).
Same thing for the implicit copy assignment operator.

Fix this by adding a defaulted copy-constructor for IVariant that remove
the implicit default constructor, so add it too.
2021-06-21 14:11:31 +02:00
Hans-Kristian Arntzen
2e1b5fb39e
Merge pull request #1686 from KhronosGroup/fix-1684
GLSL: Support control flow hints
2021-06-03 14:13:18 +02:00
Hans-Kristian Arntzen
fa42f1ce34
Merge pull request #1685 from KhronosGroup/fix-1683
Handle odd type for textureGather component.
2021-06-03 12:21:27 +02:00
Hans-Kristian Arntzen
449f68ef3b Ensure loop control flow hints only appear above loops. 2021-06-03 12:19:10 +02:00
Hans-Kristian Arntzen
d62b3c2b92 GLSL: Implement control flow hints. 2021-06-03 12:01:49 +02:00
Hans-Kristian Arntzen
165dbff228 Handle odd type for textureGather component. 2021-06-03 11:37:45 +02:00
Hans-Kristian Arntzen
585fc6f3cb MSL: Always enable support for base vertex/index on iOS.
No good reason to not just enable it in CLI.
2021-06-03 11:27:49 +02:00
Hans-Kristian Arntzen
a6ce49ca24
Merge pull request #1680 from xndcn/cc
Add comment after inf/nan float number for clarifying.
2021-05-27 11:56:54 +02:00
xndcn
02fb8f2a24 Add comment after inf/nan float number for clarifying. 2021-05-27 02:40:41 +08:00
Hans-Kristian Arntzen
ff61890722
Merge pull request #1679 from okuoku/fix-c-sample-code
Fix C sample code in README.md
2021-05-21 18:43:08 +02:00
okuoku
38c6ef1d56 Fix C sample code in README.md 2021-05-22 01:18:26 +09:00
Hans-Kristian Arntzen
faec1a8643
Merge pull request #1678 from KhronosGroup/fix-1674
MSL: Add CLI option for sampler suffix.
2021-05-21 17:37:02 +02:00
Hans-Kristian Arntzen
9ea0e8b859
Merge pull request #1677 from KhronosGroup/fix-1673
MSL: Improve handling of split tessellation access chains.
2021-05-21 17:22:48 +02:00
Hans-Kristian Arntzen
c87cb54499 MSL: Add CLI option for sampler suffix. 2021-05-21 16:47:41 +02:00
Hans-Kristian Arntzen
bf3793dd35 MSL: Improve handling of split tessellation access chains. 2021-05-21 16:32:03 +02:00
Hans-Kristian Arntzen
a6c9514856
Merge pull request #1676 from KhronosGroup/fix-1671
GLSL: Implement noncoherent framebuffer fetch.
2021-05-21 15:43:58 +02:00
Hans-Kristian Arntzen
0214990e7c
Merge pull request #1675 from KhronosGroup/fix-1670
MSL: Support array-of-component IO variables in vertex/fragment
2021-05-21 14:27:07 +02:00
Hans-Kristian Arntzen
26a4986009 GLSL: Implement noncoherent framebuffer fetch. 2021-05-21 14:22:57 +02:00
Hans-Kristian Arntzen
99ae0d32e9 MSL: Handle array with component when we cannot rely on user() attrib.
In these cases, we emit one variable per location, and so we must
flatten stuff.
2021-05-21 13:46:33 +02:00
Hans-Kristian Arntzen
a64ddcdd49 MSL: Handle array of IO variable with Component decoration. 2021-05-21 12:31:33 +02:00
Hans-Kristian Arntzen
418542eaef
Merge pull request #1668 from KhronosGroup/fix-1665
Implement NoContraction decoration
2021-05-07 13:51:24 +02:00
Hans-Kristian Arntzen
b8115ffbe0 HLSL: Implement invariant as precise.
Only option we have.
2021-05-07 13:15:55 +02:00
Hans-Kristian Arntzen
e47a30e807 Honor NoContraction qualifier.
We'll need to force a temporary and mark it as precise.
MSL is a little weird here, but we can piggyback on top of the invariant
float math option here to force fma() operations everywhere.
2021-05-07 12:59:47 +02:00
Hans-Kristian Arntzen
0eeaffe048 Merge branch '16-bit-int-types-glsl' 2021-05-07 11:13:30 +02:00
Hans-Kristian Arntzen
6dbab0df47 Update reference output. 2021-05-07 11:12:22 +02:00
Przemog1
0408c592dd Fixed 16 bit int types 2021-05-07 11:06:19 +02:00
Lukas Taparauskas
72a2ec4c1b
MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662)
* Fix '--msl-multi-patch-workgroup' cases where thread count exceeds data bounds

*Fix gl_PrimitiveID off by one error when computing last valid index
*Point gl_out to the last patch's data when threads exceed input data bounds
*Point patchOut to the last patch's data when threads exceed input data bounds

* Update MSL test expectations.

* Undo change to MSL multi-patch hull output bound checks

* Update MSL multi-patch test expectations.
2021-04-29 20:01:26 +02:00
Hans-Kristian Arntzen
995c7981cc
Merge pull request #1663 from billhollings/metal-arg-buff-padding-patch
MSL: Minor last minute patch for MoltenVK Vulkan SDK release tomorrow (Tuesday) - RUSH
2021-04-26 20:43:33 +02:00
Bill Hollings
098cdd64f6 MSL: Padding for Metal argument buffers should not double-count SampledImages. 2021-04-26 13:19:23 -04:00
Hans-Kristian Arntzen
c624d5387c
Merge pull request #1660 from KhronosGroup/fix-1658
MSL: Use proper array for quad tess levels.
2021-04-23 15:21:00 +02:00
Hans-Kristian Arntzen
82a77e534e MSL: Use proper array for quad tess levels.
We need to handle loads from array as well, so the float4 hack doesn't
work.
2021-04-23 14:12:00 +02:00
Hans-Kristian Arntzen
b38e3b4a47
Merge pull request #1661 from KhronosGroup/fix-1659
HLSL: Support Shuffle wave ops.
2021-04-23 13:47:02 +02:00
Hans-Kristian Arntzen
0e963c62b6 HLSL: Support Shuffle wave ops.
WaveReadLaneAt is no longer restricted to dynamically uniform index,
so can implement the other shuffle ops.
2021-04-23 13:03:35 +02:00
Hans-Kristian Arntzen
bbcef69a45
Merge pull request #1657 from KhronosGroup/fix-1607
Rewrite how non-uniform qualifiers are handled.
2021-04-22 16:39:20 +02:00
Hans-Kristian Arntzen
532f65583e Rewrite how non-uniform qualifiers are handled.
Remove all shenanigans with propagation, and only consume nonuniform
qualifiers exactly where needed (last minute).
2021-04-22 16:03:08 +02:00
Hans-Kristian Arntzen
d137abeef5
Merge pull request #1655 from KhronosGroup/fix-1640
GLSL: Support shading rate builtins.
2021-04-20 16:35:02 +02:00
Hans-Kristian Arntzen
8e24e0b224
Merge pull request #1654 from KhronosGroup/fix-1641
GLSL: Implement gl_FragFullyCoveredNV.
2021-04-20 16:34:53 +02:00
Hans-Kristian Arntzen
71eb1754e3
Merge pull request #1653 from KhronosGroup/fix-1638
GLSL: Support GL_EXT_shader_image_load_formatted.
2021-04-20 16:34:44 +02:00
Hans-Kristian Arntzen
2cbc7f0f37
Merge pull request #1652 from KhronosGroup/fix-1644
MSL: Handle variable access in OpSelect.
2021-04-20 16:34:11 +02:00
Hans-Kristian Arntzen
b084f639cb
Merge pull request #1651 from KhronosGroup/fix-1645
HLSL: Fix automatic location assignment in block IO.
2021-04-20 16:34:01 +02:00
Hans-Kristian Arntzen
c89b5a1a3f GLSL: Support shading rate builtins. 2021-04-20 13:58:07 +02:00
Hans-Kristian Arntzen
3fd148450a GLSL: Implement gl_FragFullyCoveredNV. 2021-04-20 13:44:52 +02:00
Hans-Kristian Arntzen
f93a8fb1fe GLSL: Support GL_EXT_shader_image_load_formatted. 2021-04-20 13:36:51 +02:00
Hans-Kristian Arntzen
90c70e6605 MSL: Handle variable access in OpSelect.
CFG analysis needs to know if we need to take address of variable.
2021-04-20 13:20:49 +02:00
Hans-Kristian Arntzen
96ba044f01 HLSL: Fix automatic location assignment in block IO. 2021-04-20 13:04:26 +02:00
Hans-Kristian Arntzen
3cb8e7c223
Merge pull request #1643 from KhronosGroup/fix-1639
Add some interfaces to aid with LTO-style optimization
2021-04-19 16:21:59 +02:00
Hans-Kristian Arntzen
ae9ca7d73c MSL: Fix copy of arrays to/from stage IO variables.
Need to take into account effective storage classes and whether or not
we target stage IO blocks since native arrays are conditionally enabled.
2021-04-19 12:10:49 +02:00
Hans-Kristian Arntzen
986196030d MSL: Don't use native arrays for tess level inputs. 2021-04-19 12:10:49 +02:00