Commit Graph

2617 Commits

Author SHA1 Message Date
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
Hans-Kristian Arntzen
c8221ca875
Merge pull request #1209 from KhronosGroup/hlsl-auto-binding-cli
HLSL: Add CLI support for --hlsl-auto-binding.
2019-11-12 12:04:40 +01:00
Hans-Kristian Arntzen
e38cbb9433 HLSL: Add CLI support for --hlsl-auto-binding. 2019-11-12 10:49:01 +01:00
Hans-Kristian Arntzen
0b95cbdea3
Merge pull request #1208 from KhronosGroup/fix-1206
HLSL: Add support to remove register() bindings.
2019-11-11 12:30:36 +01:00
Hans-Kristian Arntzen
b9e5fe01b0 HLSL: Add support to remove register() bindings.
Sometimes it's useful to get automatic binding assignment from the D3D
compiler instead.
2019-11-11 11:23:21 +01:00
Hans-Kristian Arntzen
cb73115bcc
Merge pull request #1204 from KhronosGroup/fix-1200
MSL: Fix unpacking of column from padded matrix.
2019-11-07 13:25:37 +01:00
Hans-Kristian Arntzen
0bbe041411 MSL: Remove dubious workaround code in unpack_expression.
From UE4 review, does not cause any changes in test output, and should
only change output if we were unpacking arrays or something like that,
which we don't support.
2019-11-07 11:35:07 +01:00
Hans-Kristian Arntzen
d9afa9e238 MSL: Fix unpack_expression from column of padded matrix. 2019-11-07 11:35:07 +01:00
Hans-Kristian Arntzen
7b380a68d6
Merge pull request #1201 from KhronosGroup/fix-1199
HLSL: Improve error reporting for cbuffer layout mismatch
2019-11-06 14:16:44 +01:00
Hans-Kristian Arntzen
0b417b586a HLSL: Report more explicitly which member failed validation.
This will be awkward to report in GLSL where we check multiple packing
standards, but for HLSL it should be easy since there's only CBuffer
packing standard to worry about.
2019-11-06 11:21:39 +01:00
Hans-Kristian Arntzen
e73d9bee38 HLSL: Report which cbuffer failed validation. 2019-11-06 11:05:31 +01:00
Hans-Kristian Arntzen
b56c2f4271 Merge branch 'deps' of git://github.com/dj2/SPIRV-Cross 2019-11-06 10:43:17 +01:00
Hans-Kristian Arntzen
d4ca91f6c2 Move .invalid. test shaders to the more appropriate subfolders. 2019-11-06 10:40:37 +01:00
Dan Sinclair
d409210ee5 Move all .invalid shaders into no-opt folders. 2019-11-05 13:19:19 -05:00
Dan Sinclair
79721eda12 Remove old reference shaders 2019-11-05 12:49:04 -05:00
Dan Sinclair
e5af41255c Only run spirv-opt if the spirv is valid.
This CL updates the test runner to only run spirv-opt if the generated
SPIR-V is valid. If validation is skipped it's possible to hit aborts
and other memory errors in the optimizer as it assumes the SPIR-V is
valid.
2019-11-05 11:00:49 -05:00
Dan Sinclair
9da21c24a4 Roll GLSLang and SPIRV-Tools
This CL rolls the GLSLang and SPIRV-Tools dependencies to tip-of-tree
and updates the tests as required.
2019-11-05 10:07:15 -05:00
Hans-Kristian Arntzen
24f209eb93
Merge pull request #1195 from KhronosGroup/fix-1190
C API updates
2019-11-04 12:50:36 +01:00
Hans-Kristian Arntzen
8e42c1c4d3
Merge pull request #1194 from KhronosGroup/fix-1182
GLSL: Fix issue with array-of-array inputs in tess.
2019-11-04 11:29:19 +01:00
Hans-Kristian Arntzen
e8ed10d445 Add spvc_type_get_base_type_id.
Wraps SPIRType::self which is necessary for advanced reflection.
2019-11-04 10:53:09 +01:00
Hans-Kristian Arntzen
e9ad6398de C API: Add missing boolean options. 2019-11-04 10:42:20 +01:00
Hans-Kristian Arntzen
a8d676f2e4 GLSL: Fix issue with array-of-array inputs in tess.
Only one dimension can be unsized and wrong dimension was used for
unrolling purposes.
2019-11-04 10:34:49 +01:00
Hans-Kristian Arntzen
ab1564f3c9
Merge pull request #1193 from kvark/patch-1
Avoid including stdexcept in no-exception environment
2019-11-01 19:54:55 +01:00
Dzmitry Malyshau
5b4a099395
Avoid including stdexcept in no-exception environment 2019-11-01 12:48:26 -04:00
Hans-Kristian Arntzen
d253f41e17
Merge pull request #1192 from kakashidinho/master
Added BUILD.gn file to be used by Chromium's ANGLE project
2019-11-01 12:41:08 +01:00
Le Hoang Quyen
369edcfe1d Updated BUILD.gn's license to APACHE. 2019-11-01 17:37:02 +08:00
Le Hoang Quyen
8a01365f19 Added BUILD.gn file to be used by Chromium's ANGLE project 2019-10-31 23:23:01 +08:00
Hans-Kristian Arntzen
00189b19a5
Merge pull request #1188 from KhronosGroup/missing-reference-ue4
MSL: Add missing reference output.
2019-10-29 12:36:01 +01:00
Hans-Kristian Arntzen
cd94f0c37e
Merge pull request #1187 from KhronosGroup/fix-1186
Fix broken access tracking for OpFunctionCall results.
2019-10-29 12:16:09 +01:00
Hans-Kristian Arntzen
42e6ce073b MSL: Add missing reference output. 2019-10-29 11:17:38 +01:00
Hans-Kristian Arntzen
e2155053c5 Fix broken access tracking for OpFunctionCall results.
We were looking at args[1] after incrementing args array, not before,
which means we tracked garbage.
This is also an out-of-bounds hazard.
2019-10-29 11:13:39 +01:00
Hans-Kristian Arntzen
40cc0a00df MSL: Avoid some fallthrough warnings. 2019-10-28 15:20:38 +01:00
Hans-Kristian Arntzen
123fa906ec Merge branch 'ue4-merge' 2019-10-28 15:14:42 +01:00
Hans-Kristian Arntzen
39bd5f1834 Run format_all.sh. 2019-10-28 12:55:14 +01:00
Hans-Kristian Arntzen
1d5eba67f8 MSL: Remove hacky workaround for patch constant passing.
There was a hack to workaround a bug in DXC where control point -> patch
constant phase was passed in Function storage, but we have to use
Workgroup here. We will not support these kinds of hacks for invalid
SPIR-V, so hack the reference files to use the "proper" fix and remove
the hack for time being.
2019-10-28 12:52:28 +01:00
Hans-Kristian Arntzen
8f13a3f4b1 MSL: Remove workaround for passing constant arrays to functions.
Arrays are value-types now, so remove the old workaround.
2019-10-28 12:14:43 +01:00
Hans-Kristian Arntzen
32bd1329b6 Remove another dead reference file. 2019-10-28 11:51:31 +01:00
Hans-Kristian Arntzen
8670f7cbab Remove some more dead reference files. 2019-10-28 11:49:57 +01:00
Hans-Kristian Arntzen
b2c6362c4b Remove another dead reference file. 2019-10-28 11:33:09 +01:00
Hans-Kristian Arntzen
93ceead289 Remove dead reference file. 2019-10-28 11:31:04 +01:00
Hans-Kristian Arntzen
e1919744e9 Hack some constants in UE4 tests.
Need to make output 100% exact for MSVC and GCC libc testing, but they are 1 ULP
off when converting fp32 to string in some weird corner cases.
Roundtrip should be correct though, but that outside the scope of
SPIRV-Cross.
2019-10-28 11:20:41 +01:00
Hans-Kristian Arntzen
648dfa5070 MSL: Ensure stable output for access chain CFG workarounds.
We had output dependent on complex_continue being set, but setting that
flag was dependent on unordered_set declaration order. Make it invariant
to ordering and change the implementation so it knows about the new
temporary hoisting for access chains.
2019-10-28 10:57:51 +01:00
Hans-Kristian Arntzen
ac8d335480 MSL: Fix integer cast. 2019-10-26 20:30:24 +02:00