Commit Graph

3142 Commits

Author SHA1 Message Date
Robin Kertels f3a82a0bcc [d3d9] Only use DEVICE_LOCAL memory for small dynamic buffers
Tomb Raider Legend writes to multiple 128KB dynamic buffers
and one 512KB one every frame.
2020-07-20 18:36:20 +01:00
Robin Kertels 2714cb952d [d3d9] Extend dirty tracking to render targets
Ensures we copy a dynamic default pool texture to its
mapping buffer after the device renders to it.
2020-07-20 18:36:20 +01:00
Philip Rebohle 66814ea8db
Revert "[d3d11] Move D3D11Shader implementation to its own file"
Useless since it doesn't fix the clang problem.
2020-07-18 00:10:31 +02:00
Philip Rebohle 56fe52ca3c
[d3d11] Move D3D11Shader implementation to its own file
And resolve some include madness. Necessary because D3D11Shader::GetDevice
needs to know the full definition of D3D11Device, but D3D11Device needs
to know the full definition of the other shader-related classes.
2020-07-17 10:16:37 +02:00
Philip Rebohle 5ab12d9668
[d3d11] Reenable null descriptor feature 2020-07-10 16:59:20 +02:00
Philip Rebohle 23691cd0ff
[dxvk] Enable extended dynamic state feature if available 2020-07-10 16:59:20 +02:00
Philip Rebohle ce33b60f9c
[dxvk] Remove null descriptor code paths for unbound resources 2020-07-10 16:59:20 +02:00
Philip Rebohle 2c641566ab
[dxvk] Fix inefficient check in bindVertexBuffer 2020-07-10 16:59:20 +02:00
Philip Rebohle dfc0b740f8
[dxvk] Use vkCmdBindVertexBuffers2 to bind buffer ranges
Potentially fixes problems with OOB access on dynamic vertex buffers.
2020-07-10 16:59:20 +02:00
Philip Rebohle 9ba99eba93
[dxvk] Add feature bit for extended dynamic state 2020-07-10 16:59:20 +02:00
Philip Rebohle 9f3fb028b0
[dxvk] Enable VK_EXT_extended_dynamic_state if available. 2020-07-10 16:59:20 +02:00
Gabriel Ivăncescu 1efe91e17d
[dxgi] Restore the Topmost state upon exiting fullscreen
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
2020-07-08 18:57:49 +02:00
Gregor Münch 4ac9dcf855 [util] Enable d3d11.invariantPosition for Mafia III: Definitive Edition 2020-07-05 17:37:13 +02:00
Samuel Pitoiset c4f37d3981 [util] Enable d3d11.invariantPosition for Star Wars Jedi: Fallen Order
Seems to resolve https://gitlab.freedesktop.org/mesa/mesa/-/issues/2706#note_538316

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2020-06-18 13:40:24 +02:00
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