Henrik Rydgård
1b2f87bf1a
Rename GPUgstate to GEState
2026-07-02 20:34:09 +02:00
Henrik Rydgård
f60e27a9b7
Just some refactoring of the GPUStatistics struct, and more use of StringWriter
2026-05-29 14:40:31 +02:00
Henrik Rydgård
5a5c7028b9
Assorted warning fixes and data initialization to please valgrind
2026-02-19 11:24:46 +01:00
Henrik Rydgård
8ceffa08cb
Ignore extreme Y offsets when matching framebuffers.
...
Fixes #15828
2026-02-12 11:03:46 +01:00
Henrik Rydgård
5d080d1de8
Add a quick check against bad clut vs depth texture framebuffer matches
...
See #15828 and #20847
2026-02-10 15:51:49 +01:00
Henrik Rydgård
2ea94534e6
Split up FramebufferManagerCommon::CopyDisplayToOutput
2026-02-08 10:17:42 +01:00
Henrik Rydgård
c999367471
Fix crash in DrawPixels in "skip framebuffer effects" mode
2025-12-15 17:18:17 +01:00
Henrik Rydgård
7853881210
GPU header cleanup: Avoid including GPUCommon.h in some places
2025-11-23 20:37:37 +01:00
Henrik Rydgård
67010ff2af
Split the display layout config between landscape and portrait orientations
2025-11-05 12:49:51 +01:00
Henrik Rydgård
a80756574c
Fix really wacky edge case when switching to Auto FrameSkip from "skip buffered" mode.
...
Fixes issue #20596
2025-07-08 20:08:23 +02:00
Henrik Rydgård
2e7f2ffcd4
Same as previous commit for the framebuffermanager debug UI
2025-05-26 19:39:51 +02:00
Henrik Rydgård
aec17d8829
Actually queue up depth draws
2024-12-28 23:21:54 +01:00
Henrik Rydgård
794fa28035
Small simplification
2024-12-15 13:23:34 +01:00
Henrik Rydgård
638607d29a
Refactor: Make GPUCommon own the framedump "recorder".
2024-12-15 12:07:44 +01:00
Henrik Rydgård
0df2a40487
Remove the "GPUInterface" base class. Not really useful, GPUCommon is pretty much the same thing.
2024-12-02 11:12:14 +01:00
Henrik Rydgård
194b2ce076
Ge Debugger: Add a framebuffer listing, along with some plumbing
2024-11-23 23:23:48 +01:00
Henrik Rydgård
56a164a14e
Handle one more error case in presentation
2024-10-28 17:02:03 +01:00
Henrik Rydgård
f7af5a7743
When reinterpreting color between same-sized framebuffers sharing a z-buffer, copy the Z.
...
Fixes socom character customization screen, #19245
2024-09-26 00:16:55 +02:00
Henrik Rydgård
ef95e24169
Implement compat flag proposed in #18423 , forcing readbacks in Juiced 2
...
In-game, there's no slowdown, and this fixes the decal editor. So it's
no use allowing readbacks to be turned off in this game.
See issue #18423
2024-07-20 11:24:24 +02:00
Henrik Rydgård
d21fef52ae
Allow taking screenshots in the app menu
2024-05-10 21:10:11 +02:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03:00
Henrik Rydgård
8d8ff5886b
Fix issue where nothing had started a render pass when we wanted to clear the screen.
2023-12-11 13:06:15 +01:00
Henrik Rydgård
26a51191b3
Cleaner solution to previous commit
2023-12-06 09:54:03 +01:00
Henrik Rydgård
8588b11a6a
Rename MayIntersectFramebuffer to MayInteresectFramebufferColor
2023-12-06 09:42:44 +01:00
Henrik Rydgård
6d977b4a12
Remove unnecessary struct FramebufferInfo
2023-12-02 13:56:18 +01:00
Henrik Rydgård
d9365a6df1
FramebufferCopy: New framebuffer candidate sorting, similar to block transfer detection.
...
The previous attempt was simply flawed.
2023-12-01 00:10:16 +01:00
Henrik Rydgård
632fa1c9d6
Cache and hash data for DrawPixels.
...
We already had a cache to reuse texture objects so just
opportunistically reuse them when easy to do so.
2023-11-11 19:58:12 +01:00
Henrik Rydgård
b4419a9146
Remove the old screen resolution popup thing
2023-07-16 17:05:26 +02:00
Henrik Rydgård
7c4b9bac90
Cache textures created by MakePixelsTexture and reuse where appropriate.
2023-05-30 14:07:44 +02:00
Henrik Rydgård
9512bc6174
Don't cache render target copies for shader blending, only cache copies for overlap
...
Fixes #17451 , while also keeping the Dante performance fix from #17032 .
Of course, it's possible that something else could slow down now... But
hopefully not. This could also fix other problems.
2023-05-11 12:04:29 +02:00
Unknown W. Brackets
92a18eed01
GPU: Discard framebuffer copy when clearing.
...
This avoids retaining the framebuffer copy any longer than the current
framebuffer target.
2023-03-01 22:11:20 -08:00
Henrik Rydgård
4d0fbdb96f
Add a safety check - don't cache partial copies.
2023-03-01 22:51:23 +01:00
Henrik Rydgård
7a7117f2f7
Cache framebuffer copies (for self-texturing) until the next TexFlush instruction.
...
Fixes #17030 , or at least improves on it - for optimal performance that
big framebuffer used for bloom should be split like in Killzone, but it's not trivial.
The regression in 1.14 is fixed with this, at least.
I tried it with a few other games with no issues - it seems games are
using TexFlush when needed. But let's see if it really is safe to rely
on that...
There might also be other places we should call DiscardFramebufferCopy
in.
2023-03-01 22:42:22 +01:00
Henrik Rydgård
ae9291f3b5
More work on depth copies. Seems to be enough for Iron Man.
2023-02-15 07:35:07 +01:00
Henrik Rydgård
62a6f351d5
Initial work on depth copies
2023-02-15 07:35:07 +01:00
Henrik Rydgård
6b902a7d6b
Minor code cleanup, one very minor stride bugfix
2023-02-15 07:35:07 +01:00
Henrik Rydgård
1938fa44d4
Split the depth copy shader into depth copy and depth encode, dynamic depth scale in Draw2D
2023-02-11 18:24:07 +01:00
Henrik Rydgård
d426ce5118
Clear depth buffers after changing depth rounding mode.
...
And thus change of depth buffer scale/offset.
Previously, old depth buffers with values that now are out of range
could stick around, causing #16941 . This clears them to the expected 0
value, which helps Outrun. Ideally we should convert depth buffers to
the new format, but if we can get away without that, that's also nice.
This is enough for #16941 .
2023-02-10 10:03:14 +01:00
Henrik Rydgård
937975000b
Add a ReadbackMode parameter to more functions in the FramebufferManager
2023-02-05 13:57:45 +01:00
Henrik Rydgård
236611ac16
Initial implementation of depth readback for Syphon Filter. Fixes the lens flares.
2023-02-04 13:54:57 +01:00
Henrik Rydgård
62484f01ed
Make ReadbackFramebufferSync able to use the stretch ability of ReadbackDepthbufferSync
2023-02-04 12:05:50 +01:00
Henrik Rydgård
c7234aa3b5
Handle scaling internally in ReadFramebufferSync
2023-02-04 11:36:48 +01:00
Henrik Rydgård
23c8a79473
Make depth readback through the "color path" work on all backends except D3D9
2023-02-03 20:59:58 +01:00
Henrik Rydgård
f2a6c744bc
Add built-in stretch functionality to depth readback shader path
2023-02-03 19:06:40 +01:00
Unknown W. Brackets
e5d67119a8
GPU: Avoid bloom hack on buffers used for depth.
...
If a buffer even has depth transferred to it, let's avoid lowering its
resolution.
2023-01-05 18:00:43 -08:00
Henrik Rydgård
11366a2ded
Don't refer directly to g_Config.iMultiSampleLevel, it can contain unsupported modes.
2022-12-14 16:43:37 +01:00
Henrik Rydgård
8a3e92aa38
Not pretty, but with this, you can switch MSAA level at runtime.
2022-12-01 23:41:31 +01:00
Henrik Rydgård
e3679df6cf
Fix switching between MSAA levels
2022-12-01 22:49:00 +01:00
Henrik Rydgård
6d9bb1b29e
Move post-processing settings to DisplayLayoutScreen
2022-11-22 23:29:50 +01:00
Henrik Rydgård
eff4118769
One more refactoring step
2022-11-21 14:54:48 +01:00