Commit graph

298 commits

Author SHA1 Message Date
Henrik Rydgård
2a6015c1e3 Better checks for smoothed depal 2022-08-22 15:25:28 +02:00
Henrik Rydgård
6558bde0f6 Remove SmoothedDepal compat setting, instead detect the ramp directly. 2022-08-22 15:24:41 +02:00
Henrik Rydgård
b39b74e602 More renaming. Fix shader view for Vulkan 2022-08-22 12:30:51 +02:00
Henrik Rydgård
82a6c42e17 DepalettizeCommon -> TextureShaderCommon. Simplifications. 2022-08-22 12:21:20 +02:00
Henrik Rydgård
58a6fd3395 Convert TextureShaderApplier to a member function in DepalCache. 2022-08-22 11:45:52 +02:00
Henrik Rydgård
383adcb870 Simplify depal shader apply code a bit. 2022-08-22 11:31:27 +02:00
Henrik Rydgård
3c307c9857
Merge pull request #15884 from unknownbrackets/texreplace-io-async
Replacement: Read files only within time budget
2022-08-22 11:10:16 +02:00
Unknown W. Brackets
e473eb9f5e Replacement: Read files only within time budget.
When delayed texture load is enabled.  Intended to reduce IO delays on
Android.
2022-08-21 22:07:05 -07:00
Unknown W. Brackets
afc9a14b37 GPU: Share CLUTs if no extended CLUT.
Oops, this was backwards.  See #15878.
2022-08-21 16:46:51 -07:00
Henrik Rydgård
a11e7e167b More D3D9 work on depth textures. Something still missing. 2022-08-21 09:58:58 +02:00
Henrik Rydgård
e2707d3ab3 Remove debug code, cleanup 2022-08-21 09:58:58 +02:00
Henrik Rydgård
f3496d34c8 Texture bind channel fix. Still need to figure out a way to decide to swizzle or not. 2022-08-21 09:58:58 +02:00
Henrik Rydgård
5a7bddbfa6 Allow binding depth as 565 by going through depal.
This is a partial fix for #6105 (Ratchet & Clank particles visible
through things), but there's still weird glitchiness. There's a pass
during rendering that scrambles the mini depth buffer by using a
triangle mesh. I wonder if it's trying to simulate the swizzle? But it
doesn't really look like it...
2022-08-21 09:58:58 +02:00
Unknown W. Brackets
e374ea6b21 GPU: Restrict mip CLUT enhancement a bit.
Can't replicate this behavior on a real PSP.

In case a game sets the separate CLUT flag by accident, ignore except
in a safe case that occurs in Misshitsu no Sacrifice.  See #15727.
2022-08-20 17:32:45 -07:00
Henrik Rydgård
97dbba0ec3 Minor fixes. Everything seems fine now. 2022-08-20 08:29:33 +02:00
Henrik Rydgård
886679c7ec Remove the color-to-depth mode 2022-08-20 08:29:33 +02:00
Henrik Rydgård
68480c548d Texture bind channel fix 2022-08-20 08:07:11 +02:00
Henrik Rydgård
295f5f391e More consistent handling of lack of depth texture support. Small log improvement. 2022-08-20 08:05:53 +02:00
Henrik Rydgård
bd3d97b17b Fix bug in framebuffer matching where the wrong format was checked for depth matching. Fixes #15867 2022-08-20 07:59:11 +02:00
Henrik Rydgård
76333f90fe Bias towards the most recently written framebuffer 2022-08-17 23:51:05 +02:00
Henrik Rydgård
fde369332b Remove restrictions on VRAM addresses for depth and color 2022-08-17 23:46:38 +02:00
Henrik Rydgård
31773b42ba Always attempt to match both depth and color 2022-08-17 23:35:36 +02:00
Henrik Rydgård
b5f0e26c24 Pre-reject DXT formats, Misc 2022-08-17 23:31:36 +02:00
Henrik Rydgård
705b34d868 Show seqCount in candidate list 2022-08-17 23:25:07 +02:00
Henrik Rydgård
8251932ae3 Stride fix in matching 2022-08-17 22:58:26 +02:00
Henrik Rydgård
7f169436c0 Framebuffer matching simplification 2022-08-17 22:47:17 +02:00
Henrik Rydgård
131098c4d4 Some enum renaming, move RasterChannel to GPU.h. 2022-08-09 19:58:48 +02:00
Henrik Rydgård
1913930541 Careful with mipmaps on old OpenGL ES. Lost this check in the refactor, made it clearer than before at least.
Fixes Burnout rendering issue mentioned in #15818
2022-08-09 17:26:39 +02:00
Henrik Rydgård
852c395fb7 Texcoord attrs must be called a_texcoord0, this should be fixed. Oh well.
Also small fix for depth in float-depal.
2022-08-09 16:07:02 +02:00
Unknown W. Brackets
e589b4506b GLES: Correct alpha check for depal framebuffers. 2022-08-07 07:43:10 -07:00
Henrik Rydgård
6f1f482432 Make GLQueueRunner/RenderManager aware of device caps, use it to check for NPOT and some other stuff 2022-08-07 11:15:23 +02:00
Henrik Rydgård
5987c355d3 D3D9: Fix a lot of stuff 2022-08-06 18:27:04 +02:00
Henrik Rydgård
ded8ba8806 More cleanup, fixes. 2022-08-06 18:27:04 +02:00
Henrik Rydgård
92a3d45340 Lock out shaderDepal from D3D for now, will implement later. 2022-08-06 18:27:03 +02:00
Henrik Rydgård
81c36578ca Feature detection fixes 2022-08-06 18:27:03 +02:00
Henrik Rydgård
4e3c258140 Delete all the duplicate implementations of ApplyTextureFramebuffer 2022-08-06 18:27:03 +02:00
Henrik Rydgård
45def772ee Move the depal cache instance ownership to TextureCacheCommon 2022-08-06 18:27:03 +02:00
Henrik Rydgård
ab560d9224 Move more stuff to Common 2022-08-06 18:27:03 +02:00
Henrik Rydgård
fafe727870 Fix corrupted colors when using software upscaling with OpenGL.
Fixes #15779
2022-08-06 18:04:45 +02:00
Henrik Rydgård
fce792458b Avoid upscaling textures used for color-to-depth.
(Not a perfect method, it could theoretically have been upscaled in a
normal render pass...)
2022-08-01 14:10:51 +02:00
Henrik Rydgård
f73995b5db Disable texture filtering when drawing color into depth 2022-08-01 14:08:16 +02:00
Henrik Rydgård
3331654396 Fix Macross glitches. 2022-08-01 00:19:47 +02:00
Henrik Rydgård
46d6b43618 Support 3D textures in OpenGL ES, add feature check 2022-07-31 10:43:48 +02:00
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