WinterSnowfall
e40f03b96a
[d3d8] General TODO and comment cleanup
2025-01-26 13:50:41 +01:00
WinterSnowfall
088915e24c
[d3d8] Don't forward D3DRS_ZVISIBLE changes to d3d9
2025-01-26 13:50:41 +01:00
WinterSnowfall
470764e24c
[d3d8] Don't forward D3DRS_PATCHSEGMENTS changes to d3d9
2025-01-26 13:50:41 +01:00
WinterSnowfall
0983ab1f39
[d3d8] Don't forward D3DRS_LINEPATTERN changes to d3d9
2025-01-26 13:50:41 +01:00
WinterSnowfall
20b047600f
[d3d8] Disable z-buffer discarding for depth stencil surfaces
2025-01-26 13:50:41 +01:00
WinterSnowfall
b61ea1db76
[d3d8] Address the MultiSampleQuality usage
2025-01-26 13:50:41 +01:00
WinterSnowfall
4184452f49
[d3d8] Validate srcRect/destPoint dimensions in UpdateTextureFromBuffer
2025-01-26 13:50:41 +01:00
Philip Rebohle
736ee20eb5
[d3d11] Implement ID3DLowLatencyDevice
2025-01-25 18:02:20 +01:00
Philip Rebohle
4f9b106d40
[d3d11] Stub out ID3DLowLatencyDevice for D3D11
2025-01-25 18:02:20 +01:00
Philip Rebohle
86c317fbbc
[d3d11] Add ID3DLowLatencyDevice definitions
2025-01-25 18:02:20 +01:00
Philip Rebohle
59e53c1863
[d3d11] Add queue parameter to CS chunk injection
2025-01-25 18:02:20 +01:00
Philip Rebohle
539da5abdf
[dxvk] Refactor CS chunk queues
...
Introduces two queues and allows us to dispatch chunks to the ordered
queue without disrupting the sequence number.
2025-01-25 18:02:20 +01:00
Philip Rebohle
0e9efa5183
[dxvk] Implement Reflex latency tracker
2025-01-25 18:02:20 +01:00
Philip Rebohle
4b009237d7
[dxvk] Add NV_low_latency2 path to latency tracker
2025-01-25 18:02:20 +01:00
Philip Rebohle
66dc0a9383
[dxvk] Pass present IDs to command submissions as necessary
2025-01-25 18:02:20 +01:00
Philip Rebohle
4c2990f199
[dxvk] Implement NV_low_latency2 functionality in presenter
2025-01-25 18:02:20 +01:00
Philip Rebohle
c700d76477
[dxvk] Add option to disable VK_NV_low_latency2
2025-01-25 18:02:20 +01:00
Philip Rebohle
859117797f
[dxvk] Enable VK_NV_low_latency2 if supported
2025-01-25 18:02:20 +01:00
Philip Rebohle
4fcbf52752
[d3d9] Always limit to display refresh in low latency mode
2025-01-25 18:02:20 +01:00
Philip Rebohle
0e3ed707ba
[d3d9] Implement latency tracking
2025-01-25 18:02:20 +01:00
Philip Rebohle
50375ee1ee
[dxgi] Pass display refresh in windowed mode if latency sleep is enabled
2025-01-25 18:02:20 +01:00
Philip Rebohle
21f69eceaa
[d3d11] Implement latency tracking
2025-01-25 18:02:20 +01:00
Philip Rebohle
23f08eaedd
[hud] Add frame latency item
2025-01-25 18:02:20 +01:00
Philip Rebohle
2ee598b4af
[dxvk] Add latency tracker to context
2025-01-25 18:02:20 +01:00
Philip Rebohle
95b8dc59fb
[dxvk] Add latency tracker to presenter
2025-01-25 18:02:20 +01:00
Philip Rebohle
273e4abb14
[dxvk] Add latency tracker to queue submissions
2025-01-25 18:02:20 +01:00
Philip Rebohle
552470de63
[dxvk] Add latency tracker
...
Implements a basic latency sleep solution that is intended to work
without requiring games to support any related vendor features.
This alone is not enough to expose the Reflex API to applications via
dxvk-nvapi, but since that relies on NV_low_latency2 specifics anyway,
we are going to add an implementation based on that extension later
with an extended interface.
2025-01-25 18:02:20 +01:00
Philip Rebohle
55639889c7
[util] Expose frame rate environment variable
...
We'll need this in more places.
2025-01-25 18:02:20 +01:00
Philip Rebohle
53e5c4875f
[util] Add parameter to initialize small_vector with a given size
...
Matches std::vector.
2025-01-25 18:02:20 +01:00
Blisto91
b73f9d8ecb
[util] Extend Battlefield 2/2142 config to Project Reality
2025-01-22 19:56:41 +01:00
Vasiliy Stelmachenok
84ccad3528
[build] Use -mpreferred-stack-boundary=2 on 32-bit x86
...
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
2025-01-21 21:17:28 +01:00
Blisto91
a3ba8fb4dc
[util] Add configs for Star Wars Empire at War
...
In both the base game and expansion the Water and Shader Detail options are locked at their lowest value when they see Intel.
In the base game (not expansion) the AA option disappears for some reason whenit sees vram at 2075MB and above.
2025-01-20 23:01:25 +01:00
Vasiliy Stelmachenok
685126482d
[d3d11] Fix missing argument reference
...
Signed-off-by: Vasiliy Stelmachenok <ventureo@cachyos.org>
2025-01-20 22:59:54 +01:00
Philip Rebohle
863591275c
[dxvk] Error out on surface creation again
...
Unless it's NATIVE_WINDOW_IN_USE. Should fix a regression where
D3D swapchain creation would succeed on out-of-memory errors.
2025-01-20 18:20:14 +01:00
Philip Rebohle
c52a68a5be
[dxvk] Fix typo that breaks HDR metadata
2025-01-16 17:47:56 +01:00
Philip Rebohle
5ed2d990af
[d3d9] Fix software cursor texture format
...
The new code expects texture reads to be in linear space, so we need
to use an sRGB format here.
2025-01-16 12:05:17 +01:00
Philip Rebohle
3dbe8ad43c
[d3d9] Rework device reset detection
...
More robust.
2025-01-16 11:38:39 +01:00
Philip Rebohle
f9c3dd1f5f
[d3d9] Remove explicit swapchain synchronization
...
No longer necessary.
2025-01-16 11:38:39 +01:00
Philip Rebohle
c43cf6895b
[d3d9] Refactor presenter management
...
There's basically no reason to ever recreate a presenter for an already
managed window with the new code.
2025-01-16 11:38:39 +01:00
Philip Rebohle
785649f3b8
[d3d11] Remove explicit swapchain synchronization
2025-01-16 11:38:39 +01:00
Philip Rebohle
42adc4ac11
[dxvk] Perform acquire and present synchronization in the backend
...
And add method to explicitly destroy relevant Vulkan objects.
2025-01-16 11:38:39 +01:00
Philip Rebohle
b03ff775ce
[dxvk] Do not initialize present status from presentImage
...
Meaningless, this needs to be done elsewhere anyway.
2025-01-16 11:38:39 +01:00
Philip Rebohle
81c3242b6d
[dxvk] Dirty swapchain if present returns SUBOPTIMAL
...
May fix some issues in case the WSI implementation can return SUBOPTIMAL
from present but not acquire. Also ensure to keep state consistent.
2025-01-16 11:38:39 +01:00
Philip Rebohle
816f8e9c87
[dxvk] Improve swapchain debug logging
2025-01-16 11:38:39 +01:00
Philip Rebohle
0f9245ff33
[d3d9,d3d11] Remove numBackBuffers option
...
Useless.
2025-01-16 11:38:39 +01:00
Philip Rebohle
cb42ea21be
[dxvk] Adjust swapchain format preferences in various cases
...
For sRGB, using a native sRGB format allows the swapchain blitter
to use a more efficient code path for drawing the HUD.
Also allow RGB9E5 for sRGB and HDR10.
2025-01-16 11:38:39 +01:00
Philip Rebohle
d200184306
[dxvk] Rework swapchain composition
...
Also adds a separate set of shaders for the software cursor, provided it
can be drawn directly with alpha blending.
2025-01-16 11:38:39 +01:00
Philip Rebohle
a09d372caf
[dxvk] Prepare swapchain blitter for compositing HUD and cursor
...
This will be necessary for non-linear color spaces to get proper blending.
2025-01-16 11:38:39 +01:00
Philip Rebohle
8be30d7d5a
[hud] Add method to check whether HUD is empty
2025-01-16 11:38:39 +01:00
Philip Rebohle
5134a4b3c5
[dxvk] Move HUD update and rendering into swapchain blitter
2025-01-16 11:38:39 +01:00