VKD3D_CHECK_FUNC does not use a fake prototype (char gettid(void);)
and does not include <unistd.h>. It always fails with Clang 16 and
GCC 14 and other compilers which do not support implicit function
declarations.
The location of dxcompiler should be set during configuration with
'DXCOMPILER_LIBS=-L/path/to/dxcompiler', and then at runtime with
LD_LIBRARY_PATH, WINEPATH or PATH as applicable.
A new 'fail(sm<6)' decoration is needed on many shader declarations
because dxcompiler succeeds on many shaders which fail with fxc. The
opposite case is less common and is flagged with 'fail(sm>=6)'. A few
tests cause dxcompiler to crash or hang, so these are avoided using
[require], which now skips tests until reset instead of exiting. Also,
'todo(sm<6)' and 'todo(sm>=6)' are used to separate checking of results.
Eliminates vk_sets_mutex. Performance on average may be lower until
the descriptor mutexes are replaced and Vulkan writes are buffered
to reduce thunk calls.
Do not define it for the vkd3d build, but restore support for overriding it as a
configure argument.
This partially reverts 99a3adcc19f2a64fad630948851616f52c00d553.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52915
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>