rdb
18893ba3b9
HLSL: Support depth comparison texture sampling in SM 2/3.
2020-11-03 18:10:43 +01:00
Hans-Kristian Arntzen
fc644b50e6
Merge pull request #1523 from KhronosGroup/fix-1512
...
HLSL: Add option to flatten matrix vertex input semantics.
2020-11-03 13:16:54 +01:00
Hans-Kristian Arntzen
512e851185
Merge pull request #1522 from KhronosGroup/fix-1510
...
Parser: Don't assume OpTypePointer will always take a SPIRType.
2020-11-03 13:16:18 +01:00
Hans-Kristian Arntzen
b3344174f7
HLSL: Add option to flatten matrix vertex input semantics.
...
Helps translation layers where we expect inputs to be multiple float
vectors rather than an indexed matrix.
2020-11-03 11:18:32 +01:00
Hans-Kristian Arntzen
1f018b0fb8
Parser: Don't assume OpTypePointer will always take a SPIRType.
...
Possible to receive a function prototype here. Don't try to do anything
smart here, just don't crash during parsing.
2020-11-03 10:53:37 +01:00
Hans-Kristian Arntzen
244839d350
Merge pull request #1516 from billhollings/VK_EXT_descriptor_indexing
...
MSL: Support run-time sized image and sampler arrays
2020-11-03 10:15:36 +01:00
Bill Hollings
4bdd49df3f
Syntax and format updates from code review.
2020-11-02 22:15:20 -05:00
Hans-Kristian Arntzen
c5a3f37a1c
Merge pull request #1519 from cdavis5e/msl-mac-comparison-bias-grad
...
MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
2020-11-02 20:01:14 +01:00
Hans-Kristian Arntzen
dcd66c283c
Merge pull request #1521 from devshgraphicsprogramming/master
...
Fix some bad assumptions about emulating `subgroupBarrier`
2020-11-02 19:52:43 +01:00
criss
6402586015
Updated ref file for subgroups_basicvoteballot.vk.comp
2020-11-02 18:40:56 +01:00
Mateusz Kielan
9a1af25f02
Merge pull request #2 from KhronosGroup/master
...
AMD workaround
2020-10-31 21:54:58 +01:00
devsh
6c5f394b09
Fix some bad assumptions about emulating subgroupBarrier
2020-10-31 21:46:59 +01:00
Bill Hollings
7f67abe0fe
Minor format and typo updates from code review.
2020-10-30 16:05:44 -04:00
Chip Davis
547c29f7bb
MSL: Allow Bias and Grad arguments with comparison on Mac in MSL 2.3.
...
I kept the code to replace constant zero arguments, because `Bias` and
`Grad` still have some problems on desktop GPUs.
`Bias` works on AMD GPUs. `Grad` does not. Both work on Intel. Still
needs testing on NV. It will definitely work with Apple GPUs.
2020-10-30 11:14:59 -05:00
Hans-Kristian Arntzen
8884b34940
Merge pull request #1517 from atyuwen/master
...
fixed compile error with -std=c++20.
2020-10-30 15:51:18 +01:00
Hans-Kristian Arntzen
303f813166
Merge pull request #1518 from KhronosGroup/fix-nonuniform-bracket-handling
...
GLSL: Fix nonuniformEXT injection.
2020-10-30 15:48:37 +01:00
Hans-Kristian Arntzen
439b666829
GLSL: Fix nonuniformEXT injection.
...
Needs to consider that other expressions might be using brackets as well
...
2020-10-30 14:11:16 +01:00
atyuwen
871a023877
fixed compile error with -std=c++20
2020-10-30 17:30:46 +08:00
Hans-Kristian Arntzen
541a801fed
Merge pull request #1514 from cdavis5e/msl-mac-framebuffer-fetch
...
MSL: Allow framebuffer fetch on Mac in MSL 2.3.
2020-10-30 08:09:41 +01:00
Yuwen Wu
c8a43876c7
added metal keyworld: "level" ( #1501 )
...
* added metal keyworld: "level"
* added more metal keywords
* updated test case.
2020-10-30 08:07:25 +01:00
Bill Hollings
b7b0e804e5
MSL: Support run-time sized image and sampler arrays
...
(GL_EXT_nonuniform_qualifier/SPV_EXT_descriptor_indexing).
MSLResourceBinding includes array size through API, and substitutes
in that size if the image or sampler array is not explicitly sized.
OpCopyObject supports SPIRCombinedImageSampler type in MSL.
2020-10-29 18:50:42 -04:00
Chip Davis
c20d5945a2
MSL: Allow framebuffer fetch on Mac in MSL 2.3.
...
Another Apple GPU feature that will now be supported on Apple Silicon
Macs.
2020-10-29 10:50:59 -05:00
Hans-Kristian Arntzen
78c6d2d628
Merge pull request #1509 from cdavis5e/mac-post-depth-coverage
...
MSL: Allow post-depth coverage on Mac in MSL 2.3.
2020-10-29 09:50:44 +01:00
Hans-Kristian Arntzen
08e49bfd67
Merge pull request #1508 from KhronosGroup/fix-1507
...
Handle case where block is loop header, continue AND break block.
2020-10-28 16:04:14 +01:00
Hans-Kristian Arntzen
346b0b6c21
Merge pull request #1493 from KhronosGroup/ubo-row-major-load-workaround
...
GLSL: Support a workaround for loading row-major matrices
2020-10-28 10:31:54 +01:00
Chip Davis
d48d2a95c7
MSL: Allow post-depth coverage on Mac in MSL 2.3.
...
It's still only supported on Apple GPUs, but Macs will have those soon.
2020-10-27 22:07:01 -05:00
Hans-Kristian Arntzen
542d460364
Handle case where block is loop header, continue AND break block.
2020-10-27 12:29:08 +01:00
Hans-Kristian Arntzen
e47561a28b
GLSL: Support a workaround for loading row-major matrices.
...
On AMD Windows OpenGL, it has been reported that we need to load
matrices via a wrapper function.
2020-10-27 12:07:09 +01:00
Hans-Kristian Arntzen
5ae9153a78
Merge pull request #1505 from cdavis5e/msl-vertex-writes
...
MSL: For 2.1+, don't disable rasterization for vertex writes.
2020-10-27 12:00:42 +01:00
Chip Davis
1b6b9705e6
MSL: For 2.1+, don't disable rasterization for vertex writes.
...
Writing to buffers actually works starting in MSL 2.1 (macOS 10.14,
iOS 12). Writing to textures works starting in MSL 2.2 (macOS 10.15, iOS
13).
No tests unfortunately, because the MSL 2.2 compiler and above produce a
warning that cannot be disabled, because it has no associated option.
2020-10-26 11:43:13 -05:00
Hans-Kristian Arntzen
1a95017d11
Merge pull request #1503 from KhronosGroup/travis-python-update
...
Update TravisCI python reference.
2020-10-26 17:40:59 +01:00
Hans-Kristian Arntzen
b3a74f3a22
Merge pull request #1504 from KhronosGroup/fix-1502
...
MSL: Do not use component::x gather for depth2d textures.
2020-10-26 17:40:46 +01:00
Hans-Kristian Arntzen
f65f259ab7
MSL: Do not use component::x gather for depth2d textures.
2020-10-26 10:18:17 +01:00
Hans-Kristian Arntzen
1d68cbfb1b
Update TravisCI python reference.
2020-10-26 09:55:10 +01:00
Hans-Kristian Arntzen
dd35821f2f
Merge pull request #1499 from cdavis5e/subgroup-fixes
...
Subgroup fixes
2020-10-26 09:47:39 +01:00
Chip Davis
1264e2705e
MSL: Cast broadcast booleans to ushort.
...
Metal doesn't support broadcasting or shuffling boolean values, but we
can work around that by casting it to `ushort`, then casting it back to
`bool`. I used `ushort` instead of `uint` because 16-bit values give
better throughput on Apple GPUs.
2020-10-23 21:55:46 -05:00
Chip Davis
065b5bda3c
MSL: Mask ballots passed to Ballot bit ops.
...
Only the least *n* bits are significant, where *n* is the subgroup size.
The Vulkan CTS actually checks this.
The `FindLSB` tests weren't actually failing, but I masked that anyway,
in case there's some corner case the CTS is missing.
2020-10-23 21:55:46 -05:00
Chip Davis
781367d083
MSL: Support vectors with OpGroupNonUniformAllEqual.
...
This was not tested here in SPIRV-Cross. Predictably, it broke when I
tried it in the CTS.
2020-10-23 21:55:46 -05:00
Chip Davis
6ccb902462
MSL: Correct definitions of subgroup ballot mask variables.
...
`SubgroupEqMask` had a fencepost error that gave wrong values for
invocation ID 32.
For `SubgroupGeMask` and `SubgroupGtMask`, I forgot to shift the values
from `extract_bits()` up so that the mask is in the correct position.
Using `insert_bits()` instead should fold these two operations into one.
`SubgroupLtMask` and `SubgroupLeMask` were already correct.
2020-10-23 21:54:55 -05:00
Hans-Kristian Arntzen
a57b4b1b2e
Merge pull request #1498 from cdavis5e/msl-swizzle-arrayed-nonconstant
...
MSL: Don't remove periods from swizzle buffer index exprs.
2020-10-22 13:24:49 +02:00
Chip Davis
064ed448b9
MSL: Don't remove periods from swizzle buffer index exprs.
2020-10-20 17:47:40 -05:00
Hans-Kristian Arntzen
7b80307a7d
Merge pull request #1495 from cdavis5e/1d-2d-offset-grad
...
MSL: Handle Offset and Grad operands for 1D-as-2D textures.
2020-10-20 10:29:17 +02:00
Chip Davis
5845e009ea
MSL: Handle Offset and Grad operands for 1D-as-2D textures.
2020-10-15 12:51:00 -05:00
Hans-Kristian Arntzen
0db1569e97
Merge pull request #1492 from KhronosGroup/non-native-matrix-fix
...
GLSL: Use need_transpose when checking for non-native matrix.
2020-10-15 10:52:44 +02:00
Hans-Kristian Arntzen
9c220a8247
Merge pull request #1490 from KhronosGroup/fix-1488
...
MSL: Support querying and modifying generated combined sampler suffix.
2020-10-15 10:52:28 +02:00
Hans-Kristian Arntzen
23a0cfc842
Merge pull request #1494 from cdavis5e/msl-tesc-tess-level-cast
...
MSL: Don't use a bitcast for tessellation levels in tesc shaders.
2020-10-15 10:52:11 +02:00
Chip Davis
3e6010d8c5
MSL: Don't use a bitcast for tessellation levels in tesc shaders.
...
`half` cannot be bitcasted to `float`, because the two types are not the
same size. Use an expanding cast instead.
We were already doing this for stores to the tessellation levels; why I
didn't also do this for loads is beyond me.
2020-10-14 18:35:59 -05:00
Hans-Kristian Arntzen
120af42616
GLSL: Use need_transpose when checking for non-native matrix.
2020-10-14 16:07:10 +02:00
Hans-Kristian Arntzen
bd1ee4344e
MSL: Support querying and modifying generated combined sampler suffix.
2020-10-14 14:52:18 +02:00
Hans-Kristian Arntzen
7332b44c3c
Merge pull request #1489 from cdavis5e/msl-fix-atomic-image-coord
...
MSL: Fix calculation of atomic image buffer address.
2020-10-14 10:44:59 +02:00