Commit Graph

41 Commits

Author SHA1 Message Date
Stenzek f4fef36eba
MetalDevice: Use shader to clear current depth target 2024-04-12 21:07:16 +10:00
Stenzek e5a024ba85
MetalDevice: Add support for framebuffer fetch 2024-04-12 21:07:16 +10:00
Stenzek 7344661801
GPUDevice: Split submission and presentation 2024-04-11 22:53:02 +10:00
Stenzek 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
Stenzek 98241cb6ba
GPUDevice: Swap out glslang for shaderc 2024-04-05 17:53:24 +10:00
Stenzek 74f3c8d1aa
GPU/HW: Enable feedback loops for rendering 2024-04-01 18:12:52 +10:00
Stenzek 72ab669e70
GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
Stenzek a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync 2024-03-03 14:03:07 +10:00
Stenzek 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
Stenzek 6cca468e65
MetalDevice: Add family check for 16-bit formats 2024-02-03 20:44:34 +10:00
Stenzek 06b11590fe
MetalDevice: Textures should be private 2024-02-03 19:53:35 +10:00
Stenzek 29b5afecae
MetalDevice: Fix creation error on non-RGBA8 layers 2024-02-03 19:41:56 +10:00
Stenzek 150ab8f4af
GPU: Add host/hardware stats 2024-01-22 14:41:19 +10:00
Stenzek f66866ed73
GPUDevice: Use Error class for initialization errors 2024-01-21 00:18:33 +10:00
Stenzek 62d2f12236
Settings: Expose exclusive fullscreen control 2023-12-25 23:44:15 +10:00
Stenzek dc5e4120cd
GPUDevice: Improve texture pooling 2023-12-20 22:42:32 +10:00
Stenzek 717e0665ae
GPUDevice: Support R16I/R16U textures 2023-12-19 22:38:36 +10:00
Stenzek 9e82c18559
MetalDevice: Defer release of layer drawables 2023-12-18 20:50:35 +10:00
Stenzek f4fb069216
MetalDevice: Explicitly bind fragment resources
Fixes adaptive downsampling with Metal renderer.
2023-12-18 20:50:35 +10:00
Stenzek 6fe2177ee7
MetalDevice: Fix incorrect mipmap texture creation 2023-12-18 20:50:35 +10:00
Stenzek 7e1276fbac
GPUDevice: Fix binding deferred cleared textures
i.e. briefly flashing previous state after reset.
2023-12-14 20:23:48 +10:00
Stenzek c90de025bf
MetalDevice: Fix depth not storing 2023-12-09 22:08:14 +10:00
Stenzek a907e1f550
GPUDevice: Pool textures 2023-12-09 22:08:13 +10:00
Stenzek 3b2c70cda5
GPUDevice: Get rid of framebuffer abstraction 2023-12-09 22:08:13 +10:00
Stenzek b65d2748b4
GPUDevice: Implement MirrorRepeat address mode 2023-12-08 20:12:13 +10:00
Stenzek 601d8ff629
MetalDevice: Anisotropy should be minimum 1 2023-12-05 00:27:55 +10:00
Stenzek 2ca503639d
GPU/HW: Avoid extra texture copy in Vulkan/GL 2023-12-01 19:08:50 +10:00
Stenzek e382f2b64a
Settings: Add option to disable DSB/fbfetch 2023-11-28 14:38:38 +10:00
Stenzek ff17444074
GPU/HW: Add framebuffer fetch blending path 2023-11-25 21:22:35 +10:00
Stenzek b678fcd874 GPUDevice: Move debug messages over to fmt 2023-09-23 14:14:52 +10:00
Stenzek 92440bdfcf Log: Add fmt overloads 2023-09-23 14:14:52 +10:00
Stenzek a2f19143da MetalDevice: Support multisampling 2023-09-16 19:00:28 +10:00
Stenzek 6fbea12ed3 MetalDevice: Implement GPU timing 2023-09-16 19:00:28 +10:00
Stenzek 605aa3c53a Misc: Swap gsl::span for std::span 2023-09-05 22:10:50 +10:00
Stenzek e804b5e701 GPUDevice: Support geometry shaders 2023-09-02 22:09:22 +10:00
Stenzek 779e78ae61 MetalDevice: Forgot a mutability parameter 2023-08-26 21:51:53 +10:00
Stenzek 106c13635b MetalDevice: Fix initial depth state not being bound 2023-08-26 21:33:30 +10:00
Stenzek 8a0033dfb3 MetalDevice: Avoid inline texture uploads when unnecessary 2023-08-24 19:00:01 +10:00
Stenzek 1b9e72e3a6 MetalDevice: Fix render command encoder leak
and subsequent crash on shutdown.
2023-08-24 18:04:52 +10:00
Stenzek dc9c99438b Misc: Post-refactor cleanups 2023-08-24 18:01:32 +10:00
Stenzek 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