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
1797050f97
VulkanDevice: Release swap chain images on resize
2024-06-23 16:17:31 +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
f41c238c53
VulkanDevice: Disable VK_KHR_dynamic_rendering_local_read on AMD
...
Like everything else on RDNA3, it appears to be broken and causes GPU
hangs/resets.
2024-06-10 17:44:10 +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
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
cbe95b281a
VulkanDevice: Backport buggy NVIDIA driver workarounds from PCSX2
2024-04-30 21:34:02 +10:00
Stenzek
e646096180
VulkanDevice: Fix validation errors
2024-04-11 22:53:02 +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
41cc60e87e
VulkanDevice: Use vkCmdClearAttachments() to avoid render pass restart
2024-04-01 18:12:53 +10:00
Stenzek
72ab669e70
GPUDevice: Add support for feedback loops
2024-04-01 13:55:19 +10:00
Stenzek
de1338cbbc
VulkanDevice: Add additional semaphore on swap chain
...
We don't actually need +1 semaphores, or, more than one really.
But, the validation layer gets cranky if we don't fence wait before the next image acquire.
So, add an additional semaphore to ensure that we're never acquiring before fence waiting.
2024-03-08 14:16:56 +10:00
Stenzek
a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync
2024-03-03 14:03:07 +10:00
Stenzek
b060edc61b
VulkanDevice: Actually use all the swap chain semaphores
2024-03-01 00:50:27 +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
Wunkolo
4309d8ebf3
VulkanDevice: Add TryImportHostMemory
...
Utilizing `VK_EXT_external_memory_host`, attempt to import the host-pointer into a `VkBuffer`, `VkDeviceMemory`, and an offset to the start of the data. When the page size matches the import alignment, then it is possible to import an entire range of memory from the host directly into a vulkan-side buffer to read and write into.
2024-02-29 17:00:51 +10:00
Wunkolo
0ce1149e41
VulkanDevice: Optional VK_EXT_external_memory_host
enablement
...
Allows usage of this extension only when the import-pointer-alignment
matches that of the hosts' page size.
2024-02-29 17:00:51 +10:00
Stenzek
bcf7f55b93
VulkanDevice: Fix potential race between submit and main thread
2024-01-22 22:57:42 +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
46e0afd2d4
VulkanDevice: Actually allow enumeration of 1.0 device
2023-12-25 23:02:13 +10:00
Stenzek
c233eb53ab
VulkanDevice: Potentially re-enable Vulkan 1.0 support
2023-12-25 21:59:52 +10:00
Stenzek
c20805f2be
VulkanDevice: Work around some mobile driver issues
2023-12-13 23:01:10 +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
e382f2b64a
Settings: Add option to disable DSB/fbfetch
2023-11-28 14:38:38 +10:00
Stenzek
b678fcd874
GPUDevice: Move debug messages over to fmt
2023-09-23 14:14:52 +10:00
Stenzek
605aa3c53a
Misc: Swap gsl::span for std::span
2023-09-05 22:10:50 +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