Stenzek
a5940b2e21
GPU: Use constants for display overscan range
2025-02-02 15:39:20 +10:00
Stenzek
6cba825bac
System: Add fatal error shutdown path
...
Switch to a null backend and shut down the system instead of crashing.
2025-01-18 22:59:48 +10:00
Stenzek
d52bf795e4
GPU: Split backend into Backend+Presenter
2025-01-18 22:59:48 +10:00
Stenzek
3be4f1983d
GPU: Fix playback of VRAM updates during draws
2025-01-17 13:22:40 +10:00
Stenzek
db14824d61
System: Use task queue for saving states/screenshots/gpudumps
...
System shutdown no longer needs to block. Gets rid of the slight
hitch when shutting down and saving state with the Big Picture UI.
2025-01-03 20:16:38 +10:00
Stenzek
37e5e64ddc
System: Move state display updates to call sites
...
Fixes black frames when changing settings with runahead/rewind enabled.
2025-01-01 23:05:08 +10:00
Stenzek
4d4523dc04
GPU: Use same early culling rules for lines as polygons
2024-12-30 18:11:52 +10:00
Stenzek
c5bd4101b3
GPU: Refactor and simplify deinterlacing
...
Both HW and SW deal with half-height buffers coming in now.
2024-12-30 14:36:17 +10:00
Stenzek
a8361f985e
GPU: CLUT should not be saved on CPU thread memory state
2024-12-22 16:48:45 +10:00
Stenzek
ad980a7004
GPU: Fix 480i resolution display in OSD
2024-12-21 22:20:41 +10:00
Stenzek
26db661a05
GPU: Remove global indirection
2024-12-21 14:35:12 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread
2024-12-19 23:32:15 +10:00
Stenzek
831c982f3b
System: Rewrite memory save state handling
...
Makes it more friendly to GPU thread.
2024-12-19 22:42:28 +10:00
Stenzek
f0c456893c
GPUDevice: Support pre-rotating swap chains
2024-12-06 15:38:51 +10:00
Stenzek
6d080c1a3f
GPU: Fix additional GL_POP() causing validation errors
2024-12-06 14:51:57 +10:00
Stenzek
22edf23269
GPU: Fix parameter logging of some commands
2024-12-02 17:24:18 +10:00
Stenzek
cbc16bee9e
GPU: Display scanout resolution regardless of crop mode
2024-11-29 21:05:01 +10:00
Stenzek
682ba71319
GPU: Fix aspect ratio with Show VRAM enabled
2024-11-29 18:36:32 +10:00
Stenzek
0befbf8021
GPU: Add Uncorrected Borders crop mode
...
Should behave the same as the old "All Borders" mode.
The pixel aspect ratio WILL BE WRONG.
Also fixes the size of screenshots in internal resolution mode.
2024-11-26 18:00:19 +10:00
Stenzek
b180b26728
GPU: Rework "All Borders" cropping to be aspect correct
...
The "All Borders" crop mode was previously creating an aspect ratio that
was completely incorrect when using modes outside of Auto/4:3. We now
scale the aspect ratio relative to the PAL/NTSC aspect ratio to account
for this, regardless of how much of a border the game configures.
Overscan cropping also produced an incorrect aspect ratio outside of 4:3
mode, resulting in minor horizontal stretching. It is now correct,
however, this results in black borders being added in 16:9 for most
games.
To remove these borders, you have two options:
- Use the "Stretch to Fill" aspect ratio. This will scale the GTE
aspect ratio to fill the screen.
- Use the "Only Overscan Area (Aspect Uncorrected)" crop mode. This
mode retains the "old" behaviour, resulting in a stretched image.
2024-11-25 16:26:16 +10:00
Stenzek
24dfd30839
Image: Refactor to a more generic class
2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps
2024-11-24 23:29:28 +10:00
Stenzek
5b600789d6
GPU: Page align VRAM storage on Apple Silicon
2024-11-10 14:02:09 +10:00
Stenzek
3952661978
GPU: Write initial rendering attributes to GPU dump
2024-11-05 16:17:49 +10:00
Stenzek
bfadd608fb
System: Add 'Task Threads'
...
Used for saving screenshots/GPU dumps.
2024-10-30 15:19:10 +10:00
Stenzek
166c930738
System: Move private functions to separate header
2024-10-28 14:31:22 +10:00
Stenzek
21d19a6297
System: Move perf counters to separate namespace
2024-10-28 14:31:22 +10:00
Stenzek
1ae2dcf192
GPU: Propagate initialization error to caller
...
Avoids double error popup.
2024-10-26 01:41:29 +10:00
Stenzek
6af71beed5
GPU: Work around nearest sampling issues on AMD
...
Fixes one-line flickering display in some games.
2024-10-26 01:40:44 +10:00
Stenzek
4ab22921c4
GPUDump: Add GPU dump recording and playback
...
Implements the specification from:
https://github.com/ps1dev/standards/blob/main/GPUDUMP.md
2024-10-20 22:02:24 +10:00
Stenzek
86a28d5dc0
ImGuiOverlays: Move debug state to auxiliary windows
2024-10-18 20:48:30 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
Stenzek
71bb953253
GPU/HW: Handle redundant texture window updates
...
Significantly reduces draw count in THPS2.
~150 draw calls per frame to ~70.
2024-10-05 13:06:45 +10:00
Stenzek
e06f1f1002
GPU: Add hardware texture cache
2024-09-29 13:37:47 +10:00
Stenzek
c46ec398dc
GPU: Move software fill/write/copy into rasterizer namespace
2024-09-26 18:30:46 +10:00
Stenzek
f169b892c1
GPU: Defer frame done if not running events
...
Prevents interruption/execution exiting if the frame was ticked over
by a MMIO access, e.g. reading GPUSTAT.
2024-09-22 21:06:05 +10:00
Stenzek
3dca598063
Log: Switch to enum class
...
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2024-09-21 22:26:06 +10:00
Stenzek
e617f17294
System: Set GPU timing enable on init/destroy
...
It's really unrelated to the guest GPU.
2024-09-21 22:26:05 +10:00
Stenzek
b5df06a54a
GPU/HW: Rewrite automatic internal resolution selection
...
Make it aspect ratio aware, as well as updating when/if the game changes
resolution. Also include the padding area in the OSD/status resolution.
2024-09-21 22:26:05 +10:00
Stenzek
32a3311208
System: Add option to automatically resize window
2024-09-07 22:05:54 +10:00
Stenzek
940cc636d6
GPU: Fix internal res screenshot AR with None cropping
2024-09-07 20:19:28 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1446e3035f
Settings: Make Disable Interlacing a Deinterlacing mode
...
Saving that precious vertical space.
2024-09-03 20:02:01 +10:00
Stenzek
f9a594058f
Settings: Force Frame Timings => Force Video Timing
...
Also drop from GameDB, an override doesn't make sense here anyway,
due to the low success rate with the enhancement.
2024-09-03 19:06:26 +10:00
spacepaw
63abdb7afd
Reworked the "Force NTSC Timings" feature to support both NTSC and PAL frame timings ( #3287 )
2024-09-03 10:50:45 +02:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
2c27b20090
ImGuiManager: Remove unused function
2024-08-26 18:53:30 +10:00
Stenzek
e8b787fb57
Misc: Change various icons
2024-08-25 23:17:05 +10:00