Commit Graph
204 Commits
Author SHA1 Message Date
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årdandGitHub 586da08820 Merge pull request #15895 from unknownbrackets/gpu-minor
GPU: Correct Draw2D::DeviceRestore()
2022-08-24 11:50:42 +02:00
Henrik RydgårdandGitHub 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
Henrik Rydgård 51686f4936 Copy color from overlapping framebuffers on bind, under certain conditions.
Leads to much faster performance in Juiced 2.

This will later be expanded to handle more things in a more elegant way,
like the framebuffer overlap in God of War for the shadows and
color reinterpretation in a generic way.

Fixes #15728
2022-08-22 16:06:55 +02:00
Henrik Rydgård 8e7cf596b6 Address more feedback, cleanup scale parameter 2022-08-21 09:58:58 +02:00