Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error Building DXVK 1.6 #1521

Closed
FireBurn opened this issue Mar 20, 2020 · 17 comments
Closed

Error Building DXVK 1.6 #1521

FireBurn opened this issue Mar 20, 2020 · 17 comments

Comments

@FireBurn
Copy link
Contributor

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

@doitsujin
Copy link
Owner

Works for me. Please give more details on what you are doing.

@FireBurn
Copy link
Contributor Author

build.log

@doitsujin
Copy link
Owner

Is there any particular reason you are using winelib builds? I no longer test those and it's getting really annoying to support those.

@FireBurn
Copy link
Contributor Author

I've been using that since I started with dxvk

What's the prefered method?

@doitsujin
Copy link
Owner

Building via mingw as detailed in the readme.

@FireBurn
Copy link
Contributor Author

Thanks, looks like the issue comes from a9b6421

@doitsujin
Copy link
Owner

I added the missing include, but note that I'll probably drop winelib support with the next release (-ish).

@FireBurn
Copy link
Contributor Author

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

@FireBurn
Copy link
Contributor Author

Thanks, that's it building fine now

@orbea
Copy link
Contributor

orbea commented Mar 20, 2020

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.

@ViNi-Arco
Copy link

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.

@ViNi-Arco
Copy link

@orbea
mingw is a really heavy dependency

Yes, it gets a little heavy, around 976.5 Mb only Mingw:
oie_HN6WhzEbVxh4

But, you can use Philip's compilations:

https://git.froggi.es/doitsujin/dxvk/-/jobs

@orbea
Copy link
Contributor

orbea commented Mar 20, 2020

Precompiled binaries and / or binaries compiled on different distros often are not acceptable or usable.

@Joshua-Ashton
Copy link
Collaborator

They are Windows builds, so they are always acceptable.

@orbea
Copy link
Contributor

orbea commented Mar 21, 2020

They are Windows builds, so they are always acceptable.

I don't understand what you mean? Normally distros don't ship windows binaries.

@Joshua-Ashton
Copy link
Collaborator

I mean they are Windows DLLs.

@stefson
Copy link
Contributor

stefson commented Mar 27, 2020

@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!?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants