Commit Graph

97 Commits (24dfd30839377f29d01e5034fc0bf3378df6e222)

Author SHA1 Message Date
Stenzek 3ff1b04576
GPUDevice: Support generating mipmaps 2 years ago
Stenzek e647192437
GPUDevice: Add compute shader support 2 years ago
Stenzek e69f0d3cce
OpenGLDevice: Support both XCB and Xlib
Required for NVIDIA+XWayland.
2 years ago
Stenzek 92bcf64fe8
VulkanDevice: Refactor present failure handling
Shouldn't deadlock anymore...
2 years ago
Stenzek 0234137be4
VulkanDevice: Use VK_EXT_surface_maintenance1
NVIDIA drivers return a minImageCount of 3 with the base surface query
capability, but require 4 images for XWayland in immediate present mode.
2 years ago
Stenzek eb46142ee7
GPUDevice: Extract swap chain to separate class 2 years ago
Stenzek 7ce4c34936
VulkanDevice: Scissor rect should never be negative 2 years ago
Stenzek 26b6c704f0
MemMap: Support dynamic page size selection
i.e. 4K to 16K on ARM64.
2 years ago
Stenzek 3dca598063
Log: Switch to enum class
Need to change the channel to a bitset too.. the string lookups are
horribly slow, and conflict when one is a prefix of another.
2 years ago
Stenzek ac8461a28b
System: Fix bogus SW thread CPU in OSD 2 years ago
Stenzek d981dc7471
MetalDevice: Implement pipeline cache 2 years ago
Stenzek 6f31e562a0
MetalDevice: Implement timed present 2 years ago
Stenzek 4c31218d2b
GPUDevice: Add API version field
Also tie shader caches to API version and device LUID. That way we don't
have tons of cache files, and they're regenerated if the GPU/driver
changes.
2 years ago
Stenzek ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
It wasn't used - System does its own present skipping.
2 years ago
Stenzek 4b0c1fdbf2
GPUDevice: Add recovery from lost device 2 years ago
Stenzek 1c1b82ed66
GPUDevice: Purge threaded presentation
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2 years ago
Stenzek 7f4e5d55db
Misc: Update copyright headers 2 years ago
Stenzek 667d1bf7c8
GPUDevice: Use CompressHelpers
And compress the pipeline cache. Saves a fair bit of disk space.
2 years ago
Stenzek 707453b596
FileSystem: Swap vector for DynamicHeapArray
No point zeroing it out.
2 years ago
Stenzek 6dd29eb88f
VulkanDevice: Fix incorrect log 2 years ago
Stenzek 34df233a95
VulkanDevice: Enable VK_KHR_maintenance4 and 5 2 years ago
Stenzek 4f16cb61b4
GPUDevice: Expose swap chain clear colour 2 years ago
Stenzek efc821bc84
VulkanDevice: Fix incorrect condition in UnbindTexture() 2 years ago
Stenzek 30c5ebae72
GPUDevice: Fix instances of RWTexture not clearing 2 years ago
Stenzek 5e8870ec69
D3D12: Avoid redundant render pass restarts 2 years ago
Stenzek 1006fa00da
GPUDevice: Add support for Raster Ordered Views 2 years ago
Stenzek 00ccea84b8
GPUDevice: Replace remaining StdStringFromFromFormat() with fmt 2 years ago
Stenzek 3749b812a3
GPUDevice: Add ExecuteAndWaitForGPUIdle() 2 years ago
Stenzek 4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits 2 years ago
Stenzek 9ef7e8c5d0
GPU/HW: Use GSVector instead of Rectangle 2 years ago
Stenzek d8bd35e8d6
GPUDevice: Add D24S8/D32F/D32FS8 types 2 years ago
Stenzek 1797050f97
VulkanDevice: Release swap chain images on resize 2 years ago
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.
2 years ago
Stenzek 0f9a255093
System: Fallback to FIFO on AMD (no mailbox support) 2 years ago
Stenzek 42a5fe0a6e
GPU: Further improve vsync handling 2 years ago
Stenzek 4e922a34a7
Log: Simplify macros 2 years ago
Stenzek 792717e03e
Misc: Get rid of format string for result logging 2 years ago
Stenzek b6d019db66
Misc: Replace log printf calls with fmt 2 years ago
Stenzek 6cad97b404
GPUDevice: Make vsync actually tear-free
Apparently users prefer stutter over tearing...
2 years ago
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