diff options
| author | JosJuice <josjuice@gmail.com> | 2026-10-31 16:39:44 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-31 16:39:44 +0100 |
| commit | 613db73aeb2c086a816592df2fb193d73130101b (patch) | |
| tree | 4529cdfe2da53bb33c04458a84b0d575d305c500 | |
| parent | c4856ead6420cceb48744815d79d6be59febb5ff (diff) | |
| parent | a8fc326a6b0e9945919b174aed09a9639b5b10a0 (diff) | |
Merge pull request #14958 from bmdhacks/mali-custom-driver
Vulkan: Allow custom drivers on Mali devices
| -rw-r--r-- | Source/Android/jni/GpuDriver.cpp | 3 | ||||
| -rw-r--r-- | Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Source/Android/jni/GpuDriver.cpp b/Source/Android/jni/GpuDriver.cpp index de37ab8d40..3df191ebc7 100644 --- a/Source/Android/jni/GpuDriver.cpp +++ b/Source/Android/jni/GpuDriver.cpp @@ -96,7 +96,8 @@ JNIEXPORT jboolean JNICALL Java_org_dolphinemu_dolphinemu_utils_GpuDriverHelper_00024Companion_supportsCustomDriverLoading( JNIEnv* env, jobject instance) { - // If the KGSL device exists custom drivers can be loaded using adrenotools + // If the KGSL (Adreno) or kbase (Mali) device exists custom drivers can be loaded using + // adrenotools return Vulkan::SupportsCustomDriver(); } diff --git a/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp b/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp index a761a81a3e..ac26cd95ec 100644 --- a/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp +++ b/Source/Core/VideoBackends/Vulkan/VulkanLoader.cpp @@ -254,9 +254,16 @@ static bool CheckKgslPresent() return access(KgslPath, F_OK) == 0; } +static bool CheckKbasePresent() +{ + constexpr auto KbasePath{"/dev/mali0"}; + + return access(KbasePath, F_OK) == 0; +} + bool SupportsCustomDriver() { - return android_get_device_api_level() >= 28 && CheckKgslPresent(); + return android_get_device_api_level() >= 28 && (CheckKgslPresent() || CheckKbasePresent()); } #endif |
