Commit graph

149 commits

Author SHA1 Message Date
Henrik Rydgård
0e3a84b4a8 Move most GPU things to Common.
It works after the move, on Windows and Android at least.

Deletes the D3DX9 shader compiler loader, which was not used.
2020-10-04 23:39:02 +02:00
Henrik Rydgård
b7edf75437 Move Display.cpp/h to Common. 2020-10-04 11:42:16 +02:00
Henrik Rydgård
3162f30158 Merge base/basictypes.h into Common/Common.h (mostly). 2020-09-29 15:51:51 +02:00
Henrik Rydgård
28b58ca05d More asserts 2020-09-17 20:52:32 +02:00
Henrik Rydgård
8835728f87 Replace base/logging.h in VulkanContext and parts of native 2020-08-15 19:08:44 +02:00
Henrik Rydgård
2f5de1987e Allow passing in an object name tag when creating framebuffers 2020-08-09 09:36:45 +02:00
Henrik Rydgård
11f9df33ba Vulkan: Start adding object names for easier validation debugging 2020-08-08 21:29:29 +02:00
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