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
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
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
WinterSnowfall
eae12e6f23
[d3d8] Cache all back buffers for additional swapchains
2024-10-08 00:25:55 +02:00
WinterSnowfall
bc78fc6ed0
[d3d8] Validate D3D8 present params before conversion
2024-10-08 00:25:55 +02:00
WinterSnowfall
4a8ba388ff
[d3d8] Validate CheckDeviceType windowed calls similarly to fullscreen
2024-10-08 00:25:55 +02:00
WinterSnowfall
653559979c
[d3d8] Fix LookupSubresource texture type typo
2024-10-08 00:25:55 +02:00
Philip Rebohle
7935f3934f
[dxvk] Sanitize sampler LOD range
...
Silences a validation error in Dishonored 2. At least on AMD,
MinLOD takes precedence over MaxLOD, so let's do the same.
2024-10-07 19:34:02 +02:00
Philip Rebohle
571a2d5811
[dxvk] Tweak staging memory allocation behaviour
2024-10-07 13:32:46 +02:00
Philip Rebohle
813524c146
[d3d11] Remove texel buffer path for ClearUAV
...
Instead, recreate the image with the given view format as
necessary. Most of the time we will not actually need this.
2024-10-06 08:47:42 +02:00
Philip Rebohle
851f02fa58
[dxvk] Actually apply new create flags when relocating image
...
Fixes a derp that leads to validation errors when adding view formats.
2024-10-06 08:47:42 +02:00
WinterSnowfall
36907ec01c
[d3d8] Adjust shader handles to skip 0x0001
2024-10-05 20:03:05 +02:00
WinterSnowfall
980a8d185c
[d3d9] Use D24X8 for D3DFMT_UNKNOWN depth stencils
2024-10-05 20:03:05 +02:00
WinterSnowfall
4f90ad46b9
[d3d8] Validate D3D9 auto depth stencil query
2024-10-05 20:03:05 +02:00
WinterSnowfall
1675aea857
[d3d8] CopyRects validation tweaks
2024-10-05 20:03:05 +02:00
WinterSnowfall
b13b875ca6
[d3d8] Rework D3D8 device GetInfo implementation
2024-10-05 20:03:05 +02:00
WinterSnowfall
bbe82aa534
[d3d9] Fix (most) cursor-related Wine tests
2024-10-05 18:27:19 +02:00
WinterSnowfall
7ff5321910
[d3d9] Implement a software cursor
2024-10-05 18:27:19 +02:00
WinterSnowfall
87a7882812
[d3d8] Automatically capture state on state block creation
2024-10-05 17:58:04 +02:00
WinterSnowfall
050886d08a
[d3d8] Capture VB stream state in D3D8 state blocks
2024-10-05 17:58:04 +02:00
WinterSnowfall
9d19fa18a7
[d3d9] Set D3DRS_POINTSIZE_MIN to 0.0f in D3D8 compatibility mode
2024-10-05 17:58:04 +02:00
Philip Rebohle
329d9a0bb2
[dxvk] Add support for drawing a software cursor
2024-10-04 19:10:14 +02:00
Philip Rebohle
4420c39b62
[dxvk] Factor out swapchain blitter texture uploads
2024-10-04 19:10:14 +02:00
Philip Rebohle
dbaa4d8df4
[dxvk] Add blending toggle to swap chain blitter pipelines
2024-10-04 19:10:14 +02:00
Philip Rebohle
836e990dc5
[dxvk] Correctly use VK_SHARING_MODE_CONCURRENT for buffers
...
Fixes some out-of-spec behaviour introduced with the global buffer rework.
2024-10-04 18:49:23 +02:00
Philip Rebohle
a278d6bf1d
[d3d11] Implement sequential swap effects
2024-10-04 12:58:55 +02:00
Philip Rebohle
c9ec2eeab2
[dxvk] Ensure image is in correct layout for invalidation
...
Otherwise, layout tracking might track a dead image and get confused.
2024-10-04 12:58:55 +02:00
Philip Rebohle
2af3fde5f2
[d3d9] Remove additional swap chain context
2024-10-04 12:58:55 +02:00
Philip Rebohle
172d3450d1
[d3d11] Rename EmitCsChunkExternal for consistency
2024-10-04 12:58:55 +02:00
Philip Rebohle
c678e8c803
[d3d11] Remove additional swap chain context
...
Do everything on the main context instead. Also only
present once regardless of sync interval.
2024-10-04 12:58:55 +02:00
Philip Rebohle
129efdaba6
[d3d11] Do not use separate context to initialize back buffers
2024-10-04 12:58:55 +02:00
Philip Rebohle
89ebabd8fd
[dxgi] Enable frame rate limit for SyncInterval > 1 in windowed mode
2024-10-04 12:58:55 +02:00
Philip Rebohle
bf9dfc77ce
[dxvk] Add context method for WSI synchronization
...
Mostly convenience, but we do want to get rid of Begin/EndRecording
at some point.
2024-10-04 12:58:55 +02:00
Philip Rebohle
63b200f08d
[dxvk] Reimplement HUD rendering to use Vulkan directly
...
And change how rendering works in general so that we emit fewer
draw calls.
2024-10-04 12:58:55 +02:00
Philip Rebohle
b35c0bce4f
[dxvk] Always enable multiDrawIndirect and shaderDrawParameters features
2024-10-04 12:58:55 +02:00
Philip Rebohle
46f10c8fd5
[dxvk] Add command list parameter to dispatch-related functions
2024-10-04 12:58:55 +02:00
Philip Rebohle
7d31a7f16f
[dxvk] Add command list parameter to some query-related functions
...
And reintroduce cmdResetQueryPool.
2024-10-04 12:58:55 +02:00
Philip Rebohle
4ce200bcae
[dxvk] Add command list parameter to cmdBindDescriptorSet(s)
2024-10-04 12:58:55 +02:00
Philip Rebohle
aa162365ce
[dxvk] Add command list parameter to cmdPushConstants
...
We want to be able to invoke compute shaders during init commands.
2024-10-04 12:58:55 +02:00
Philip Rebohle
207e15eb24
[dxvk] Refactor swap chain blitter to use plain Vulkan
...
Temporarily disable the HUD until that is refactored too.
2024-10-04 12:58:55 +02:00