Philip Rebohle
6ac5ca3bff
[d3d9] Use existing staging buffer implementation for managed uploads
2022-07-14 18:22:23 +02:00
Philip Rebohle
f07a6e160c
[d3d9] Rework UP buffer allocation
2022-07-14 18:22:23 +02:00
Joshua Ashton
e884413c49
[dxvk] Don't synchronize device if going for DLL shutdown
...
All our other threads have been destroyed and we can no longer synchronize with them properly.
Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
2022-07-14 17:04:52 +02:00
Georg Lehmann
5ae5476d71
[d3d9] Make reported sample counts consistent with DecodeMultiSampleType behavior.
2022-07-14 15:32:42 +01:00
Philip Rebohle
9e110cd3e5
[d3d9] Fix up unsupported sample counts
2022-07-14 14:58:58 +01:00
Philip Rebohle
74a8bfb774
[d3d9] Remove CreateConstantBuffer method
2022-07-14 15:55:08 +02:00
Philip Rebohle
4635c72e95
[d3d9] Use generic constant buffers for SWVP
2022-07-14 15:55:08 +02:00
Philip Rebohle
08c3c45853
[d3d9] Use generic constant buffer implementation
2022-07-14 15:55:08 +02:00
Philip Rebohle
e8d5ce94ea
[d3d9] Introduce D3D9ConstantBuffer
2022-07-14 15:55:08 +02:00
Robin Kertels
ce48b57f94
[d3d9] Allow POOL_SCRATCH targets in GetFrontBufferData
2022-07-13 14:01:12 +02:00
Blisto91
64d2260656
[d3d9] add D3DFMT_UNKNOWN to windowed BackBufferFormat
2022-07-13 13:03:05 +02:00
Philip Rebohle
95995041b0
[d3d9] Explicitly check for Unknown in CheckDeviceFormatConversion
2022-07-13 12:35:33 +02:00
Robin Kertels
10b174b52c
[d3d9] Fix barriers with staging buffers
2022-07-12 21:16:32 +01:00
Philip Rebohle
bd68f05c9b
[dxvk] Make emitRenderTargetReadbackBarrier more generic
...
And also remove the redundant pipeline barrier.
2022-07-12 17:29:11 +02:00
Philip Rebohle
e8f48c71ab
[dxvk] Always enable robustBufferAccess2 feature
...
And respect the required alignments when creating buffers.
2022-07-12 02:11:32 +02:00
Georg Lehmann
913129d3b6
[d3d9] Add an config option to disable non seamless cube maps.
2022-07-07 14:18:49 +01:00
Georg Lehmann
cd8e2360f4
[d3d9] Use non seamless samplers if supported.
2022-07-07 14:18:49 +01:00
Georg Lehmann
f2b1805d7e
[dxvk] Allow non seamless samplers.
2022-07-07 14:18:49 +01:00
Philip Rebohle
7c4d602863
[dxvk] Change spec constant IDs
...
We no longer support per-resource spec constants, so there is no good
reason not to use a 1:1 mapping for user-defined constants.
2022-07-03 13:41:06 +02:00
Philip Rebohle
735e741681
[d3d9] Add spec constant for null samplers
...
And rework the way spec constants are updated.
2022-07-03 13:41:06 +02:00
Philip Rebohle
186dc29384
[d3d9] Remove bound spec constants from fixed-function shaders
...
Texture stages are disabled anyway when textures are unbound,
so we will never hit the unbound case.
2022-07-03 13:41:06 +02:00
Philip Rebohle
2e7e9eac7a
[dxvk] Require EXT_robustness2 and the null descriptor feature
2022-07-03 13:41:03 +02:00
Philip Rebohle
e406484b84
[d3d9] Don't use VK_RESOLVE_MODE_AVERAGE_BIT_KHR for stencil resolves
...
Doesn't work, always write sample zero instead.
2022-07-02 16:48:10 +02:00
Philip Rebohle
76ba03398d
[d3d9,dxso] Fix push constant validation errors
...
Derp.
2022-07-01 18:06:47 +02:00
Philip Rebohle
db07861518
[dxvk] Remove old pipeline layout implementation
2022-06-28 14:35:58 +02:00
Philip Rebohle
acf70501d2
[d3d9] Call endFrame at the end of each frame
2022-06-28 14:35:57 +02:00
Philip Rebohle
ab0c15ea54
[dxvk] Introduce DxvkContextType
2022-06-28 14:35:57 +02:00
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