Hans-Kristian Arntzen
f4bce688d5
Merge pull request #433 from KhronosGroup/fix-428
...
Support returning arrays from functions in GLSL/MSL, refactor array copies in MSL.
2018-02-10 10:52:14 +01:00
Hans-Kristian Arntzen
c9db3e5521
Overload on constant storage.
2018-02-08 17:58:46 +01:00
Hans-Kristian Arntzen
b2c9487b0f
Attempt to deduce constant/thread storage.
2018-02-08 17:07:50 +01:00
Hans-Kristian Arntzen
1a9c960058
MSL cannot declare inline arrays except in certain cases.
2018-02-08 13:06:29 +01:00
Hans-Kristian Arntzen
156dd905fd
Implicit return value takes thread storage.
2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
d89b79025b
Fix wrong function declaration in MSL.
2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
00ccd590ee
Return arrays in HLSL/MSL by writing to an output variable instead.
2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
9fa91f7e1c
Support returning arrays from functions in GLSL/MSL.
...
Not possible in HLSL apparently, need workaround ...
2018-02-08 12:22:08 +01:00
Hans-Kristian Arntzen
ed6b7755cd
Merge pull request #417 from msiglreith/root_constants_overwrite
...
hlsl: Support custom root constant layout
2018-02-07 16:18:03 +01:00
msiglreith
369f5f657e
Add missing include
2018-02-07 15:56:47 +01:00
msiglreith
d096f5cafe
hlsl: Support custom root constant layout
2018-02-07 15:21:52 +01:00
Hans-Kristian Arntzen
4b58f65af7
Merge pull request #438 from zeux/msvc-warning-fix
...
Fix MSVC 2017 warning
2018-02-07 13:01:25 +01:00
Arseny Kapoulkine
24cf3080cd
Fix MSVC 2015 warning
...
Fixes the following warning:
> C4146: unary minus operator applied to unsigned type, result still unsigned
2018-02-06 21:43:24 -08:00
Hans-Kristian Arntzen
8b53b70a56
Merge pull request #434 from KhronosGroup/fix-429
...
Support gl_NumWorkgroups in HLSL.
2018-02-05 10:36:29 +01:00
Hans-Kristian Arntzen
18e8833eeb
Support gl_NumWorkgroups in HLSL.
2018-02-05 10:29:20 +01:00
Hans-Kristian Arntzen
181a5fa492
Fix formatting after merge.
2018-02-05 09:19:16 +01:00
twinaphex
e3f4041dd5
Fixes MSVC 2013 compilation
2018-02-05 09:17:44 +01:00
Hans-Kristian Arntzen
ef337709f6
Merge pull request #431 from twinaphex/master
...
Uniquely name these static functions (spirv_hlsl/spirv_glsl)
2018-02-05 09:13:15 +01:00
twinaphex
59a12c7e71
Uniquely name these static functions
2018-02-03 23:23:30 +01:00
Hans-Kristian Arntzen
33c5cd9b19
Merge pull request #427 from aliaspider/master
...
add `matrix` to the list of illegal names.
2018-02-02 13:07:02 +01:00
aliaspider
5fc48b61fa
add matrix
to the list of illegal names.
2018-02-02 12:56:15 +01:00
Hans-Kristian Arntzen
d4b0625cbd
Merge pull request #426 from KhronosGroup/fix-425
...
Do not declare constant composites inline in HLSL.
2018-02-02 10:35:41 +01:00
Hans-Kristian Arntzen
5d9df6a31c
Do not declare constant composites inline in HLSL.
...
Move arrays and structs out to their own global static constants.
Also, replace illegal names in HLSL as well.
2018-02-02 10:12:26 +01:00
Hans-Kristian Arntzen
a1857a4d58
Merge pull request #422 from KhronosGroup/fix-419
...
Fix case where loop header branches into continue block.
2018-02-01 10:14:12 +01:00
Hans-Kristian Arntzen
8841f15283
Fix case where loop header branches into continue block.
2018-02-01 10:00:16 +01:00
Hans-Kristian Arntzen
cfae1d44a9
Merge pull request #421 from KhronosGroup/fix-418
...
Fix OpImage on OpSampledImages in HLSL.
2018-02-01 09:33:52 +01:00
Hans-Kristian Arntzen
988f00fe3c
Fix OpImage on OpSampledImages in HLSL.
2018-02-01 09:22:16 +01:00
Hans-Kristian Arntzen
d1399f01ab
Update reference file after merge.
2018-02-01 09:14:45 +01:00
Hans-Kristian Arntzen
6ca408aac2
Merge pull request #420 from billhollings/master
...
Update copyright dates to 2018 in main files.
2018-02-01 09:02:11 +01:00
Hans-Kristian Arntzen
4c1e57ee03
Merge pull request #413 from zeux/master
...
MSL: Order resources by type and binding index in the output
2018-02-01 09:01:34 +01:00
Bill Hollings
1c94715350
Update copyright dates to 2018 in main files.
2018-01-31 17:08:43 -05:00
Hans-Kristian Arntzen
5f3a920df7
Merge pull request #416 from KhronosGroup/fix-414
...
Fix passing arrays of arrays to functions in MSL.
2018-01-31 10:13:41 +01:00
Arseny Kapoulkine
7c8db865c4
Format spirv_msl.cpp
2018-01-29 06:42:34 -08:00
Arseny Kapoulkine
5cbed7a69f
Update test files
2018-01-29 06:40:45 -08:00
Arseny Kapoulkine
050361422c
MSL: Order resources by type and binding index in the output
...
We've hit a bizarre bug on NVidia / macOS 10.13 where if two subsequent draw
calls use two different shaders that both have VS use buffers 0 & 1, but one
declares them in the increasing binding order and another one declares them
in the decreasing binding order, then the second draw call (with the decreasing
order) doesn't get correct data in some cases.
This has been reported to Apple and they will probably fix it at some point;
to work around that it's sufficient to sort resources by their binding index.
For consistency we also sort by type to get a stable order, and output builtins
after that to prevent random bugs like this from happening.
2018-01-29 06:35:41 -08:00
Hans-Kristian Arntzen
38b8f733d1
Fix passing arrays of arrays to functions in MSL.
2018-01-29 10:57:52 +01:00
Hans-Kristian Arntzen
ab3907e4b5
Merge pull request #415 from KhronosGroup/fix-temp-decl-order
...
Need to sort declared temporaries to ensure stable output.
2018-01-29 10:32:36 +01:00
Hans-Kristian Arntzen
6714a9fa23
Need to sort declared temporaries to ensure stable output.
2018-01-29 10:24:15 +01:00
Hans-Kristian Arntzen
66a407285e
Merge pull request #411 from billhollings/master
...
Fix for #382
2018-01-25 09:13:43 +01:00
Bill Hollings
e43f244399
Merge branch 'master' of https://github.com/KhronosGroup/SPIRV-Cross
2018-01-24 17:34:50 -05:00
Bill Hollings
fe3683eefa
CompilerMSL declare threadgroup variables accessed in called functions.
2018-01-24 15:38:17 -05:00
Hans-Kristian Arntzen
95de8f0269
Merge pull request #394 from KhronosGroup/fix-374
...
Handle exponential explosion of code-gen during first phase of compile and fix CFG dominator checks.
2018-01-24 21:05:09 +01:00
Hans-Kristian Arntzen
b3f6e3de8e
Fix CFG::update_common_dominator.
...
The algorithm was too conservative causing lots of unnecessary
temporaries to be created.
2018-01-24 20:32:11 +01:00
Hans-Kristian Arntzen
09f550f718
Handle exponential explosion of code-gen during first phase of compile.
...
Certain patterns with OpVectorShuffle (and probably others) will cascade
to so large, that they can cause OOM. After we have observed
force_recompile, don't spend unnecessary memory emitting code which will
never be used.
2018-01-24 18:12:41 +01:00
Hans-Kristian Arntzen
3fc2561734
Merge pull request #408 from KhronosGroup/fix-407
...
Check if a loop variable candidate is actually used.
2018-01-24 15:28:33 +01:00
Hans-Kristian Arntzen
af0a887997
Add test for false loop init.
...
Clean up how for loop variables are declared.
2018-01-23 21:15:09 +01:00
Hans-Kristian Arntzen
4a7a37256e
Check if a loop variable candidate is actually used.
...
Phi nodes used in continue blocks are not always loop variables.
Fix by checking if path from dominator to loop header has some variable
use.
2018-01-23 20:27:43 +01:00
Hans-Kristian Arntzen
56acf9728a
Merge pull request #406 from KhronosGroup/fix-405
...
Fix HLSL regression with struct declaration.
2018-01-23 16:54:13 +01:00
Hans-Kristian Arntzen
0220207e3f
Merge pull request #404 from KhronosGroup/fix-403
...
Do not merge swizzles for anything other than vectors.
2018-01-23 16:53:40 +01:00
Hans-Kristian Arntzen
06041985d0
Fix HLSL regression with struct declaration.
...
It actually worked surprisingly. Fix it properly.
2018-01-23 16:36:20 +01:00