Commit Graph

4968 Commits

Author SHA1 Message Date
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
Philip Rebohle 1c35fbb33c [util] Fix strlcpy compiler warning 2022-08-21 01:48:29 +01:00
Kassin Dornelles f80347d9a9 [util] Remove RE:REV2 and RE5 workarounds
There's no real impact, it doesn't fix stuttering (for non-GPL drivers) and since GPL got merged this is not needed anymore
2022-08-21 01:52:39 +02:00
Joshua Ashton 16ff9b48cd [dxgi] Enumerate interlaced modes if requested 2022-08-20 20:27:07 +02:00
Joshua Ashton af802fbff8 [util] Delete util_monitor
No longer used, replaced by new wsi interface
2022-08-20 20:27:07 +02:00
Joshua Ashton f3992658a4 [d3d9] Remove unused util_monitor include 2022-08-20 20:27:07 +02:00
Joshua Ashton 69eba93764 [d3d9] Make window proc code use new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 9690b2a9e4 [d3d9] Make adapter code use new wsi abstraction 2022-08-20 20:27:07 +02:00
Joshua Ashton dac7e38f4b [d3d9] Make swapchain use new wsi abstraction 2022-08-20 20:27:07 +02:00
Joshua Ashton 654b517057 [d3d9] Add helpers for new WSI interface 2022-08-20 20:27:07 +02:00
Joshua Ashton bc8e75fdfa [dxgi] Make adapter code use new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 59b943cf12 [dxgi] Remove unused util_monitor include 2022-08-20 20:27:07 +02:00
Joshua Ashton 21744198e0 [dxgi] Make swapchain use new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton e13a9f9cf6 [dxgi] Make output code use new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 71a630801e [dxgi] Add helpers for new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 9f9c93dcbd [d3d11] Use new wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 4f80ffd830 [vulkan] Use surface creation from wsi interface 2022-08-20 20:27:07 +02:00
Joshua Ashton 86b603b8f9 [dxvk] Link against new wsi lib 2022-08-20 20:27:07 +02:00
Joshua Ashton 4b0f13d351 [build] Set dxvk_wsi and defines for Windows 2022-08-20 20:27:07 +02:00
Joshua Ashton b875d49c85 [wsi] Move DxvkWindowState to wsi platform header 2022-08-20 20:27:07 +02:00
Joshua Ashton efa6523e3e [wsi] Implement wsi interface for Windows 2022-08-20 20:27:07 +02:00
Joshua Ashton 050e5b327c [wsi] Define wsi interface 2022-08-20 20:27:07 +02:00
Philip Rebohle 76ee76d6da [d3d9,dxso] Use DemoteToHelperInvocation for alpha test
May enable additional compiler optimizations.
2022-08-19 14:49:18 +00:00
Philip Rebohle 2d92679cd1 [dxso] Remove fallback path for discards 2022-08-19 13:36:54 +00:00
Philip Rebohle 165648017e [dxbc] Remove fallback path for discards 2022-08-19 13:36:54 +00:00
Philip Rebohle ea4e0bc470 [d3d9,d3d11] Require shaderDemoteToHelperInvocation feature 2022-08-19 13:36:54 +00:00
Georg Lehmann 155944c2b4 [dxso] normalize 0 to 0 with strict float emulation 2022-08-19 13:36:14 +00:00
Philip Rebohle 85cc87e42a
[d3d9] Fix invalid shader in fixed-function alpha test 2022-08-18 17:08:59 +02:00
Philip Rebohle 658d824ddd
[d3d11] Silence log spam for invalid image operations 2022-08-18 14:48:29 +02:00
Philip Rebohle 4869b0defa
[dxvk] Fix race condition requestCompileShader 2022-08-18 02:57:45 +02:00
Philip Rebohle a695644fea [d3d9] Remove alphaTestWiggleRoom option 2022-08-18 00:10:39 +02:00