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
dbaf49e4d4
VulkanDevice: Fix ARM32 build (again)
2023-12-10 23:31:01 +10:00
d068799515
VulkanDevice: Fix incomplete swap chain clear with dynamic rendering
2023-12-09 22:08:14 +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
2ca503639d
GPU/HW: Avoid extra texture copy in Vulkan/GL
2023-12-01 19:08:50 +10:00
e382f2b64a
Settings: Add option to disable DSB/fbfetch
2023-11-28 14:38:38 +10:00
ff17444074
GPU/HW: Add framebuffer fetch blending path
2023-11-25 21:22:35 +10:00
f05ff4103e
Misc: Build fixes for Android
2023-11-04 20:11:51 +10:00
a4c7d03ed2
VulkanDevice: Ignore GPUs which don't support Vulkan 1.1
2023-10-18 00:49:01 +10:00
eb080834ad
OpenGLDevice: Actually check max texture buffer size
2023-10-08 01:10:52 +10:00
b678fcd874
GPUDevice: Move debug messages over to fmt
2023-09-23 14:14:52 +10:00
184b0a1a52
Misc: Swap most C format strings for fmt
2023-09-23 14:14:52 +10:00
92440bdfcf
Log: Add fmt overloads
2023-09-23 14:14:52 +10:00
ac0601f408
Common: Drop String, add SmallString
2023-09-23 14:14:52 +10:00
60aca2fc4d
Misc: Swap LIKELY/UNLIKELY macros for attributes
2023-09-05 22:10:50 +10:00
adc124c759
Misc: Unreachable code warning fixes
2023-09-05 22:10:50 +10:00
d6cf88c14f
VulkanDevice: Fix persistent descriptor allocation error
2023-09-05 20:17:32 +10:00
80e3d29ab8
Misc: clang-cl warning clean-up
2023-09-03 14:30:26 +10:00
0076ab5cc4
System: Restore context after pumping messages
2023-09-03 13:14:22 +10:00
e804b5e701
GPUDevice: Support geometry shaders
2023-09-02 22:09:22 +10:00
0da14a5442
GPU/Vulkan: Fix MSAA
...
And disable sample rate shading ("SSAA") on AMD, Intel, and broken
mobile drivers, because it doesn't work.
2023-09-01 21:25:12 +10:00
22eecc2b0a
VulkanDevice: Fix multi-texture+UBO push descriptors
2023-08-30 02:03:22 +10:00
8db8baf33f
GPUDevice: Move display logic to GPU
2023-08-30 00:44:00 +10:00
d750e4d417
VulkanDevice: Fix for MacOS
2023-08-24 18:04:48 +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