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 |
|
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 2864a5e474 .
|
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 |
|
Philip Rebohle
|
63347b5fce
|
[dxvk] Use new barrier helpers in copySparsePages
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
706d6cbc1c
|
[dxvk] Use new barrier helpers in copyImageFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
42da4348bf
|
[dxvk] Use new barrier helpers in copyImageHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
2864a5e474
|
[dxvk] Use new barrier helpers in clearImageViewCs
And ensure we're in GENERAL layout. We generally (pun intended) should
be, but there may be a universe where that is not the case.
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
793f9b3d38
|
[dxvk] Use new barrier helpers in clearImageViewFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
856a84e6fd
|
[dxvk] Use new barrier helpers in copyImageToBufferCs
And actually rename that function to make sense.
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
59d37757b0
|
[dxvk] Use new barrier helpers in copyImageToBufferHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
e21c2977df
|
[dxvk] Use new barrier helpers in copyBufferToImageFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
d7dd80b62f
|
[dxvk] Use new barrier helpers in copyBufferToImageHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
389e40be67
|
[dxvk] Use new barrier helpers in blitImageHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
82c2f5d5d1
|
[dxvk] Use new barrier helpers in blitImageFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
a4daa63d2b
|
[dxvk] Use new barrier helpers in launchCuKernelNVX
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
ab9ade76d7
|
[dxvk] Use new barrier helpers in emitGraphicsBarrier
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
e70e72f109
|
[dxvk] Use new barrier helpers in updateBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
ab300dce2f
|
[dxvk] Use new barrier helpers in performClear
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
a1a9cd5bb6
|
[dxvk] Use new barrier helpers in transformImage
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
7edfad763a
|
[dxvk] Use new barrier helpers in ensureImageCompatibility
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
33b146467a
|
[dxvk] USe new barrier helpers in generateMipmaps
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
03a716e308
|
[dxvk] Use new barrier helpers in emit*Barrier
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
ee9d09c2e2
|
[dxvk] Use new barrier helpers in dispatchIndirect
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
826114f612
|
[dxvk] Use new barrier helpers in copyPackedBufferImage
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
3ecca3d171
|
[dxvk] Use new barrier helpers in copyBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
6ef6cb3b45
|
[dxvk] Use new barrier helpers in clearBufferView
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
5dfc4d6300
|
[dxvk] Use new barrier helpers in clearBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
cc3dd31a5f
|
[dxvk] Use new barrier helpers in changeImageLayout
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
bbe7767475
|
[dxvk] Add helpers to flush pending execution barriers if needed
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
318e79c2ad
|
[dxvk] Use new barrier batch for init and sdma barriers
No tracking needed here.
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
50b1932aea
|
[dxvk] Use new barrier helper in uploadBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
b33f0c3d30
|
[dxvk] Use new barrier helper in updateBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
e6c0903600
|
[dxvk] Use new barrier helper in initSparseImage
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
9698653055
|
[dxvk] Use new barrier helper in initImage
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
94915fcbe3
|
[dxvk] Use new barrier helper in initBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
6b01203ddf
|
[dxvk] Use new barrier helper in copyBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
6e6ee35587
|
[dxvk] Use new barrier helper in clearBuffer
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
b771bef837
|
[dxvk] Add helper functions to record pending barriers
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
d154a684ad
|
[dxvk] Remove acquire barrier set
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
3de0f27dd9
|
[dxvk] Use new layout transition helper in resolveImageFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
801ef39895
|
[dxvk] Use new layout transition helper in resolveImageDs
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
154eee96a0
|
[dxvk] Use new layout transition helper in resolveImageHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
704fc4eaa7
|
[dxvk] Use new layout transition helper in copySparseImagePages
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
4d19e58f51
|
[dxvk] Use new layout transition helper for copyImageFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
7ffde27551
|
[dxvk] Use new layout transition helper in copyImageHw
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
bbd041194b
|
[dxvk] Use new layout transition helper in clearImageViewFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
18cdc25773
|
[dxvk] Use new layout transition helper in copyImageToBufferFb
|
2024-10-16 11:32:55 +02:00 |
|
Philip Rebohle
|
e8a5583562
|
[dxvk] Use new layout transition helper in copyImageToBufferHw
|
2024-10-16 11:32:55 +02:00 |
|
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 |
|