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 |
|
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
|
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 |
|
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
|
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 |
|
Joshua Ashton
|
a1f0bb99ee
|
[d3d9] Cleanup D3D9DeviceEx members
|
2021-08-11 01:38:34 +01:00 |
|
Joshua Ashton
|
5e48035e99
|
[d3d9] Only bind textures if they are used by the shader
|
2021-08-11 01:08:13 +01:00 |
|
Joshua Ashton
|
c0c1565cba
|
[d3d9, dxso] Alias color and depth samplers and improve tracking
Takes me from 340 -> 460fps in A Hat in Time's main menu when CPU bound.
|
2021-08-10 23:46:03 +00:00 |
|
Joshua Ashton
|
85468a5526
|
[d3d9] Add extra brackets to fetch4 filter check
|
2021-08-09 22:54:19 +00:00 |
|
Joshua Ashton
|
674f008e23
|
[d3d9] Use m_activeTexture mask for SRGB check
|
2021-08-09 22:54:19 +00:00 |
|
Joshua Ashton
|
1823a098a1
|
[d3d9] Clean up SetStateSamplerState
|
2021-08-09 22:54:19 +00:00 |
|
Joshua Ashton
|
ea4aa87336
|
[d3d9] Add unlikelies to rare vendor hacks
|
2021-08-09 22:54:19 +00:00 |
|
Georg Lehmann
|
1ea79cf136
|
[d3d9] Only respect relevant bits of D3DRS_STENCILREF
|
2021-08-09 22:54:06 +00:00 |
|
Joshua Ashton
|
abba425ed0
|
[d3d9] Optimize MarkTextureBindingDirty with tzcnt loop of m_activeTextures
|
2021-08-09 09:54:12 +00:00 |
|
Joshua Ashton
|
242b7b6d9c
|
[d3d9, dxso] Remove AlphaTestEnable spec constant
Go based on the func we already have. Avoids wasting a spec const.
|
2021-08-09 09:52:07 +00:00 |
|
Georg Lehmann
|
ada463badc
|
[d3d9] Mark mips as dirty on Clear if needed
|
2021-08-08 10:27:43 +00:00 |
|
Georg Lehmann
|
28a07ef445
|
[d3d9] Validate vertex declaration on draws
|
2021-08-08 08:50:00 +00:00 |
|
Georg Lehmann
|
8c0003552c
|
[d3d9] Reject depth stencil StrechRect during an active scene
|
2021-08-08 08:50:00 +00:00 |
|
Georg Lehmann
|
09e5939502
|
[d3d9] Reject 2 BeginScene + EndScene without Begin
|
2021-08-08 08:50:00 +00:00 |
|
Georg Lehmann
|
6071e998fd
|
[d3d9] Handle invalid modes in Device::Reset
|
2021-08-08 08:50:00 +00:00 |
|
Georg Lehmann
|
64c4eea922
|
[d3d9] Mark texture dirty on SetLod
|
2021-08-08 02:28:44 +00:00 |
|
Joshua Ashton
|
fd50eae5c2
|
[d3d9] Optimize framebuffer binding with RT mask
|
2021-08-08 02:14:11 +00:00 |
|
Joshua Ashton
|
2f22c1b53d
|
[d3d9] Optimize clears with rt mask and better ref tracking
|
2021-08-08 02:14:11 +00:00 |
|
Joshua Ashton
|
072d3a039e
|
[d3d9] Track bound RTs
This also improves active RT hazard tracking by also accounting for NULL
|
2021-08-08 02:14:11 +00:00 |
|
Georg Lehmann
|
973678e6bf
|
[d3d9] Only look at the last bit for D3DSAMP_SRGBTEXTURE
|
2021-08-07 13:09:13 +00:00 |
|
Georg Lehmann
|
a1fbcf35de
|
[d3d9] Ignore clear with Count == 0 and non-NULL rect
|
2021-08-06 18:54:17 +00:00 |
|
Robin Kertels
|
7873bebaf2
|
[d3d9] Only check range overlap if the buffer is not directly mapped
|
2021-07-28 16:57:02 +00:00 |
|