Connor McLaughlin
95fa15f902
Vulkan: Use pool of semaphores instead of per-image
...
Some drivers apparently don't iterate images in the order you expect.
2023-01-12 11:03:21 +01:00
Stenzek
3fa3bc1719
Vulkan/Context: Acquire swap chain image after presenting
2023-01-06 14:57:57 +00:00
Stenzek
93bd95f4bd
Vulkan/Context: Pass swap chain through to submission
...
Simplifies things a bit.
2023-01-06 14:57:57 +00:00
Stenzek
7d572ff794
Vulkan/SwapChain: Use a separate semaphore for each image
2023-01-06 14:57:57 +00:00
Stenzek
ca92d4ea3d
Common: Warning fixes for clang-cl
2022-12-25 09:27:44 +00:00
Connor McLaughlin
ebeba2ba17
GS/Vulkan: Enable samplerAnisotropy before using
2022-11-26 16:17:20 +00:00
Connor McLaughlin
daebb5753a
GS/HW: Fix various issues with texture replacements
...
- Replacement textures now show in HC usage to give a clearer picture
of VRAM usage.
- Fixed crashes when loading compressed and mipmapped DDS textures.
- Fixed compressed mipmapped textures in Direct3D 12.
- Fixed GPU crashes in D3D11/D3D12/Vulkan when compressed textures went
down the last 1x1 mipmap level.
2022-11-26 16:17:20 +00:00
TellowKrinkle
46db4077b8
Common:Vulkan: Add storage descriptors to pool
...
Needed for CAS
2022-11-23 11:45:37 +00:00
Connor McLaughlin
344d27ea5a
Vulkan: Add ComputeShaderPipelineBuilder
2022-11-23 11:45:37 +00:00
TellowKrinkle
ac1f31f2cd
GS:HW: Add option to spin CPU during readbacks
2022-10-24 14:33:17 +01:00
TellowKrinkle
923b0817ce
GS:Vk: Add option to spin GPU during readbacks
2022-10-24 14:33:17 +01:00
TellowKrinkle
4c9981f3c8
Common:Vk: Move command buffer completion processing to separate function
2022-10-24 14:33:17 +01:00
TellowKrinkle
0ef469f3b5
Common:Vk: Load VK_EXT_calibrated_timestamps
2022-10-24 14:33:17 +01:00
Connor McLaughlin
61de98d651
Vulkan: Support running surfaceless
2022-10-22 23:19:54 +01:00
TellowKrinkle
0500824e57
GS:Vk: Change primitive_id enable to match the new meaning
...
A bit messy, due to the fact that its support piggybacks on support of other features, instead of having a dedicated feature flag
2022-09-06 21:07:56 +02:00
Connor McLaughlin
9655d28a23
Common: Remove unused code
2022-08-27 13:52:12 +01:00
Connor McLaughlin
fa3bd58b7f
GS: Don't show GPU OSD when timing init fails
2022-06-20 07:28:12 +01:00
Connor McLaughlin
394f1f2049
Vulkan: Enforce 32 byte alignment for uploads
...
It blows up on AVX2 stores on some drivers if we don't (e.g. AMD Linux).
2022-06-05 21:29:42 +01:00
Connor McLaughlin
ca3833e71b
VulkanHostDisplay: Avoid redundant resizes
2022-06-04 18:10:46 +01:00
TellowKrinkle
beab9870cf
Common: Move ObjC methods to CocoaTools
2022-06-04 14:50:33 +01:00
Connor McLaughlin
38c48e8b6a
Vulkan/Context: Don't write timestamp on an unreset query
2022-05-11 13:07:58 +01:00
Connor McLaughlin
65e956a01c
Misc: Replace use of Threading::Mutex with std::mutex in core code
2022-05-09 16:06:33 +01:00
Connor McLaughlin
bec9b34f54
Vulkan/SwapChain: Fix crash on fullscreen toggle with Mac
2022-05-05 23:23:48 +01:00
Connor McLaughlin
edf5e2c14e
Vulkan/Context: Use static loading for vk_mem_alloc
...
In doing so, we simplify things a bit, as we can assume Vulkan 1.1
support. It needed it before anyway, and would crash on Vulkan 1.0
drivers.
2022-04-15 19:41:12 +01:00
Connor McLaughlin
9180adb850
VulkanHostDisplay: Handle surface loss better
...
Just try again next frame.
2022-04-15 19:41:12 +01:00
Connor McLaughlin
1b080f1777
Vulkan/Loader: Make vkDestroyInstance() a module import
2022-04-15 19:41:12 +01:00
Connor McLaughlin
76b4e93604
Vulkan/ShaderCache: Don't delete cache when running 2 instances
2022-03-30 12:38:08 +02:00
Connor McLaughlin
4e6b86f8f4
GS/Vulkan: Use VK_ARM_rasterization_order_attachment_access if available
2022-03-20 23:41:33 +00:00
Connor McLaughlin
8e08cd772b
PerformanceMetrics: Add GPU time
2022-03-17 09:10:12 +00:00
Connor McLaughlin
062d625901
Vulkan/Context: Allow non-debug device when validation layers unavailable
2022-03-08 10:39:50 +01:00
TellowKrinkle
099ddfedc7
GS:Mac: Properly init vulkan on main thread
2022-03-02 12:02:15 +00:00
TellowKrinkle
d9e2bcef6d
GS:Mac: Nicer message send
2022-03-02 12:02:15 +00:00
Connor McLaughlin
32dc68f103
GS: Support BC1/BC2/BC3/BC7 compressed texture formats
2022-02-24 10:18:49 +00:00
Connor McLaughlin
f73398ea84
GS/Vulkan: Fix warning when compiling RGBA8->RGB5A1 shader
...
Also gets rid of the program info log length check, since that's been
long removed in glslang.
2022-02-20 14:03:33 +00:00
Connor McLaughlin
0ca3167595
Vulkan: Implement adaptive vsync (FIFO-relaxed)
2022-02-07 01:42:40 +00:00
Connor McLaughlin
c74cc9bc12
HostDisplay: Fix vsync getting lost on window changes
2022-02-07 01:42:40 +00:00
Connor McLaughlin
3a91ed2571
Vulkan/Context: Remove unused memory type functions
...
VulkanMemoryAllocator takes care of this.
2022-02-02 17:39:53 +00:00
Connor McLaughlin
20c534fc46
Vulkan/Context: Fix incorrect app name/version
2022-02-02 17:39:53 +00:00
Connor McLaughlin
793ba944d6
GS/Vulkan: Prefer coherent for upload and cached for download buffers
2022-02-02 00:30:56 +00:00
Connor McLaughlin
ed9b6f0d3f
Vulkan/Context: Get driver properties
2022-01-23 17:15:48 +00:00
Connor McLaughlin
81a139b875
Vulkan: Force textures to be allocated in device local memory
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a3c20f0f7
Vulkan: Use memory budget extension where available
2022-01-08 05:19:45 +00:00
Connor McLaughlin
220c7c271b
GS/Vulkan: Use VK_EXT_provoking_vertex where supported
2022-01-08 05:19:45 +00:00
Connor McLaughlin
6187f36c33
Vulkan/StreamBuffer: Use VulkanMemoryAllocator
2022-01-08 05:19:45 +00:00
Connor McLaughlin
1a8a5a5e8e
GS: Add Vulkan renderer
2022-01-08 05:19:45 +00:00
Connor McLaughlin
a27b6a113a
Common: Add Vulkan helper classes
2022-01-08 05:19:45 +00:00