Commit Graph
136 Commits
Author SHA1 Message Date
Henrik Rydgård 176b460d76 Quick attempt at fixing the Macross glitch 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 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 6f484d0aee Remove unused useBGRA parameter 2022-07-30 08:52:24 +02: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
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 a0ca968b1e Bugfixes, handle the rest of the cases 2022-04-15 00:56:25 +02:00
Henrik Rydgård 42cd937de2 Simplification and some cleanup 2022-04-15 00:56:25 +02:00
Henrik Rydgård 9f7e0978a9 AND together colors while decoding, and then check against fullAlphaMask. 2022-04-15 00:56:25 +02:00
Henrik Rydgård f54ed3757c Always use the stable quick tex hash. Doesn't actually make a difference except on new CPU archs. 2022-04-13 11:18:18 +02:00
Unknown W. Brackets 09f0578a64 Replacement: Use a thread to load tex replacements. 2021-10-21 17:05:39 -07:00
Unknown W. Brackets 83b7b33cfd Replacement: Centralize lookup logic.
And make sure we don't change our minds about using a replacement during a
draw.
2021-10-21 17:05:38 -07:00
Unknown W. Brackets 2356280a9c Replacement: Add structure for delayed loading. 2021-10-21 17:05:38 -07:00
Henrik Rydgård 95dc7bb185 Minor cleanup 2021-07-10 20:00:50 +02:00
Unknown W. Brackets 82a7a26409 GPU: Look up replaced filtering options. 2021-02-27 17:17:21 -08:00
Unknown W. Brackets fb3ad1df4b Replacement: Read in texture filtering overrides.
If you're replacing, you can know more information about linear safety for
tests.
2021-02-27 17:16:16 -08:00
Unknown W. Brackets 557bf0d963 TexCache: Check for videos rendered as slices.
In a few places, we were checking only the start address of the video.
2021-02-20 20:59:04 -08:00
Unknown W. Brackets ae474f5f18 GPU: Correct some field shadowing. 2021-02-15 12:00:29 -08:00
Henrik Rydgård 981d0a2abe Reinterpret the data when binding a framebuffer with a different 16-bit format.
Car reflections in Outrun are better (see #11358) but have some
blue/yellow color garbage that will need a different fix.
2020-11-08 11:32:55 +01:00
Henrik Rydgård 3e6d121016 Partially revert "Clarify some logic, improve framebuffer names"
I screwed up a couple things.

Fixes #13619

This reverts commit 32eb882bc6.
2020-11-03 11:39:12 +01:00
Henrik Rydgård 32eb882bc6 Clarify some logic, improve framebuffer names 2020-11-02 10:02:49 +01:00
Henrik Rydgård 277333682f GPU debug stats: Show how many bytes of texture data we hash per frame 2020-09-20 22:09:29 +02:00
Henrik Rydgård f288e64679 Simplify NotifyFrameBuffer - only needs one call for both "channels" now. 2020-09-20 22:09:29 +02:00
Henrik Rydgård 707e9cf7ac Remove some unnecessary function parameters, improve some comments. 2020-09-20 20:44:18 +02:00
Henrik Rydgård 7630fae4b9 Fix bug in new framebuffer code, reducing unnecessary texture invalidations.
Improves the performance issue in #13431
2020-09-16 01:03:56 +02:00
Henrik Rydgård a222b2017e Switch to a returned value and rename these functions. 2020-09-14 00:04:39 +02:00
Henrik Rydgård 5190f85c8e Unify/centralize SetFramebufferSamplingParams. Some include cleanup. 2020-09-14 00:04:39 +02:00
Henrik Rydgård a4c071261b TextureCacheCommon::UpdateSamplingParams no longer takes a TexCacheEntry 2020-09-13 16:40:37 +02:00
Henrik Rydgård cea35007ae Always use a linear filter for video, unless forcing NEAREST filtering. 2020-09-13 16:40:37 +02:00
Henrik Rydgård a28954d311 Further simplify framebuffer matching. 2020-09-13 09:03:31 +02:00
Henrik Rydgård 41eee6a1a4 Decouple framebuffers from texcache entries entirely. 2020-09-12 14:25:50 +02:00
Henrik Rydgård c7a5f45f81 Remove fbCache_ from TextureCacheCommon.cpp. 2020-09-12 12:37:05 +02:00
Unknown W. Brackets ee6fbd9a0b TexCache: Rename "Invalid" attach to "Inexact".
The name has seemed confusing to me for a while.
2020-09-06 23:04:52 -07:00
Henrik Rydgård 4252036d89 Apply the scoring model when creating/updating framebuffers too.
Reuses the same mechanism.

This is the second part of the Test Drive fix.
2020-08-30 16:21:56 +02:00
Henrik Rydgård e9ff037e91 Extract AttachFramebufferToEntry function 2020-08-30 16:21:56 +02:00
Henrik Rydgård 41fe6f9e12 Delete an unused buffer, saving 0.5MB of RAM. 2020-08-28 10:38:00 +02:00
Henrik RydgårdandGitHub 13552550bc Merge pull request #13330 from unknownbrackets/gpu-clear
TexCache: Force recreate texture on detach
2020-08-24 07:24:04 +02:00
Unknown W. Brackets f44717c4f5 TexCache: Force recreate texture on detach.
We could have multiple detaches, and we delete the texture on attach, so
we really must make sure we recreate.

Fixes #13320.
2020-08-23 21:29:53 -07:00
Henrik Rydgård 055588c1a1 Framebuffer manager refactor step 1: Split ApplyFramebuffer into Match and Apply steps.
This should have no change in behavior, but prepares the ground for the
next steps. Want this merged separately.
2020-08-24 00:01:02 +02:00
Henrik Rydgård ba0d04a142 Vulkan: Implement depth texturing through depal. 2020-08-09 20:31:04 +02:00
Henrik Rydgård cf122e9333 Vulkan/generic: Initial prep for depth texturing 2020-08-09 19:47:15 +02:00