From 2871b76a0f0ad9758db0f29ab353da736d1dd2b7 Mon Sep 17 00:00:00 2001 From: Sascha Willems Date: Fri, 22 Nov 2024 17:44:31 +0100 Subject: [PATCH] Fix Android builds Recent changes to ktx integration were missing Fixes #1168 --- android/examples/base/CMakeLists.txt | 1 + android/examples/base/liblibktx.a | Bin 177336 -> 0 bytes base/VulkanAndroid.cpp | 6 +++++- base/VulkanAndroid.h | 4 +++- 4 files changed, 9 insertions(+), 2 deletions(-) delete mode 100644 android/examples/base/liblibktx.a diff --git a/android/examples/base/CMakeLists.txt b/android/examples/base/CMakeLists.txt index e2dc6c428..e564d5229 100644 --- a/android/examples/base/CMakeLists.txt +++ b/android/examples/base/CMakeLists.txt @@ -18,6 +18,7 @@ set(KTX_SOURCES ${KTX_DIR}/lib/swap.c ${KTX_DIR}/lib/memstream.c ${KTX_DIR}/lib/filestream.c + ${KTX_DIR}/lib/vkloader.c ) set(KTX_INCLUDE ${KTX_DIR}/include diff --git a/android/examples/base/liblibktx.a b/android/examples/base/liblibktx.a deleted file mode 100644 index 19ac186f1db4b9dca7db3a3d9506f0f33a38fc89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 177336 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 z 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 diff --git a/base/VulkanAndroid.cpp b/base/VulkanAndroid.cpp index bed79b1c2..0a5470e71 100644 --- a/base/VulkanAndroid.cpp +++ b/base/VulkanAndroid.cpp @@ -1,7 +1,7 @@ /* * Android Vulkan function pointer loader * -* Copyright (C) 2016-2023 by Sascha Willems - www.saschawillems.de +* Copyright (C) 2016-2024 by Sascha Willems - www.saschawillems.de * * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) */ @@ -142,6 +142,8 @@ PFN_vkQueuePresentKHR vkQueuePresentKHR; PFN_vkResetCommandBuffer vkResetCommandBuffer; +PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; + int32_t vks::android::screenDensity; void *libVulkan; @@ -325,6 +327,8 @@ namespace vks vkQueuePresentKHR = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkQueuePresentKHR")); vkResetCommandBuffer = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkResetCommandBuffer")); + + vkGetPhysicalDeviceImageFormatProperties = reinterpret_cast(vkGetInstanceProcAddr(instance, "vkGetPhysicalDeviceImageFormatProperties")); } void freeVulkanLibrary() diff --git a/base/VulkanAndroid.h b/base/VulkanAndroid.h index d79ad970d..9db7e82b8 100644 --- a/base/VulkanAndroid.h +++ b/base/VulkanAndroid.h @@ -1,7 +1,7 @@ /* * Android Vulkan function pointer prototypes * -* Copyright (C) 2016-2023 by Sascha Willems - www.saschawillems.de +* Copyright (C) 2016-2024 by Sascha Willems - www.saschawillems.de * * This code is licensed under the MIT license (MIT) (http://opensource.org/licenses/MIT) */ @@ -176,6 +176,8 @@ extern PFN_vkQueuePresentKHR vkQueuePresentKHR; extern PFN_vkResetCommandBuffer vkResetCommandBuffer; +extern PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties; + namespace vks { namespace android