1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-01-20 08:52:22 +01:00

6294 Commits

Author SHA1 Message Date
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
Philip Rebohle
4b94b8989d [dxvk] Use new barrier helpers in transition*Attachment 2024-10-16 11:32:55 +02:00
Philip Rebohle
0388f20cd3 [dxvk] Use new barrier helpers in updateGraphicsPipelineState 2024-10-16 11:32:55 +02:00
Philip Rebohle
7c274d0852 [dxvk] Use new barrier helpers in renderPassEmitPostBarriers 2024-10-16 11:32:55 +02:00
Philip Rebohle
3d12c1aea5 [dxvk] Use new barrier helpers in renderPassEmitInitBarriers 2024-10-16 11:32:55 +02:00
Philip Rebohle
d00d0a39ce [dxvk] Use new barrier helpers in spillRenderPass 2024-10-16 11:32:55 +02:00
Philip Rebohle
c2edd0f9bb [dxvk] Use new barrier helpers in resolveImageFb 2024-10-16 11:32:55 +02:00
Philip Rebohle
7b65ee00d9 [dxvk] Use new barrier helpers in resolveImageDs 2024-10-16 11:32:55 +02:00
Philip Rebohle
7b436a63fb [dxvk] Use new barrier helpers in resolveImageHw 2024-10-16 11:32:55 +02:00