Stenzek
32b3ade56c
VulkanDevice: Allocate N semaphores for N swap chains
2025-05-23 15:21:49 +10:00
Stenzek
611bb8fb4f
VulkanDevice: Remove hardcoded 1.0 API version
...
Been like this for a couple of months, evidently forgot to remove it
when testing...
2025-04-25 17:40:40 +10:00
Stenzek
eca113cd76
GPUDevice: Fix/improve compute shader support
...
Add multiple texture layout with/without UBO.
2025-04-06 23:16:02 +10:00
Stenzek
bbdc6ab4e0
Misc: Fix a bunch of code analysis warnings
...
Quite a few of these were legitimate.
2025-04-03 19:29:03 +10:00
Stenzek
ee1a3b904e
VulkanDevice: Support SDL window type
2025-02-28 15:46:53 +10:00
Stenzek
5913de947f
VulkanDevice: Fix incorrect texture format for A1BGR5
2025-02-14 19:01:40 +10:00
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.
2025-02-04 17:15:29 +10:00
Stenzek
be75a97efe
GPUDevice: Fix swap chain clear colour normalization
2025-01-22 18:23:11 +10:00
Stenzek
fb3e290133
GPUDevice: Move exclusive fullscreen to features
...
Also fixes it not enabling in D3D12 renderer.
2025-01-21 19:12:44 +10:00
Stenzek
389276bb03
GPUDevice: Normalize supports_texture_buffers => texture_buffers
2025-01-21 19:06:59 +10:00
Stenzek
338d29d271
GPUDevice: Move empty/null texture to base class
2025-01-18 22:59:48 +10:00
Stenzek
609fa5c7d7
GPUDevice: Add sampler cache to base class
...
Removes per-backend bookkeeping in D3D12 and Vulkan.
2025-01-18 22:59:48 +10:00
Stenzek
0030bc2699
GPUDevice: Ensure 16 byte minimum UBO alignment
2025-01-07 23:20:25 +10:00
Stenzek
1bf076c74f
VulkanDevice: Fix crash on shutdown if swapchain creation fails
2024-12-31 15:10:55 +10:00
Stenzek
5eac1e4800
VulkanDevice: Blacklist FSI on AMD Windows
...
Yay for random GPU resets, it's fine on NVIDIA.
2024-12-11 12:46:25 +10:00
Stenzek
8c5fadafba
GPUTexture: Add A1BGR5 format
...
Needed for GLES, since RGB5A1 + BGRA + REV isn't listed as
a valid format.
2024-12-06 18:28:09 +10:00
Stenzek
f0c456893c
GPUDevice: Support pre-rotating swap chains
2024-12-06 15:38:51 +10:00
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.
2024-12-01 23:21:33 +10:00
Stenzek
0faa9cf650
Build: Add Devel configuration
...
Gets you debug assertions and logging, while still producing an
optimized executable.
2024-12-01 23:21:33 +10:00
Stenzek
fa4dc381ed
GPUDevice: Rename RGBA5551 to RGB5A1
...
And fix the incorrect format for Vulkan.
2024-11-30 14:36:07 +10:00
Stenzek
7eb1d4e092
GPUDevice: Support compressed textures
2024-11-24 23:29:29 +10:00
Stenzek
3ff1b04576
GPUDevice: Support generating mipmaps
2024-11-24 23:29:28 +10:00
Stenzek
e647192437
GPUDevice: Add compute shader support
2024-11-24 23:29:28 +10:00
Stenzek
e69f0d3cce
OpenGLDevice: Support both XCB and Xlib
...
Required for NVIDIA+XWayland.
2024-11-11 20:12:26 +10:00
Stenzek
92bcf64fe8
VulkanDevice: Refactor present failure handling
...
Shouldn't deadlock anymore...
2024-11-10 17:52:12 +10:00
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.
2024-11-10 17:52:12 +10:00
Stenzek
eb46142ee7
GPUDevice: Extract swap chain to separate class
2024-10-18 20:48:29 +10:00
Stenzek
7ce4c34936
VulkanDevice: Scissor rect should never be negative
2024-10-11 21:19:16 +10:00
Stenzek
26b6c704f0
MemMap: Support dynamic page size selection
...
i.e. 4K to 16K on ARM64.
2024-10-05 19:25:23 +10:00
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.
2024-09-21 22:26:06 +10:00
Stenzek
ac8461a28b
System: Fix bogus SW thread CPU in OSD
2024-09-21 22:26:05 +10:00
Stenzek
d981dc7471
MetalDevice: Implement pipeline cache
2024-09-13 19:26:44 +10:00
Stenzek
6f31e562a0
MetalDevice: Implement timed present
2024-09-13 15:19:29 +10:00
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.
2024-09-08 23:33:05 +10:00
Stenzek
ac5a2a153a
GPUDevice: Remove BeginPresent() skip parameter
...
It wasn't used - System does its own present skipping.
2024-09-07 12:53:55 +10:00
Stenzek
4b0c1fdbf2
GPUDevice: Add recovery from lost device
2024-09-07 12:48:44 +10:00
Stenzek
1c1b82ed66
GPUDevice: Purge threaded presentation
...
Worse frame pacing, and GPU thread (when I finish it) will give
significantly faster performance on mobile anyway.
2024-09-07 12:15:42 +10:00
Stenzek
7f4e5d55db
Misc: Update copyright headers
2024-09-01 22:08:31 +10:00
Stenzek
667d1bf7c8
GPUDevice: Use CompressHelpers
...
And compress the pipeline cache. Saves a fair bit of disk space.
2024-08-26 21:33:28 +10:00
Stenzek
707453b596
FileSystem: Swap vector for DynamicHeapArray
...
No point zeroing it out.
2024-08-25 22:13:18 +10:00
Stenzek
6dd29eb88f
VulkanDevice: Fix incorrect log
2024-08-20 11:54:16 +10:00
Stenzek
34df233a95
VulkanDevice: Enable VK_KHR_maintenance4 and 5
2024-08-10 12:33:01 +10:00
Stenzek
4f16cb61b4
GPUDevice: Expose swap chain clear colour
2024-08-06 17:35:27 +10:00
Stenzek
efc821bc84
VulkanDevice: Fix incorrect condition in UnbindTexture()
2024-08-06 15:32:40 +10:00
Stenzek
30c5ebae72
GPUDevice: Fix instances of RWTexture not clearing
2024-08-03 02:05:21 +10:00
Stenzek
5e8870ec69
D3D12: Avoid redundant render pass restarts
2024-07-23 21:11:01 +10:00
Stenzek
1006fa00da
GPUDevice: Add support for Raster Ordered Views
2024-07-23 14:46:06 +10:00
Stenzek
00ccea84b8
GPUDevice: Replace remaining StdStringFromFromFormat() with fmt
2024-07-19 13:44:09 +10:00
Stenzek
3749b812a3
GPUDevice: Add ExecuteAndWaitForGPUIdle()
2024-07-04 21:54:19 +10:00
Stenzek
4b61a3cbf3
Qt: Unrestrict resolution scale up to device limits
2024-07-04 13:25:27 +10:00