Philip Rebohle
43c27670ef
[dxvk] Fix buffer view stuff again
...
Testing fallback paths that we only ever hit in scenarios without validation
output sure is fun....
2024-09-20 02:00:50 +02:00
Philip Rebohle
dd8af9da78
[dxvk] Fix buffer view derp systems not supporting maintenance5
2024-09-20 01:25:06 +02:00
Robin Kertels
80e950ac32
[util] Fix small_vector move
...
... again. We can only move over the ptr
if the other small_vector has MORE than N
elements, otherwise it will still use the local array.
2024-09-20 01:20:25 +02:00
Robin Kertels
2f9ce66879
[util] Fix small_vector move constructor
2024-09-19 20:56:09 +02:00
Philip Rebohle
398c198df6
[dxvk] Fix BDA validation error with dedicated allocations
2024-09-19 18:32:40 +02:00
Philip Rebohle
18ecc17e59
[dxvk] Remove unused discardBuffer method
...
Unused and not safe to use.
2024-09-18 15:55:57 +02:00
Philip Rebohle
c8410e578e
[d3d11] Enable device address usage for non-mappable buffers
...
NVAPI queries the GPU address of certain resources in a way that could
break otherwise.
2024-09-18 15:55:57 +02:00
Philip Rebohle
fb552db65f
[dxvk] Do not invalidate buffers that allow querying the device address
2024-09-18 15:55:57 +02:00
Philip Rebohle
ddb59ae394
[dxvk] Add usage property to buffer views
...
And pass it to the Vulkan driver depending on maintenance5 support.
2024-09-18 15:55:57 +02:00
Philip Rebohle
ab557a2eed
[dxvk] Use global buffer whenever possible
...
Drastically reduces the number of Vulkan buffer objects allocated.
2024-09-18 15:55:57 +02:00
Philip Rebohle
901861c20b
[dxvk] Create global buffer for allocated memory chunks
2024-09-18 15:55:57 +02:00
Blisto91
11ec603540
[util] Enable cachedDynamicBuffers for Battle Mages
...
Helps CPU bound performance
2024-09-18 00:25:05 +02:00
Paul Gofman
ed9ffa6584
[dxgi] Leave fullscreen mode when window looses focus
2024-09-18 00:19:56 +02:00
Paul Gofman
758dc805bb
[dxgi] Prevent recursive fullscreen mode change.
2024-09-18 00:19:56 +02:00
WinterSnowfall
5cf0783edb
[d3d8] Clean up D3D9 shaders on D3D8 device release
2024-09-17 19:45:18 +02:00
Robin Kertels
010738c107
[d3d9] Add HUD item for FF shaders
2024-09-17 18:30:27 +02:00
WinterSnowfall
89e190b771
[d3d8] Ensure d3d9 interface release
2024-09-17 18:30:00 +02:00
WinterSnowfall
84a8ea9d4a
[d3d8] Remove some unneeded explicit ptr use
2024-09-17 18:30:00 +02:00
WinterSnowfall
9f8832dd14
[d3d8] Improve handling of failed d3d9 calls
2024-09-17 18:30:00 +02:00
Blisto91
f3fa4b102a
[meta] Note DLLs need native override in readme
2024-09-17 02:08:28 +02:00
WinterSnowfall
0a2f2275da
[d3d8] Add a framecap for Chrome: Gold Edition
2024-09-14 23:52:20 +02:00
Philip Rebohle
04cf0008a0
[dxvk] Correctly enable VK_EXT_line_rasterization
...
Oversight, and fixes a validation error.
2024-09-13 11:58:11 +02:00
WinterSnowfall
8e03b64ca4
[d3d8] Validate viewport dimensions on SetViewport
2024-09-12 16:39:40 +02:00
Robin Kertels
903f1af176
[d3d9] Fix PresentGDI
2024-09-12 15:39:21 +02:00
Kacper Michajłow
26a14c5175
[util] Fix GetEnvironmentVariableW usage
2024-09-12 00:04:49 +02:00
WinterSnowfall
3e26958906
[util] Add a framecap for Pandora Tomorrow
2024-09-12 00:02:34 +02:00
llyyr
1a1c3a4202
[d3d9,d3d11] recreate swapchain on VK_SUBOPTIMAL_KHR
...
The vulkan wayland wsi returns suboptimal when the window is
fullscreened and not directly scanned out, and there are modifiers
available that would allow the window to be directly scanned out.
Recreate the swapchain if we receive suboptimal result.
This allows us recreate the swapchain to use a modifier that allows
direct scan-out under winewayland on wayland compositors.
2024-09-11 16:38:26 +02:00
Philip Rebohle
c1a25df468
[dxvk] Fix some logic errors around sysmem chunk size
2024-09-11 15:21:03 +02:00
Philip Rebohle
565ec7e0d3
[dxvk] Remove dxvk.maxChunkSize option
2024-09-09 18:45:34 +02:00
Philip Rebohle
619b9b12c2
[dxvk] Implement dynamically growing chunk size
...
May reduce memory footprint for launchers.
2024-09-09 18:45:34 +02:00
WinterSnowfall
63506ee1ff
[util] Enable cachedDynamicBuffers for Steel Soldiers and FIFA 2003
2024-09-08 19:26:46 +02:00
WinterSnowfall
22ff53013a
[d3d8] Ignore unsupported D3DPRESENT_RATE_UNLIMITED
2024-09-08 19:25:16 +02:00
Billy Laws
9077e5212d
[util] Use cdecl calling convention for __wine_dbg_output
...
This matches wine's definition, fixes crashes when wine is built with clang.
Since __cdecl isn't defined for non-windows targets ifdef this needs all
dbg callback uses to be ifdefed out.
2024-09-07 19:44:36 +02:00
Robin Kertels
daccde7643
[d3d9] Don't set IMAGE_USAGE_SAMPLED_BIT for non-msaa depth stencil surfaces
2024-09-04 22:17:10 +00:00
Robin Kertels
7f8cfec46f
[d3d9] Always set IsAttachmentOnly for CreateOffscreenPlainSurfaceEx
...
Surfaces cannot be bound as textures.
2024-09-04 22:17:10 +00:00
Robin Kertels
1b172344eb
[d3d9] Remove redundant scene check in StretchRect
2024-09-04 22:17:10 +00:00
Robin Kertels
11efd5092e
[d3d9] Handle remaining edge cases of Discard & Lockable
2024-09-04 22:17:10 +00:00
WinterSnowfall
2c23e462b3
[d3d8] Clamp BaseVertexIndex to INT_MAX during use
2024-09-04 21:11:08 +02:00
Philip Rebohle
d0ea5a4a87
[spirv] Account for unreachable continue blocks
...
Fixes code gen in the following pattern encountered in Black Ops 3:
loop
break
endloop
We cannot eliminate the loop since we have to adhere to structured
control flow rules, which might be broken if the code inside the
loop was non-trivial.
2024-09-04 02:26:35 +02:00
Philip Rebohle
427e706a40
[util,d3d11] Be more robust against use-after-free
...
Sims 4 binds an SRV after destroying it, so we need to ensure our internal
view pointers are null or we'll create a problem otherwise.
2024-09-02 22:03:26 +02:00
Philip Rebohle
04d558cf2e
[util] Make frame rate limiter enablement heuristic more robust
...
Allow for more buffering to happen in order to not enable the limiter
too eagerly.
2024-09-02 17:50:47 +02:00
ericzlmd
38308d443e
[build] added <algorithm> header for failed subcommand fix - remove_if
2024-08-31 13:23:26 +02:00
Tiagoquix
d31b7997c0
[util] Enable cachedDynamicBuffers for APB:Reloaded
...
Fixes frametime jumps when shooting.
Discussed on the Discord server.
2024-08-30 20:27:05 +02:00
MickAlmighty
8c58bef9cf
[util] Hide Intel for Kena: Bridge of Spirits to skip faulty water rendering path.
2024-08-30 17:39:21 +02:00
Robin Kertels
a5fc08d176
[util] Disable direct buffer mapping for Max Payne 1
...
Improves performance by avoiding stalls.
2024-08-30 00:37:58 +02:00
Robin Kertels
e4fd9ff16b
[d3d11] Always keep barrier control options set by app profile
2024-08-26 23:15:32 +02:00
Robin Kertels
eb8d1885bd
[dxgi] Remove emulateUMA option
...
The option was only used for GTA IV.
It broke and we have a better solution now.
2024-08-24 19:05:44 +02:00
Robin Kertels
9a280b063a
[util] Set maxDeviceMemory for GTA IV
...
... and replace emulateUMA
2024-08-24 19:05:44 +02:00
Philip Rebohle
1c30bc92bb
[d3d11] Validate viewport parameters
...
And skip invalid calls. Fixes Senran Kagura Peach Ball.
2024-08-23 14:39:56 +02:00
Philip Rebohle
6da1ba7cff
[dxgi] Avoid reporting large VRAM amounts as a power of two
2024-08-23 01:13:10 +02:00