Henrik Rydgård
e01ca5b057
Logging API change (refactor) ( #19324 )
...
* Rename LogType to Log
* Explicitly use the Log:: enum when logging. Allows for autocomplete when editing.
* Mac/ARM64 buildfix
* Do the same with the hle result log macros
* Rename the log names to mixed case while at it.
* iOS buildfix
* Qt buildfix attempt, ARM32 buildfix
2024-07-14 14:42:59 +02:00
Henrik Rydgård
87ead3f492
Fix bad framebuffer bind in Parappa The Rapper
2024-05-29 12:23:54 +02:00
Henrik Rydgård
d21fef52ae
Allow taking screenshots in the app menu
2024-05-10 21:10:11 +02:00
Henrik Rydgård
22fdf6624c
Merge pull request #18986 from GermanAizek/static-const-methods
...
[GPU] Make static and const methods if possible
2024-04-05 16:20:06 +02:00
Herman Semenov
b57dab2812
[GPU] Make static and const methods if possible
2024-04-05 17:04:31 +03:00
Henrik Rydgård
8960ed4d48
FramebufferManager: Allow "large offset" framebuffers priority over normal matches.
...
Fixes #18976
2024-04-03 00:59:36 +02:00
Henrik Rydgård
1fbf685504
Avoid vertically merging the two main framebuffers, even if FramebufferAllowLargeVerticalOffset is on.
2024-02-04 11:26:20 +01:00
Henrik Rydgård
ea180e54c9
Fix some "double-binds" of the backbuffer.
...
These are already eliminated by the queuerunner, but better not to
generate them in the first place, for easier sanity checks.
2024-01-30 10:44:18 +01:00
Henrik Rydgård
51097279c9
Vulkan: Fix race condition when changing MSAA mode with the game running "behind" the menu.
2024-01-23 11:28:45 +01:00
Henrik Rydgård
a6f041568b
Allow merging framebuffers vertically like the old Juiced 2 fix.
...
Fixes Tokimeki Memorial 4 rendering.
Fixes #6379 , see comments.
2023-12-30 22:40:07 +01:00
Henrik Rydgård
437b292b7d
Tactics Ogre: Remove a redundant readback operation it performs a lot.
2023-12-21 12:37:34 +01:00
Henrik Rydgård
748193f227
Fix issue with misdetection of framebuffer copies.
...
Fixes #18512
2023-12-14 23:16:21 +01:00
Henrik Rydgård
e62614498e
Buildfix mac (name collision with NO...)
2023-12-13 16:48:07 +01:00
Henrik Rydgård
caec201c4d
Make "Skip GPU readbacks" a multi-choice option, for easier experimentation by users
2023-12-13 16:18:44 +01: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
88f2657bb1
Allow block transfers from RAM to depth buffers.
...
Reuses the existing compat flag BlockTransferDepth.
I do aim to remove that compat flag in the future, it's probably not
even necessary here, it's just that general depth block transfers were
already gated on it.
Fixes #17878
2023-12-06 00:29:09 +01:00
Henrik Rydgård
6b8ec972fb
A couple of warning fixes (real issues though small)
2023-12-05 01:12:42 +01:00
Henrik Rydgård
d584162e06
Merge pull request #18462 from hrydgard/framebuffer-listing-overlay
...
Framebuffer listing overlay
2023-12-02 18:51:33 +01:00
Henrik Rydgård
6d977b4a12
Remove unnecessary struct FramebufferInfo
2023-12-02 13:56:18 +01:00
Henrik Rydgård
4ef54169af
Add a compat.ini setting to allow delayed GPU readbacks, for experimentation.
2023-12-02 11:34:59 +01:00
Henrik Rydgård
b636356f36
copy: Reverse the order of the y and seq heuristics
2023-12-01 20:40:12 +01:00
Henrik Rydgård
cef17589d2
Move the oversize copy detection to a better location (less false positive)
2023-12-01 00:30:06 +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
7920e86098
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-11-30 22:19:52 +01:00
Henrik Rydgård
dae758e5f4
Fix some bugs and mistakes found by Nemoumbra through static analysis
2023-11-26 13:43:11 +01:00
Henrik Rydgård
77825484a0
If available, use 16-bit texture formats for MakePixelTexture when appropriate.
...
Optimization for God of War on low-end platforms. Avoids calling a color
conversion function that's currently only SIMD-optimized on x86, so will
also benefit ARM a little bit.
2023-11-12 15:58:03 +01:00
Henrik Rydgård
49f5da370a
Simplify the logic in MakePixelTexture a bit
2023-11-12 11:19:45 +01:00
Henrik Rydgård
cc6f9a73ca
Oops, fix for previous commit. And minor optimization.
2023-11-12 01:32:02 +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
226d25721a
Add a block transfer GPU stat, remove a redundant one
2023-10-03 13:15:55 +02:00
Henrik Rydgård
6600b7ab08
Improved logging
2023-09-12 17:15:26 +02:00
Henrik Rydgård
844f1de041
Revert "Merge pull request #18008 from hrydgard/naruto-video-flicker-heuristic"
...
This reverts commit 985af4b03d
, reversing
changes made to 64d04782ea
.
2023-09-12 12:19:37 +02:00
Henrik Rydgård
3e6788defe
Merge pull request #18022 from hrydgard/screen-scaler-ingame-fix
...
Android: Fix changing display resolution scale in-game
2023-08-31 08:45:39 +02:00
Henrik Rydgård
4b89fab91c
NativeInitGraphics: Update core parameter pixel width/height (since we lose resized flag)
2023-08-30 23:42:13 +02:00
Henrik Rydgård
131163bf4c
Replace a too-simple heuristic with a compat flag.
...
Should fix the flicker in Castlevania.
Fixes #17517
The heuristic worked for Rainbow Six but broke Castlevania, so I'd rather
use a compat flag instead of breaking a different game until we can find a
more reliable heuristic for Rainbow Six.
2023-08-30 10:59:57 +02:00
Henrik Rydgård
c563d4e57d
NotifyFramebufferCopy: Pick the target framebuffer by scoring.
2023-08-29 12:53:18 +02:00
Henrik Rydgård
e3bdf1a70b
Add heuristic, fixing video flicker in Naruto UNH 2 caused by copy to wrong target.
2023-08-29 11:46:24 +02:00
Henrik Rydgård
b4419a9146
Remove the old screen resolution popup thing
2023-07-16 17:05:26 +02:00
Henrik Rydgård
eb21a2e6c9
Break out the OSD data holder from Common/System/System.h, into OSD.cpp/h
2023-06-30 17:15:49 +02:00
Henrik Rydgård
7cc8c6cea4
OSD: Add semantics, move the the OSD state to common (while keeping the renderer in the UI).
2023-06-20 14:40:46 +02:00
Henrik Rydgård
e9e95d23ce
VulkanDebug log fix, reduce log spam
2023-05-30 18:32:33 +02:00
Henrik Rydgård
49ecc01556
Fix image leak bug when pausing and we're just displaying a framebuffer in memory
2023-05-30 18:29:50 +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
ea552bc573
Add a new GPU stat (DrawPixels), kinda heavy since creates textures. GoW does 20-ish per frame.
2023-05-30 10:15:34 +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
b4d55713cb
GPU: Always update size when shrinking.
...
Previously, we only updated size when we didn't need to recreate.
This would sometimes cause it to recreate over and over, hurting perf.
2023-04-19 23:42:02 -07:00
Henrik Rydgård
b1f8830bd8
Don't try to present from little temp framebuffers used by Godfather to draw text.
...
The framebuffer does contain the top of the video frame at the present
time though, so things have partially gone well. However the rest of the
frame lies after it in VRAM. What we probably technically should do when
we see this is to assemble an image from both the framebuffer we find
and VRAM contents exceeding the range of that image, but seems kinda
impractical.
This works, but there seems to be some other issue with how the text is
rendered or copied. Could be a color precision issue confusing the game
I suppose.
2023-04-17 12:24:31 +02:00
Henrik Rydgård
ee6234ecb6
I18N: Switch to getting categories by index instead of by string lookup
...
Also gets rid of the shared_ptr usage, and generally makes things nicer.
Needed for later config refactorings, good to get in early.
2023-04-07 10:35:01 +02:00