mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-11 04:50:35 +01:00
ci: Don't build Vulkan for GL dEQP
We don't need these Vulkan bits, so let's try not building them. This might seem kind of petty, but given that we build dEQP four times for GL (once for GL, once for GLES, once for EGL/X11, and once for EGL/Wayland), it does actually make a measurable difference to the time spent rebuilding dEQP. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Eric Engestrom <None> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33287>
This commit is contained in:
parent
3c5b73fa2c
commit
83d1553391
3 changed files with 335 additions and 5 deletions
|
|
@ -64,6 +64,7 @@ gl_cts_commits_to_backport=(
|
|||
|
||||
# shellcheck disable=SC2034
|
||||
gl_cts_patch_files=(
|
||||
build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch
|
||||
)
|
||||
|
||||
if [ "${DEQP_TARGET}" = 'android' ]; then
|
||||
|
|
@ -85,6 +86,7 @@ gles_cts_commits_to_backport=(
|
|||
|
||||
# shellcheck disable=SC2034
|
||||
gles_cts_patch_files=(
|
||||
build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch
|
||||
)
|
||||
|
||||
if [ "${DEQP_TARGET}" = 'android' ]; then
|
||||
|
|
|
|||
|
|
@ -0,0 +1,328 @@
|
|||
From 4f53bcbb597a91bab715bc8d555cfd6c81263ac1 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stone <daniels@collabora.com>
|
||||
Date: Wed, 29 Jan 2025 12:50:33 +0000
|
||||
Subject: [PATCH] Build: Don't build Vulkan utilities for GL builds
|
||||
|
||||
Change-Id: Ie412f914bb6264ffbd502deea57d80cc11a9948e
|
||||
Signed-off-by: Daniel Stone <daniels@collabora.com>
|
||||
---
|
||||
framework/platform/CMakeLists.txt | 9 --
|
||||
.../platform/android/tcuAndroidPlatform.cpp | 118 ------------------
|
||||
framework/platform/lnx/tcuLnxPlatform.cpp | 9 +-
|
||||
.../surfaceless/tcuSurfacelessPlatform.cpp | 54 --------
|
||||
4 files changed, 1 insertion(+), 189 deletions(-)
|
||||
|
||||
diff --git a/framework/platform/CMakeLists.txt b/framework/platform/CMakeLists.txt
|
||||
index ec1deb5c2..49fe412a7 100644
|
||||
--- a/framework/platform/CMakeLists.txt
|
||||
+++ b/framework/platform/CMakeLists.txt
|
||||
@@ -15,8 +15,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
|
||||
win32/tcuWin32Window.hpp
|
||||
win32/tcuWin32EGLNativeDisplayFactory.hpp
|
||||
win32/tcuWin32EGLNativeDisplayFactory.cpp
|
||||
- win32/tcuWin32VulkanPlatform.hpp
|
||||
- win32/tcuWin32VulkanPlatform.cpp
|
||||
)
|
||||
|
||||
elseif ((DE_OS_IS_UNIX OR DE_OS_IS_OSX) AND (DEQP_USE_X11 OR DEQP_USE_WAYLAND OR DEQP_USE_HEADLESS))
|
||||
@@ -28,8 +26,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
|
||||
lnx/tcuLnxPlatform.hpp
|
||||
lnx/tcuLnxEglPlatform.hpp
|
||||
lnx/tcuLnxEglPlatform.cpp
|
||||
- lnx/tcuLnxVulkanPlatform.hpp
|
||||
- lnx/tcuLnxVulkanPlatform.cpp
|
||||
)
|
||||
|
||||
include_directories(lnx)
|
||||
@@ -164,8 +160,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS)
|
||||
set(TCUTIL_PLATFORM_SRCS
|
||||
osx/tcuOSXPlatform.cpp
|
||||
osx/tcuOSXPlatform.hpp
|
||||
- osx/tcuOSXVulkanPlatform.cpp
|
||||
- osx/tcuOSXVulkanPlatform.hpp
|
||||
osx/tcuOSXMetalView.mm
|
||||
osx/tcuOSXMetalView.hpp
|
||||
)
|
||||
@@ -191,9 +185,6 @@ if (DEQP_USE_WAYLAND)
|
||||
add_dependencies(tcutil-platform deqp-xdg-shell)
|
||||
endif()
|
||||
|
||||
-# Add vkutil to the deps before tcutil so that it picks up the c++11 dependencies
|
||||
-target_link_libraries(tcutil-platform vkutil)
|
||||
-
|
||||
target_link_libraries(tcutil-platform tcutil ${TCUTIL_PLATFORM_LIBS})
|
||||
|
||||
# Always link to glutil as some platforms such as Win32 always support GL
|
||||
diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp
|
||||
index 0472fa615..87033ad56 100644
|
||||
--- a/framework/platform/android/tcuAndroidPlatform.cpp
|
||||
+++ b/framework/platform/android/tcuAndroidPlatform.cpp
|
||||
@@ -31,7 +31,6 @@
|
||||
#include "eglwLibrary.hpp"
|
||||
#include "eglwEnums.hpp"
|
||||
#include "tcuFunctionLibrary.hpp"
|
||||
-#include "vkWsiPlatform.hpp"
|
||||
|
||||
// Assume no call translation is needed
|
||||
#include <android/native_window.h>
|
||||
@@ -217,102 +216,6 @@ eglu::NativeDisplay *NativeDisplayFactory::createDisplay(const EGLAttrib *attrib
|
||||
return new NativeDisplay();
|
||||
}
|
||||
|
||||
-// Vulkan
|
||||
-
|
||||
-class VulkanLibrary : public vk::Library
|
||||
-{
|
||||
-public:
|
||||
- VulkanLibrary(const char *libraryPath)
|
||||
- : m_library(libraryPath != DE_NULL ? libraryPath : "libvulkan.so")
|
||||
- , m_driver(m_library)
|
||||
- {
|
||||
- }
|
||||
-
|
||||
- const vk::PlatformInterface &getPlatformInterface(void) const
|
||||
- {
|
||||
- return m_driver;
|
||||
- }
|
||||
-
|
||||
- const tcu::FunctionLibrary &getFunctionLibrary(void) const
|
||||
- {
|
||||
- return m_library;
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- const tcu::DynamicFunctionLibrary m_library;
|
||||
- const vk::PlatformDriver m_driver;
|
||||
-};
|
||||
-
|
||||
-DE_STATIC_ASSERT(sizeof(vk::pt::AndroidNativeWindowPtr) == sizeof(ANativeWindow *));
|
||||
-
|
||||
-class VulkanWindow : public vk::wsi::AndroidWindowInterface
|
||||
-{
|
||||
-public:
|
||||
- VulkanWindow(tcu::Android::Window &window)
|
||||
- : vk::wsi::AndroidWindowInterface(vk::pt::AndroidNativeWindowPtr(window.getNativeWindow()))
|
||||
- , m_window(window)
|
||||
- {
|
||||
- }
|
||||
-
|
||||
- void setVisible(bool visible)
|
||||
- {
|
||||
- DE_UNREF(visible);
|
||||
- }
|
||||
-
|
||||
- void resize(const UVec2 &newSize)
|
||||
- {
|
||||
- DE_UNREF(newSize);
|
||||
- }
|
||||
-
|
||||
- void setMinimized(bool minimized)
|
||||
- {
|
||||
- DE_UNREF(minimized);
|
||||
- TCU_THROW(NotSupportedError, "Minimized on Android is not implemented");
|
||||
- }
|
||||
-
|
||||
- ~VulkanWindow(void)
|
||||
- {
|
||||
- m_window.release();
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- tcu::Android::Window &m_window;
|
||||
-};
|
||||
-
|
||||
-class VulkanDisplay : public vk::wsi::Display
|
||||
-{
|
||||
-public:
|
||||
- VulkanDisplay(WindowRegistry &windowRegistry) : m_windowRegistry(windowRegistry)
|
||||
- {
|
||||
- }
|
||||
-
|
||||
- vk::wsi::Window *createWindow(const Maybe<UVec2> &initialSize) const
|
||||
- {
|
||||
- Window *const window = m_windowRegistry.tryAcquireWindow();
|
||||
-
|
||||
- if (window)
|
||||
- {
|
||||
- try
|
||||
- {
|
||||
- if (initialSize)
|
||||
- window->setBuffersGeometry((int)initialSize->x(), (int)initialSize->y(), WINDOW_FORMAT_RGBA_8888);
|
||||
-
|
||||
- return new VulkanWindow(*window);
|
||||
- }
|
||||
- catch (...)
|
||||
- {
|
||||
- window->release();
|
||||
- throw;
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- TCU_THROW(ResourceError, "Native window is not available");
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- WindowRegistry &m_windowRegistry;
|
||||
-};
|
||||
-
|
||||
static size_t getTotalSystemMemory(ANativeActivity *activity)
|
||||
{
|
||||
const size_t MiB = (size_t)(1 << 20);
|
||||
@@ -355,11 +258,6 @@ bool Platform::processEvents(void)
|
||||
return true;
|
||||
}
|
||||
|
||||
-vk::Library *Platform::createLibrary(const char *libraryPath) const
|
||||
-{
|
||||
- return new VulkanLibrary(libraryPath);
|
||||
-}
|
||||
-
|
||||
void Platform::describePlatform(std::ostream &dst) const
|
||||
{
|
||||
tcu::Android::describePlatform(m_activity.getNativeActivity(), dst);
|
||||
@@ -398,21 +296,5 @@ void Platform::getMemoryLimits(tcu::PlatformMemoryLimits &limits) const
|
||||
limits.devicePageTableHierarchyLevels = 3;
|
||||
}
|
||||
|
||||
-vk::wsi::Display *Platform::createWsiDisplay(vk::wsi::Type wsiType) const
|
||||
-{
|
||||
- if (wsiType == vk::wsi::TYPE_ANDROID)
|
||||
- return new VulkanDisplay(const_cast<WindowRegistry &>(m_windowRegistry));
|
||||
- else
|
||||
- TCU_THROW(NotSupportedError, "WSI type not supported on Android");
|
||||
-}
|
||||
-
|
||||
-bool Platform::hasDisplay(vk::wsi::Type wsiType) const
|
||||
-{
|
||||
- if (wsiType == vk::wsi::TYPE_ANDROID)
|
||||
- return true;
|
||||
-
|
||||
- return false;
|
||||
-}
|
||||
-
|
||||
} // namespace Android
|
||||
} // namespace tcu
|
||||
diff --git a/framework/platform/lnx/tcuLnxPlatform.cpp b/framework/platform/lnx/tcuLnxPlatform.cpp
|
||||
index 8c0a3ef06..6b1a4985a 100644
|
||||
--- a/framework/platform/lnx/tcuLnxPlatform.cpp
|
||||
+++ b/framework/platform/lnx/tcuLnxPlatform.cpp
|
||||
@@ -23,12 +23,10 @@
|
||||
|
||||
#include "tcuLnxPlatform.hpp"
|
||||
|
||||
-#include "tcuLnxVulkanPlatform.hpp"
|
||||
#include "tcuLnxEglPlatform.hpp"
|
||||
|
||||
#include "deUniquePtr.hpp"
|
||||
#include "gluPlatform.hpp"
|
||||
-#include "vkPlatform.hpp"
|
||||
|
||||
#if defined(DEQP_SUPPORT_X11)
|
||||
#include <X11/Xlib.h>
|
||||
@@ -64,10 +62,6 @@ public:
|
||||
return !m_eventState.getQuitFlag();
|
||||
}
|
||||
|
||||
- const vk::Platform &getVulkanPlatform(void) const
|
||||
- {
|
||||
- return m_vkPlatform;
|
||||
- }
|
||||
const eglu::Platform &getEGLPlatform(void) const
|
||||
{
|
||||
return m_eglPlatform;
|
||||
@@ -79,12 +73,11 @@ public:
|
||||
|
||||
private:
|
||||
EventState m_eventState;
|
||||
- VulkanPlatform m_vkPlatform;
|
||||
egl::Platform m_eglPlatform;
|
||||
LinuxGLPlatform m_glPlatform;
|
||||
};
|
||||
|
||||
-LinuxPlatform::LinuxPlatform(void) : m_vkPlatform(m_eventState), m_eglPlatform(m_eventState)
|
||||
+LinuxPlatform::LinuxPlatform(void) : m_eglPlatform(m_eventState)
|
||||
{
|
||||
#if defined(DEQP_SUPPORT_GLX)
|
||||
m_glPlatform.registerFactory(x11::glx::createContextFactory(m_eventState));
|
||||
diff --git a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
|
||||
index 1cea9dd97..3d5bd8b62 100644
|
||||
--- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
|
||||
+++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp
|
||||
@@ -43,7 +43,6 @@
|
||||
#include "tcuPixelFormat.hpp"
|
||||
#include "tcuPlatform.hpp"
|
||||
#include "tcuRenderTarget.hpp"
|
||||
-#include "vkPlatform.hpp"
|
||||
|
||||
#include <EGL/egl.h>
|
||||
|
||||
@@ -93,52 +92,6 @@ namespace tcu
|
||||
namespace surfaceless
|
||||
{
|
||||
|
||||
-class VulkanLibrary : public vk::Library
|
||||
-{
|
||||
-public:
|
||||
- VulkanLibrary(const char *libraryPath)
|
||||
- : m_library(libraryPath != DE_NULL ? libraryPath : DEQP_VULKAN_LIBRARY_PATH)
|
||||
- , m_driver(m_library)
|
||||
- {
|
||||
- }
|
||||
-
|
||||
- const vk::PlatformInterface &getPlatformInterface(void) const
|
||||
- {
|
||||
- return m_driver;
|
||||
- }
|
||||
- const tcu::FunctionLibrary &getFunctionLibrary(void) const
|
||||
- {
|
||||
- return m_library;
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- const tcu::DynamicFunctionLibrary m_library;
|
||||
- const vk::PlatformDriver m_driver;
|
||||
-};
|
||||
-
|
||||
-// Copied from tcuX11Platform.cpp
|
||||
-class VulkanPlatform : public vk::Platform
|
||||
-{
|
||||
-public:
|
||||
- vk::Library *createLibrary(const char *libraryPath) const
|
||||
- {
|
||||
- return new VulkanLibrary(libraryPath);
|
||||
- }
|
||||
-
|
||||
- void describePlatform(std::ostream &dst) const
|
||||
- {
|
||||
- utsname sysInfo;
|
||||
-
|
||||
- deMemset(&sysInfo, 0, sizeof(sysInfo));
|
||||
-
|
||||
- if (uname(&sysInfo) != 0)
|
||||
- throw std::runtime_error("uname() failed");
|
||||
-
|
||||
- dst << "OS: " << sysInfo.sysname << " " << sysInfo.release << " " << sysInfo.version << "\n";
|
||||
- dst << "CPU: " << sysInfo.machine << "\n";
|
||||
- }
|
||||
-};
|
||||
-
|
||||
bool isEGLExtensionSupported(const eglw::Library &egl, eglw::EGLDisplay, const std::string &extName)
|
||||
{
|
||||
const vector<string> exts = eglu::getClientExtensions(egl);
|
||||
@@ -185,13 +138,6 @@ public:
|
||||
{
|
||||
return *this;
|
||||
}
|
||||
- const vk::Platform &getVulkanPlatform(void) const
|
||||
- {
|
||||
- return m_vkPlatform;
|
||||
- }
|
||||
-
|
||||
-private:
|
||||
- VulkanPlatform m_vkPlatform;
|
||||
};
|
||||
|
||||
class ContextFactory : public glu::ContextFactory
|
||||
--
|
||||
2.48.1
|
||||
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
variables:
|
||||
DEBIAN_X86_64_BUILD_BASE_IMAGE: "debian/x86_64_build-base"
|
||||
DEBIAN_BASE_TAG: "20250130-cts-vroom"
|
||||
DEBIAN_BASE_TAG: "20250130-ctless"
|
||||
|
||||
DEBIAN_X86_64_BUILD_IMAGE_PATH: "debian/x86_64_build"
|
||||
DEBIAN_BUILD_TAG: "20250128-llvm19-up"
|
||||
|
|
@ -27,10 +27,10 @@ variables:
|
|||
DEBIAN_ARM64_TEST_IMAGE_VK_PATH: "debian/arm64_test-vk"
|
||||
DEBIAN_X86_64_TEST_ANDROID_IMAGE_PATH: "debian/x86_64_test-android"
|
||||
|
||||
DEBIAN_TEST_ANDROID_TAG: "20250130-cts-vroom"
|
||||
DEBIAN_TEST_GL_TAG: "20250130-cts-vroom"
|
||||
DEBIAN_TEST_VK_TAG: "20250130-cts-vroom"
|
||||
KERNEL_ROOTFS_TAG: "20250130-cts-vroom"
|
||||
DEBIAN_TEST_ANDROID_TAG: "20250130-ctless"
|
||||
DEBIAN_TEST_GL_TAG: "20250130-ctless"
|
||||
DEBIAN_TEST_VK_TAG: "20250130-ctless"
|
||||
KERNEL_ROOTFS_TAG: "20250130-ctless"
|
||||
|
||||
DEBIAN_PYUTILS_IMAGE: "debian/x86_64_pyutils"
|
||||
DEBIAN_PYUTILS_TAG: "20250129-lavacli"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue