Robin Kertels
291f7e05bc
[d3d9] Fix uninitialized BufferHandle when discarding mapped buffer
...
Co-authored-by: Christopher Egert <cme3000@gmail.com>
2020-06-15 03:26:47 +01:00
Joshua Ashton
9525f53d00
[d3d9] Only enable FETCH4 when POINT sampling
...
Closes #1660
2020-06-14 00:38:36 +01:00
Rhys Perry
cd0a21dda5
[util] Enable d3d11.invariantPosition for Terminator: Resistance
...
Seems to resolve https://gitlab.freedesktop.org/mesa/mesa/-/issues/2608
2020-06-12 17:58:30 +02:00
Rhys Perry
0a486bd975
[util] Enable d3d11.invariantPosition for Borderlands 3
...
Seems to resolve https://gitlab.freedesktop.org/mesa/mesa/-/issues/2608
2020-06-12 17:58:30 +02:00
Philip Rebohle
51bd84368c
[util] Disable relaxed barrier option for RE7
...
Introduces lighting glitches in some places.
2020-06-11 22:06:53 +02:00
Joshua Ashton
67f01631fa
[d3d9] Clear dirty range when discarding buffers
2020-06-11 05:58:17 +01:00
Robin Kertels
7389da29be
[d3d9] Discard mapped buffer if it's currently in use
2020-06-11 05:53:33 +01:00
Robin Kertels
5d5ec2aa77
[d3d9] Remove IsUploading from CommonTexture
...
This was always true on subsequent Lock calls.
The first lock was handled by the 'freshly allocated fast path' anyway.
2020-06-11 05:53:33 +01:00
Joshua Ashton
e6ed8dab63
[d3d9] Perform tracking for preloaded managed resources
2020-06-11 05:53:33 +01:00
Joshua Ashton
7e72010302
[d3d9] Upload managed resource if needed before mip gen
2020-06-11 05:53:33 +01:00
Joshua Ashton
04397e5a7b
[d3d9] Mark mips as dirty when the filter changes
2020-06-11 05:53:33 +01:00
Joshua Ashton
f537474fe4
[d3d9] Add missing locks to mipmap auto gen
2020-06-11 05:53:33 +01:00
Joshua Ashton
b1bd3597a4
[d3d9] Implement PreLoad for buffers + textures
2020-06-11 05:53:33 +01:00
Samuel Pitoiset
86c53bb9e6
[util] Set enableRtOutputNaNFixup for Stars End
...
To fix output NaNs that introduce glitches with RADV.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2020-06-09 16:08:16 +02:00
Joshua Ashton
68ae3f4376
[d3d9] Return D3D_OK when unlocking not locked textures
...
Matches D3D9 behaviour
2020-06-05 23:46:33 +01:00
Joshua Ashton
124023bac5
[d3d9] Add read-only check to uploading managed textures on Lock
2020-06-05 23:33:00 +01:00
Joshua Ashton
ed5cbb99b6
[d3d9] Mark managed for upload in Lock rather than Unlock
...
Fixes Nekopara properly.
Also refactor some locking checks
2020-06-05 23:29:23 +01:00
Joshua Ashton
86e8315416
[d3d9] Revert Nekopara hacks
2020-06-05 23:15:10 +01:00
Joshua Ashton
fa988be4aa
[d3d9] Improve MarkAllForUpload implementation
...
Only mark the bits we are actually using.
2020-06-05 02:40:41 +01:00
Joshua Ashton
326f6c26cb
[util] Enable forceSamplerTypeSpecConstants for all of the games in the Spellforce 2 seires
2020-06-05 02:36:17 +01:00
Joshua Ashton
b658cae509
[util] Enable uploadAllManagedSubresources for Nekopara titles
2020-06-05 02:35:03 +01:00
Joshua Ashton
d39cf31189
[d3d9] Implement uploadAllManagedSubresources option
...
Nekopara locks mip 1, then unlocks mip 0 and expects it to upload all the mips.
2020-06-05 02:34:44 +01:00
Joshua Ashton
5558460853
[d3d9] Don't mark lock on DONOTWAIT path
...
Fixes some issues in some games using this feature.
2020-06-01 15:52:25 +01:00
Joshua Ashton
12356d7342
[dxso] Bias FETCH4 half-texel offset to avoid grid effect
2020-06-01 13:33:08 +01:00
Philip Rebohle
2cac70fbb6
[d3d11] Require transform feedback for FL10_0 and newer
...
This has been supported in drivers for one and a half years at this
point, so it should be safe to make it a hard requirement.
2020-05-30 16:02:22 +02:00
Joshua Ashton
f92d60496c
[util] Enable forceSamplerTypeSpecConstants for SpellForce 2: Faith in Destiny
...
The game binds a 2D texture to a 3D (volume) sampler which causes the readback to be 0 0 0 0 on native, whereas we can workaround it and see the intended texture and cool refracty effect that would have rendered on older real hardware 👏
Closes #1645
2020-05-27 17:14:20 +01:00
Joshua Ashton
a21e0d4bcf
Revert "[dxso] Make FETCH4 swizzle ARGB"
...
The documentation lies about the swizzle...
This reverts commit 2fc00a331b
.
Closes #1641
Once and for all !
2020-05-27 12:11:43 +01:00
Joshua Ashton
56687cc258
[dxso] Handle half texel offset for FETCH4
...
Closes #1641
2020-05-27 10:16:03 +02:00
Joshua Ashton
362a591e5b
[spirv] Implement constuReplicant helper
2020-05-27 10:16:03 +02:00
Joshua Ashton
16cea83325
[spirv] Implement constiReplicant helper
2020-05-27 10:16:03 +02:00
Joshua Ashton
a9db65c8c2
[spirv] Implement OpImage
2020-05-27 10:16:03 +02:00
Joshua Ashton
c03eaf2de7
[d3d9] Hook up auto gen mip filter
2020-05-27 10:12:43 +02:00
Joshua Ashton
7cd46e72e9
[dxvk] Add filter type to generateMipmaps
2020-05-27 10:12:43 +02:00
Joshua Ashton
3825d16a31
[d3d9] Move mip filter into common texture
2020-05-27 10:12:43 +02:00
Joshua Ashton
561254b51d
[d3d9] Support RENDERTARGET and AUTOGENMIPMAP together
...
Fixes funky water in Trackmania
Closes #1642
2020-05-27 09:03:58 +01:00
Joshua Ashton
2fc00a331b
[dxso] Make FETCH4 swizzle ARGB
...
https://developer.amd.com/wordpress/media/2012/10/Advanced-DX9-Capabilities-for-ATI-Radeon-Cards_v2.pdf
2020-05-27 06:19:13 +01:00
Joshua Ashton
d8381dab8d
[d3d9] Fix a typo when unmarking autogen mips
2020-05-26 18:57:28 +01:00
Joshua Ashton
1a920f44ea
[d3d9] Rename GenerateMips to EmitGenerateMips
2020-05-26 18:50:34 +01:00
Joshua Ashton
fabe7b5d59
[d3d9] Check if needs mip gen in GenerateTextureMips
...
There could be duplicate indices!
2020-05-26 18:49:17 +01:00
Joshua Ashton
6c030afc95
[d3d9] Update device tracking when manually autogenning mips
...
Avoids some needless generations potentially.
2020-05-26 18:48:42 +01:00
Joshua Ashton
e57aea5749
[d3d9] Track and defer mipmap generations
...
Turns out we need to track this crap and generate at draw time and handle a bunch of other wacky cases for it...
Bah.
Fixes #1642
(The funky water.)
2020-05-26 18:42:53 +01:00
Joshua Ashton
b958473cc9
[d3d9] Move pLockedBox/Rect checks to subresource
2020-05-26 13:14:58 +01:00
Joshua Ashton
4c1deabcd3
[d3d9] Don't expose surfaces for autogenned mips
2020-05-26 13:11:24 +01:00
Joshua Ashton
a35df1c3b1
[d3d9] Fix AUTOGENMIPMAP not working in some instances
...
Closes #1642
2020-05-26 12:46:55 +01:00
Christopher Egert
67b1ee4f9b
[d3d9] Only allow ColorFill on surfaces in D3DPOOL_DEFAULT
...
Both nine and native nvidia d3d9 seems to do this,
this fixes a crash in spacemail by xplsv.
2020-05-25 13:33:12 +01:00
Joshua Ashton
4d70d59ea4
[d3d9] Use base texture for subresource refs
...
Fixes a crash when running d3d9-triangle
2020-05-25 13:29:56 +01:00
Joshua Ashton
9ee4add77e
[dxso] Forbid FETCH4 for 3D and not Cube
...
SPIR-V spec contradicts itself as to what is allowed here, and SPIR-V val doesn't help by listing the wrong dimension.
2020-05-25 09:26:09 +01:00
Joshua Ashton
87e8b9733f
[dxso] Blacklist FETCH4 for cubes and normalize flags
2020-05-25 09:21:30 +01:00
Joshua Ashton
b12fa99435
[dxso] Fix scalar select on vector in FETCH4 code
2020-05-25 09:05:58 +01:00
Joshua Ashton
4e1ee5bf39
[d3d9] Normalize projection spec constant further
...
Only include those used in the pixel shader and are bound.
2020-05-25 06:13:21 +01:00