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
Philip Rebohle
34e0f6952b
[dxvk] Always enable depth-stencil usage for depth-stencil formats
2024-10-08 17:46:18 +02:00
Philip Rebohle
2fac69b7f9
[dxvk] Add pipelines for buffer-to-image and image-to-buffer copies
2024-10-08 17:46:18 +02:00
Philip Rebohle
15d5b69d2c
[dxvk] Add new format conversion shaders
...
Intended to replace the old pack/unpack shaders.
2024-10-08 17:46:18 +02:00
Philip Rebohle
3c50ac1f12
[dxvk] Rename DxvkCopyBufferImage* stuff
...
Slightly misleadning name when we're going to introduce copies
between buffers and images.
2024-10-08 17:46:18 +02:00
Philip Rebohle
c92ee8ee07
[dxvk,d3d11] Refactor uploadBuffer to consume a staging buffer
2024-10-08 17:46:18 +02:00
Philip Rebohle
c27cae2f10
[d3d11] Improve per-context staging buffer handling
...
In D3D11, the staging buffer is only used for UpdateSubresource, which
isn't always used much. Reducing the size and freeing the buffer after
every submission avoids situations where system memory chunks are kept
alive by a single unused 4MB allocation.
2024-10-08 17:46:18 +02:00
Philip Rebohle
c614e537a9
[dxvk] Remove alignment parameter from staging buffers
...
Just align all suballocations to 256 bytes as usual.
2024-10-08 17:46:18 +02:00
WinterSnowfall
7eec8fb8dc
[d3d8] Various logging format adjustments
2024-10-08 00:25:55 +02:00
WinterSnowfall
559398f6a4
[d3d9] Check block alignment on texture creation with DXT formats
2024-10-08 00:25:55 +02:00
WinterSnowfall
1689cacc47
[d3d8] Stub ValidatePixelShader and ValidateVertexShader
2024-10-08 00:25:55 +02:00
WinterSnowfall
66bd9ec4dd
[d3d8] Always forward SetRenderTarget calls to D3D9
2024-10-08 00:25:55 +02:00
WinterSnowfall
8c54969552
[d3d8] Skip stride updates for null buffers in SetStreamSource
2024-10-08 00:25:55 +02:00
WinterSnowfall
088cf45439
[d3d9] Validate 0 valued back buffer dimensions for fullscreen mode
2024-10-08 00:25:55 +02:00
WinterSnowfall
6e0c048b88
[d3d9] Return D3DERR_DEVICELOST on reset failure due to losable resources
2024-10-08 00:25:55 +02:00
WinterSnowfall
912a530d1c
[d3d9] Enforce various CheckDeviceMultiSampleType validations
2024-10-08 00:25:55 +02:00