Commit Graph

2409 Commits

Author SHA1 Message Date
Hans-Kristian Arntzen
151ff1e870 HLSL: Implement stores for complex composites in ByteAddressBuffers. 2020-01-08 14:17:28 +01:00
Hans-Kristian Arntzen
ca9398c122 HLSL: Support loading complex composites from ByteAddressBuffer. 2020-01-08 13:05:56 +01:00
Hans-Kristian Arntzen
b522b409ae Run format_all.sh. 2020-01-08 10:48:30 +01:00
Hans-Kristian Arntzen
02441fe2d3
Merge pull request #1253 from KhronosGroup/fix-1249
MSL: Partially implement support for Component decoration in complex scenarios
2020-01-07 22:56:24 +01:00
Hans-Kristian Arntzen
c024e24d45 MSL: Deal with padded fragment output + Component decoration. 2020-01-07 17:02:12 +01:00
Hans-Kristian Arntzen
8871502a20 MSL: Explicitly don't support component packing for tessellation. 2020-01-07 16:49:19 +01:00
Hans-Kristian Arntzen
ecdfd3eb66 MSL: Don't set OrigID when emitting component packed vectors.
There is no unique OrigID, so we shouldn't ever need to look at this
value.
2020-01-07 14:57:19 +01:00
Hans-Kristian Arntzen
93f3265fe0 MSL: Deal with packing vectors for vertex input/fragment output. 2020-01-07 14:14:31 +01:00
Hans-Kristian Arntzen
7a69d764b0 MSL: Add trivial tests for Component decoration.
Verifies that Component decoration is honored for vertex outputs and
fragment inputs.
2020-01-07 11:36:51 +01:00
Hans-Kristian Arntzen
961b9014af
Merge pull request #1250 from KhronosGroup/fix-1247
Implement SPIR-V 1.4 OpCopyLogical
2020-01-06 16:03:07 +01:00
Hans-Kristian Arntzen
369bdf0b16
Merge pull request #1251 from KhronosGroup/fix-1244
Roll custom versions of isalpha/isalnum.
2020-01-06 16:01:49 +01:00
Hans-Kristian Arntzen
91e917b8ca Fix Clang warnings. 2020-01-06 13:40:33 +01:00
Hans-Kristian Arntzen
fc4a07c822 Roll custom versions of isalpha/isalnum.
Avoids locale issues and avoids unexpected assertions for non-ASCII
values.
2020-01-06 13:04:57 +01:00
Hans-Kristian Arntzen
8bef6ff167 Add test shader for OpCopyLogical with packing/unpacking. 2020-01-06 12:44:18 +01:00
Hans-Kristian Arntzen
cf725b4c63 Go through access chain path for OpCopyLogical.
We will need to deal with packing/unpacking data when copying from/to
complex types in MSL.
2020-01-06 12:29:44 +01:00
Hans-Kristian Arntzen
9012a39b60 Basic implementation of OpCopyLogical. 2020-01-06 11:47:26 +01:00
Hans-Kristian Arntzen
437b9ad2e9
Merge pull request #1243 from daemyung/master
Add debug prefix on Windows
2019-12-22 18:07:07 +01:00
daemyung jang
0b5691394c Add debug prefix on Windows 2019-12-21 08:59:03 +09:00
Hans-Kristian Arntzen
f912c32898
Merge pull request #1235 from KhronosGroup/patch-input-array-fix
GLSL: Fix array of input patch variables.
2019-12-10 14:28:33 +01:00
Hans-Kristian Arntzen
7c1e34f3b9 GLSL: Fix array of input patch variables.
Hoist out the hack to make array sizes unsized to a place where we can
differentiate patch variables from control point variables.
2019-12-10 12:02:12 +01:00
Hans-Kristian Arntzen
363035c798
Merge pull request #1233 from KhronosGroup/fix-1231
GLSL: Fix EmitStreamVertex/Primitive.
2019-12-09 13:29:49 +01:00
Hans-Kristian Arntzen
d7e612f91a GLSL: Fix EmitStreamVertex/Primitive. 2019-12-09 10:49:48 +01:00
Hans-Kristian Arntzen
15b860eb1c
Merge pull request #1230 from KhronosGroup/cleanup-workgroup-barrier
Don't emit memoryBarrierShared() in workgroup control barriers.
2019-12-04 16:41:34 +01:00
Hans-Kristian Arntzen
00d5c78447 Remove obsolete use of AtomicCounterMemoryMask. 2019-12-04 15:30:07 +01:00
Hans-Kristian Arntzen
67b2991451 Don't emit memoryBarrierShared() in workgroup control barriers.
This is implied in both GL and GLES. Emitting memoryBarrierShared() was
based on earlier confusion in the spec which has since been fixed and
clarified.
2019-12-04 15:06:19 +01:00
Hans-Kristian Arntzen
faa34631cb
Merge pull request #1229 from dj2/robust_access
Update graphics robust access results
2019-12-04 10:20:59 +01:00
Dan Sinclair
b77be9f347 Update graphics robust access results
The robust access code was fixed to use a signed clamp which generates
different results in the SPIR-V cross test.
2019-12-03 16:49:43 -05:00
Hans-Kristian Arntzen
9bb9e00e8b
Merge pull request #1227 from dj2/share_test
Share test shader script
2019-12-03 21:25:10 +01:00
Hans-Kristian Arntzen
a2000c1107
Merge pull request #1228 from KhronosGroup/fix-1225
Fix MSVC warnings when building without exceptions.
2019-12-03 21:23:36 +01:00
Hans-Kristian Arntzen
93d68e9156 Fix MSVC warnings when building without exceptions.
Mark report_and_abort as noreturn.
2019-12-03 21:21:01 +01:00
Dan Sinclair
5e8b95fed7 Share test shader script
This CL adds the ability to pass options to test_shader.sh. The
update_test_shaders.sh script is then changed to call test_shaders.sh
with the --update flag.

This removes the duplication of code between test_shaders.sh and
update_test_shaders.sh.
2019-12-03 15:19:03 -05:00
Hans-Kristian Arntzen
d6e71863c3 Update update_test_shaders.sh as well. 2019-12-03 21:11:12 +01:00
Hans-Kristian Arntzen
dc7942721a Merge branch 'roll_deps' of git://github.com/dj2/SPIRV-Cross 2019-12-03 21:03:41 +01:00
Dan Sinclair
f40c629821 Roll SPIRV-Tools, SPIRV-Headers and GLSLang
This CL updates the three depdencies and updates the tests to handle the
new validation errors which are produced.
2019-12-02 16:17:21 -05:00
Hans-Kristian Arntzen
4b51963c54
Merge pull request #1224 from KhronosGroup/fix-1223
MSL: Support ClipDistance as an input stage variable.
2019-12-02 17:49:45 +01:00
Hans-Kristian Arntzen
99084dcee4 Fix uninitialized memory issue.
Seen on Travis with MSVC Win32 Release builds only.
2019-12-02 15:54:46 +01:00
Hans-Kristian Arntzen
a3fe9756d2 MSL: Support ClipDistance as an input stage variable.
MSL does not support this, so we have to emulate it by passing it around
as a varying between stages. We use a special "user(clipN)" attribute
for this rather than locN which is used for user varyings.
2019-12-02 13:19:42 +01:00
Hans-Kristian Arntzen
ea68f3aa7e
Merge pull request #1220 from akioCL/master
Added --msl-decoration-binding command line argument
2019-11-29 22:45:59 +01:00
Hans-Kristian Arntzen
6ad5ba7782
Merge pull request #1222 from KhronosGroup/stof-utof-fix
Fix sign handling for S/UToF.
2019-11-28 13:56:44 +01:00
Hans-Kristian Arntzen
4edb99d476 Fix sign handling for S/UToF. 2019-11-28 13:55:28 +01:00
Hans-Kristian Arntzen
e46c8937ee
Merge pull request #1221 from KhronosGroup/fix-1219
MSL: Fix automatic binding allocation for image atomic buffers.
2019-11-28 13:21:03 +01:00
Hans-Kristian Arntzen
b85ab5f5ff MSL: Fix automatic binding allocation for image atomic buffers.
The Primary decoration was used by the atomic buffer, causing the
texture binding to be potentially overlapping with other resources.
2019-11-28 11:07:44 +01:00
Akio Gaule
1280df6c7a Added --msl-decoration-binding command line argument to enable binding decoration for Metal. 2019-11-27 20:49:08 -08:00
Hans-Kristian Arntzen
dd595b184c
Merge pull request #1218 from sarahM0/testbr
Add licensing header to test_shaders.py
2019-11-27 11:39:54 +01:00
Sarah Mashayekhi
eed84684cd Add licensing header to test_shaders.py 2019-11-26 14:46:19 -05:00
Hans-Kristian Arntzen
96a276c2ca
Merge pull request #1217 from KhronosGroup/fix-1215
Mark loop headers as complex as early as possible.
2019-11-26 12:48:29 +01:00
Hans-Kristian Arntzen
f5cb08c42f Mark loop headers as complex as early as possible.
We had a case where loops were marked complex in a cascading fashion
where each loop iteration would discover one new complex loop. This was
a problem with three nested loops.
2019-11-26 11:01:39 +01:00
Hans-Kristian Arntzen
70017c6731
Merge pull request #1216 from billhollings/master
Expose as public Compiler::update_active_builtins() and has_active_builtin().
2019-11-26 10:34:32 +01:00
Bill Hollings
ef8260dea6 Expose as public Compiler::update_active_builtins() and has_active_builtin().
MoltenVK tessellation needs to be able to identify when a shader has declared
an output built-in, but does not populate it, in order to keep the expectations
about how intermediary buffers are populated aligned between tessellation stages.
2019-11-25 16:53:54 -05:00
Hans-Kristian Arntzen
fd5aa3ad51 CMake: Clarify some warning messages.
When used as a submodule, testing is generally not used, so don't
confuse a user too much, thinking that missing testing is a problem.
2019-11-12 16:14:26 +01:00