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å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
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