Commit graph

362 commits

Author SHA1 Message Date
Henrik Rydgård
a8a9fb4206 Much faster framebuffer matching (no more ToString every time there's more than 1 candidate, etc). 2022-08-31 14:23:56 +02:00
Henrik Rydgård
67d6549afd Rename Slow Framebuf effects to Shader Blending (might remove). Reassign readbacks to BlockTransferGPU. 2022-08-31 14:23:33 +02:00
Henrik Rydgård
437d6d30a0 KillZone: Fix margin detection on the title screen, fixing some glitches. Need more fixes though to fix the shimmer effect.
See #6207 comments
2022-08-31 11:40:42 +02:00
Henrik Rydgård
0928d9d285 Extract the split code to a function 2022-08-31 09:12:52 +02:00
Henrik Rydgård
95b299766e Cleanup (more to do, though) 2022-08-31 01:53:13 +02:00
Henrik Rydgård
70f7f74a05 Check X coordinate of through-mode drawcalls to figure out which of the splits to render to 2022-08-31 01:09:23 +02:00
Henrik Rydgård
1b3b1acefa Tweak ForceMax60Fps to work for Killzone 2022-08-30 20:10:44 +02:00
Henrik Rydgård
987bfc79ef Split the framebuffer in Killzone, with a compatibility flag.
Greatly improves performance.

See issue #6207
2022-08-30 20:05:56 +02:00
Henrik Rydgård
340c75a2d9 Remove "DisableReadbacks" compat flag. MotoGP no longer needs it after BlockTransferAllowCreateFB was added. 2022-08-30 13:16:36 +02:00
Henrik Rydgård
44d822be3b Address feedback 2022-08-30 06:41:37 +02:00
Henrik Rydgård
670c31e746 Add support for reading depth buffers to the PackFramebufferSync function.
Also adds D16 conversion code (though, could probably get away with just
creating a 16-bit depth buffer on the GPU and blit to it, where depth
blit is available).

Not yet used, just getting it in separately.
2022-08-30 00:00:59 +02:00
Henrik Rydgård
847e05140b Add another stat, for self-tex 2022-08-29 17:41:29 +02:00
Henrik Rydgård
333df62691 Remove the reinterpret compat flag, now always on
Remove ini entries
2022-08-29 17:41:29 +02:00
Henrik Rydgård
cd37bffdaa Better framebuffer checks, remove all ways that framebuffer formats can change. 2022-08-29 11:06:45 +02:00
Henrik Rydgård
b447092742 Some Vulkan renderpass load/store optimizations. 2022-08-28 23:16:48 +02:00
Henrik Rydgård
e63c14b45a More spongebob check tweaks, assert fix 2022-08-28 09:13:43 +02:00
Henrik Rydgård
39f6621442 Address additional feedback, thanks! 2022-08-28 07:31:50 +02:00
Henrik Rydgård
322f29ce80 Comments and fixes 2022-08-27 23:37:02 +02:00
Henrik Rydgård
6cedf34e9c Block transfer bug fix 2022-08-27 23:20:26 +02:00
Henrik Rydgård
a74d2ec185 Comment fixes 2022-08-27 19:24:25 +02:00
Henrik Rydgård
8d1157e107 GL bugfix, log cleanup 2022-08-27 14:40:42 +02:00
Henrik Rydgård
92eaac0210 Fix problem matching framebuffers for reinterpret 2022-08-27 13:57:54 +02:00
Henrik Rydgård
c533ea4d93 Logging improvements 2022-08-27 13:57:36 +02:00
Henrik Rydgård
85f2a0f052 Remove some old logging that's not very interesting anymore 2022-08-27 13:57:08 +02:00
Henrik Rydgård
628bac056d Log improvement 2022-08-27 11:31:17 +02:00
Henrik Rydgård
7be3063c96 When cloning framebuffers for reinterpret, adjust width according to bpp 2022-08-27 11:12:35 +02:00
Henrik Rydgård
693fd0870f Bugfix, better logging 2022-08-26 23:26:44 +02:00
Henrik Rydgård
3c5ec25f61 Initial implementation of 32/16-bit color reinterpret blits. 2022-08-26 15:51:25 +02:00
Henrik Rydgård
eeb784b417 Prepare for 16/32 reinterpret 2022-08-26 15:51:25 +02:00
Henrik Rydgård
9a82a7d659 Detect need for 16<->32-bit reinterprets 2022-08-26 15:51:25 +02:00
Henrik Rydgård
cd0a31a3cd Work in bytes in the framebuffer matching algorithm for block copies, avoid margins 2022-08-26 15:51:25 +02:00
Henrik Rydgård
7cba231e58 Finish the depal refactoring.
Needed for an upcoming change (since this lets us use the Draw2D
uniform mechanism in depal shaders).
2022-08-26 15:47:29 +02:00
Henrik Rydgård
e6bb512a39 Remove support for framebuffers changing stride (already unreachable).
Also fixes a compiler warning
2022-08-25 19:07:07 +02:00
Henrik Rydgård
656932397b Revert minimum stride 2022-08-25 18:56:04 +02:00
Henrik Rydgård
753062b2a1 More comment fixes, cleanups 2022-08-25 00:52:45 +02:00
Henrik Rydgård
272019f23a Comments 2022-08-25 00:47:19 +02:00
Henrik Rydgård
f79acd651d Comment updates 2022-08-25 00:29:44 +02:00
Henrik Rydgård
bbd92e6345 Merge the two find FindTransferFramebuffer* methods 2022-08-25 00:22:33 +02:00
Henrik Rydgård
9feb61e7fa Additional renaming 2022-08-25 00:19:08 +02:00
Henrik Rydgård
d0713d7fff Rename variables to make the two functions match 2022-08-25 00:17:01 +02:00
Henrik Rydgård
62a834d15e Split up FindTransferFramebuffers 2022-08-25 00:12:31 +02:00
Henrik Rydgård
04740d069c Tighten the check a bit more 2022-08-24 18:35:42 +02:00
Henrik Rydgård
1feae894d3 Reorder some parameters. Detect buffers in stride gaps. 2022-08-24 18:31:10 +02:00
Henrik Rydgård
048a556ada Add floating point version of reinterpret shaders 2022-08-24 14:40:37 +02:00
Henrik Rydgård
99404f0a15 Fix BlueToAlpha together with reinterpret. Add back fake reinterpret for now. 2022-08-24 14:40:37 +02:00
Henrik Rydgård
c6f20bda18 Reimplement texture format reinterpretation 2022-08-24 14:40:37 +02:00
Henrik Rydgård
586da08820
Merge pull request #15895 from unknownbrackets/gpu-minor
GPU: Correct Draw2D::DeviceRestore()
2022-08-24 11:50:42 +02:00
Henrik Rydgård
5d50d02227
Merge pull request #15894 from unknownbrackets/debugger
GE Debugger: Record only one flip if display framebuf not changed, step on vsync
2022-08-24 06:27:31 +02:00
Unknown W. Brackets
7ec62a32b4 GPU: More consistently clear ptrs on DeviceLost().
Rather get a null pointer crash than confusing buggy use-after-free
excitement.
2022-08-23 20:15:30 -07:00
Unknown W. Brackets
a901fa4315 GE Debugger: Add separate step based on vsync.
I think there were some games where this would step in the middle of a
frame, but not seeing it commonly now.  So make it the default, but allow
both methods in the menu.

Fixes #15893.
2022-08-23 19:48:34 -07:00