Philip Rebohle
3c38bdbd0e
[dxvk] Initialize DxvkSubmitInfo properly
...
We don't use the semaphore value here, but it shouldn't
contain undefined data.
2022-08-22 02:00:10 +02:00
Philip Rebohle
f385b4bb47
[dxvk] Use global timeline semaphore for command list synchronization
...
Replaces the old fence mechanism and also makes it easier to
synchronize across queues.
2022-08-22 00:40:07 +02:00
Philip Rebohle
cff9056915
[dxvk] Always enable timeline semaphore feature
2022-08-22 00:40:07 +02:00
Philip Rebohle
11ef1084d0
[dxvk] Rename semaphore stuff in command list code
2022-08-22 00:08:42 +02:00
Philip Rebohle
23c3960f65
[dxvk] Store WSI semaphore pair directly with the command list
2022-08-22 00:07:15 +02:00
Philip Rebohle
85aa0a0ecb
[dxvk] Fix meson issue for native builds
2022-08-21 23:22:43 +02:00
Philip Rebohle
9feed43abf
[meta] Add README entry about submodules
2022-08-21 22:54:21 +02:00
Philip Rebohle
c1448d31fa
[meta] Use SPIRV-Headers repository as a submodule
2022-08-21 22:54:21 +02:00
Philip Rebohle
aa554f1166
[meta] Use Vulkan-Headers repository as a submodule
2022-08-21 22:54:21 +02:00
Joshua Ashton
c258eb05d2
[build] Enable building natively for non-Windows
...
Yipee 🥳 🎉
RIP DXVK Native
2022-08-21 22:37:13 +02:00
Joshua Ashton
9dad1aadbe
[build] Set SDL2 WSI env vars and defines on native builds
2022-08-21 22:37:13 +02:00
Joshua Ashton
801d97806d
[d3d11] Stub out OpenSharedResourceGeneric on non-Windows
2022-08-21 22:37:13 +02:00
Joshua Ashton
be33ccbce9
[dxgi] Revert 538b132490
...
This breaks things for 32-bit, but it really shouldn't. My hypothesis currently is that the .lib generated is bogus, but the exports in the actual DLL are correct.
2022-08-21 20:28:40 +00:00
Joshua Ashton
a4261ddd14
[dxgi] Use high_resolution_clock get_counter instead of QPC for SyncQPCTime
...
Abstracts this across platforms
2022-08-21 22:24:06 +02:00
Joshua Ashton
9610e29a65
[util] Implement get_frequency + get_counter on non-Windows platforms
2022-08-21 22:24:06 +02:00
Joshua Ashton
8921f62539
[util] Rename getFrequency, getCounter -> get_frequency, get_counter
...
To be consistent with STL naming conventions
2022-08-21 22:24:06 +02:00
Joshie
1c1dba4624
[util] Implement thread set_priority on non-Windows platforms
2022-08-21 22:17:33 +02:00
Joshua Ashton
97350d6c35
[dxvk] Support for SDL2 WSI
2022-08-21 22:07:18 +02:00
Joshua Ashton
5787d9ee04
[dxvk] Check platform before building openvr + openxr cpps
2022-08-21 22:07:18 +02:00
Joshua Ashton
e6fb3e1509
[wsi] Add SDL2 implementation
2022-08-21 22:07:18 +02:00
Joshua Ashton
191d54e210
[build] Don't build D3D10 on non-Windows platforms
...
Not supported due to d3dcompiler schenanigans
2022-08-21 22:03:45 +02:00
Joshua Ashton
baba2e3c09
[d3d11] Use dxgi_dep instead of lib_dxgi
...
Fixes building on native.
2022-08-21 22:03:45 +02:00
Joshua Ashton
baa88d8cf1
[d3d11] Don't check for apitrace on non-Windows platforms
2022-08-21 22:03:45 +02:00
Joshua Ashton
a5db9d22f1
[dxvk] Disable VrInstance and DxvkXrProvider on native builds
...
If/when we want to support VR on native builds, we can deal with that then.
2022-08-21 22:03:45 +02:00
Joshua Ashton
8b7e0bc2fd
[dxgi] Include win32 compat headers where applicable
2022-08-21 21:40:55 +02:00
Joshua Ashton
968bdccbef
[d3d9] Include win32 compat headers where applicable
2022-08-21 21:40:55 +02:00
Joshua Ashton
a554a6d60d
[d3d11] Include win32 compat headers where applicable
2022-08-21 21:40:55 +02:00
Joshua Ashton
ba8868be24
[util] Add win32 compat header
...
Header of misc. stubs and re-implementations.
2022-08-21 21:40:55 +02:00
Joshua Ashton
ad386305ff
[d3d9] Correct DLLEXPORT for native builds
2022-08-21 21:36:50 +02:00
Joshua Ashton
f0f4258be3
[dxgi] Correct DLLEXPORT for native builds
2022-08-21 21:36:50 +02:00
Joshua Ashton
538b132490
[dxgi] Don't declspec dllexport on MinGW builds
...
Fixes ordinal exporting on MinGW on 32-bit builds.
Mirrors this D3D9 commit here: 904d3e6c90
2022-08-21 21:36:50 +02:00
Joshua Ashton
4a113c39d3
[d3d11] Remove compat definitions for older MinGW
...
These conflict with native builds, and have existed for a long time now.
2022-08-21 21:35:24 +02:00
Joshua Ashton
fad6f764ea
[dxgi] Remove unused DEVMODE variable
2022-08-21 21:35:09 +02:00
Joshua Ashton
e51c196ee9
[dxgi] Remove MonitorEnumProc and MonitorEnumInfo
...
Not used anymore, replaced by WSI abstraction.
2022-08-21 21:35:09 +02:00
Joshua Ashton
915ec4acc2
[dxvk] Remove WIN32 check for handle type in DxvkSharedHandleInfo
...
The initial implementation if-deffed this, but it doesn't need to be.
2022-08-21 21:34:39 +02:00
Joshua Ashton
38cd2f7290
[dxvk] Remove WIN32 check for handle type in DxvkFenceCreateInfo
...
On other platforms we always have a HANDLE and will return through a HANDLE anyway.
When we implement this on Linux, we can just add an `int fd` to the union and it can use that, and return it out as a HANDLE.
2022-08-21 21:34:39 +02:00
Joshua Ashton
0e4e9355cb
[d3d9] Ifdef out code for enumerating adapters by attached displays
2022-08-21 19:29:05 +00:00
Joshua Ashton
bf99127ee3
[d3d9] Stub out cursor code on non-Windows platforms
2022-08-21 19:29:05 +00:00
Joshua Ashton
c6c8acb000
[d3d9] Use wsi's isWindow in LeaveFullscreenMode
2022-08-21 19:29:05 +00:00
Joshua Ashton
5f9df1f6e3
[d3d9] Remove leftover GetWindowRect
...
This is already done for us.
2022-08-21 19:29:05 +00:00
Joshua Ashton
1c679edbfb
[d3d9] Use topath helpers in shader code
2022-08-21 21:28:04 +02:00
Joshua Ashton
0a203095d6
[d3d11] Use topath helper in shader code
2022-08-21 21:28:04 +02:00
Joshua Ashton
9d64982b23
[dxvk] Use path_string for getCacheFileName
2022-08-21 21:28:04 +02:00
Joshua Ashton
9509ec1144
[util] Define platform path_string type
2022-08-21 21:28:04 +02:00
Joshua Ashton
eda3ba6372
[vulkan] Toss obsolete fullscreen exclusive hack
...
Wine never had support for VK_EXT_exclusive_fullscreen and Proton since dropped support for it now that Doom External does not require it.
2022-08-21 21:26:28 +02:00
Joshua Ashton
5c2a748d96
[util] Rename always_inline to force_inline
...
This conflicts with other libraries using the always_inline attribute in GCC as it defines it with the same name.
2022-08-21 21:25:54 +02:00
Joshua Ashton
0dc3200951
[vulkan] Re-enable VK_USE_PLATFORM_WIN32_KHR everywhere
...
My initial idea was to if-def out the other extensions, but that's messy, so we just provide the needed types in the native headers now.
2022-08-21 19:31:33 +01:00
Joshua Ashton
91a5123ad0
[native] Add SDL2 native headers
...
Not included by DXVK at all, but used by external applications.
2022-08-21 19:31:33 +01:00
Joshua Ashton
e969f49cee
[native] Add DirectX headers submodule
...
Adds DirectX headers for use when building DXVK
natively for Linux.
These use the substitute Windows headers I made.
These are a minimal set of DirectX specific headers that are compatible with the substitute Windows headers I made.
For any license concerns please see the README in the submodule.
2022-08-21 19:31:33 +01:00
Joshua Ashton
92698be09a
[native] Add substitute Windows headers
...
Adds substutite Windows headers for use when building DXVK
natively for Linux.
The main one being windows_base.h which has all of the definitions.
It supports stuff like __uuidof using some template nonsense too.
2022-08-21 19:31:33 +01:00