Commit Graph

158 Commits (fc3e117f8d6bda8cbe6a3978e34d9e13b308bc57)

Author SHA1 Message Date
Stenzek 7abcdf2b59
VulkanDevice: Fix double unload 2 years ago
Stenzek 8e3284d8c6
Vulkan: Simplify loader using DynamicLibrary 2 years ago
Stenzek ca3cfbaa99
Misc: Pass string_view by value 2 years ago
Stenzek 6a02f9c67b
VulkanDevice: Fix possible null descriptor set with feedback loop 2 years ago
Stenzek cbe95b281a
VulkanDevice: Backport buggy NVIDIA driver workarounds from PCSX2 2 years ago
Stenzek e9107bd140
VulkanDevice: Add env var for non-semantic debug info
Backport of 070068366f
2 years ago
Stenzek e5a024ba85
MetalDevice: Add support for framebuffer fetch 2 years ago
Stenzek e646096180
VulkanDevice: Fix validation errors 2 years ago
Stenzek 7344661801
GPUDevice: Split submission and presentation 2 years ago
Stenzek 88270771da
System: Combine VRR and Optimal Frame Pacing
GSync/FreeSync display users should:
 - DISABLE VSync.
 - ENABLE Optimal Frame Pacing.
2 years ago
Stenzek e936e7498a
VulkanDevice: Fix incorrect null texture bind condition 2 years ago
Stenzek 41cc60e87e
VulkanDevice: Use vkCmdClearAttachments() to avoid render pass restart 3 years ago
Stenzek 72ab669e70
GPUDevice: Add support for feedback loops 3 years ago
Stenzek 315524a89c
VulkanDevice: Fix render pass fallback path with MRT 3 years ago
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.
3 years ago
Stenzek a1d7d214cf
GPUDevice: Add support for VRR and relaxed vsync 3 years ago
Stenzek b060edc61b
VulkanDevice: Actually use all the swap chain semaphores 3 years ago
Stenzek f936a36c85
GPUDevice: Add GPUDownloadTexture
Which can also be based in host/client memory.
Use it for screenshots and VRAM downloads.
3 years ago
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.
3 years ago
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.
3 years ago
Stenzek bcf7f55b93
VulkanDevice: Fix potential race between submit and main thread 3 years ago
Stenzek 150ab8f4af
GPU: Add host/hardware stats 3 years ago
Stenzek f66866ed73
GPUDevice: Use Error class for initialization errors 3 years ago
Stenzek 5d3cf93aa3
GPUDevice: Fix race on resize in GL/Vulkan 3 years ago
Stenzek 118c6c1269
VulkanDevice: Don't assume presence of vkGetPhysicalDeviceFeatures2 3 years ago
Stenzek 62d2f12236
Settings: Expose exclusive fullscreen control 3 years ago
Stenzek 46e0afd2d4
VulkanDevice: Actually allow enumeration of 1.0 device 3 years ago
Stenzek c233eb53ab
VulkanDevice: Potentially re-enable Vulkan 1.0 support 3 years ago
Stenzek dc5e4120cd
GPUDevice: Improve texture pooling 3 years ago
Stenzek 717e0665ae
GPUDevice: Support R16I/R16U textures 3 years ago
Stenzek 7e1276fbac
GPUDevice: Fix binding deferred cleared textures
i.e. briefly flashing previous state after reset.
3 years ago
Stenzek c20805f2be
VulkanDevice: Work around some mobile driver issues 3 years ago
Stenzek 79c226efff
SmallString: fmt -> format, format -> sprintf 3 years ago
Stenzek dbaf49e4d4
VulkanDevice: Fix ARM32 build (again) 3 years ago
Stenzek d068799515
VulkanDevice: Fix incomplete swap chain clear with dynamic rendering 3 years ago
Stenzek a907e1f550
GPUDevice: Pool textures 3 years ago
Stenzek 3b2c70cda5
GPUDevice: Get rid of framebuffer abstraction 3 years ago
Stenzek 2ca503639d
GPU/HW: Avoid extra texture copy in Vulkan/GL 3 years ago
Stenzek e382f2b64a
Settings: Add option to disable DSB/fbfetch 3 years ago
Stenzek ff17444074
GPU/HW: Add framebuffer fetch blending path 3 years ago
Stenzek f05ff4103e
Misc: Build fixes for Android 3 years ago
Stenzek a4c7d03ed2
VulkanDevice: Ignore GPUs which don't support Vulkan 1.1 3 years ago
Stenzek eb080834ad
OpenGLDevice: Actually check max texture buffer size 3 years ago
Stenzek b678fcd874 GPUDevice: Move debug messages over to fmt 3 years ago
Stenzek 184b0a1a52 Misc: Swap most C format strings for fmt 3 years ago
Stenzek 92440bdfcf Log: Add fmt overloads 3 years ago
Stenzek ac0601f408 Common: Drop String, add SmallString 3 years ago
Stenzek 60aca2fc4d Misc: Swap LIKELY/UNLIKELY macros for attributes 3 years ago
Stenzek adc124c759 Misc: Unreachable code warning fixes 3 years ago
Stenzek d6cf88c14f VulkanDevice: Fix persistent descriptor allocation error 3 years ago
Stenzek 80e3d29ab8 Misc: clang-cl warning clean-up 3 years ago
Stenzek 0076ab5cc4 System: Restore context after pumping messages 3 years ago
Stenzek e804b5e701 GPUDevice: Support geometry shaders 3 years ago
Stenzek 0da14a5442 GPU/Vulkan: Fix MSAA
And disable sample rate shading ("SSAA") on AMD, Intel, and broken
mobile drivers, because it doesn't work.
3 years ago
Stenzek 22eecc2b0a VulkanDevice: Fix multi-texture+UBO push descriptors 3 years ago
Stenzek 8db8baf33f GPUDevice: Move display logic to GPU 3 years ago
Stenzek d750e4d417 VulkanDevice: Fix for MacOS 3 years ago
Stenzek e3d9ba4c99 Rewrite host GPU abstraction
- Don't have to repeat the same thing for 4 renderers.
 - Add native Metal renderer.
3 years ago