Commit graph

55 commits

Author SHA1 Message Date
Stenzek 1006fa00da
GPUDevice: Add support for Raster Ordered Views 2024-07-23 14:46:06 +10:00
Stenzek ba6b65401d
GPUDevice: Improve pipeline error reporting 2024-07-22 15:43:06 +10:00
Stenzek 3749b812a3
GPUDevice: Add ExecuteAndWaitForGPUIdle() 2024-07-04 21:54:19 +10:00
Stenzek 4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits 2024-07-04 13:25:27 +10:00
Stenzek 9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle 2024-07-03 15:44:12 +10:00
Stenzek ef69c31e9f
GPUDevice: Support transpiling shaders at compile time
And use it for GLSL postprocessing shaders.
2024-06-14 21:21:34 +10:00
Stenzek 0f9a255093
System: Fallback to FIFO on AMD (no mailbox support) 2024-05-24 22:48:26 +10:00
Stenzek 42a5fe0a6e
GPU: Further improve vsync handling 2024-05-24 02:33:33 +10:00
Stenzek 4e922a34a7
Log: Simplify macros 2024-05-24 02:08:14 +10:00
Stenzek b6d019db66
Misc: Replace log printf calls with fmt 2024-05-24 00:29:49 +10:00
Stenzek 6cad97b404
GPUDevice: Make vsync actually tear-free
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
Stenzek ca3cfbaa99
Misc: Pass string_view by value 2024-05-05 22:28:29 +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 72ab669e70
GPUDevice: Add support for feedback loops 2024-04-01 13:55:19 +10:00
Stenzek 3206054fab
OpenGLDevice: Fix rendering to multiple RTs 2024-03-24 22:32:44 +10:00
Stenzek 9b784b1777
OpenGLDevice: Fix incorrect streamed counter 2024-03-08 21:20:44 +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 ab83247de3
GLContext: Rename to OpenGLContext 2024-02-25 20:30:41 +10:00
Stenzek 143fb0876d
dep/glad: Update to v2.0.5 2024-02-25 20:30:41 +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 5d3cf93aa3
GPUDevice: Fix race on resize in GL/Vulkan 2024-01-10 22:46:57 +10:00
Stenzek 344d2ccd5d
OpenGLDevice: Work around lack of base_vertex in GLES3.1 2023-12-28 18:57:45 +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 5ef2ba0eb2
GPU/HW: Add fallback path for no-texture-buffers
Yay, old Mali drivers without SSBOs...
2023-12-19 22:38:36 +10:00
Stenzek 717e0665ae
GPUDevice: Support R16I/R16U textures 2023-12-19 22:38:36 +10:00
Stenzek 0632c3356c
OpenGLDevice: More Mali driver workarounds 2023-12-16 21:04:40 +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 39913b2a39
GPUDevice: Fix incorrect positioning with PostFX and GL 2023-12-10 23:26:43 +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 bcc2042154
OpenGLDevice: GLES fixes 2023-12-06 23:49:34 +10:00
Stenzek 60b91a1cdb
OpenGLDevice: Set glColorMask() on clear
Adreno doesn't appear to clear all channels otherwise.
2023-12-03 21:36:13 +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 273979405d
OpenGLDevice: Disable scissor for buffer clears 2023-11-25 00:49:52 +10:00
Stenzek e75c1a3b0a
OpenGLDevice: Use glClearBuffer() instead of glClear() 2023-11-24 21:45:45 +10:00
Stenzek 17171101cf
OpenGLDevice: Don't force-disable dual source blending 2023-11-04 20:11:51 +10:00
Stenzek ce7f6128e9
OpenGLDevice: Cache intermediate state 2023-10-08 01:47:29 +10:00
Stenzek eb080834ad
OpenGLDevice: Actually check max texture buffer size 2023-10-08 01:10:52 +10:00
Stenzek da1c28bd16 Misc: Fix arm32 build 2023-10-02 23:59:01 +10:00
Stenzek c986d0ea78 OpenGLDevice: Persist GL_SCISSOR_TEST enabled 2023-09-23 14:14:52 +10:00
Stenzek 8dc9c225d7 OpenGLDevice: Keep scissor active on present clear
And disable depth test if set to always (match DX11).
2023-09-23 14:14:52 +10:00
Stenzek b678fcd874 GPUDevice: Move debug messages over to fmt 2023-09-23 14:14:52 +10:00
Stenzek 45265c474c OpenGLDevice: Fix framebuffer clear getting delayed 2023-09-20 21:38:39 +10:00
Stenzek 0e0beec1f4 OpenGLDevice: Fix PBO and non-PBO path for SW renderer 2023-09-20 19:35:46 +10:00