Stenzek
99e81f1559
GPU: Fix incorrect condition in WaitForOneQueuedFrame()
2025-02-05 19:31:01 +10:00
Stenzek
1f5a10371e
GPUThread: Handle rare race condition in frame queueing
2025-02-02 22:18:13 +10:00
Stenzek
7905793ae0
GPU: Use screen alignment for overlay instead of display rect
2025-01-19 21:13:16 +10:00
Stenzek
e1cbb50c64
GPU: Fix various capture/screenshot issues
...
- Simplify functions for rendering display.
- Post-processing should only when the target size matches the window.
Otherwise the shaders are constantly recompiled.
- Include border overlay in capture/screenshots when above condition
is satisfied.
- Relax video alignment size when using screen resolution + auto.
- Fix "Internal Resolution (Uncorrected)" capture mode.
2025-01-19 13:42:38 +10:00
Stenzek
e0a9bbe600
PostProcessing: Move into GPU presenter
...
Means that the renderer can be changed without reloading shaders,
and speeds up config change detection.
2025-01-18 22:59:48 +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
1daa60c64d
GPU: Use tristrips for presentation as well
2025-01-08 00:14:15 +10:00
Stenzek
4c801c3ff3
GPUDevice: Move size-matches check into ResizeTexture()
2025-01-07 23:20:25 +10:00
Stenzek
b9186139d0
GPU/HW: Use sized tristrips instead of fullscreen quads
2025-01-07 23:20:25 +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
b2c8d25638
GPUBackend: Only display CPU thread blocked messages if queueing
2025-01-03 14:49:53 +10:00
Stenzek
a08acdb93a
System: Improve texture recycling when changing rewind/runahead settings
...
Fix suprious failures when changing rewind settings when low on VRAM.
2025-01-01 19:33:01 +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
74fd217afb
GPU/HW: Always update/load/save CLUT
...
We have the headroom with multithreading now, and it prevents issues
saving/loading state in loading screens in some games.
2024-12-28 20:24:21 +10:00
Stenzek
c99625e4c3
GPU: Move vertex culling to GPU thread
...
i.e. push all primitives through unless they are oversized, which the
GPU will definitely skip.
Needed because of coordinate truncation in Final Fantasy VIII, these
scenes will now render correctly with the software renderer again.
2024-12-28 20:24:09 +10:00
Stenzek
8e254c4baf
GPUBackend: Fix VRAM loss with runahead/rewind
2024-12-23 17:55:33 +10:00
Stenzek
0b4e302c22
GPU: Implement PGXP for lines
2024-12-22 16:48:45 +10:00
Stenzek
62285dcf33
Settings: Split into GPU and main settings
...
That way the GPU thread copy doesn't need fields it never touches.
2024-12-21 14:53:15 +10:00
Stenzek
2d659fc3eb
GPU: Move backend work off CPU thread
2024-12-19 23:32:15 +10:00
Stenzek
e9848a6182
Misc: Collapse more niche log channels
2024-12-01 23:21:33 +10:00
Stenzek
aafc029682
Misc: Un-namespace Timer
2024-11-29 20:13:37 +10:00
Stenzek
615781be39
GPUBackend: Don't rely on g_settings
2024-09-27 20:59:04 +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
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
aa955b8ae2
GPU/SW: Split out rasterizer, add dynamic selection
2023-12-23 20:38:41 +10:00
Stenzek
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
Stenzek
1185f8f6aa
GPU: Implement CLUT cache (SW renderer only)
...
Fixes copyright screen in Shadow Master.
Fixes title splash in Castrol Honda Superbike Racing.
2024-05-02 01:03:58 +10:00
Stenzek
411213d6a0
GPU: Make VRAM a global object
2024-02-29 17:00:51 +10:00
Connor McLaughlin
8c7a192128
Misc: Add copyright/license statement to applicable files
...
Should've did this in the beginning.
2022-12-04 21:03:49 +10:00
Connor McLaughlin
eb166220b1
GPU/SW: Replace event with semaphore
2022-07-30 21:49:56 +10:00
Connor McLaughlin
b42b5501f6
UI: Massive revamp, new features and improvements
2022-07-22 21:19:54 +10:00
Connor McLaughlin
af91fcf195
Backport more common classes
2022-07-21 17:29:58 +10:00
Connor McLaughlin
b7fbde31a7
Move utility classes from common to own static lib
2022-07-21 17:29:58 +10:00
Connor McLaughlin
5d877250e9
GPU/HW: Add an option to use software renderer for readbacks
2021-05-20 13:28:36 +10:00
Connor McLaughlin
e4d5d9f049
GPU/SW: Spin for 1ms rather than immediately sleeping
2021-04-17 22:17:02 +10:00
Connor McLaughlin
701edb335a
Various warning fixes
2021-02-06 19:19:55 +10:00
Connor McLaughlin
516d685dd0
System: Add memory-only save states and rewind
2021-01-25 01:15:45 +10:00
Connor McLaughlin
419736aaee
GPU/Software: Ensure commands are always aligned to 4 bytes
2020-12-09 00:19:57 +10:00
Connor McLaughlin
2595e31575
GPU: Split software to frontend/backend
2020-11-21 18:39:04 +10:00