Philip Rebohle
4af31a9d64
[dxvk] Remove context type concept
...
We only have a single context per device now.
2024-10-24 12:30:54 +02:00
Philip Rebohle
b4ed108105
[d3d9] Remove format conversion context
2024-10-24 12:30:54 +02:00
Philip Rebohle
f9a99e81f4
[dxvk] Bump state cache format to v18
...
All D3D11 shader keys change, so we should invalidte existing caches.
2024-10-23 16:56:32 +02:00
Philip Rebohle
f3fa2535e8
[d3d11] Validate shader creation parameters
2024-10-23 16:56:32 +02:00
Philip Rebohle
800f71c4f5
[d3d11] Use existing MD5 hash to look up shader objects
...
Skips the expensive SHA-1 pass.
2024-10-23 16:56:32 +02:00
Philip Rebohle
ae9024492b
[d3d11] Devirtualize context method forwarding
2024-10-23 16:56:22 +02:00
Philip Rebohle
d10df6353b
[d3d11] Devirtualize resource and view creation method forwarding
2024-10-23 16:56:22 +02:00
Philip Rebohle
565af8c311
[dxvk] Add important assert to object tracker
2024-10-23 11:30:37 +02:00
Blisto91
24e0440043
[util] Remove The Old Republic config
...
Looks fine without since dxvk 2.0
2024-10-23 11:19:01 +02:00
Philip Rebohle
01300bb884
[dxvk] Improve some descriptor setup code
...
Help the compiler out since it cannot fully prove that two consecutive
calls to DxvkImageView::handle with the same argument return the same result.
2024-10-23 10:26:24 +02:00
Philip Rebohle
cd4d68244d
[dxvk] Use real shader access types for writeable descriptor types
...
Mostly relevant for storage buffers since those are often read-only.
2024-10-23 10:08:03 +02:00
Blisto91
f813549ced
[util] Set forceSamplerTypeSpecConstants for Alpha Protocol
...
Some objects like metal containers will have unwanted reflection when they shouldn't otherwise.
2024-10-22 11:34:02 +02:00
Philip Rebohle
ce42ce2f3f
[dxvk] Remove memory worker thread
2024-10-21 17:29:38 +02:00
Philip Rebohle
a5dc3400bd
[dxvk] Use swap chain fences to synchronize WSI semaphores
...
Requires EXT_swapchain_maintenance1 to work, otherwise we won't use this.
2024-10-21 12:02:44 +02:00
Philip Rebohle
27539fc838
[dxvk] Use timeline semaphores for GPU synchronization
...
Ditches the old fence and binary semaphore code.
2024-10-21 12:02:44 +02:00
Philip Rebohle
1ee60048c0
[dxvk] Create timeline semaphores in submission queue
2024-10-21 12:02:44 +02:00
Philip Rebohle
4c0cbbef6a
[dxvk] Factor DxvkResource code into DxvkPagedResource
...
And remove the now obsolete code.
2024-10-18 12:42:33 +02:00
Philip Rebohle
6540ab4f3e
[dxvk] Use DxvkPagedResource for CPU synchronization
2024-10-18 12:42:33 +02:00
Philip Rebohle
3a587c5116
[dxvk] Remove old lifetime tracking code
2024-10-18 12:42:33 +02:00
Philip Rebohle
cc22ccfc5c
[dxvk] Use new lifetime tracking for resources
2024-10-18 12:42:33 +02:00
Philip Rebohle
8389734e9f
[dxvk] Use new lifetime tracking for raw allocations
2024-10-18 12:42:33 +02:00
Philip Rebohle
b011e22406
[dxvk] Use new lifetime tracking for samplers
2024-10-18 12:42:33 +02:00
Philip Rebohle
7fef97dae0
[dxvk] Use new lifetime tracking for events
2024-10-18 12:42:33 +02:00
Philip Rebohle
50d8e3933a
[dxvk] Use new lifetime tracking for queries
2024-10-18 12:42:33 +02:00
Philip Rebohle
4a00623c40
[dxvk] Introduce DxvkTrackingRef and new tracking functions
...
The intention here is to clean up the code significantly while also
paving a way to perform more complex operations on resource release.
2024-10-18 12:42:33 +02:00
Philip Rebohle
56e8d55830
[dxvk] Remove direct resource allocation tracking
...
Track the containing virtual resources instead and only explicitly
keep allocations alive through invalidations.
2024-10-18 12:42:33 +02:00
Philip Rebohle
863ce5f117
[dxvk] Move DxvkAccess{Flags} to separate file
2024-10-18 12:42:33 +02:00
Philip Rebohle
d72346f2cb
[dxvk] Rename various storage-related functions
2024-10-18 12:42:33 +02:00
Philip Rebohle
43355ecd73
[dxvk] Optimize small_vector reallocation code
2024-10-18 12:42:33 +02:00
num0005
f56b77942d
[CI][Win] Copy version logic from artifacts script.
2024-10-17 22:40:08 +00:00
num0005
f85596ffbf
[CI] Upload artifacts for Windows builds.
2024-10-17 22:40:08 +00:00
num0005
01684d36ba
[build][msvc] Enable PDB output for all builds.
...
PDB generation even for release builds takes a little more time, but makes debugging DXVK on Windows easier. As the symbols are not embedded in the DLL it doesn't impact code generation or output binary size.
2024-10-17 22:40:08 +00:00
Philip Rebohle
e2b4060d43
[dxvk] Properly dirty multisample state when binding linked pipelines
...
Fixes a validation error in GTA V in very specific circumstances.
2024-10-17 19:40:17 +02:00
Philip Rebohle
990c7f562a
[dxvk] Rework HUD to use a GPU query directly
...
Allows us to leverage the global timestamp query pool now that queries
are reference-counted properly.
2024-10-17 14:27:09 +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
Philip Rebohle
0249193403
[util] Avoid locking fence objects on wait if target value was reached
2024-10-16 20:57:50 +02:00
Philip Rebohle
bdec26b442
[dxvk] Actually flush layout transition in clearImageViewCs
...
Fixes 2864a5e474a2b4ef46ba058106885e36f2ebbfb8.
2024-10-16 20:55:59 +02:00
Philip Rebohle
f8b9efd11e
[dxvk] Fix misaligned image uploads on transfer queue
2024-10-16 11:38:42 +02:00
Philip Rebohle
d2155c7f8c
[dxvk] End transform feedback when changing the active graphics pipeline
2024-10-16 11:33:40 +02:00
Philip Rebohle
f69dc96c24
[dxvk] Sanitize multisample state for fragment output libraries
...
Validation complains about MS state being different between fragment shader
pipeline libraries and fragment output libraries on the EDS3 path.
2024-10-16 11:33:29 +02:00
Philip Rebohle
8ab6b8616b
[dxvk] Track image initialization
2024-10-16 11:32:55 +02:00
Philip Rebohle
255e7b7d7a
[dxvk] Add functions for image subresource initialization tracking
2024-10-16 11:32:55 +02:00
Philip Rebohle
af4ec3c63d
[dxvk] Normalize render target layouts when binding framebuffer
...
No reason to use ATTACHMENT_OPTIMAL when the default layout is GENERAL.
2024-10-16 11:32:55 +02:00
Philip Rebohle
f76fb75956
[d3d9] Prefer GENERAL layout for read-only textures
2024-10-16 11:32:55 +02:00
Philip Rebohle
b2598906ca
[d3d11] Prefer GENERAL layout for read-only textures
2024-10-16 11:32:55 +02:00
Philip Rebohle
6301b9d23d
[dxvk] Remove old barrier tracking code
2024-10-16 11:32:55 +02:00
Philip Rebohle
708d23ca4b
[dxvk] Use new barrier batch and barrier tracker for main command buffer
2024-10-16 11:32:55 +02:00
Philip Rebohle
4d2799f0d4
[dxvk] Add helper to determine pending barriers
2024-10-16 11:32:55 +02:00
Philip Rebohle
56a58095fe
[dxvk] Use new barrier helpers for shader execution barriers
2024-10-16 11:32:55 +02:00