Jordan Woyak
48b2f7d200
VideoConfig: Eliminate frame dumping members.
2025-03-16 04:30:06 -05:00
Jordan Woyak
7222188cde
Core/VideoCommon: Push presentation time calculated from CPU thread to GPU thread.
2025-03-10 16:40:46 -05:00
Jordan Woyak
c18c039089
VideoCommon: Move backend_info out of VideoConfig struct.
2025-03-09 01:42:45 -06:00
TellowKrinkle
7e1a9490c0
VideoBackends:Vulkan: Don't try to present if swapchain acquire failed
2024-10-02 19:22:16 -05:00
Bryan Jacobs
7ec6d116e8
Graphics: Adapt aspect ratio when SBS/TAB 3D is used
...
Adds support for choosing to present the full resolution
independently to each eye when using side-by-side or
top-and-bottom 3D.
2024-08-22 07:11:43 +10:00
Admiral H. Curtiss
8268ae1cf7
Merge pull request #12698 from iwubcode/xfb_copy_hash_in_present
...
VideoCommon: add xfbs hashes to present info if available
2024-04-18 17:11:49 +02:00
Admiral H. Curtiss
2f13be5a2d
VideoConfig: Adjust FrameDumpResolutionType enum class to style guidelines
2024-04-13 03:21:39 +02:00
iwubcode
abf380b705
VideoCommon: add xfb hash values (if available) to present information
2024-04-09 18:59:33 -05:00
Filoppi
66592f79f2
Video: remove enforced resolution least common multiple of 4 when dumping screenshots and not videos (only videos encoders have this limit).
...
NOTE: this will likely trigger FIFOCI differences.
2024-04-08 22:54:45 +03:00
Filoppi
72db62e178
Video: split frame dumping settings into 3 resolution dumping modes
...
also polish aspect ratio related code for clarity
2024-04-08 22:54:45 +03:00
Filoppi
1f34adf216
Video: move all padding added for frame dumping to a single function,
...
which also avoids the output window from being resized randomly to be a multiple of 4
2024-04-03 13:32:01 +03:00
Filoppi
d6230bbad8
Video: Change the frame dumper to actually use the raw emulation output resolution, avoiding any scaling if possible.
...
This should make comparisons much more reliable as pixels wouldn't be smushed together or stretched.
2024-04-03 13:32:01 +03:00
Filoppi
41b19e262f
Add custom relative and raw (squared pixels) aspect ratio modes
2024-02-29 21:11:19 +02:00
Filoppi
3f102ea8c2
Video: Make the game resolution (within the window) snap to the XFB size if they are within a ~1 pixel treshold on one axis only.
...
This takes care of making the image clearer in some edge cases where the game was already running at near perfect
4:3 with no stretching, and the VI aspect ratio didn't match the XFB by one pixel, making the image stretched and blurry.
-Video: Fix `FindClosestIntegerResolution() using the window aspect ratio and not the draw aspect ratio, causing it to prefer
stretching over black bars in cases when it wasn't desirable.
2024-02-20 03:09:11 +02:00
Lioncash
cac66317aa
VideoCommon/Statistics: Remove global system accessor from s_after_frame_event
...
Instead, we make the event take a reference to the system and then pass
it in when the event is triggered.
This does introduce two other accessors, but these are much easier to
refactor out over time, and without modification to the existing event
interface.
2024-01-31 13:12:09 -05:00
Filoppi
a6dfeed318
Video: make the "Auto" resolution setting also follow the max res setting, to avoid trying to create texture bigger than the maximum supported one
2023-12-18 02:00:25 +02:00
Filoppi
ff03189a60
Video: fix auto resolution scale calculations
2023-12-18 02:00:25 +02:00
Filoppi
fdd1934f12
Video: fix Auto Resolution Scale not updating when the window was resized.
...
Also fixes the widescreen hack not fully updating when the aspect ratio setting changed on the spot.
2023-12-18 02:00:25 +02:00
Filoppi
b3aa6ad93b
Video: implement custom aspect ratio support (already exposed to Qt).
...
This also renamed some variables/functions.
2023-12-18 02:00:24 +02:00
Filoppi
f96bea95d8
Video: rename Presenter::SetWindowSize()
2023-12-18 00:28:15 +02:00
Lioncash
0df7908025
VideoCommon/Present: Remove use of g_presenter inside Presenter class
...
There's no need to self reference a global of the class itself when we
can just call the function directly.
2023-12-09 20:15:32 -05:00
Admiral H. Curtiss
4f0c8b1657
VideoCommon: Don't swap on state load when there's no XFB.
...
This triggers an assert in TCacheEntry::SetXfbCopy() otherwise if you load a savestate that was made before the first XFB has been rendered.
2023-10-25 18:24:42 +02:00
Filoppi
8bca9a864f
Video: The Auto internal resolution scaling wasn't working correctly if the window weird aspect ratios (e.g. 32:9), beacuse it would account for the the portion of the image that will show black bars into the calcuations to find the best matching resolution
2023-08-18 02:14:00 +03:00
Filoppi
6c7f34d5da
Video: The Auto-Adjust Window Size setting was calculating the window size based on the resolution of the window in the previous frame if we used the "stretch" aspect ratio setting, so it's result would be self influence in a loop and behave unreliably (e.g. when changing resolution between Auto/Native/2x the automatic window scaling would behave randomly)
2023-08-18 02:14:00 +03:00
Filoppi
cb34d1aafe
Video: There was always a black line around one of the 4 edges (top/left/bottom/right) of the window because the final output size wasn't calculated right (unless the aspect ratio was set to stretch)
2023-08-18 02:14:00 +03:00