From 60f6a3097c81f98b1b933b5721b1bd81ffa8252e Mon Sep 17 00:00:00 2001 From: Ian Elliott Date: Wed, 27 Jul 2016 16:21:22 -0600 Subject: [PATCH] Fix problems when building on Linux for Android There were some typos, some Android-specific WSI code missing, an uninitialized variable, and a missing library, etc. --- renderdoc/CMakeLists.txt | 1 + renderdoc/driver/vulkan/vk_android.cpp | 2 +- renderdoc/driver/vulkan/vk_posix.cpp | 6 +++++- renderdoc/os/posix/android/android_process.cpp | 1 + renderdoc/os/posix/android/android_stringio.cpp | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt index f46f7a49b..154491797 100644 --- a/renderdoc/CMakeLists.txt +++ b/renderdoc/CMakeLists.txt @@ -18,6 +18,7 @@ if(ANDROID) list(APPEND RDOC_LIBRARIES PRIVATE m PRIVATE dl + PRIVATE log PRIVATE ${CMAKE_THREAD_LIBS_INIT}) elseif(APPLE) list(APPEND RDOC_LIBRARIES diff --git a/renderdoc/driver/vulkan/vk_android.cpp b/renderdoc/driver/vulkan/vk_android.cpp index e9646f70a..a698c2d54 100644 --- a/renderdoc/driver/vulkan/vk_android.cpp +++ b/renderdoc/driver/vulkan/vk_android.cpp @@ -28,7 +28,7 @@ void VulkanReplay::OutputWindow::SetWindowHandle(WindowingSystem system, void *data) { RDCASSERT(system == eWindowingSystem_Android, system); - wnd = (ANativeWindow *)wn; + wnd = (ANativeWindow *)data; m_WindowSystem = system; } diff --git a/renderdoc/driver/vulkan/vk_posix.cpp b/renderdoc/driver/vulkan/vk_posix.cpp index edffb1848..ecd6f008f 100644 --- a/renderdoc/driver/vulkan/vk_posix.cpp +++ b/renderdoc/driver/vulkan/vk_posix.cpp @@ -108,8 +108,12 @@ bool WrappedVulkan::AddRequiredExtensions(bool instance, vector &extensi if(!oneSurfaceTypeSupported) { - RDCERR("Required at least one of '%s' or '%s' extension to be present", +#if defined(VK_USE_PLATFORM_ANDROID_KHR) + RDCERR("Require the '%s' extension to be present", VK_KHR_ANDROID_SURFACE_EXTENSION_NAME); +#elif defined(VK_USE_PLATFORM_XCB_KHR) || defined(VK_USE_PLATFORM_XLIB_KHR) + RDCERR("Require either the '%s' or '%s' extension to be present", VK_KHR_XCB_SURFACE_EXTENSION_NAME, VK_KHR_XLIB_SURFACE_EXTENSION_NAME); +#endif return false; } } diff --git a/renderdoc/os/posix/android/android_process.cpp b/renderdoc/os/posix/android/android_process.cpp index 7ae4d63a7..a573b9dd1 100644 --- a/renderdoc/os/posix/android/android_process.cpp +++ b/renderdoc/os/posix/android/android_process.cpp @@ -87,6 +87,7 @@ bool debuggerPresent = false; void CacheDebuggerPresent() { FILE *f = FileIO::fopen("/proc/self/status", "r"); + int ret = 0; if(f == NULL) { diff --git a/renderdoc/os/posix/android/android_stringio.cpp b/renderdoc/os/posix/android/android_stringio.cpp index a9df50f24..da068c4cf 100644 --- a/renderdoc/os/posix/android/android_stringio.cpp +++ b/renderdoc/os/posix/android/android_stringio.cpp @@ -23,6 +23,7 @@ ******************************************************************************/ #include +#include #include "os/os_specific.h" #define LOGCAT_TAG "renderdoc"