Commit graph

6020 commits

Author SHA1 Message Date
Henrik Rydgård
56892944f6 Fix crash in Digimon Adventures.
Fixes #13371
2020-09-04 09:01:42 +02:00
Henrik Rydgård
5697b6a9c5 Look in the mirrors or not depending on whether the texture's address is in the mirrors (detected as a depth texture).
Also removes reporting that no longer makes sense.
2020-09-01 23:05:15 +02:00
Henrik Rydgård
a1e5f1b052 When going the other way, there can be multiple textures that need updating. 2020-09-01 22:54:36 +02:00
Henrik Rydgård
a22181df1c Partially fix Katamari (flicker due to choice of the wrong depth buffer still happening). 2020-09-01 22:54:36 +02:00
Henrik Rydgård
5043f05687 Oops, crashfix for late change 2020-08-31 10:37:28 +02:00
Henrik Rydgård
064f2b6d01 Add some ONCE-reporting of multiple candidate situations 2020-08-31 09:42:15 +02:00
Henrik Rydgård
eda4bb2341 Test Drive: Allow virtual framebuffer copies. This eliminates the hyper expensive readbacks.
Write some comments in Depal about how we could get rid of the banding.
2020-08-30 16:21:56 +02: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
a70ea98475 Switch framebuffer matching to a scoring model. 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
e33c31e187
Merge pull request #13353 from unknownbrackets/texcache
TexCache: Improve QuickTexHash a little, cleanup ARM64 defines
2020-08-29 18:35:06 +02:00
Unknown W. Brackets
6b8f7294b3 Global: Remove ARM64 define.
Was barely used anymore, and some users are specifying it when it's not
the case, so better to detect consistently.
2020-08-29 08:45:50 -07:00
Unknown W. Brackets
2be8f86286 GPU: Avoid compile error if ARM64=1 specified.
If it's specified, but incorrect, we would compile incorrectly.  We're
moving away from it anyway.
2020-08-29 08:18:54 -07:00
Unknown W. Brackets
7426e2a8f8 TexCache: Try to avoid wrong texcache usage.
Now that the speed is closer, disable on non-ARMV7 so we can avoid wrong
compilations more often.
2020-08-29 08:16:23 -07:00
Unknown W. Brackets
364aabe84f TexCache: Improve quicktexhash by ~1-4% on NEON.
Improvement is greater on 64-bit (4.3%) than 32-bit (1.6%.)
2020-08-29 08:03:58 -07:00
Henrik Rydgård
8618cc7ab5 Virtual framebuffer copies: Make a more informed guess on appropriate pixel format.
This is the first part of the Test Drive fix, which I want in
separately.
2020-08-29 12:42:36 +02:00
Henrik Rydgård
cb3ed8f4a1
Merge pull request #13343 from unknownbrackets/xxhash
Switch to XXH3
2020-08-28 12:20:26 +02:00
Henrik Rydgård
41fe6f9e12 Delete an unused buffer, saving 0.5MB of RAM. 2020-08-28 10:38:00 +02:00
Unknown W. Brackets
e32524c544 GPU: Remove ReliableHash aliases.
Let's just use XXH32/XXH64 directly in texture replacements, clearer
anyway.
2020-08-28 01:15:22 -07:00
Unknown W. Brackets
7f812a5d9a GPU: Hash CLUT using XXH3 with replacements off.
It's faster, but if texture replacements are enabled, we want the hash to
stay the same.
2020-08-27 20:46:39 -07:00
Unknown W. Brackets
15c25be42b GPU: Switch vertex/lookup hashes to XXH3.
This is faster pretty much everywhere.
2020-08-27 20:37:49 -07:00
Unknown W. Brackets
30625225b0 GPU: Remove neon xxhash implementation.
It's typically around the same speed now with modern compilers, and much
slower than XXH3.
2020-08-27 20:31:09 -07:00
Henrik Rydgård
924329321c Throw in a minor simplification in depal. 2020-08-27 23:02:17 +02:00
Henrik Rydgård
0b8e377872 Address feedback from #13341. 2020-08-27 22:59:27 +02:00
Henrik Rydgård
4e841ca3a6 Naming fix, better names for temp fbos 2020-08-27 21:50:05 +02:00
Henrik Rydgård
6e9d5ffbd7 VulkanRenderManager: Improve logging. LogSteps output is much better.
More logging improvements
2020-08-27 21:50:05 +02:00
Henrik Rydgård
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
35c5308c30 Framebuffer matching: Don't try to match depth buffers with color if the swizzle bits don't indicate it.
Fixes God of War issue reported in a comment of #13317.
2020-08-23 22:11:18 +02:00
Unknown W. Brackets
3b11b09621 Debugger: Check for no texture before debug bind.
This means a framebuffer texture that is somehow not attached, but better
to avoid the crash.
2020-08-23 08:24:46 -07:00
Unknown W. Brackets
5ade93a091 GPU: Properly detect clears.
The check was reversed before, oops.  Detected masked draws.

Must've gotten this backwards debugging Mana Khemia.
2020-08-23 08:23:39 -07:00
Henrik Rydgård
d465ce5123 Quick Vulkan crashfix 2020-08-22 10:50:39 +02:00
Henrik Rydgård
506a86300d More explicit invalidation of any cached state in Thin3D. Fixes #13307 2020-08-22 00:30:29 +02:00
Unknown W. Brackets
3055deeba6 GPU: Fix some case warnings.
Better to avoid the warnings.
2020-08-19 21:18:44 -07:00
Henrik Rydgård
d8334ba66f
Merge pull request #13301 from hrydgard/more-gl-state-leaks
More GL state leak fixing
2020-08-18 12:58:13 +02:00
Unknown W. Brackets
817dd33737
Merge pull request #13294 from hrydgard/software-side-clip
Software renderer clipper: Don't clip on the sides.
2020-08-18 03:31:01 -04:00
Henrik Rydgård
5313fc5b36 More work on GL state leaks. Some things really need a redesign. 2020-08-18 09:18:24 +02:00
Henrik Rydgård
c0dffd56aa Log the first 100 block transfers instead of just the first one. Should make it easier to spot interesting things without hacking the log code. 2020-08-16 22:38:15 +02:00
Henrik Rydgård
479dedf0ba Some logging improvements. Show more coordinates for block transfers, etc. 2020-08-16 22:27:21 +02:00
Henrik Rydgård
2e06386cf6 Software renderer clipper: Don't clip on the sides. Fixes #4845 and should fix #7124 for the SW renderer. 2020-08-16 21:38:07 +02:00
Henrik Rydgård
0bf6bd9175 More Log.h cleanup. 2020-08-16 14:48:54 +02:00
Henrik Rydgård
9561a4f80a Move MsgHandler into Log.cpp/h 2020-08-16 14:48:54 +02:00
Henrik Rydgård
61bf512244
Merge pull request #13291 from hrydgard/assert-cleanup
Assert function cleanup
2020-08-16 13:57:22 +02:00
Henrik Rydgård
8db6599e77 Buildfixes 2020-08-16 12:48:09 +02:00
Henrik Rydgård
5d64fc5ff1 Switch to PPSSPP's assert functions (don't use the system's) 2020-08-16 10:01:10 +02:00
Henrik Rydgård
7aacf3df37 Remove time_now() - time_now_d() is the replacement. Absolute time values can't be stored reliably in floats. 2020-08-16 09:37:18 +02:00
Henrik Rydgård
ccc0331279 Move timeutil to Common. (Experiment to see how much work it is to move these). 2020-08-15 20:53:08 +02:00
Henrik Rydgård
7115c28c29
Merge pull request #13287 from hrydgard/log-cleanup
Log system cleanup
2020-08-15 20:32:01 +02:00
Unknown W. Brackets
1e2f87a6d2 Vulkan: Fix tex upscaling 4444 swizzling. 2020-08-15 10:12:34 -07:00