ci/android: Use DEQP_ANDROID_EXE for GLES CTS
The new GLES CTS 3.2.12.0 release allows using DEQP_ANDROID_EXE for EGL testing on Android. Signed-off-by: Valentine Burley <valentine.burley@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34321>
This commit is contained in:
committed by
Marge Bot
parent
5ee7a4c1e9
commit
b25135c7a9
@@ -81,13 +81,6 @@ gles_cts_patch_files=(
|
|||||||
build-deqp-gl_Revert-Fix-spurious-failures-when-using-a-config-wit.patch
|
build-deqp-gl_Revert-Fix-spurious-failures-when-using-a-config-wit.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "${DEQP_TARGET}" = 'android' ]; then
|
|
||||||
gles_cts_patch_files+=(
|
|
||||||
build-deqp-gles_Allow-running-on-Android-from-the-command-line.patch
|
|
||||||
build-deqp-gles_Android-prints-to-stdout-instead-of-logcat.patch
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
### Careful editing anything below this line
|
### Careful editing anything below this line
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ EXTRA_CMAKE_ARGS="-DDEQP_ANDROID_EXE=ON -DDEQP_TARGET_TOOLCHAIN=ndk-modern -DAND
|
|||||||
|
|
||||||
DEQP_API=GLES \
|
DEQP_API=GLES \
|
||||||
DEQP_TARGET="android" \
|
DEQP_TARGET="android" \
|
||||||
EXTRA_CMAKE_ARGS="-DDEQP_TARGET_TOOLCHAIN=ndk-modern -DANDROID_NDK_PATH=/$ndk -DANDROID_ABI=x86_64 -DDE_ANDROID_API=$ANDROID_SDK_VERSION" \
|
EXTRA_CMAKE_ARGS="-DDEQP_ANDROID_EXE=ON -DDEQP_TARGET_TOOLCHAIN=ndk-modern -DANDROID_NDK_PATH=/$ndk -DANDROID_ABI=x86_64 -DDE_ANDROID_API=$ANDROID_SDK_VERSION" \
|
||||||
. .gitlab-ci/container/build-deqp.sh
|
. .gitlab-ci/container/build-deqp.sh
|
||||||
|
|
||||||
DEQP_API=VK \
|
DEQP_API=VK \
|
||||||
|
|||||||
@@ -1,182 +0,0 @@
|
|||||||
From 2503bf1be98eaa810672f6a6eb8f735a33511a4f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
|
||||||
Date: Fri, 26 Aug 2022 18:24:27 +0200
|
|
||||||
Subject: [PATCH 1/2] Allow running on Android from the command line
|
|
||||||
|
|
||||||
For testing the Android EGL platform without having to go via the
|
|
||||||
Android activity manager, build deqp-egl.
|
|
||||||
|
|
||||||
Tests that render to native windows are unsupported, as command line
|
|
||||||
programs cannot create windows on Android.
|
|
||||||
|
|
||||||
$ cmake -S . -B build/ -DDEQP_TARGET=android -DDEQP_TARGET_TOOLCHAIN=ndk-modern -DCMAKE_C_FLAGS=-Werror -DCMAKE_CXX_FLAGS=-Werror -DANDROID_NDK_PATH=./android-ndk-r21d -DANDROID_ABI=x86_64 -DDE_ANDROID_API=28 -DGLCTS_GTF_TARGET=gles32 -G Ninja
|
|
||||||
$ ninja -C build modules/egl/deqp-egl
|
|
||||||
|
|
||||||
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 38 ++-----------------
|
|
||||||
.../android/tcuAndroidNativeActivity.cpp | 36 +++++++++---------
|
|
||||||
.../platform/android/tcuAndroidPlatform.cpp | 12 +++++-
|
|
||||||
3 files changed, 34 insertions(+), 52 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 309bdda18..7c833751f 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -275,7 +275,7 @@ include_directories(
|
|
||||||
external/vulkancts/framework/vulkan
|
|
||||||
)
|
|
||||||
|
|
||||||
-if (DE_OS_IS_ANDROID OR DE_OS_IS_IOS)
|
|
||||||
+if (DE_OS_IS_IOS)
|
|
||||||
# On Android deqp modules are compiled as libraries and linked into final .so
|
|
||||||
set(DEQP_MODULE_LIBRARIES )
|
|
||||||
set(DEQP_MODULE_ENTRY_POINTS )
|
|
||||||
@@ -319,7 +319,7 @@ macro (add_deqp_module MODULE_NAME SRCS LIBS EXECLIBS ENTRY)
|
|
||||||
set(DEQP_MODULE_LIBRARIES ${DEQP_MODULE_LIBRARIES} PARENT_SCOPE)
|
|
||||||
set(DEQP_MODULE_ENTRY_POINTS ${DEQP_MODULE_ENTRY_POINTS} PARENT_SCOPE)
|
|
||||||
|
|
||||||
- if (NOT DE_OS_IS_ANDROID AND NOT DE_OS_IS_IOS)
|
|
||||||
+ if (NOT DE_OS_IS_IOS)
|
|
||||||
# Executable target
|
|
||||||
add_executable(${MODULE_NAME} ${PROJECT_SOURCE_DIR}/framework/platform/tcuMain.cpp ${ENTRY})
|
|
||||||
target_link_libraries(${MODULE_NAME} PUBLIC "${EXECLIBS}" "${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}")
|
|
||||||
@@ -341,7 +341,7 @@ macro (add_deqp_module_skip_android MODULE_NAME SRCS LIBS EXECLIBS ENTRY)
|
|
||||||
add_library("${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}" STATIC ${SRCS})
|
|
||||||
target_link_libraries("${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}" ${LIBS})
|
|
||||||
|
|
||||||
- if (NOT DE_OS_IS_ANDROID AND NOT DE_OS_IS_IOS)
|
|
||||||
+ if (NOT DE_OS_IS_IOS)
|
|
||||||
# Executable target
|
|
||||||
add_executable(${MODULE_NAME} ${PROJECT_SOURCE_DIR}/framework/platform/tcuMain.cpp ${ENTRY})
|
|
||||||
target_link_libraries(${MODULE_NAME} PUBLIC "${EXECLIBS}" "${MODULE_NAME}${MODULE_LIB_TARGET_POSTFIX}")
|
|
||||||
@@ -393,37 +393,7 @@ add_subdirectory(external/vulkancts/vkscpc ${MAYBE_EXCLUDE_FROM_ALL})
|
|
||||||
add_subdirectory(external/openglcts ${MAYBE_EXCLUDE_FROM_ALL})
|
|
||||||
|
|
||||||
# Single-binary targets
|
|
||||||
-if (DE_OS_IS_ANDROID)
|
|
||||||
- include_directories(executor)
|
|
||||||
- include_directories(${PROJECT_BINARY_DIR}/external/vulkancts/framework/vulkan)
|
|
||||||
-
|
|
||||||
- set(DEQP_SRCS
|
|
||||||
- framework/platform/android/tcuAndroidMain.cpp
|
|
||||||
- framework/platform/android/tcuAndroidJNI.cpp
|
|
||||||
- framework/platform/android/tcuAndroidPlatformCapabilityQueryJNI.cpp
|
|
||||||
- framework/platform/android/tcuTestLogParserJNI.cpp
|
|
||||||
- ${DEQP_MODULE_ENTRY_POINTS}
|
|
||||||
- )
|
|
||||||
-
|
|
||||||
- set(DEQP_LIBS
|
|
||||||
- tcutil-platform
|
|
||||||
- xecore
|
|
||||||
- ${DEQP_MODULE_LIBRARIES}
|
|
||||||
- )
|
|
||||||
-
|
|
||||||
- add_library(deqp SHARED ${DEQP_SRCS})
|
|
||||||
- target_link_libraries(deqp ${DEQP_LIBS})
|
|
||||||
-
|
|
||||||
- # Separate out the debug information because it's enormous
|
|
||||||
- add_custom_command(TARGET deqp POST_BUILD
|
|
||||||
- COMMAND ${CMAKE_STRIP} --only-keep-debug -o $<TARGET_FILE:deqp>.debug $<TARGET_FILE:deqp>
|
|
||||||
- COMMAND ${CMAKE_STRIP} -g $<TARGET_FILE:deqp>)
|
|
||||||
-
|
|
||||||
- # Needed by OpenGL CTS that defines its own activity but depends on
|
|
||||||
- # common Android support code.
|
|
||||||
- target_include_directories(deqp PRIVATE framework/platform/android)
|
|
||||||
-
|
|
||||||
-elseif (DE_OS_IS_IOS)
|
|
||||||
+if (DE_OS_IS_IOS)
|
|
||||||
# Code sign identity
|
|
||||||
set(DEQP_IOS_CODE_SIGN_IDENTITY "drawElements" CACHE STRING "Code sign identity for iOS build")
|
|
||||||
|
|
||||||
diff --git a/framework/platform/android/tcuAndroidNativeActivity.cpp b/framework/platform/android/tcuAndroidNativeActivity.cpp
|
|
||||||
index 82a9ab699..4eab14a39 100644
|
|
||||||
--- a/framework/platform/android/tcuAndroidNativeActivity.cpp
|
|
||||||
+++ b/framework/platform/android/tcuAndroidNativeActivity.cpp
|
|
||||||
@@ -115,23 +115,25 @@ namespace Android
|
|
||||||
|
|
||||||
NativeActivity::NativeActivity(ANativeActivity *activity) : m_activity(activity)
|
|
||||||
{
|
|
||||||
- activity->instance = (void *)this;
|
|
||||||
- activity->callbacks->onStart = onStartCallback;
|
|
||||||
- activity->callbacks->onResume = onResumeCallback;
|
|
||||||
- activity->callbacks->onSaveInstanceState = onSaveInstanceStateCallback;
|
|
||||||
- activity->callbacks->onPause = onPauseCallback;
|
|
||||||
- activity->callbacks->onStop = onStopCallback;
|
|
||||||
- activity->callbacks->onDestroy = onDestroyCallback;
|
|
||||||
- activity->callbacks->onWindowFocusChanged = onWindowFocusChangedCallback;
|
|
||||||
- activity->callbacks->onNativeWindowCreated = onNativeWindowCreatedCallback;
|
|
||||||
- activity->callbacks->onNativeWindowResized = onNativeWindowResizedCallback;
|
|
||||||
- activity->callbacks->onNativeWindowRedrawNeeded = onNativeWindowRedrawNeededCallback;
|
|
||||||
- activity->callbacks->onNativeWindowDestroyed = onNativeWindowDestroyedCallback;
|
|
||||||
- activity->callbacks->onInputQueueCreated = onInputQueueCreatedCallback;
|
|
||||||
- activity->callbacks->onInputQueueDestroyed = onInputQueueDestroyedCallback;
|
|
||||||
- activity->callbacks->onContentRectChanged = onContentRectChangedCallback;
|
|
||||||
- activity->callbacks->onConfigurationChanged = onConfigurationChangedCallback;
|
|
||||||
- activity->callbacks->onLowMemory = onLowMemoryCallback;
|
|
||||||
+ if (activity) {
|
|
||||||
+ activity->instance = (void *)this;
|
|
||||||
+ activity->callbacks->onStart = onStartCallback;
|
|
||||||
+ activity->callbacks->onResume = onResumeCallback;
|
|
||||||
+ activity->callbacks->onSaveInstanceState = onSaveInstanceStateCallback;
|
|
||||||
+ activity->callbacks->onPause = onPauseCallback;
|
|
||||||
+ activity->callbacks->onStop = onStopCallback;
|
|
||||||
+ activity->callbacks->onDestroy = onDestroyCallback;
|
|
||||||
+ activity->callbacks->onWindowFocusChanged = onWindowFocusChangedCallback;
|
|
||||||
+ activity->callbacks->onNativeWindowCreated = onNativeWindowCreatedCallback;
|
|
||||||
+ activity->callbacks->onNativeWindowResized = onNativeWindowResizedCallback;
|
|
||||||
+ activity->callbacks->onNativeWindowRedrawNeeded = onNativeWindowRedrawNeededCallback;
|
|
||||||
+ activity->callbacks->onNativeWindowDestroyed = onNativeWindowDestroyedCallback;
|
|
||||||
+ activity->callbacks->onInputQueueCreated = onInputQueueCreatedCallback;
|
|
||||||
+ activity->callbacks->onInputQueueDestroyed = onInputQueueDestroyedCallback;
|
|
||||||
+ activity->callbacks->onContentRectChanged = onContentRectChangedCallback;
|
|
||||||
+ activity->callbacks->onConfigurationChanged = onConfigurationChangedCallback;
|
|
||||||
+ activity->callbacks->onLowMemory = onLowMemoryCallback;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
|
|
||||||
NativeActivity::~NativeActivity(void)
|
|
||||||
diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp
|
|
||||||
index 0472fa615..ff8929409 100644
|
|
||||||
--- a/framework/platform/android/tcuAndroidPlatform.cpp
|
|
||||||
+++ b/framework/platform/android/tcuAndroidPlatform.cpp
|
|
||||||
@@ -22,6 +22,7 @@
|
|
||||||
*//*--------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
#include "tcuAndroidPlatform.hpp"
|
|
||||||
+#include "tcuAndroidNativeActivity.hpp"
|
|
||||||
#include "tcuAndroidUtil.hpp"
|
|
||||||
#include "gluRenderContext.hpp"
|
|
||||||
#include "egluNativeDisplay.hpp"
|
|
||||||
@@ -198,7 +199,7 @@ eglu::NativeWindow *NativeWindowFactory::createWindow(const eglu::WindowParams &
|
|
||||||
Window *window = m_windowRegistry.tryAcquireWindow();
|
|
||||||
|
|
||||||
if (!window)
|
|
||||||
- throw ResourceError("Native window is not available", DE_NULL, __FILE__, __LINE__);
|
|
||||||
+ throw NotSupportedError("Native window is not available", DE_NULL, __FILE__, __LINE__);
|
|
||||||
|
|
||||||
return new NativeWindow(window, params.width, params.height, format);
|
|
||||||
}
|
|
||||||
@@ -319,6 +320,9 @@ static size_t getTotalSystemMemory(ANativeActivity *activity)
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
+ if (!activity)
|
|
||||||
+ throw tcu::InternalError("No activity (running from command line?");
|
|
||||||
+
|
|
||||||
const size_t totalMemory = getTotalAndroidSystemMemory(activity);
|
|
||||||
print("Device has %.2f MiB of system memory\n", static_cast<double>(totalMemory) / static_cast<double>(MiB));
|
|
||||||
return totalMemory;
|
|
||||||
@@ -416,3 +420,9 @@ bool Platform::hasDisplay(vk::wsi::Type wsiType) const
|
|
||||||
|
|
||||||
} // namespace Android
|
|
||||||
} // namespace tcu
|
|
||||||
+
|
|
||||||
+tcu::Platform* createPlatform (void)
|
|
||||||
+{
|
|
||||||
+ tcu::Android::NativeActivity activity(NULL);
|
|
||||||
+ return new tcu::Android::Platform(activity);
|
|
||||||
+}
|
|
||||||
--
|
|
||||||
2.45.2
|
|
||||||
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
From a602822c53e22e985f942f843ccadbfb64613212 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Helen Koike <helen.koike@collabora.com>
|
|
||||||
Date: Tue, 27 Sep 2022 12:35:22 -0300
|
|
||||||
Subject: [PATCH 2/2] Android prints to stdout instead of logcat
|
|
||||||
|
|
||||||
Signed-off-by: Helen Koike <helen.koike@collabora.com>
|
|
||||||
---
|
|
||||||
framework/qphelper/qpDebugOut.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/framework/qphelper/qpDebugOut.c b/framework/qphelper/qpDebugOut.c
|
|
||||||
index 6579e9f48..c200c6f6b 100644
|
|
||||||
--- a/framework/qphelper/qpDebugOut.c
|
|
||||||
+++ b/framework/qphelper/qpDebugOut.c
|
|
||||||
@@ -98,7 +98,7 @@ void qpDiev (const char* format, va_list args)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* print() implementation. */
|
|
||||||
-#if (DE_OS == DE_OS_ANDROID)
|
|
||||||
+#if (0)
|
|
||||||
|
|
||||||
#include <android/log.h>
|
|
||||||
|
|
||||||
--
|
|
||||||
2.42.0
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user