1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-12 13:08:50 +01:00
Commit Graph

4122 Commits

Author SHA1 Message Date
Philip Rebohle
3f16de157b
[d3d11] Avoid GPU synchronization on mapping buffers when possible 2022-02-11 18:17:35 +01:00
Philip Rebohle
c82b504e52
[d3d11] Further simplify D3D11DeferredContextMapEntry
And no longer create a strong reference to the given resource.
2022-02-11 18:17:35 +01:00
Philip Rebohle
2dcdd20517
[d3d11] Change D3D11ResourceRef constructor to be more useful 2022-02-11 18:17:35 +01:00
Philip Rebohle
0364a79eb0
[d3d11] Optimize Unmap on immediate contexts 2022-02-11 18:17:35 +01:00
Philip Rebohle
5a6711ed1d
[d3d11] Synchronize only to given sequence number in WaitForResources
Avoids costly thread synchronization when mapping staging resources
for reading, as well as some other scenarios.
2022-02-11 18:17:35 +01:00
Philip Rebohle
afe1840c74
[d3d11] Track resources when dispatching Cubin shaders as well 2022-02-11 18:17:35 +01:00
Philip Rebohle
bb16734a43
[d3d11] Implement sequence number tracking on deferred contexts 2022-02-11 18:17:35 +01:00
Philip Rebohle
2eeb7295c8
[d3d11] Increment sequence number when submitting command lists
This does not do any tracking on deferred contexts just yet.
2022-02-11 18:17:35 +01:00
Philip Rebohle
d33dac569c
[d3d11] Track last staging resource usage with a sequence number 2022-02-11 18:17:35 +01:00
Philip Rebohle
55a6b80919
[d3d11] Add method to query D3D11 resource dimension from texture 2022-02-11 18:17:35 +01:00
Philip Rebohle
d870b6ff38
[d3d11] Store ID3D11Resource interface in D3D11CommonTexture
Going full circle here, but it's actually useful now.
2022-02-11 18:17:35 +01:00
Philip Rebohle
9c32beccdc
[d3d11] Store buffer map mode in D3D11Buffer
Matches what we do for textures, and makes it so that we don't
have to dereference the resource pointer to figure this out.
2022-02-11 18:17:35 +01:00
Philip Rebohle
2db56fa160
[d3d11] Add D3D11ResourceRef
Implements private ref counting for arbitrary resource types.
2022-02-11 18:17:35 +01:00
Philip Rebohle
391c9e13ca
[d3d11] Add ResourceAddRef/ReleasePrivate with known resource type 2022-02-11 18:17:35 +01:00
Philip Rebohle
6b91b87dba
[dxvk] Reorganize DxvkBuffer data structure
Should hopefully reduce CPU cache conflicts.
2022-02-11 18:17:34 +01:00
Philip Rebohle
37f3d9208b
[dxvk] Introduce sequence numbers for CS submissions 2022-02-11 18:17:34 +01:00
Philip Rebohle
bc137fdf37
[util] Enable apitrace mode for AoE2 Definitive Edition
Fixes #2491.
2022-02-11 18:15:46 +01:00
Georg Lehmann
939040b178 [build] Avoid meson warning.
WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.

Stupid change, stupid warning, stupid fix.
2022-02-10 15:18:25 +01:00
Krzysztof Bogacki
4f3bb3df12 [build] Use MSBuild backend on Windows CI
Also merge Prepare and Build steps to prevent environment variable leaks and apply some minor formatting changes.
2022-02-09 13:29:24 +01:00
Philip Rebohle
6c862b63a2
[d3d11] Optimize UpdateSubresource for small buffer updates
Some games use UpdateSubresource to upload constant buffers in
between draws, so this path should be as fast as possible.

Also fixes a potential issue when using D3D11_COPY_NO_OVERWRITE
on deferred contexts, since the Map requirements don't hold here.
2022-02-07 16:14:02 +01:00
Philip Rebohle
b746e1352b
[d3d11] Implement suballocation from staging buffer for small updates 2022-02-07 16:14:01 +01:00
Philip Rebohle
7cf78a2c75
[d3d11] Fix confusing code in deferred context Map
This did work, but we shouldn't use an object that was already moved.
2022-02-07 16:14:01 +01:00
Philip Rebohle
e4dbd1e337
[d3d11] Remove unused parameters from deferred context Map functions 2022-02-07 16:13:58 +01:00
Krzysztof Bogacki
b5d7b42e65 [d3d11] Add D3D11On12CreateDevice stub 2022-02-07 03:21:43 +01:00
Philip Rebohle
2673d74270
[dxvk] Add version fixup for proprietary Intel drivers 2022-02-02 14:56:59 +01:00
Philip Rebohle
badc53b1bb
[dxvk] Rework driver version fixup to use driver ID instead of vendor ID 2022-02-02 14:56:55 +01:00
Georg Lehmann
58909e4582 [dxvk] Fix MSVC build. 2022-02-01 18:50:00 +00:00
Krzysztof Bogacki
c50a650b13 [build] MSVC CI 2022-02-01 18:50:00 +00:00
Robin Kertels
b220c8989b [d3d9] Only enable FETCH4 for single channel formats 2022-01-28 21:34:18 +00:00
Robin Kertels
5b39f0307e [d3d11] Add FL12+ enum names 2022-01-27 19:42:14 +01:00
Philip Rebohle
1216466be7
[meta] Release 1.9.4 2022-01-24 15:08:49 +01:00
Philip Rebohle
b4e4eca99f
[dxvk] Remove options to disable OpenVR/XR support
No longer needed since we no longer load vrclient.so into the game's
process just to query extensions.
2022-01-24 14:50:04 +01:00
Georg Lehmann
4e6db51230 [d3d9] Fix float emulation detection.
ffs
2022-01-21 16:08:00 +01:00
Georg Lehmann
14df2f7251 [d3d9] Enable strict float emulation by default for new radv. 2022-01-20 23:47:41 +00:00
Philip Rebohle
a268de51e3
[dxvk] Don't shrink HVV heap if it's the main video memory heap
May fix issues on RBAR-enabled Nvidia systems.
2022-01-16 02:47:51 +01:00
Philip Rebohle
703cc78cc0
[util] Disable NVAPI hack for God of War
Needed for DLSS support.
2022-01-14 15:21:49 +01:00
Philip Rebohle
42c06ceb51
[util] Enable performance options for God of War 2022-01-14 13:16:06 +01:00
Philip Rebohle
08c7bab431
[dxvk] Reduce maximum size of multi-slice buffers 2022-01-13 18:40:27 +01:00
Philip Rebohle
71e7faef69
[dxvk] Reduce size up to which device-local buffers can be invalidated 2022-01-13 18:39:31 +01:00
Philip Rebohle
db2e32ede6
[dxvk] Be smarter about which chunks to free
Freeing all empty chunks immediately may cause issues if an app constantly
allocates and frees a small number of resources that don't fit into any
existing chunk, so try to keep one around. Aggressively free everything
under memory pressure if necessary.
2022-01-13 18:39:31 +01:00
Philip Rebohle
15ab07ab94
[dxvk] Replace allocation priority with allocation flags 2022-01-13 18:39:31 +01:00
Philip Rebohle
d34bbdb58e
[dxvk] Free empty memory chunks 2022-01-13 18:22:44 +01:00
Philip Rebohle
e6442d64be
[dxvk] Display allocated memory in HUD again 2022-01-13 18:22:44 +01:00
Philip Rebohle
a70a35406e
[meta] Release 1.9.3 2022-01-11 13:28:28 +01:00
Georg Lehmann
f5744284eb [d3d9] Dirty FF vertex shader if any D3D9VertexDeclFlags change.
The vertex shader depends on all of these in some way.
2022-01-10 22:06:15 +00:00
Christopher Egert
b1a6cbad7f [d3d9] Update FFVS when D3DFVF_PSIZE is specified.
This fixes #2387
2022-01-10 20:05:41 +00:00
Robin Kertels
4cdee69bc9 [d3d9] Always upload all managed texture mips after AddDirtyBox call
Co-authored-by: Paul Gofman <gofmanp@gmail.com>
2022-01-10 18:55:08 +00:00
Philip Rebohle
b53c3057e1
[dxgi] Fix refresh rate filtering in FindClosestMatchingMode
We need to operate on the pre-filtered list, or otherwise we may run into
problems where not all refresh rates are supported for all display modes.
2022-01-10 14:45:19 +01:00
dosse91
55c4aba4d0 Added config for James Cameron's Avatar (DX9) 2022-01-10 14:40:53 +01:00
Joshua Ashton
14f93d7d17 [build] Update arch-mingw-github-action to v6 2022-01-10 11:44:59 +00:00