Commit graph

142 commits

Author SHA1 Message Date
Henrik Rydgård
c5e0b799d9 Remove category from _assert_msg_ functions. We don't filter these by category anyway.
Fixes the inconsistency where we _assert_ didn't take a category but
_assert_msg_ did.
2020-07-19 20:33:25 +02:00
Henrik Rydgård
49d9caeb0d SDL: Avoid destroying the surface on resize. 2020-07-18 20:40:20 +02:00
Henrik Rydgård
697c3b8b36 Cleanup log output on swapchain/surface recreation. 2020-07-18 20:35:39 +02:00
Henrik Rydgård
7180c2a4c2 Enable Vulkan validation in SDL debug builds 2020-06-23 21:57:02 +02:00
Henrik Rydgård
fbc4fa5bca Move the responsibility to register the debugutils callback to the VulkanContext. We only use one anyway. 2020-06-21 23:04:51 +02:00
Henrik Rydgård
6532c345c8 Simplify the validation interface code, bugfixes 2020-06-21 23:04:51 +02:00
Henrik Rydgård
1793b65ec1 Vulkan: Remove support for the old VK_EXT_debug_report extension 2020-06-21 23:04:51 +02:00
Henrik Rydgård
6b93e73a8e Update lang submodule.
(also sneak in a couple of log lines)
2020-06-14 17:14:22 +02:00
Unknown W. Brackets
0ff922c3e0 Android: Buildfix.
Not sure why the linker is having trouble with VulkanDebug.cpp.
2020-05-23 08:29:21 -07:00
Henrik Rydgård
e216295d32 Vulkan validation: Switch to the new Khronos validation layer shipping with recent SDKs. 2020-05-18 00:40:14 +02:00
Henrik Rydgård
fa8968f5c6
Merge pull request #12660 from unknownbrackets/frame-latency
GPU: Add setting to control inflight frame usage
2020-03-02 00:16:48 +01:00
Unknown W. Brackets
a91e206926 GPU: Add setting to control inflight frame usage. 2020-03-01 06:21:27 -08:00
Unknown W. Brackets
2a3fd05651 Vulkan: Present using FIFO for vsync.
This allows the setting to be changed at runtime in Vulkan too.

Should help #10105.
2020-02-29 22:48:59 -08:00
李通洲
7cd60549dd
Initial support for vulkan on macOS ( MoltenVK ) 2020-01-20 14:42:40 +08:00
Henrik Rydgård
025a9f4dae Improve Mali driver version detection 2019-09-04 21:46:07 +02:00
Henrik Rydgård
6ae18c27f4 Vulkan/PowerVR: Make another blind fix attempt for #12296. Can't find my PowerVR device :/ 2019-09-02 19:06:29 +02:00
Henrik Rydgård
7610220b30 Vulkan: Prepare for adding a second init path for VulkanContext.
Will eventually be used for libretro.
2019-09-01 22:21:19 +02:00
Henrik Rydgård
5847bf3201 Attempt to work around the PowerVR bug again (pretransform undid the old workaround in landscape). See #12276 2019-09-01 18:23:02 +02:00
Henrik Rydgård
19a443819b Bugfixes to VK gpu profiling. Properly get the valid bits. 2019-08-21 09:02:40 +02:00
Unknown W. Brackets
9f98f440c8 Vulkan: Check default case with an assert. 2019-08-17 12:01:22 -07:00
Henrik Rydgård
7de49c66a1 Warning fix 2019-06-25 21:35:54 +02:00
Henrik Rydgård
2a664add31 Vulkan: An additional check during init. May help #12131 2019-06-24 18:31:56 +02:00
Henrik Rydgård
0f9dbaa2bc Don't ask for TRANSFER_DST for swapchain surface. No reason to. 2019-06-21 14:09:45 +02:00
Henrik Rydgård
e943724905 Vulkan: Apply the desired pretransform when drawing to the backbuffer.
This should save a lot of memory bandwidth on mobile devices that can't
rotate images natively in the display engine. Fixes #12099.
2019-06-21 09:38:51 +02:00
Henrik Rydgård
9def42d800 Vulkan: Log supported pretransforms. 2019-06-20 23:58:18 +02:00
Henrik Rydgard
f38a6650b1 VK code cleanup: Just a little helper for handling dedicated allocation for images. 2019-02-07 14:56:29 +01:00
Henrik Rydgard
e30daa8027 Remove unused API, assorted cleanup.
No longer enable the geometry shader feature, no plans to use it.
2019-02-05 21:31:43 +01:00
Henrik Rydgard
478b0b4278 Further improve VK extension loading. Switch to VK_EXT_debug_utils (but fallback to VK_EXT_debug_report if only that is available). 2019-02-05 21:31:38 +01:00
Henrik Rydgard
7ae6ba9d91 Add code to enable a couple more extensions I anticipate using eventually. 2019-02-05 18:07:18 +01:00
Henrik Rydgard
8e1a5ef3d6 Minor refactor of physical device property/feature detection, to allow for more extension use. 2019-02-05 18:07:17 +01:00
Henrik Rydgard
fdd0d7acb4 More Vulkan validation fixes
NVIDIA no longer uses nVidia capitalization.
2019-02-05 18:07:11 +01:00
Henrik Rydgard
b143e47fb6 VK: Load the dedicated allocation extension properly (but don't use it yet). 2019-01-31 14:18:30 +01:00
Henrik Rydgard
f339a0c15b VK: Minor cleanup, turn off unfinished and probably wrong use of dedicated allocation feature 2019-01-31 14:09:21 +01:00
Henrik Rydgård
7ccf23542d Fix SDL build 2019-01-26 12:03:20 +01:00
Henrik Rydgard
3fd216ad3a Better handling of swap chain size, add PowerVR hack. Fixes #11743 2019-01-25 20:19:55 +01:00
Henrik Rydgard
c38c5469c4 Fixes for issues found by Vulkan validation layers, including a common non-harmful perf warning (doesn't fix all cases, but does fix the most common one). 2019-01-25 20:18:56 +01:00
Henrik Rydgård
46585a5da9 Additional logging 2019-01-23 18:34:25 +01:00
Henrik Rydgård
b282d83258 Revert 6fd1c0e3d and eba6c00 which experimentally disabled dual src on Adreno.
I don't think we have any indications that it doesn't work.
2018-12-10 23:48:28 +01:00
Henrik Rydgård
6fd1c0e3d9 Instead of the last commit, don't enable the dual src extension at all on Adreno.
This reverts commit eba6c00a8a.
2018-10-07 12:19:11 +02:00
weihuoya
9324d7c386 glslang options for vulkan 2018-08-30 22:51:55 +08:00
Unknown W. Brackets
e4127890ec Vulkan: Fix some missing switch warnings.
Might as well prefer a virtual GPU over a CPU maybe...
2018-06-17 11:30:22 -07:00
Henrik Rydgård
b037efdb55 If there are multiple Vulkan devices, show a setting to allow the user to choose. 2018-06-06 10:20:12 +02:00
aliaspider
ed12b95091 Windows/Vulkan: use the width and height arguments in ReinitSurface when
provided.
2018-03-24 11:09:55 +01:00
aliaspider
8fcf93e462 vulkan: perform delete callbacks first since they can also queue
deletes.
2018-03-22 22:23:28 +01:00
Henrik Rydgård
08c3e13517 Do more detailed checks for Vulkan availability. Should hopefully solve #10729. 2018-03-17 11:36:16 +01:00
Henrik Rydgård
614cabb115 Implement pipeline/shader cache for Vulkan, to avoid shader compile stutters on second and subsequent runs.
The raw pipeline cache got pretty large. Instead, store IDs like GL.

There's still a disabled option to store the pipeline cache objects.
2018-03-16 21:03:03 +01:00
Henrik Rydgård
3cd92b4d90 Vulkan: Add a (disabled) facility to force image layouts to GENERAL, for debugging barrier issues 2018-03-15 16:23:23 +01:00
Henrik Rydgård
9f9903c02e Fixes to vulkan restart logic on Android. Should help #10696 2018-03-11 17:14:11 +01:00
Henrik Rydgård
eb014e8c6b Try to be more consistent when initializing vulkan structs. 2018-02-25 12:15:29 +01:00
Henrik Rydgård
57615344e4 Fix for deletes, add some debugging stuff 2018-01-27 15:10:17 +01:00