1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-22 16:54:27 +01:00

6572 Commits

Author SHA1 Message Date
Philip Rebohle
10ca8d3ef5 [d3d11] Ignore explicit flush if there are unresolved render targets
Cursed perf hack for some Unity Engine games.
2025-02-10 22:27:37 +01:00
Philip Rebohle
e31c84640d [d3d11] Flush more around non-multisampled render passes 2025-02-10 22:09:36 +01:00
Philip Rebohle
e820c23216 [util] Add new flush type for render pass boundaries 2025-02-10 22:09:04 +01:00
Philip Rebohle
86f8774db8 [dxvk] Don't use secondary command buffers for certain render passes
If we can't use any store/resolve op optimizations on a render pass, there
is no reason to pay for the overhead of secondary command buffers.
2025-02-10 21:34:34 +01:00
Philip Rebohle
a359e5a9a4 [dxvk] Add context flag for active secondary command buffers
Makes some checks more explicit.
2025-02-10 21:34:14 +01:00
Philip Rebohle
d6f4e83777 [dxvk] Add perf hint to avoid secondary command buffers 2025-02-10 21:12:09 +01:00
Philip Rebohle
ac17d5f9b1 [dxvk] Enable tiler mode for more drivers 2025-02-10 18:36:01 +01:00
Philip Rebohle
11ec65d516 [include] Update Vulkan headers 2025-02-10 17:44:36 +01:00
Neal Gompa
4d3b35ae53 meson: Fix version construct by dropping the "v" prefix
The "v" prefix was causing the version to be incorrectly set for
generated files (such as pc files for pkg-config).

Dropping the prefix fixes the issue.
2025-02-10 16:38:03 +01:00
Philip Rebohle
3aeedb9c98 [d3d11] Forward DiscardResource calls to backend for images 2025-02-10 16:13:31 +01:00
Philip Rebohle
9b5499caf2 [dxvk] Ignore deferred discards that we can't fold into load ops 2025-02-10 16:13:31 +01:00
Philip Rebohle
fcabffc1e5 [dxvk] Add store op optimization for image discards in tiler mode 2025-02-10 16:13:31 +01:00
Philip Rebohle
821386aeff [dxvk] Add config option to toggle tiler optimizations 2025-02-10 16:13:31 +01:00
Philip Rebohle
fa2d791d79 [dxvk] Use resolve attachments if possible 2025-02-10 16:13:31 +01:00
Philip Rebohle
80fb7e2294 [d3d9,d3d11] Adjust flush heuristic on tiling GPUs
Probably needs work, just disable most of the heuristic for the time being.
2025-02-10 16:13:31 +01:00
Philip Rebohle
00299b264b [dxvk] Use secondary command buffers for rendering on tiling GPUs 2025-02-10 16:13:31 +01:00
Philip Rebohle
4a92b92f58 [dxvk] Add perf hint for tiling GPUs 2025-02-10 16:13:31 +01:00
Philip Rebohle
6c1bc35264 [dxvk] Add functionality to use secondary command buffers 2025-02-10 16:13:31 +01:00
Philip Rebohle
7d35afdc37 [dxvk] Add functionality to allocate secondary command buffer 2025-02-10 16:13:31 +01:00
Philip Rebohle
f615594f22 [dxgi] Create dummy window for composition swap chains
Obviously not a valid implementation, but allows composition swap chains
to exist with some basic functionality.
2025-02-10 14:23:12 +01:00
Philip Rebohle
76f9bec7cc [dxgi] Add option to expose composition swapchains 2025-02-10 14:14:38 +01:00
WinterSnowfall
0a19e5b6db [d3d8] Store the value of D3DRS_ZVISIBLE 2025-02-10 11:25:40 +01:00
WinterSnowfall
946419cda2 [d3d8] Fix invalid casting in GetRenderState 2025-02-10 11:25:40 +01:00
WinterSnowfall
13554f18bd [d3d9] Update software cursor position using SetCursorPosition 2025-02-08 22:28:48 +01:00
Blisto91
54a26dde3d [util] Disable dcSingleUseMode for Cardfight!! Vanguard Dear Days 2 2025-02-07 19:53:45 +01:00
Philip Rebohle
357484bd4b [d3d11] Don't call Flush from swap chain code
Use internal function instead.
2025-02-06 23:26:05 +01:00
Philip Rebohle
9664e0b850 [dxvk] Fix potential race conditions w.r.t. swapchain destruction
The signaling thread can queue up a wait while the swapchain is being
destroyed, which blows up. This also fixes a related race condition
where we would queue up a wait using the wrong present mode.

This is somewhat fragile in the sense that the queue worker *must* call
signalFrame for each and every present, or this will fall apart.
2025-02-06 20:25:32 +01:00
Philip Rebohle
e5a81f8c7e [dxvk] Don't probe buffer compatibility on image-only memory types
Silences a validation error.
2025-02-06 15:29:24 +01:00
Philip Rebohle
215cebc019 [dxvk] Remove superfluous function declaration 2025-02-06 14:29:19 +01:00
Philip Rebohle
a413eb0843 [dxvk] Only end render pass in invalidateImage if currently bound
Not really needed otherwise.
2025-02-05 22:49:25 +01:00
Philip Rebohle
0434b23167 [dxvk] Fix initializing buffers with non-dword sizes
Fixes #4641. This should be very rare in general though.
2025-02-05 18:36:01 +01:00
Philip Rebohle
cf946eb981 [dxvk] Add setupapi as a Windows WSI dependency 2025-02-02 21:22:19 +01:00
Philip Rebohle
3a34dae722 [dxvk] Work around locale-dependent regex parsing crash 2025-02-02 21:21:58 +01:00
WinterSnowfall
bd69d1efdc [d3d8/9] Use shader version macros where applicable 2025-02-02 18:17:10 +01:00
WinterSnowfall
e3f1d4c021 [d3d8] Fix up swizzle for all opcodes requiring a replicate swizzle 2025-02-02 18:17:10 +01:00
Philip Rebohle
5569274a97 [d3d9] Do not assume 16-byte alignment in replaceNaN
Stack alignment is 4 bytes on 32-bit, and we cannot align variables
on the stack, so this is technically broken.
2025-02-02 10:50:33 +01:00
WinterSnowfall
dd5b28e557 [d3d8] Use D3D8 compatibilty mode to set HUD API level 2025-02-02 10:47:32 +01:00
HunterCZ122
8860bde34b [util] Fix black screen after alt-tab for Trainz 2025-01-31 22:47:37 +01:00
Blisto91
8776cf2ce6 [util] Cleanup some deviceLossOnFocusLoss configs
These game work fine out of the box now
missed
2025-01-30 18:22:18 +01:00
Autumn Ashton
0cad97d5ec [util] Add scaleDref to SplinterCell2 2025-01-30 02:58:15 +00:00
Jeff
06bdc88eb6 [d3d8] Restore config for Splinter Cell 2025-01-30 01:59:22 +00:00
WinterSnowfall
1d90772eb2 [d3d9] Report vertex texture filtering support only for SM3 2025-01-27 18:53:10 +01:00
VPInventions
3d35925a05 Assign viewInfo.minLayer for D3D11VideoProcessorInputView 2025-01-27 18:48:46 +01:00
WinterSnowfall
5b21286377 [d3d9] Adjust SM2 VS/PS caps 2025-01-26 21:52:18 +01:00
WinterSnowfall
ad0920fe1e [d3d9] Relax SM2 minor version checks on shader creation 2025-01-26 20:02:45 +01:00
WinterSnowfall
c6dc7e0939 [d3d8/9] Proper (and age accurate) handling of d3d9.shaderModel = 0 2025-01-26 13:56:27 +01:00
WinterSnowfall
48d24893d4 [d3d8] Clean up and document D3D8-specific caps 2025-01-26 13:50:41 +01:00
WinterSnowfall
753c11d144 [d3d8] Implement SCRATCH pool copies with CopyRects 2025-01-26 13:50:41 +01:00
WinterSnowfall
7482e45534 [d3d8] Remove several empty explicit destructors 2025-01-26 13:50:41 +01:00
WinterSnowfall
e757170211 [d3d8] Remove superfluous methods from D3D8Surface 2025-01-26 13:50:41 +01:00