Граф коммитов

1202 Коммитов

Автор SHA1 Сообщение Дата
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
Hans-Kristian Arntzen d0ce948df4 Do not merge swizzles for anything other than vectors. 2018-01-22 09:52:57 +01:00