Robin Kertels
65843aa016
[d3d9] Don't bind textures if texture type doesnt match
2024-12-17 14:49:52 +01:00
WinterSnowfall
027fe5963a
[d3d9] Fixes for state block specific behavior
2024-12-04 13:06:28 +01:00
WinterSnowfall
35352b9c52
[d3d8] Set D3D8 compatibility at D3D9 interface level
2024-11-02 18:07:33 +01:00
Robin Kertels
48d8e7c402
[d3d9] Improve code readability with comments
2024-11-02 17:48:13 +01:00
Robin Kertels
19fea8c48d
[d3d9] Move remaining texture bitmask updates to function
2024-11-02 17:48:13 +01:00
Philip Rebohle
6540ab4f3e
[dxvk] Use DxvkPagedResource for CPU synchronization
2024-10-18 12:42:33 +02:00
Philip Rebohle
fb6e0ad6c1
[dxvk] Remove useless DxvkMarker class
2024-10-16 20:57:50 +02:00
Philip Rebohle
500c86c054
[d3d9] Replace staging buffer marker with monotonic fence
...
Brings this in line with D3D11.
2024-10-16 20:57:50 +02:00
Robin Kertels
763b82b1e4
[d3d9] Fix render target null pointer deref
2024-10-15 19:29:20 +02:00
Robin Kertels
f65897be4c
[d3d9] Remove a few unnecessary bitmasks
2024-10-13 17:13:31 +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
Philip Rebohle
2af3fde5f2
[d3d9] Remove additional swap chain context
2024-10-04 12:58:55 +02:00
Philip Rebohle
e6f89062f5
[d3d9] Ensure that we stay below the maximum sampler count
2024-09-28 20:21:06 +02:00
Philip Rebohle
c7dab6a442
[d3d9] Remove internal sampler pool
...
We have a sampler pool in the backend now, let's use it.
2024-09-28 20:21:06 +02:00
Robin Kertels
ef8bad33a5
[d3d9] Optimize late buffer uploads
...
... similar to what we're doing for textures.
2024-09-22 22:53:55 +02:00
Robin Kertels
04ad98690b
[d3d9] Add SWVP HUD item
2024-09-22 21:03:23 +02:00
Robin Kertels
5bb8d09a96
[d3d9] Always use per-draw buffer uploads on pure SWVP devices
2024-09-22 21:03:23 +02:00
Robin Kertels
010738c107
[d3d9] Add HUD item for FF shaders
2024-09-17 18:30:27 +02:00
Joshua Ashton
0beb18ef73
[d3d9] Wait for submission when calling ReturnUnderlyingResource
2024-03-16 19:11:11 +00:00
Robin Kertels
a0e39e94fa
[d3d9] Use most recently used swapchain for GetFrontBufferData
2024-03-05 13:54:15 +00:00
Robin Kertels
5312ef1cf9
[d3d9] Upload DYNAMIC+SYSMEM vertex and index data for each draw
2024-02-05 13:13:18 +00:00
Robin Kertels
62d64bd63a
[d3d9] Don't upload buffers before Up draws
2024-02-05 13:13:18 +00:00
Robin Kertels
7d9864c077
[d3d9] Only enable ATOC when rendering to MS RT
2024-01-26 17:48:21 +00:00
WinterSnowfall
4d974685c9
[d3d9] Mark presenter for recreation on device reset with deferSurfaceCreation
2023-10-06 14:05:39 +02:00
WinterSnowfall
0632da1935
[d3d9] Add a device compatibility mode for d3d8
2023-09-19 09:19:55 -07:00
Joshua Ashton
2f72115f91
[d3d9] Keep 1 presenter per swapchain window
...
Some apps such as level editors such as Hammer World Editor, some GUI apps/launchers etc use window overrides in presentation.
Previously we'd remake a new surface every time, which was incredibly slow making these apps basically unusable.
Now we keep one surface + swapchain + image views around per window/window override we have, along with the frame latency objs + frame counter.
(Obviously an app may present to multiple windows in a frame, so for frame latency purposes we track that per-window.
2023-07-04 16:44:31 +02:00
Philip Rebohle
ccb87d5ea9
[d3d9] Port flush heuristic from D3D11
2023-06-26 01:37:46 +01:00
Alpyne
d6e7e3e780
[d3d9] Add DxvkD3D8Bridge for d3d8 interop
2023-06-24 17:58:49 +01:00
Joshua Ashton
3b3ebc9350
[d3d9] Rename some members to be clearer
2023-06-24 04:09:04 +01:00
Joshua Ashton
80b27f95bc
[d3d9] Fix active hazards RT only being 4 bits
2023-06-22 16:37:09 +01:00
Joshua Ashton
b30a4f0cc7
[d3d9] Use FLOAT or FORCE_UNORM depth bias representation
2023-06-20 13:31:48 +01:00
Robin Kertels
d1707026f9
[d3d9] Remove uninitialized device present params
2023-06-13 22:47:55 +01:00
Robin Kertels
52ac271acb
[d3d9] Reject Reset if there's any remaining DEFAULT resources
2023-06-13 14:15:18 +01:00
Robin Kertels
bbaf01d9e6
[d3d9] Force staging buffer mapping for pure SWVP devices
2023-06-11 16:57:17 +01:00
Joshua Ashton
e0654977c9
[d3d9] Stub out D3D9On12 interfaces
...
Closes : #3445
2023-05-24 14:36:45 +01:00
Joshua Ashton
b5c18a02ae
[d3d9] Optimize UpdateAnyColorWrites for 0th case
...
This is the most common
2023-05-24 14:21:30 +01:00
Joshua Ashton
cafd104783
[d3d9] Pack RT bitmasks tightly
...
No need to waste a whole 32-bits for each entry here when we only have 4 possible RTs at a time.
2023-05-24 14:10:41 +01:00
Joshua Ashton
269bab2c34
[d3d9] Track if any color writes are enabled for an RT
...
Use this for determining whether to rebind FB and in checks, otherwise we can miss stuff for pure surface RTs
2023-05-24 14:05:13 +01:00
Alpyne
2b09932d51
[d3d9] Fix crash if device is freed with bound textures
2023-05-09 00:12:35 +00:00
Robin Kertels
b4366db398
[d3d9] Implement rudimentary device loss
2023-05-03 13:04:00 +01:00
Joshua Ashton
996acbe3f2
[d3d9] Refactor state blocks to allocate dynamically.
2023-03-07 23:24:01 +00:00
Georg Lehmann
a9bdea72e9
[d3d9] Clamp Dref to [0.0, 1.0] if the texture is emulated UNORM
2022-09-26 21:39:51 +01:00
Joshua Ashton
d221bb7a9c
[d3d9] Add ID3D9VkInteropDevice
...
Provides access to the device and instance handles
as well as the queue that is used for rendering.
2022-09-22 17:58:54 +01:00
Joshua Ashton
e976218e17
[d3d9] Make GetDXVKDevice return a const Rc reference
...
Avoids some useless reffing.
2022-09-22 17:58:54 +01:00
Georg Lehmann
1bc6f9660a
[d3d9] Force D3DTADDRESS_CLAMP for cubes.
2022-09-10 04:16:30 +00:00
Philip Rebohle
5a3cb5ad3e
[d3d9] Adjust alpha test precision based on render target format
...
More or less matches what Nvidia's D3D9 driver does on Turing.
2022-08-18 00:10:39 +02:00
Philip Rebohle
3c2fc41e4c
[d3d9] Re-bind framebuffer if RT hazards change
...
Otherwise we never set the feedback loop bits in the backend.
2022-08-17 18:36:30 +00:00
Philip Rebohle
02f653fdd2
[d3d9] Limit amount of staging memory in flight
2022-08-10 17:31:55 +02:00
Robin Kertels
1fcd5dc0af
[d3d9] Unmap stored shader bytecode
2022-08-08 23:15:21 +01:00