Commit Graph

4106 Commits

Author SHA1 Message Date
Philip Rebohle 23eead9e99
[meta] Release 1.10 2022-03-04 17:15:51 +01:00
Philip Rebohle b774d4dbea
[meta] Update README 2022-03-04 16:32:33 +01:00
Oschowa bb178baaf1 [util] Enable cached vertex and index buffers for The Evil Within
Large performance win.
2022-03-04 02:19:17 +01:00
Philip Rebohle f14bccc8c3
[util] Use CPU-cached constant buffers for Anno 1800
Sigh.
2022-03-03 17:33:14 +01:00
Philip Rebohle 1b196c24a4
[dxvk] Invalidate buffer in clearBuffer if possible 2022-03-01 21:39:35 +01:00
Philip Rebohle 4c0df63e2d
[meta] Update example configuration file 2022-02-28 23:39:55 +01:00
Philip Rebohle 5822a8de9f
[util] Enable cached vertex and index buffers for FFXIV
Fixes some weird performance issues on the Garlemald map. Doesn't seem
to affect performance in other areas.
2022-02-28 23:33:27 +01:00
Philip Rebohle 2bceeff5f2
[d3d11] Replace apitrace mode option with something more granular
And enable it only for vertex and index buffers in Nier Replicant.
2022-02-28 22:44:10 +01:00
Robin Kertels b42c07253e [d3d9] Fix sysmem readback 2022-02-24 07:49:55 +00:00
Robin Kertels a81c653b42 [d3d9] Fix synchronization after readback 2022-02-22 21:49:28 +00:00
Philip Rebohle a37cd46491
[util] Set maxDynamicImageBufferSize for Total War: Warhammer III
Massively increases performance since the game otherwise keeps
uploading a huge 48 MiB texture in every frame.
2022-02-22 05:48:25 +01:00
Philip Rebohle 603828951c
[meta] Update example config file 2022-02-22 05:32:16 +01:00
Philip Rebohle dbd4dad095
[d3d11] Introduce d3d11.maxDynamicImageBufferSize option 2022-02-22 05:31:27 +01:00
Philip Rebohle 33cf522647
[d3d11] Use appropriate memory types for directly mapped images 2022-02-22 05:31:20 +01:00
Philip Rebohle 177e70949c
[d3d11] Apply apitrace mode to image upload buffers 2022-02-22 01:30:43 +01:00
Robin Kertels 29d8812709 [d3d9] Don't set NeedsReadback for POOL_SYSMEM textures
... or in SetRenderTarget because we always do readback for render targets.
2022-02-21 13:43:04 +00:00
Robin Kertels b163a99bde [d3d9] Clean up texture locking
We had two code paths that largely did the same.
2022-02-21 00:08:41 +00:00
Robin Kertels dde83717f1 [d3d9] Rename WrittenByGPU to NeedsReadback 2022-02-21 00:08:41 +00:00
Robin Kertels 40444c1f50 [d3d9] Unify texture uploads 2022-02-21 00:08:41 +00:00
Robin Kertels 8b9db26536 [util] Add computeMipLevelOffset 2022-02-21 00:08:41 +00:00
Philip Rebohle 22b8d7a4d3
[tests] Allow includes when compiling HLSL shaders 2022-02-20 21:37:09 +01:00
Philip Rebohle 49e5357a87
[hud] Greatly simplify frame time graph rendering 2022-02-20 15:58:29 +01:00
Philip Rebohle 0709c5f5c7
[hud] Greatly simplify text rendering in the HUD 2022-02-20 15:58:29 +01:00
Philip Rebohle 8ce83cabca
[dxvk] Only mark transfer buffers as transient
Otherwise we may accidentally catch things like uniform buffers as well.
2022-02-20 15:58:26 +01:00
Joshua Ashton ccecc664ab [meta] Bump arch-mingw-github-action to v7 2022-02-20 03:39:08 +00:00
Robin Kertels fd23dcef64 [d3d9] Disable direct buffer mapping for RE games 2022-02-20 03:30:03 +00:00
Robin Kertels cf4c5c3422 [d3d9] Add option to disable direct buffer mapping 2022-02-20 03:30:03 +00:00
Robin Kertels 6d71eea516 [d3d9] Store buffer map mode in D3D9CommonBuffer 2022-02-20 03:30:03 +00:00
Robin Kertels 97ae14b6a0 [d3d9] Synchronize only to given sequence number in WaitForResources 2022-02-20 03:29:31 +00:00
Robin Kertels 917a8d00a2 [d3d9] Track last staging resource usage with a sequence number 2022-02-20 03:29:31 +00:00
Robin Kertels c12cd1952c [d3d9] Handle different mip chain lengths in UpdateTexture 2022-02-20 03:29:04 +00:00
Philip Rebohle 80f744549f
[dxvk] Get rid of spinlock when allocating GPU events
This is not performance-critical
2022-02-20 01:16:04 +01:00
Philip Rebohle 0ade12dc83
[dxvk] Use lock-free list for render pass instances
And replace the spin lock with a regular mutex.
2022-02-20 00:04:06 +01:00
Philip Rebohle 477cb617ac
[dxvk] Use lock-free list for compute pipeline lookup 2022-02-19 17:36:42 +01:00
Philip Rebohle 67e2ee1b26
[dxvk] Use lock-free list for graphics pipeline lookup
And use a proper mutex if we do have to synchronize,
so that we can avoid busy-waits.
2022-02-19 17:36:42 +01:00
Philip Rebohle a4fe43462c
[dxvk] Introduce lock-free list 2022-02-19 17:36:39 +01:00
Philip Rebohle c9750f6657
[dxvk] Don't use spinlocks for CS chunk pool
No reason to anymore since SRWLocks are fast enough here.
2022-02-19 16:57:09 +01:00
Philip Rebohle 520d62903a
[dxvk] Remove null check when setting vertex stride
Move the responsibility to the front-end instead.
2022-02-19 13:29:59 +01:00
Philip Rebohle 8e11630370
[d3d11] Set zero stride when binding null vertex buffer 2022-02-19 13:20:36 +01:00
Philip Rebohle 146fbd492f
[dxvk] Free existing staging buffer before creating a new one 2022-02-18 18:13:28 +01:00
Philip Rebohle 17a1b0ad44
[d3d11] Consider empty CS chunks when tracking resources
Avoids deadlocks if we track multiple resources and flush in between.
2022-02-18 14:21:53 +01:00
Philip Rebohle 9af3dce304
[dxvk] Track buffer as used in initBuffer
Git ate my commit when I was testing something...
2022-02-17 23:42:31 +01:00
Philip Rebohle 6ae5488157
[d3d9] Use initBuffer method 2022-02-17 20:58:31 +01:00
Philip Rebohle 18a960a1e1
[d3d11] Use initBuffer method 2022-02-17 20:58:31 +01:00
Philip Rebohle 080aa1a989
[dxvk] Add initBuffer method 2022-02-17 20:58:31 +01:00
Philip Rebohle f7e021f791
[dxvk] Add command buffer parameter to cmdFillBuffer 2022-02-17 20:58:31 +01:00
Philip Rebohle 102bceb30c
[dxvk] Remove unused clear methods 2022-02-17 20:58:31 +01:00
Philip Rebohle 752f98cf00
[d3d9] Use initImage to clear uninitialized image resources 2022-02-17 20:58:31 +01:00
Philip Rebohle 6d0e5dfd21
[d3d11] Use initImage to clear uninitialized image resources 2022-02-17 20:58:31 +01:00
Philip Rebohle 464c6810b3
[dxvk] Repurpose initImage method
This is now supposed to clear images of any type, and only to be
used for resource initialization after creation.
2022-02-17 20:58:31 +01:00