FAILED: src/d3d11/bca5607@@d3d11.dll@sha/d3d11_interop.cpp.o
wineg++ -Isrc/d3d11/bca5607@@d3d11.dll@sha -Isrc/d3d11 -I../dxvk-1.6/src/d3d11 -I../dxvk-1.6/./include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -std=c++17 -DNOMINMAX --no-gnu-unique -O3 -m32 -msse -msse2 -fvisibility=hidden -fvisibility-inlines-hidden -D__WIDL_objidl_generated_name_0000000C= -fPIC -MD -MQ 'src/d3d11/bca5607@@d3d11.dll@sha/d3d11_interop.cpp.o' -MF 'src/d3d11/bca5607@@d3d11.dll@sha/d3d11_interop.cpp.o.d' -o 'src/d3d11/bca5607@@d3d11.dll@sha/d3d11_interop.cpp.o' -c ../dxvk-1.6/src/d3d11/d3d11_interop.cpp
In file included from ../dxvk-1.6/src/d3d11/d3d11_context_imm.h:5,
from ../dxvk-1.6/src/d3d11/d3d11_interop.cpp:1:
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:77:19: error: ‘HANDLE’ has not been declared
77 | void setEvent(HANDLE event, uint64_t value) {
| ^~~~~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:92:25: error: ‘HANDLE’ was not declared in this scope; did you mean ‘E_HANDLE’?
92 | std::list<std::pair<HANDLE, uint64_t>> m_events;
| ^~~~~~
| E_HANDLE
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:92:33: error: template argument 1 is invalid
92 | std::list<std::pair<HANDLE, uint64_t>> m_events;
| ^~~~~~~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:92:41: error: template argument 1 is invalid
92 | std::list<std::pair<HANDLE, uint64_t>> m_events;
| ^~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:92:41: error: template argument 2 is invalid
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h: In member function ‘virtual void dxvk::sync::Win32Fence::signal(uint64_t)’:
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:46:30: error: request for member ‘begin’ in ‘((dxvk::sync::Win32Fence*)this)->dxvk::sync::Win32Fence::m_events’, which is of non-class type ‘int’
46 | for (auto i = m_events.begin(); i != m_events.end(); ) {
| ^~~~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:46:53: error: request for member ‘end’ in ‘((dxvk::sync::Win32Fence*)this)->dxvk::sync::Win32Fence::m_events’, which is of non-class type ‘int’
46 | for (auto i = m_events.begin(); i != m_events.end(); ) {
| ^~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:48:11: error: ‘SetEvent’ was not declared in this scope; did you mean ‘setEvent’?
48 | SetEvent(i->first);
| ^~~~~~~~
| setEvent
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:49:24: error: request for member ‘erase’ in ‘((dxvk::sync::Win32Fence*)this)->dxvk::sync::Win32Fence::m_events’, which is of non-class type ‘int’
49 | i = m_events.erase(i);
| ^~~~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h: In member function ‘void dxvk::sync::Win32Fence::setEvent(int, uint64_t)’:
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:81:18: error: request for member ‘push_back’ in ‘((dxvk::sync::Win32Fence*)this)->dxvk::sync::Win32Fence::m_events’, which is of non-class type ‘int’
81 | m_events.push_back({ event, value });
| ^~~~~~~~~
../dxvk-1.6/src/d3d11/../util/sync/sync_signal_win32.h:83:9: error: ‘SetEvent’ was not declared in this scope; did you mean ‘setEvent’?
83 | SetEvent(event);
| ^~~~~~~~
| setEvent
winegcc: /usr/bin/x86_64-pc-linux-gnu-g++ failed
Works for me. Please give more details on what you are doing.
Is there any particular reason you are using winelib builds? I no longer test those and it's getting really annoying to support those.
I've been using that since I started with dxvk
What's the prefered method?
Building via mingw as detailed in the readme.
Thanks, looks like the issue comes from https://github.com/doitsujin/dxvk/commit/a9b6421f603db2ebf796969378fa60b85f5da2b3
I added the missing include, but note that I'll probably drop winelib support with the next release (-ish).
Ah pants, was trying to avoid having another toolchain just for this
Now I know it isn't supported I'll look into it, but I'll try and keep winelib working myself for now
Thanks, that's it building fine now
I added the missing include, but note that I'll probably drop winelib support with the next release
That is very unfortunate, mingw is a really heavy dependency.
Hi @FireBurn, I had been using DXVK-winelib too, but after using DWARF2 + LTO to compile on Mingw, my performance was better on Mingw vesus Winelib.
Not to mention that it's even better with the new GCC 9.3.0 update.
@orbea
mingw is a really heavy dependency
Yes, it gets a little heavy, around 976.5 Mb only Mingw:

But, you can use Philip's compilations:
Precompiled binaries and / or binaries compiled on different distros often are not acceptable or usable.
They are Windows builds, so they are always acceptable.
They are Windows builds, so they are always acceptable.
I don't understand what you mean? Normally distros don't ship windows binaries.
I mean they are Windows DLLs.
@ViNi-Arco do you think you could post some information on how you managed to get better performance of dxvk with dwarf2 and lto enabled? Since I couldn't see any difference in performance when building with winelib/gcc wrappers to the binaries provided here!?
Most helpful comment
I added the missing include, but note that I'll probably drop winelib support with the next release (-ish).