Henrik Rydgård
0262fbc70a
Implement 3D textures for D3D11
2022-07-31 10:43:48 +02:00
Henrik Rydgård
176b460d76
Quick attempt at fixing the Macross glitch
2022-07-31 10:43:48 +02:00
Henrik Rydgård
2cb9e09ad3
Implement new discovery of a larger CLUT than we thought, plus non-shared CLUTs for 8-bit indices.
...
Not sure yet what limitations apply, regarding using it for even more
16-bit colors, etc...
2022-07-31 10:43:48 +02:00
Henrik Rydgård
f061eadc04
Initial implementation of 3D texturing through equal-size mips (see #6357 )
...
Vulkan-only currently, though all the other backends except ES 2.0
without GL_OES_texture_3d can support it with some work.
2022-07-31 10:43:47 +02:00
Henrik Rydgård
6a5a232777
Unify the GLES LoadTextureLevel with the D3D ones.
2022-07-30 19:07:21 +02:00
Henrik Rydgård
c6d7423368
Prepare to convert the GLES functions too
2022-07-30 18:37:48 +02:00
Henrik Rydgård
dea979433c
Share LoadTextureLevel between the two D3D backends.
2022-07-30 17:00:34 +02:00
Henrik Rydgård
9ed96921e1
Cleanup
2022-07-30 16:51:29 +02:00
Henrik Rydgård
063cd18254
Simplify CPU upscaling code
...
Use the existing expandTo32bit mode in the texture decoder instead of
the backend-specific switches and stuff.
Just gets rid of a bunch of redundant code and makes further changes
easier.
2022-07-30 15:06:25 +02:00
Henrik Rydgård
9f1fdc6c02
Use PrepareBuildTexture from the Vulkan backend too
2022-07-30 10:45:03 +02:00
Henrik Rydgård
d0d53091a8
Change from maxLevel to levelsToLoad, for better readability. Cleanup.
2022-07-30 10:45:02 +02:00
Henrik Rydgård
1e9d85cda1
Define texture loading plan semantics better, pre-port some from Vulkan
2022-07-30 10:44:28 +02:00
Henrik Rydgård
6220068fb1
Update PrepareBuildTexture
2022-07-30 10:44:28 +02:00
Henrik Rydgård
043989ca8a
Use PrepareBuildTexture from D3D11 backend
2022-07-30 10:44:27 +02:00
Henrik Rydgård
167b837ed3
Break out the preparation part of BuildTexture from GLES
2022-07-30 10:44:27 +02:00
Henrik Rydgård
4165e146e6
Remove unused parameters to some conversion functions
2022-07-30 08:52:24 +02:00
Henrik Rydgård
6f484d0aee
Remove unused useBGRA parameter
2022-07-30 08:52:24 +02:00
Unknown W. Brackets
acc248164f
Replacement: Clear cache on disable.
...
When lazy loading, let's clear cached replacement data on disable.
This is purges memory immediately, and also allows force-reloading
textures by toggling the setting.
2022-07-27 20:27:56 -07:00
Henrik Rydgård
04a85b1da0
Allows "merging" render targets that overlap on the Y access. Fixes #7295 (Juiced 2)
...
To be safe, gating this behind the related AllowLargeFBTextureOffsets,
which is also required for the effect to work.
Additionally, fixes the offset check for X offsets, which I guess is a
very small risk.
2022-07-24 11:58:07 +02:00
Henrik Rydgård
15f5ed81a7
Add a simple compat flag to workaround the Clone Wars issue, #12949
...
Could probably also be fixed by changing the heuristic a bit, but since
we're in heuristic land anyway and close to a release, I feel this is
the safest option.
Also sneaks in a logspam reduction
2022-07-15 11:44:51 +02:00
Henrik Rydgård
5868cf0f1c
Convert the blueToAlpha bool to a usageFlag. KEEP instead of CLEAR for depth during reinterpret.
2022-04-30 18:17:29 +02:00
Henrik Rydgård
462972f7ea
Add option to redirect blue to alpha if 565 mode is rendered and mask is 0x0FFFFF.
...
This is used by several games to render to the alpha channel of RGBA4444
images, which cannot normally be done directly on the PSP.
Can be used as a far more efficient replacement for
ReinterpretFramebuffers/ShaderColorBitmask
2022-04-30 18:17:16 +02:00
Unknown W. Brackets
8779421a3e
GLES: Reverse alphamask when comparing to CLUT.
...
The CLUT is already reversed.
2022-04-25 08:54:02 -07:00
Henrik Rydgård
35e7affa3e
Simplify alphasum checking for DXT textures, and fix a regression
...
Got some weird blackness in the sky in Gran Turismo. This fixes that.
2022-04-25 00:54:47 +02:00
Henrik Rydgård
c52a5e9e25
Fix checks for the "fake mipmap" situation.
...
Fixes #15492
2022-04-22 22:59:20 +02:00