Commit Graph

33 Commits

Author SHA1 Message Date
4f16cb61b4 GPUDevice: Expose swap chain clear colour 2024-08-06 17:35:27 +10:00
ba6b65401d GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
3749b812a3 GPUDevice: Add ExecuteAndWaitForGPUIdle() 2024-07-04 21:54:19 +10:00
4b61a3cbf3 Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
29533650a8 MetalDevice: Rectangle -> GSVector4i 2024-07-03 15:54:32 +10:00
9ef7e8c5d0 GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
ef69c31e9f GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
0f9a255093 System: Fallback to FIFO on AMD (no mailbox support) 2024-05-24 22:48:26 +10:00
42a5fe0a6e GPU: Further improve vsync handling 2024-05-24 02:33:33 +10:00
6cad97b404 GPUDevice: Make vsync actually tear-free
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
d9cc80c7f9 WindowInfo: Get refresh rate from monitor config
DwmGetCompositionTimingInfo() returns a noisy refresh rate, at least on
Win11 22H2.
2024-05-22 22:16:31 +10:00
ca3cfbaa99 Misc: Pass string_view by value 2024-05-05 22:28:29 +10:00
f4fef36eba MetalDevice: Use shader to clear current depth target 2024-04-12 21:07:16 +10:00
e5a024ba85 MetalDevice: Add support for framebuffer fetch 2024-04-12 21:07:16 +10:00
7344661801 GPUDevice: Split submission and presentation 2024-04-11 22:53:02 +10:00
88270771da System: Combine VRR and Optimal Frame Pacing
GSync/FreeSync display users should:
 - DISABLE VSync.
 - ENABLE Optimal Frame Pacing.
2024-04-11 21:33:40 +10:00
74f3c8d1aa GPU/HW: Enable feedback loops for rendering 2024-04-01 18:12:52 +10:00
a1d7d214cf GPUDevice: Add support for VRR and relaxed vsync 2024-03-03 14:03:07 +10:00
f936a36c85 GPUDevice: Add GPUDownloadTexture
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
2024-02-29 18:56:50 +10:00
f66866ed73 GPUDevice: Use Error class for initialization errors 2024-01-21 00:18:33 +10:00
62d2f12236 Settings: Expose exclusive fullscreen control 2023-12-25 23:44:15 +10:00
dc5e4120cd GPUDevice: Improve texture pooling 2023-12-20 22:42:32 +10:00
a907e1f550 GPUDevice: Pool textures 2023-12-09 22:08:13 +10:00
3b2c70cda5 GPUDevice: Get rid of framebuffer abstraction 2023-12-09 22:08:13 +10:00
e382f2b64a Settings: Add option to disable DSB/fbfetch 2023-11-28 14:38:38 +10:00
b678fcd874 GPUDevice: Move debug messages over to fmt 2023-09-23 14:14:52 +10:00
a2f19143da MetalDevice: Support multisampling 2023-09-16 19:00:28 +10:00
6fbea12ed3 MetalDevice: Implement GPU timing 2023-09-16 19:00:28 +10:00
605aa3c53a Misc: Swap gsl::span for std::span 2023-09-05 22:10:50 +10:00
8db8baf33f GPUDevice: Move display logic to GPU 2023-08-30 00:44:00 +10:00
106c13635b MetalDevice: Fix initial depth state not being bound 2023-08-26 21:33:30 +10:00
8a0033dfb3 MetalDevice: Avoid inline texture uploads when unnecessary 2023-08-24 19:00:01 +10:00
e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
2023-08-20 21:55:38 +10:00