Philip Rebohle
ecbada30f5
[d3d9] Pass new binding info struct to fixed-function shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
5edd8e92a8
[d3d9] Pass new binding info struct to various helper shaders
2022-06-28 14:32:31 +02:00
Philip Rebohle
4cc559d690
[d3d9] Pass shader stage when binding shader resources
2022-06-28 14:32:30 +02:00
Philip Rebohle
0fb1227792
[d3d9] Pass shader stage when binding format conversion resources
2022-06-28 14:32:30 +02:00
Andrew Eikum
279b4b7ec2
[d3d9] Defer surface creation if no HWND is given to device
...
Planetary Annihilation: TITANS creates a device with a NULL HWND and
requires it to succeed.
2022-06-03 13:07:43 +00:00
Paul Gofman
cc11bb8240
[d3d9] Don't adjust window position and size in windowed mode.
2022-05-23 07:53:13 +00:00
Joshua Ashton
5b7406fed5
[d3d9] Fix crash when using StretchRect with NULL rts
2022-05-10 02:02:35 +01:00
Robin Kertels
3004026db8
[d3d9] Only bind RT if we actually write to it
...
The alternative render path for shadow maps in Dead Space relies on this.
2022-04-20 00:58:17 +01:00
Robin Kertels
bdafa16e39
[d3d9] Only bind depth buffer if the depth or stencil test is enabled
2022-04-20 00:58:17 +01:00
Joshua Ashton
147f3738f9
[d3d9] Use strlcpy helper
2022-04-19 17:08:17 +01:00
Robin Kertels
9302d33ac7
[d3d9+util] Enable invariant position by default
2022-04-18 12:40:46 +01:00
Philip Rebohle
427f51eda7
[d3d9] Use new DxvkShader constructor for format conversion
2022-04-18 13:20:16 +02:00
Philip Rebohle
98ec79f6fa
[d3d9] Use new DxvkShader constructor for SWVP emulation
2022-04-18 13:20:16 +02:00
Philip Rebohle
ab95b61e44
[d3d9] Use new DxvkShader constructor for fixed-function shaders
2022-04-18 13:20:16 +02:00
Robin Kertels
42c66c410e
[d3d9] Calculate slice alignment when uploading straight from the mapping buffer
2022-04-06 18:52:58 +00:00
Paul Gofman
957a305ca8
[d3d9] Ignore multiple app activation window messages.
2022-04-06 18:51:50 +00:00
Paul Gofman
b0ed9e30ce
[d3d9] Filter window messages when processing WM_ACTIVATEAPP.
2022-04-06 18:51:50 +00:00
Philip Rebohle
e7e7fa231c
[dxvk] GPU query reset path
...
Require VK_EXT_host_query_reset instead. This fallback path is
untested nowadays and too slow to be useful.
2022-03-30 13:32:18 +02:00
Robin Kertels
4e34c29c56
[d3d9] Disable culling when the app passes an invalid value
2022-03-25 17:13:12 +01:00
Robin Kertels
b2f22d5719
[d3d9] UpdateTexture: Handle automatic mip gen properly
2022-03-24 02:31:42 +00:00
Oleg Kuznetsov
b36ca2c758
[d3d9] Fix Visual Studio build to resolve 'operator !=' is ambiguous error for RECT
2022-03-17 11:35:19 +01:00
Joshua Ashton
cf1cee04b8
[d3d11] Register annotation interfaces with D3D9
...
Some apps try use the D3DPERF_ functions for debug markers/annotations.
This utilizes the DXVK_RegisterAnnotation hidden functions to share the interfaces.
Co-authored-by: Oleg Kuznetsov <okouznetsov@nvidia.com>
2022-03-17 11:35:19 +01:00
Joshua Ashton
937a60c882
[d3d9] Add hidden exports for registering annotations
...
Adds DXVK_RegisterAnnotation at ordinal 28257 and DXVK_UnRegisterAnnotation at ordinal 28258.
2022-03-17 11:35:19 +01:00
Joshua Ashton
787a979514
[d3d9] Implement D3D9UserDefinedAnnotation
2022-03-17 11:35:19 +01:00
Joshua Ashton
47b1ab52ce
[d3d9] Implement D3D9GlobalAnnotationList
2022-03-17 11:35:19 +01:00
Joshua Ashton
a010397f34
[util] Move DecodeD3DColor to util
...
This will be used in the D3D11UserDefinedAnnotation implementation to handle PIX calls which contain a color.
2022-03-17 11:35:19 +01:00
Georg Lehmann
2550cff149
[build] Cleanup build system.
...
No changes except dropping support for msvc before 15.3.
2022-03-17 01:38:58 +00:00
Joshua Ashton
1f88ee595f
[d3d9] Don't expose D32 format
...
Not supported anywhere except REF device it seems... *sigh*
Supercedes: #2547
2022-03-16 19:11:16 +00:00
Robin Kertels
115385d1d9
[d3d9] Update buffer seq number in FlushBuffer
...
How did I miss this?!
2022-03-15 01:24:54 +00:00
Robin Kertels
5f4fc56226
[d3d9] Update texture sequence number AFTER using it
2022-03-13 17:13:00 +00:00
Robin Kertels
a6357a254d
[d3d9] Fix CS thread synchronization for directly mapped buffers
2022-03-13 17:13:00 +00:00
Philip Rebohle
caa83247d9
[d3d9] Mark backend image as shared for shared resources
...
Otherwise, the backend may not transition the image to the correct
layout after each submission.
2022-03-13 02:32:56 +01:00
Philip Rebohle
59e3c96976
[d3d9] Fix texture formats that can be exported
2022-03-12 22:24:05 +01:00
Derek Lesho
1d1d8adee6
[d3d9] Fix shared handle check for exporting images
...
Co-authored-by: Philip Rebohle <philip.rebohle@tu-dortmund.de>
2022-03-12 21:35:42 +01:00
Derek Lesho
6640cc350c
[d3d9] Add support for shared IDirect3DTexture9 resources.
2022-03-12 16:23:06 +01:00
Derek Lesho
02d3e0d31f
[dxvk] Add shared handle access to DxvkImage memory.
...
Based off preliminary work from Josh.
2022-03-12 16:23:06 +01:00
Joshua Ashton
dc6c350cf2
[d3d9] Add fallthrough comment to SetRenderState
...
Silences a warning
2022-03-10 00:47:38 +01:00
Joshua Ashton
b2d96ee087
[d3d9] Fix fallthroughs in PickFormats
2022-03-10 00:47:38 +01:00
Joshua Ashton
53b9a723ac
[d3d9] Set initial dirty state flags
...
We had a bug where initial state values caused the data to not get sent to the backend.
Let's fix that going forward and dirty everything we possibly can on device creation.
2022-03-09 23:33:12 +00:00
Joshua Ashton
d4d4f0ca18
[d3d9] Fix default initialization of some state values
...
If we end up being the same as what we are, we don't dirty initially.
2022-03-09 23:33:08 +00:00
Robin Kertels
b42c07253e
[d3d9] Fix sysmem readback
2022-02-24 07:49:55 +00:00
Robin Kertels
a81c653b42
[d3d9] Fix synchronization after readback
2022-02-22 21:49:28 +00:00
Robin Kertels
29d8812709
[d3d9] Don't set NeedsReadback for POOL_SYSMEM textures
...
... or in SetRenderTarget because we always do readback for render targets.
2022-02-21 13:43:04 +00:00
Robin Kertels
b163a99bde
[d3d9] Clean up texture locking
...
We had two code paths that largely did the same.
2022-02-21 00:08:41 +00:00
Robin Kertels
dde83717f1
[d3d9] Rename WrittenByGPU to NeedsReadback
2022-02-21 00:08:41 +00:00
Robin Kertels
40444c1f50
[d3d9] Unify texture uploads
2022-02-21 00:08:41 +00:00
Robin Kertels
cf4c5c3422
[d3d9] Add option to disable direct buffer mapping
2022-02-20 03:30:03 +00:00
Robin Kertels
6d71eea516
[d3d9] Store buffer map mode in D3D9CommonBuffer
2022-02-20 03:30:03 +00:00
Robin Kertels
97ae14b6a0
[d3d9] Synchronize only to given sequence number in WaitForResources
2022-02-20 03:29:31 +00:00
Robin Kertels
917a8d00a2
[d3d9] Track last staging resource usage with a sequence number
2022-02-20 03:29:31 +00:00
Robin Kertels
c12cd1952c
[d3d9] Handle different mip chain lengths in UpdateTexture
2022-02-20 03:29:04 +00:00
Philip Rebohle
6ae5488157
[d3d9] Use initBuffer method
2022-02-17 20:58:31 +01:00
Philip Rebohle
752f98cf00
[d3d9] Use initImage to clear uninitialized image resources
2022-02-17 20:58:31 +01:00
Philip Rebohle
4d9b464f7c
[d3d9] Use new waitForResource method
2022-02-14 03:15:47 +01:00
Philip Rebohle
a03c038f03
[d3d9] Exit early in ProcessVertices if the vertex count is 0
...
We don't want to pass a zero-sized copy to the backend.
2022-02-13 02:08:19 +01:00
Philip Rebohle
d96c5a1076
[dxvk] Store DXVK device inside DxvkCsThread object
2022-02-13 02:07:48 +01:00
Philip Rebohle
37f3d9208b
[dxvk] Introduce sequence numbers for CS submissions
2022-02-11 18:17:34 +01:00
Robin Kertels
b220c8989b
[d3d9] Only enable FETCH4 for single channel formats
2022-01-28 21:34:18 +00:00
Georg Lehmann
4e6db51230
[d3d9] Fix float emulation detection.
...
ffs
2022-01-21 16:08:00 +01:00
Georg Lehmann
14df2f7251
[d3d9] Enable strict float emulation by default for new radv.
2022-01-20 23:47:41 +00:00
Georg Lehmann
f5744284eb
[d3d9] Dirty FF vertex shader if any D3D9VertexDeclFlags change.
...
The vertex shader depends on all of these in some way.
2022-01-10 22:06:15 +00:00
Christopher Egert
b1a6cbad7f
[d3d9] Update FFVS when D3DFVF_PSIZE is specified.
...
This fixes #2387
2022-01-10 20:05:41 +00:00
Robin Kertels
4cdee69bc9
[d3d9] Always upload all managed texture mips after AddDirtyBox call
...
Co-authored-by: Paul Gofman <gofmanp@gmail.com>
2022-01-10 18:55:08 +00:00
Robin Kertels
6c17b8801c
[d3d9] Add strict option to float emulation setting
2021-12-05 16:49:19 +00:00
Robin Kertels
804eca9cad
[d3d9] Respect shader defined constants for HWVP/PS buffer binding range
2021-11-30 01:57:22 +00:00
Robin Kertels
0061139652
[d3d9] Copy shader defined constants into SWVP UBO
...
Co-authored-by: Christopher Egert <cme3000@gmail.com>
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com>
2021-11-30 01:57:22 +00:00
Robin Kertels
39039f9ac8
[dxso+d3d9] Clean up texture slots
2021-11-30 01:57:22 +00:00
Paul Gofman
b672c07a93
[d3d9] Send WM_ACTIVATEAPP messsage on WM_SIZE.
2021-11-30 01:48:24 +00:00
Joshua Ashton
4c0eee89e4
[d3d9] Use clamped LOD for creating new views
2021-11-11 23:53:38 +00:00
Joshua Ashton
c22dcdbaa3
[d3d9] Clamp LOD in calls to SetLOD
...
MSDN says this is clamped and returns the clamped value.
Closes : #1869
2021-11-11 23:52:35 +00:00
Joshua Ashton
5d4b7db9e6
[d3d9] Fix = alignent in CreateView
2021-11-11 23:51:59 +00:00
Joshua Ashton
8912c7adb0
[d3d9] Fix long driver/device names not being null terminated
...
Signed-off-by: Joshua Ashton <joshua@froggi.es>
2021-10-22 02:58:53 +00:00
Robin Kertels
7f89fe1406
[d3d9+utils] Remove swvp hack
2021-10-15 10:54:18 +01:00
Robin Kertels
530f87f158
[d3d9+dxso] Rely on robustness for unset HW VS & PS constants
2021-10-15 10:54:18 +01:00
Robin Kertels
869f75895c
[d3d9+dxso] Switch constant buffer order
2021-10-15 10:54:18 +01:00
Robin Kertels
791d533a1d
[d3d9+dxso] Rely on robustness for unset SWVP constants
2021-10-15 10:54:18 +01:00
Robin Kertels
01f633289b
[d3d9] Use mapped slice when locking POOL_DEFAULT textures
...
Fixes an issue where the game would end up using the wrong
buffer slice if it previously mapped the same texture with DISCARD.
Fixes #2329
2021-10-15 10:46:40 +01:00
Robin Kertels
c8341e4be3
[d3d9] Fix lenient clears
2021-09-28 21:14:02 +01:00
Robin Kertels
c4449faf5a
[d3d9] Don't clamp clears to the size of RT 0
2021-09-27 21:57:15 +01:00
Robin Kertels
29ee1a74e6
Revert "[d3d9] Avoid depth degenerate viewports"
...
This reverts commit 78d22cc7a5
.
2021-09-27 14:55:49 +01:00
Georg Lehmann
827c7a892c
[util] Replace countof with std::size
2021-09-10 11:58:46 +01:00
Georg Lehmann
ed70f9a07c
[d3d9] Support unsupported formats in LockRect
2021-08-23 17:38:50 +01:00
Georg Lehmann
82d40f5bba
[d3d9] Return a pointer in GetUnsupportedFormatInfo
2021-08-23 17:38:50 +01:00
Georg Lehmann
04474b761b
[d3d9] Brain-dead gamma ramp validation
2021-08-23 15:41:59 +01:00
Georg Lehmann
41d0fcff95
[d3d9] Disable projection for PS 1.4
2021-08-19 01:47:42 -07:00
Robin Kertels
956b23c9e9
[d3d9] Use correct pitch to calculate buffer offset
2021-08-18 13:31:00 -07:00
Robin Kertels
97e91b6c0f
[d3d9] Respect pitch alignment in GetFrontBufferData
2021-08-18 13:31:00 -07:00
Joshua Ashton
3718cee9eb
[d3d9] Clean up texture type tracking
...
Additionally stops leaky pipelines on PS 1.x shaders from partial mask updates.
2021-08-17 07:02:56 -07:00
Joshua Ashton
64852f05c3
[d3d9] Track fixed function sampler bitfields
...
Cleans some stuff up a little bit and makes FF draws faster when this gets incorrectly invalidated.
2021-08-17 07:02:56 -07:00
Joshua Ashton
c6a4c41d20
[d3d9] Batch texture unbinding
2021-08-17 07:02:56 -07:00
Joshua Ashton
a346949304
[d3d9] Remove needless locks in SetTexture and SetSamplerState
2021-08-16 19:09:16 +01:00
Georg Lehmann
6103e3c800
[d3d9] Use BitMask helper
2021-08-16 08:49:46 -07:00
Joshua Ashton
b09b912797
[d3d9] Fix unbinding textures
...
Closes : #2236
2021-08-16 15:33:49 +01:00
Georg Lehmann
a75cf2f39d
[d3d9] Fix parital DS clears with full RT clear
2021-08-15 19:00:47 +00:00
Joshua Ashton
7acbd0f4e1
[d3d9] Expose D3DPMISCCAPS_CLIPTLVERTS
...
Matches what we actually do and fixes a Wine test
2021-08-11 12:44:28 +01:00
Joshua Ashton
a6156856e5
[d3d9] Don't check for NULL pViewport
...
This cannot be NULL.
2021-08-11 11:44:09 +00:00
Joshua Ashton
78d22cc7a5
[d3d9] Avoid depth degenerate viewports
2021-08-11 11:44:09 +00:00
Joshua Ashton
5f4f4d57df
[d3d9] Fix initial mapping of images written by GPU
2021-08-11 12:14:17 +01:00
Joshua Ashton
679d703efc
[d3d9] Fix upload race with default image mapping
...
Fixes a Wine test
2021-08-11 11:53:17 +02:00
Robin Kertels
60a7047550
[d3d9] Fix D3DLOCK_READONLY handling with evictManagedOnUnlock
2021-08-11 07:35:39 +00:00