efc821bc84
VulkanDevice: Fix incorrect condition in UnbindTexture()
2024-08-06 15:32:40 +10:00
30c5ebae72
GPUDevice: Fix instances of RWTexture not clearing
2024-08-03 02:05:21 +10:00
5e8870ec69
D3D12: Avoid redundant render pass restarts
2024-07-23 21:11:01 +10:00
1006fa00da
GPUDevice: Add support for Raster Ordered Views
2024-07-23 14:46:06 +10:00
00ccea84b8
GPUDevice: Replace remaining StdStringFromFromFormat() with fmt
2024-07-19 13:44:09 +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
9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle
2024-07-03 15:44:12 +10:00
d8bd35e8d6
GPUDevice: Add D24S8/D32F/D32FS8 types
2024-06-29 13:09:45 +10:00
1797050f97
VulkanDevice: Release swap chain images on resize
2024-06-23 16:17:31 +10:00
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
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
4e922a34a7
Log: Simplify macros
2024-05-24 02:08:14 +10:00
792717e03e
Misc: Get rid of format string for result logging
2024-05-24 00:30:06 +10:00
b6d019db66
Misc: Replace log printf calls with fmt
2024-05-24 00:29:49 +10:00
6cad97b404
GPUDevice: Make vsync actually tear-free
...
Apparently users prefer stutter over tearing...
2024-05-23 13:52:26 +10:00
7abcdf2b59
VulkanDevice: Fix double unload
2024-05-15 20:31:04 +10:00
8e3284d8c6
Vulkan: Simplify loader using DynamicLibrary
2024-05-15 00:50:25 +10:00
ca3cfbaa99
Misc: Pass string_view by value
2024-05-05 22:28:29 +10:00
6a02f9c67b
VulkanDevice: Fix possible null descriptor set with feedback loop
2024-04-30 21:34:08 +10:00
cbe95b281a
VulkanDevice: Backport buggy NVIDIA driver workarounds from PCSX2
2024-04-30 21:34:02 +10:00
e9107bd140
VulkanDevice: Add env var for non-semantic debug info
...
Backport of 070068366f
2024-04-14 17:25:23 +10:00
e5a024ba85
MetalDevice: Add support for framebuffer fetch
2024-04-12 21:07:16 +10:00
e646096180
VulkanDevice: Fix validation errors
2024-04-11 22:53:02 +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
e936e7498a
VulkanDevice: Fix incorrect null texture bind condition
2024-04-10 12:14:29 +10:00
41cc60e87e
VulkanDevice: Use vkCmdClearAttachments() to avoid render pass restart
2024-04-01 18:12:53 +10:00
72ab669e70
GPUDevice: Add support for feedback loops
2024-04-01 13:55:19 +10:00
315524a89c
VulkanDevice: Fix render pass fallback path with MRT
2024-03-24 22:32:44 +10:00
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
a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync
2024-03-03 14:03:07 +10:00
b060edc61b
VulkanDevice: Actually use all the swap chain semaphores
2024-03-01 00:50:27 +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
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
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
bcf7f55b93
VulkanDevice: Fix potential race between submit and main thread
2024-01-22 22:57:42 +10:00
150ab8f4af
GPU: Add host/hardware stats
2024-01-22 14:41:19 +10:00
f66866ed73
GPUDevice: Use Error class for initialization errors
2024-01-21 00:18:33 +10:00
5d3cf93aa3
GPUDevice: Fix race on resize in GL/Vulkan
2024-01-10 22:46:57 +10:00
118c6c1269
VulkanDevice: Don't assume presence of vkGetPhysicalDeviceFeatures2
2023-12-26 13:00:58 +10:00
62d2f12236
Settings: Expose exclusive fullscreen control
2023-12-25 23:44:15 +10:00
46e0afd2d4
VulkanDevice: Actually allow enumeration of 1.0 device
2023-12-25 23:02:13 +10:00
c233eb53ab
VulkanDevice: Potentially re-enable Vulkan 1.0 support
2023-12-25 21:59:52 +10:00
dc5e4120cd
GPUDevice: Improve texture pooling
2023-12-20 22:42:32 +10:00
717e0665ae
GPUDevice: Support R16I/R16U textures
2023-12-19 22:38:36 +10:00
7e1276fbac
GPUDevice: Fix binding deferred cleared textures
...
i.e. briefly flashing previous state after reset.
2023-12-14 20:23:48 +10:00
c20805f2be
VulkanDevice: Work around some mobile driver issues
2023-12-13 23:01:10 +10:00
79c226efff
SmallString: fmt -> format, format -> sprintf
2023-12-13 21:06:15 +10:00