Robin Kertels
9cde0b5798
[d3d9] Fix off-by-one when copying shader defined constants
2023-12-25 14:51:02 +00:00
Blisto91
adb33d3af1
[util] Hide Intel in Far Cry 3, 4 and Primal
...
Also unhides Nvidia in Primal as it has the same clear value rounding assumptions as Far Cry 3 and 4
2023-12-23 09:23:27 +01:00
Philip Rebohle
1b31aa5dbc
[util] Enable hideIntegratedGraphics for Metro Exodus EE
2023-12-01 14:14:36 +01:00
Philip Rebohle
03c09ce15f
[dxvk] Add option to skip integrated GPU adapters
2023-12-01 14:14:13 +01:00
Blisto91
91f7f43c35
[util] Don't spoof Nvidia on AMD GPUs in Hitman 3
...
Spoofing to Nvidia prevents ray tracing enablement on AMD and the game does not crash without ags anymore
2023-11-18 12:18:08 +01:00
Robin Kertels
d998dee46e
[d3d11] Lock context in KeyedMutex::ReleaseSync
...
Co-authored-by: Yuxuan Shui <yshuiv7@gmail.com>
2023-11-16 15:43:07 +01:00
Philip Rebohle
ea3149801f
[d3d9] Return empty buffer slice for out-of-bounds offsets
...
Fixes #3715 .
2023-11-14 10:54:54 -08:00
xpander69
1cb58b0732
[Util] two more executables to workaround Warhammer Online
...
Test server executables need the same VendorID to work around the rendering issues.
2023-11-14 12:23:50 +01:00
Philip Rebohle
2ed1778df9
[d3d11] Handle potential integer overflow when validating draw offsets
...
Apparently some games use -1 as an argument offset, which is nonsensical
and leads to issues.
2023-11-02 17:49:38 +01:00
Philip Rebohle
a427d22cde
[dxvk] Add Vulkan instance flag for D3D9 apps
2023-10-31 16:05:58 +01:00
Joshua Ashton
22c2abb9b7
[dxgi] Treat R16G16B16A16_FLOAT as 32bpp for display
...
HDR in Control (a patch released by a developer post-launch, not
actually in the game sadly) tries to set a video mode with
DXGI_FORMAT_R16G16B16A16_FLOAT.
This seemingly works on Windows, and based on FindClosestMode etc
documentaton, this seems required to work for any format that scanout
it supported for.
It's really not like the bpp is meaningful on Windows with the
distinction of 8bit and 10bit not working in GDI modes at all.
Nor does it end up actually setting anything on Linux/Deck where
modesets are emulated.
So, treat DXGI_FORMAT_R16G16B16A16_FLOAT as 32bpp so the
FindClosestMatchingMode and EnterFullscreenMode calls succeed.
2023-10-29 10:09:34 +01:00
Blisto91
f45911a28f
[util] Disable allowDirectBufferMapping for SkyDrift
...
Works around a alt tab OOM crash
2023-10-23 14:52:44 +02:00
Blisto91
e00db24557
[util] Enable useMonitorFallback for Holocure
...
Temporary performance drop workaround until QueryDisplayConfig optimization is in Proton Wine.
2023-10-10 19:32:23 +02:00
Paul Gofman
552d2f0a6d
[dxgi] Add useMonitorFallback option
...
And enable it for CP2077.
It is supposed to be dropped once QueryDisplayConfig optimization
is in Proton Wine.
2023-10-10 12:01:51 +02:00
WinterSnowfall
4d974685c9
[d3d9] Mark presenter for recreation on device reset with deferSurfaceCreation
2023-10-06 14:05:39 +02:00
Blisto91
f0ff0007dc
[util] Enable cachedDynamicBuffers for Battlestations Midway
...
Helps performance dips that can happen in some areas
2023-10-06 14:05:04 +02:00
Robin Kertels
494f7fd38d
[d3d9] Only set initial NeedsUpload for D3DPOOL_MANAGED textures
2023-09-19 13:25:12 -07:00
WinterSnowfall
0632da1935
[d3d9] Add a device compatibility mode for d3d8
2023-09-19 09:19:55 -07:00
Philip Rebohle
83dc4678df
[util] Set maximum frame latency to 1 for Age of Empires 2 (2013)
...
Game seems to be doing something horrible on its own, literally impossible
to make it run smoothly. This at least seems to limit excursions to ±10ms
and fix the camera flinging back and forth when running the game through
Gamescope.
2023-09-14 16:50:30 +02:00
Paul Gofman
f93cfbc26a
[d3d11] Pass device directly to D3D11DXGIKeyedMutex
2023-09-13 14:29:25 -07:00
Philip Rebohle
c113b791a1
[util] Enable 60 FPS lock for Aviary Attorney
...
This game (or nw.js) comes with a hard-coded frame rate limit that
behaves more like a random number generator which happens to average
out at around 16ms on a good day.
Fix this complete mess by enabling ours on top of that.
2023-09-08 03:04:02 +02:00
Ellie Hermaszewska
41191af3b1
A few more WinDef types in windows_base.h
...
These specific ones are used in MS's d3dx12 headers
2023-09-07 16:31:32 +02:00
Philip Rebohle
5828f0e2b9
Revert "[dxgi] Use VK_FORMAT_A8_UNORM if available"
...
This reverts commit 6a5ed02db3
.
Native A8 breaks Crysis 2/3 Remastered for unknown reasons.
2023-09-07 03:58:39 +02:00
Philip Rebohle
80e075406b
[meta] Release 2.3
2023-09-04 17:59:12 +02:00
Margen67
a53f0e8168
[util] Remove whitespace
2023-09-04 03:10:49 +02:00
Margen67
4705de5725
[util] Escape .
2023-09-04 03:10:49 +02:00
Robin Kertels
9e26964a96
[d3d9] Divide projected textures by w if ProjectedCount is 0
2023-09-03 18:08:47 -07:00
Blisto91
ce2f9f35ce
[util] Hide AMD in Riders Republic
...
Works around crashing because of statically linked amd ags
2023-09-01 00:21:16 +02:00
Philip Rebohle
a3fa9c26dc
Revert "[d3d11] Implement DXGI_SWAP_EFFECT_SEQUENTIAL and FLIP_SEQUENTIAL"
...
This reverts commit 79f6239df3
.
Some engines use SEQUENTIAL presentation despite not making use of it, and
sparse binding is much slower than expected on Nvidia drivers, which leads
to massive performance regressions across the board.
2023-09-01 00:15:09 +02:00
Joshua Ashton
ff5507769a
[wsi] Add proper values for SDR metadata fallbacks
2023-08-31 22:54:02 +01:00
WinterSnowfall
5c56fa0df4
[util] Enable deferSurfaceCreation for Drakensang
2023-08-30 18:02:02 +02:00
Tatsuyuki Ishi
7e10021eac
Remove unused DxvkResource::waitIdle
...
Spinning-based wait idle is no longer used.
2023-08-29 11:05:42 +02:00
Joshua Ashton
bbd1d84cd0
[dxgi] Set BitsPerColor to 10
...
For two reasons:
1) Some apps will only enable or attempt to enable HDR if BitsPerColor is >= 10.
2) Encouraging apps to create 10-bit swapchains for use in hardware dithering on Gamescope/Steam Deck and to have more precision thru scanout color transforms
2023-08-26 01:43:42 -07:00
Jens Peters
02db89ac30
[dxgi] Allow HDR on UE4/D3D11 when NVAPI is enabled
2023-08-24 21:21:29 -07:00
Philip Rebohle
92dc61f161
[d3d11] Fix up UAV clears for A8_UNORM
2023-08-24 13:12:07 +02:00
Philip Rebohle
6a5ed02db3
[dxgi] Use VK_FORMAT_A8_UNORM if available
2023-08-24 13:12:07 +02:00
Philip Rebohle
64828e2c6c
[dxvk] Use vkCmdBindIndexBuffer2 if supported
2023-08-24 13:12:07 +02:00
Philip Rebohle
a4f2a49a02
[dxvk] Add description for new image formats
2023-08-24 13:12:07 +02:00
Philip Rebohle
aa41a7a351
[dxvk] Enable VK_KHR_maintenance5 if available.
2023-08-24 13:12:07 +02:00
Philip Rebohle
fb71c08d8c
[include] Update Vulkan headers.
2023-08-24 13:12:07 +02:00
Philip Rebohle
79f6239df3
[d3d11] Implement DXGI_SWAP_EFFECT_SEQUENTIAL and FLIP_SEQUENTIAL
...
Requires sparse since we have no other means to swap the backing image.
2023-08-24 13:00:35 +02:00
Philip Rebohle
53a68635b2
[dxvk] Optimize page table updates for images
...
Dramatically reduces overhead when binding full subresources.
2023-08-24 13:00:35 +02:00
Philip Rebohle
179c5ec998
[dxvk] Sort allocated memory pages for sparse allocator
...
This way, memory regions bound to consecutive pages are more likely
to end up in consecutive memory regions, which allows batching page
table updates more efficiently.
2023-08-24 13:00:35 +02:00
Philip Rebohle
d6e0107e23
[dxvk] Ensure to submit sparse binding commands
2023-08-24 13:00:35 +02:00
Joshua Ashton
428ca9416d
[d3d11] Implement synchronization on keyed mutexes
...
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2023-08-23 16:50:52 +02:00
Joshua Ashton
c26f40229a
[vulkan] Query wine_vk{Acquire,Release}KeyedMutex
...
Non-standard functions, but exposed by winevulkan to support keyed mutexes.
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2023-08-23 16:50:52 +02:00
Joshua Ashton
8226690298
[dxvk] Enable VK_KHR_win32_keyed_mutex
...
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2023-08-23 16:50:52 +02:00
Joshua Ashton
138f727fbb
[native] Add WAIT_* defines
2023-08-23 16:50:52 +02:00
Philip Rebohle
c2cd129b89
[dxvk] Fix xfb counter buffer draw tracking
2023-08-23 13:44:35 +02:00
Philip Rebohle
915244c00c
[d3d11] Fix various D3D10 interface queries
2023-08-23 01:06:04 +02:00