Commit Graph

117 Commits (cdadda85b5fce6afa3b0ed950a8f974281ea41d5)

Author SHA1 Message Date
Stenzek 611bb8fb4f
VulkanDevice: Remove hardcoded 1.0 API version
Been like this for a couple of months, evidently forgot to remove it
when testing...
1 year ago
Stenzek eca113cd76
GPUDevice: Fix/improve compute shader support
Add multiple texture layout with/without UBO.
1 year ago
Stenzek bbdc6ab4e0
Misc: Fix a bunch of code analysis warnings
Quite a few of these were legitimate.
2 years ago
Stenzek ee1a3b904e
VulkanDevice: Support SDL window type 2 years ago
Stenzek 5913de947f
VulkanDevice: Fix incorrect texture format for A1BGR5 2 years ago
Stenzek c6563a4656
VulkanDevice: Require Vulkan 1.1 for most extension probing
Too much of a headache to deal with these ancient Mali drivers that
support some extensions but not full Vulkan 1.1, and VMA does not
support this scenario.
2 years ago
Stenzek be75a97efe
GPUDevice: Fix swap chain clear colour normalization 2 years ago
Stenzek fb3e290133
GPUDevice: Move exclusive fullscreen to features
Also fixes it not enabling in D3D12 renderer.
2 years ago
Stenzek 389276bb03
GPUDevice: Normalize supports_texture_buffers => texture_buffers 2 years ago
Stenzek 338d29d271
GPUDevice: Move empty/null texture to base class 2 years ago
Stenzek 609fa5c7d7
GPUDevice: Add sampler cache to base class
Removes per-backend bookkeeping in D3D12 and Vulkan.
2 years ago
Stenzek 0030bc2699
GPUDevice: Ensure 16 byte minimum UBO alignment 2 years ago
Stenzek 1bf076c74f
VulkanDevice: Fix crash on shutdown if swapchain creation fails 2 years ago
Stenzek 5eac1e4800
VulkanDevice: Blacklist FSI on AMD Windows
Yay for random GPU resets, it's fine on NVIDIA.
2 years ago
Stenzek 8c5fadafba
GPUTexture: Add A1BGR5 format
Needed for GLES, since RGB5A1 + BGRA + REV isn't listed as
a valid format.
2 years ago
Stenzek f0c456893c
GPUDevice: Support pre-rotating swap chains 2 years ago
Stenzek 9df59713da
GPUDevice: Put debug messages/scopes behind conditions
And completely compile them out in Release builds.

Gets Devel close to Release in terms of performance.
2 years ago
Stenzek 0faa9cf650
Build: Add Devel configuration
Gets you debug assertions and logging, while still producing an
optimized executable.
2 years ago
Stenzek fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
And fix the incorrect format for Vulkan.
2 years ago
Stenzek 7eb1d4e092
GPUDevice: Support compressed textures 2 years ago
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