Commit graph

172 commits

Author SHA1 Message Date
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
Henrik Rydgård
668de1f544 Compatibility check 2022-08-21 09:58:58 +02:00
Henrik Rydgård
9cc8cfaa08 Use a DX9-compatible method to pass texwidth and height. the effect doesn't work on DX9 yet though. 2022-08-21 09:58:58 +02:00
Henrik Rydgård
ca24f1b9aa Fixes for D3D11 2022-08-21 09:58:58 +02:00
Henrik Rydgård
412d44dc92 Fix glitch when changing render resolution 2022-08-21 09:58:58 +02:00
Henrik Rydgård
89c96142a1 Really not sure how we can detect whether a depth deswizzle is needed :( Hopefully temporary flag... 2022-08-21 09:58:58 +02:00
Henrik Rydgård
e6b60026d1 Fix graphics in Ratchet & Clank. WIP 2022-08-21 09:58:58 +02:00
Henrik Rydgård
346a252593 Fix naming of temp fbos to be in PSP pixels 2022-08-21 09:58:58 +02:00
Henrik Rydgård
5046cbd015 Address feedback to PR #15858 2022-08-20 17:23:51 +02:00
Henrik Rydgård
29ea3ffe0c Restore the clearing optimization, avoiding unnecessary depth copies 2022-08-20 09:46:15 +02:00
Henrik Rydgård
12db0e52d4 Fix deferred-depth for bezier/spline. Move updating of last_frame_depth_render to GPUCommon. 2022-08-20 08:29:33 +02:00
Henrik Rydgård
97dbba0ec3 Minor fixes. Everything seems fine now. 2022-08-20 08:29:33 +02:00
Henrik Rydgård
5d8fe4c2a8 Implement copying color to depth on load. However, weird stuff is happening.. 2022-08-20 08:29:33 +02:00
Henrik Rydgård
94ade8c751 Extract depth copies to CopyToDepthFromOverlappingFramebuffers 2022-08-20 08:29:33 +02:00
Henrik Rydgård
886679c7ec Remove the color-to-depth mode 2022-08-20 08:29:33 +02:00
Henrik Rydgård
a0ac2dffc7 Defer depth copies until depth buffer is actually used.
Fixes
2022-08-20 08:29:33 +02:00
Henrik Rydgård
bd6f79e473 Fix the raster depth blit again, which I recently broke. 2022-08-17 16:52:49 +02:00
Henrik Rydgård
74f1c94ddb Use sequence numbers instead of a tracking array for depth buffers 2022-08-17 10:34:07 +02:00
Henrik Rydgård
078fc881a7 Revise comments according to feedback 2022-08-17 10:15:02 +02:00
Henrik Rydgård
a8b1d1191e Oops, remove wrong comments 2022-08-17 10:09:12 +02:00
Henrik Rydgård
19367dd890 Comment updates 2022-08-17 10:09:12 +02:00
Henrik Rydgård
5785cf40ad Clean up and comment framebuffer struct better, add bind sequence numbers 2022-08-17 10:09:11 +02:00
Henrik Rydgård
35a1ca064a Refactor 2D pipeline creation 2022-08-16 19:27:46 +02:00
Henrik Rydgård
570e0326e7 Rely on refcounting for stencil upload shader modules 2022-08-16 15:10:48 +02:00
Henrik Rydgård
1e57a358b8 thin3d: Properly AddRef and Release shader modules from the pipeline in backends that need it 2022-08-16 15:10:48 +02:00
Henrik Rydgård
ccdb1f7330 Move out the reinterpret stuff to ReinterpretFramebuffer.cpp. Draw2D refactor. 2022-08-16 11:11:59 +02:00
Henrik Rydgård
9f2447c0b4 Assorted minor cleanup 2022-08-16 10:55:44 +02:00
Henrik Rydgård
5f9718ef92
Merge pull request #15843 from unknownbrackets/gpu-minor
GPU: Skip fb create upload when clearing
2022-08-16 00:05:10 +02:00
Unknown W. Brackets
6060706fc8 GPU: Avoid using depth buffers for blending.
For now, until it's implemented.
2022-08-14 22:13:39 -07:00
Unknown W. Brackets
0b22c98404 GPU: Skip fb create upload when clearing.
This doesn't verify it's a full screen clear, but on a new framebuffer
that's very very common.
2022-08-14 13:19:52 -07:00
Henrik Rydgård
79ee532609 Fix feature checks 2022-08-09 20:05:44 +02:00
Henrik Rydgård
252550fbd2 Enable framebuffer depth blits through raster. Fixes games like Jeanne D'Arc on D3D9. 2022-08-09 20:00:32 +02:00
Henrik Rydgård
131098c4d4 Some enum renaming, move RasterChannel to GPU.h. 2022-08-09 19:58:48 +02:00