1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-12-04 07:24:15 +01:00
Commit Graph

6149 Commits

Author SHA1 Message Date
Philip Rebohle
088e4024f5 [dxvk] Use new layout transition helper in copyBufferToImageFb 2024-10-16 11:32:55 +02:00
Philip Rebohle
ebd067f098 [dxvk] Use new layout transition helper in copyBufferToImageHw 2024-10-16 11:32:55 +02:00
Philip Rebohle
2353867d54 [dxvk] Use new layout transition helper for blitImageHw 2024-10-16 11:32:55 +02:00
Philip Rebohle
aff6cb744c [dxvk] Use new layout transition helper for blitImageFb 2024-10-16 11:32:55 +02:00
Philip Rebohle
971042b3d3 [dxvk] Use new layout transition helper in performClear 2024-10-16 11:32:55 +02:00
Philip Rebohle
c24be65f2a [dxvk] Use new layout transition helper in generateMipmaps 2024-10-16 11:32:55 +02:00
Philip Rebohle
ef79f8a617 [dxvk] Use new layout transition helper in initImage
Removes another barrier set.
2024-10-16 11:32:55 +02:00
Philip Rebohle
1e8631189c [dxvk] Use new layout transition helper in uploadImageHw
Allows us to get rid of a barrier set.
2024-10-16 11:32:55 +02:00
Philip Rebohle
8955d2a285 [dxvk] Add various helpers to emit image layout transitions 2024-10-16 11:32:55 +02:00
Philip Rebohle
756ff73c8a [dxvk] Add new barrier batch helper
Separates batching from tracking. This is useful because init
and transfer queue barriers do not need any tracking.
2024-10-16 11:32:55 +02:00
Philip Rebohle
c6c85d7532 [dxvk] Add new barrier tracker
Uses a hash table backed by RB trees in order to reduce
worst-case runtime overhead in some edge cases.
2024-10-16 11:32:55 +02:00
Philip Rebohle
af3c46d83c [dxvk] Remove unused buffer barrier array 2024-10-16 11:32:55 +02:00
Robin Kertels
763b82b1e4 [d3d9] Fix render target null pointer deref 2024-10-15 19:29:20 +02:00
Philip Rebohle
35ead85929 [d3d11] Manually free all view objects in view destructor 2024-10-15 11:48:51 +02:00
Philip Rebohle
de65e06831 [dxvk] Do not try to reset pointer in Rc destructor
This gets optimized away in release builds.
2024-10-15 11:48:51 +02:00
Jeff
e4630685e4 [d3d9] Fix mismatched case in MultiSample and MultisampleQuality 2024-10-15 10:09:51 +02:00
Jeff
01a1c8359a [d3d9] Fix spelling nit 2024-10-15 10:09:51 +02:00
Jeff
eafdf0bfd7 [d3d9] Add alternate constructor for D3D9Texture2D 2024-10-15 10:09:51 +02:00
Jeff
25069dbd1d [d3d9] Add alternate constructor for D3D9Surface 2024-10-15 10:09:51 +02:00
Jeff
a044c639f7 [d3d9] Add ID3D9VkInteropDevice::CreateImage to create custom texture/surfaces 2024-10-15 10:09:51 +02:00
Blisto91
98fa338be0 [util] Move Far Cry 2 config to d3d9 section 2024-10-14 18:39:02 +02:00
Blisto91
b707ca1309 [util] Enable memoryTrackTest for Secret World Legends
Otherwise d3d9 mode thinks we only have 512MB vram which will lock the higher graphics presets.
2024-10-14 18:39:02 +02:00
Robin Kertels
f65897be4c [d3d9] Remove a few unnecessary bitmasks 2024-10-13 17:13:31 +02:00
Robin Kertels
421ead5b30 [d3d9] Only dirty frame buffer on render state changes if render area is impacted 2024-10-13 17:13:31 +02:00
WinterSnowfall
b99012d332 [d3d9] Adjust matrix inversion boundary 2024-10-13 11:09:13 +00:00
Blisto91
05d089bee5 [d3d9] Silence unhandled render state D3DRS_ADAPTIVETESS_Y 2024-10-13 12:31:14 +02:00
Philip Rebohle
458b8e3b41 [util] Add missing includes small_vector
Fixes #4357.
2024-10-13 12:29:12 +02:00
Philip Rebohle
693ee7898d [dxvk] Refactor queries to be properly ref-counted
Should fix a long-standing lifetime tracking issue with timestamp
queries as well as invalid Vulkan usage with overlapping scoped
queries.
2024-10-13 12:08:35 +02:00
Philip Rebohle
1b9c59c964 [dxvk] Refactor events to be properly ref-counted
Mostly serves as a proof-of-concept for the pending query rework,
but also cleans up some silly code.
2024-10-13 12:08:35 +02:00
Philip Rebohle
d00669cb52 [dxvk] Rename DxvkGpu{Event,Query} to Dxvk{Event,Query}
The old name only ever existed because DXVK had two separate implementations
of these prior to version 1.1. Let's name them back so that more sensible
names are available for internal use.
2024-10-13 12:08:35 +02:00
Robin Kertels
5890eae32f [d3d9] Don't clear mipGenBit if texture is bound as attachment 2024-10-13 12:07:30 +02:00
Robin Kertels
5ff365b9f1 [d3d9] Remove initializer context 2024-10-12 10:09:17 +02:00
WinterSnowfall
48c57c11e9 [d3d9] Make proper use of X/YHotSpot for software cursors 2024-10-11 12:40:37 +02:00
WinterSnowfall
44b682051b [d3d8] Stub DebugSetMute to fix C&C:Generals performance 2024-10-10 13:06:54 +02:00
WinterSnowfall
c8759418af [d3d9] Fix device reset handling when no cursor is set 2024-10-10 09:31:13 +02:00
Robin Kertels
d39d879838 [d3d9] Add a bunch of missing likely/unlikely to PrepareDraw
PrepareDraw is pretty much the hottest part of the d3d9
frontend, so we take every tiny bit we get.
2024-10-09 21:28:59 +00:00
Robin Kertels
395ac38890 [d3d9] Fix fixed function texture mask
Fixed function supports 8 textures so we need 8 ones.
2024-10-09 21:28:59 +00:00
WinterSnowfall
a1a3800b3f [d3d9] Fix software cursor reset and transitions 2024-10-08 20:20:31 +02:00
Philip Rebohle
a30fdc466b [d3d11] Remove initializer context
This moves all initialization commands to the CS thread and the regular
context in such a way that resource initialization is processed before
any context commands can use the resource.
2024-10-08 17:46:18 +02:00
Philip Rebohle
ac1dfbacb6 [dxvk] Move image initialization to init command buffer 2024-10-08 17:46:18 +02:00
Philip Rebohle
0f6f543583 [dxvk] Silence validation error about invalid shaders
Known validation bug that is already fixed upstream, but this makes
validation layers unusable due to how spammy that is.
2024-10-08 17:46:18 +02:00
Philip Rebohle
df60a061a4 [d3d11] Throttle resource uploads via UpdateSubresource
Otherwise, some games (e.g. Frostpunk, New World) end up allocating over
a gigabyte of staging memory.
2024-10-08 17:46:18 +02:00
Philip Rebohle
ec18dd7846 [d3d11] Throttle resource uploads through staging buffer 2024-10-08 17:46:18 +02:00
Philip Rebohle
d330718353 [dxvk] Implement staging buffer statistics 2024-10-08 17:46:18 +02:00
Philip Rebohle
e137f049ee [dxvk] Make buffer<->image copy format checks more robust
There are situations where the source format may not match
the image format but the copy is valid nonetheless.
2024-10-08 17:46:18 +02:00
Philip Rebohle
e6f90b8003 [dxvk] Remove legacy depth/stencil repacking code 2024-10-08 17:46:18 +02:00
Philip Rebohle
ad1f70beea [dxvk] Support format conversion in copyImageToBuffer 2024-10-08 17:46:18 +02:00
Philip Rebohle
f67c8dd1da [dxvk] Support format conversion in copyBufferToImage 2024-10-08 17:46:18 +02:00
Philip Rebohle
501b0991da [dxvk] Remove per-context staging buffer
No longer used.
2024-10-08 17:46:18 +02:00
Philip Rebohle
725a04b954 [dxvk,d3d11] Refactor uploadImage to consume a staging buffer
And also handle format differences.
2024-10-08 17:46:18 +02:00