Commit Graph

456 Commits

Author SHA1 Message Date
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
Unknown W. Brackets c581a83896 GPU: Centralize SetDisplayFramebuffer(). 2022-08-23 19:29:06 -07:00
Henrik Rydgård 60e129d88e Break out Draw2D in a class 2022-08-23 11:12:23 +02:00
Henrik Rydgård 83b7386f7d Switch reinterpret shaders over to the Draw2D framework. 2022-08-23 11:12:23 +02:00
Henrik Rydgård 65e4e249ec More Draw2D refactoring 2022-08-23 11:12:23 +02:00
Henrik Rydgård 5415da10bf Rename VirtualFramebuffer->format to fb_format to line up with fb_address and fb_stride (fundamental parameters) 2022-08-23 08:37:44 +02:00
Henrik Rydgård a0722af107 Rename fmt->fb_format 2022-08-23 08:37:44 +02:00