diff --git a/.gitlab-ci/container/patches/build-deqp-android-Implement-headless-WSI-fallback-using-AImageR.patch b/.gitlab-ci/container/patches/build-deqp-android-Implement-headless-WSI-fallback-using-AImageR.patch index 7abc7d83089..798fcce956a 100644 --- a/.gitlab-ci/container/patches/build-deqp-android-Implement-headless-WSI-fallback-using-AImageR.patch +++ b/.gitlab-ci/container/patches/build-deqp-android-Implement-headless-WSI-fallback-using-AImageR.patch @@ -1,4 +1,4 @@ -From 0ce7ca82289ec3351ccec4b37540d8fdbc8dd095 Mon Sep 17 00:00:00 2001 +From a801d75fcb16db89d2af67dd40040bc7c5f59df0 Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Thu, 23 Apr 2026 11:03:14 +0200 Subject: [PATCH] android: Implement headless WSI fallback using AImageReader @@ -11,12 +11,24 @@ ANativeWindow. This patch: - Implements a headless fallback using the AImageReader NDK API to create an off-screen ANativeWindow in tcuAndroidPlatform.cpp. +- Implements an active "null compositor" via an AImageReader listener + that immediately drains and releases acquired images. This ensures the + producer never runs out of buffers, fixing intermittent timeouts in + tests that require active consumption (e.g. maintenance1 tests). +- Uses AImageReader_acquireNextImageAsync and AImage_deleteAsync (API 26+) + to handle GPU sync fences. +- Adds thread-safe teardown logic using an atomic flag and a non-blocking + mutex lock (std::try_to_lock) to prevent race conditions between the + main thread and the background listener callback. - Adds ImageReaderNativeWindow (EGL) and ImageReaderVulkanWindow (Vulkan) - to manage the AImageReader lifecycle within the framework. + to manage the AImageReader and ImageQueue lifecycle. - Extracts the AImageReader creation logic into a shared helper acquireImageReaderWindow(). - Links against mediandk in android.cmake to provide AImageReader support for Android API levels >= 24. +- Uses AImageReader_newWithUsage (API 26+) with explicit hardware buffer flags + (SAMPLED_IMAGE | COMPOSER_OVERLAY) to mimic SurfaceFlinger allocation + constraints. - On Android API levels < 24 (where AImageReader is unavailable), window acquisition failure now consistently throws ResourceError instead of NotSupportedError. This aligns the EGL path with the existing Vulkan @@ -35,12 +47,12 @@ Change-Id: I462e617ae60e4dc3d9f0aeec11fd1628d0c6ff12 Signed-off-by: Valentine Burley --- external/openglcts/README.md | 7 +- - .../platform/android/tcuAndroidPlatform.cpp | 159 +++++++++++++++++- + .../platform/android/tcuAndroidPlatform.cpp | 237 +++++++++++++++++- targets/android/android.cmake | 5 + - 3 files changed, 164 insertions(+), 7 deletions(-) + 3 files changed, 242 insertions(+), 7 deletions(-) diff --git a/external/openglcts/README.md b/external/openglcts/README.md -index 69eb8a5c1e..f464291858 100644 +index 2eae316f58..24b270aee5 100644 --- a/external/openglcts/README.md +++ b/external/openglcts/README.md @@ -323,9 +323,10 @@ This is identical to the builds on other platforms and is better for iterative @@ -58,15 +70,18 @@ index 69eb8a5c1e..f464291858 100644 cmake -GNinja -DCMAKE_BUILD_TYPE=Debug \ diff --git a/framework/platform/android/tcuAndroidPlatform.cpp b/framework/platform/android/tcuAndroidPlatform.cpp -index af56dabb83..86984202fb 100644 +index af56dabb83..45861c8aee 100644 --- a/framework/platform/android/tcuAndroidPlatform.cpp +++ b/framework/platform/android/tcuAndroidPlatform.cpp -@@ -35,6 +35,12 @@ +@@ -35,6 +35,15 @@ // Assume no call translation is needed #include +#if DE_ANDROID_API >= 24 +#include ++#include ++#include ++#include +#endif +#if DE_ANDROID_API >= 26 +#include @@ -74,27 +89,75 @@ index af56dabb83..86984202fb 100644 struct egl_native_pixmap_t; DE_STATIC_ASSERT(sizeof(eglw::EGLNativeDisplayType) == sizeof(void *)); DE_STATIC_ASSERT(sizeof(eglw::EGLNativePixmapType) == sizeof(struct egl_native_pixmap_t *)); -@@ -136,6 +142,81 @@ private: +@@ -136,6 +145,141 @@ private: WindowRegistry &m_windowRegistry; }; +#if DE_ANDROID_API >= 24 -+static ANativeWindow *acquireImageReaderWindow(int width, int height, int32_t format, AImageReader **outReader) ++struct ImageQueue ++{ ++ std::mutex lock; ++ std::atomic closing{false}; ++ AImageReader_ImageListener listener; ++ ++ ImageQueue() ++ { ++ listener.context = this; ++ listener.onImageAvailable = onImageAvailable; ++ } ++ ++ ~ImageQueue() ++ { ++ } ++ ++ static void onImageAvailable(void *context, AImageReader *reader) ++ { ++ ImageQueue *queue = reinterpret_cast(context); ++ ++ std::unique_lock guard(queue->lock, std::try_to_lock); ++ if (!guard.owns_lock() || queue->closing.load(std::memory_order_acquire)) ++ return; ++ ++ AImage *image = nullptr; ++ ++#if DE_ANDROID_API >= 26 ++ int fenceFd = -1; ++ while (AImageReader_acquireNextImageAsync(reader, &image, &fenceFd) == AMEDIA_OK && image != nullptr) ++ { ++ AImage_deleteAsync(image, fenceFd); ++ } ++#else ++ while (AImageReader_acquireNextImage(reader, &image) == AMEDIA_OK && image != nullptr) ++ { ++ AImage_delete(image); ++ } ++#endif ++ } ++}; ++ ++static ANativeWindow *acquireImageReaderWindow(int width, int height, int32_t format, AImageReader **outReader, ++ ImageQueue **outQueue) +{ + AImageReader *reader = nullptr; +#if DE_ANDROID_API >= 26 + uint64_t usage = AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE | AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY; -+ media_status_t status = AImageReader_newWithUsage(width, height, format, usage, 2, &reader); ++ media_status_t status = AImageReader_newWithUsage(width, height, format, usage, 4, &reader); +#else -+ media_status_t status = AImageReader_new(width, height, format, 2, &reader); ++ media_status_t status = AImageReader_new(width, height, format, 4, &reader); +#endif + if (status != AMEDIA_OK || !reader) + throw ResourceError("Failed to create AImageReader", nullptr, __FILE__, __LINE__); + ++ *outQueue = new ImageQueue(); ++ AImageReader_setImageListener(reader, &(*outQueue)->listener); ++ + ANativeWindow *nativeWindow = nullptr; + status = AImageReader_getWindow(reader, &nativeWindow); + if (status != AMEDIA_OK || !nativeWindow) + { ++ AImageReader_setImageListener(reader, nullptr); ++ delete *outQueue; ++ *outQueue = nullptr; + AImageReader_delete(reader); + throw ResourceError("Failed to get window from AImageReader", nullptr, __FILE__, __LINE__); + } @@ -106,9 +169,10 @@ index af56dabb83..86984202fb 100644 +class ImageReaderNativeWindow : public eglu::NativeWindow +{ +public: -+ ImageReaderNativeWindow(AImageReader *reader, ANativeWindow *window, int width, int height) ++ ImageReaderNativeWindow(AImageReader *reader, ImageQueue *queue, ANativeWindow *window, int width, int height) + : eglu::NativeWindow(WINDOW_CAPABILITIES) + , m_reader(reader) ++ , m_queue(queue) + , m_window(window) + , m_size(width, height) + { @@ -117,7 +181,17 @@ index af56dabb83..86984202fb 100644 + virtual ~ImageReaderNativeWindow(void) + { + if (m_reader) ++ { ++ if (m_queue) ++ { ++ m_queue->closing.store(true, std::memory_order_release); ++ std::lock_guard guard(m_queue->lock); ++ AImageReader_setImageListener(m_reader, nullptr); ++ } + AImageReader_delete(m_reader); ++ } ++ if (m_queue) ++ delete m_queue; + } + + virtual eglw::EGLNativeWindowType getLegacyNative(void) @@ -148,6 +222,7 @@ index af56dabb83..86984202fb 100644 + +private: + AImageReader *m_reader; ++ ImageQueue *m_queue; + ANativeWindow *m_window; + tcu::IVec2 m_size; +}; @@ -156,7 +231,7 @@ index af56dabb83..86984202fb 100644 // NativeWindow NativeWindow::NativeWindow(Window *window, int width, int height, int32_t format) -@@ -197,10 +278,29 @@ eglu::NativeWindow *NativeWindowFactory::createWindow(const eglu::WindowParams & +@@ -197,10 +341,30 @@ eglu::NativeWindow *NativeWindowFactory::createWindow(const eglu::WindowParams & { Window *window = m_windowRegistry.tryAcquireWindow(); @@ -177,12 +252,13 @@ index af56dabb83..86984202fb 100644 + height = height > 0 ? height : 256; + + AImageReader *reader = nullptr; ++ ImageQueue *queue = nullptr; + // Always use AIMAGE_FORMAT_RGBA_8888: the AImageReader is only used as a + // surface handle provider, and AIMAGE_FORMAT_* constants are not + // interchangeable with ANativeWindow_LegacyFormat values. -+ ANativeWindow *nativeWindow = acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader); ++ ANativeWindow *nativeWindow = acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader, &queue); + -+ return new ImageReaderNativeWindow(reader, nativeWindow, width, height); ++ return new ImageReaderNativeWindow(reader, queue, nativeWindow, width, height); +#else + throw ResourceError("Native window is not available", nullptr, __FILE__, __LINE__); +#endif @@ -190,7 +266,7 @@ index af56dabb83..86984202fb 100644 } // NativeDisplayFactory -@@ -279,6 +379,43 @@ private: +@@ -279,6 +443,55 @@ private: tcu::Android::Window &m_window; }; @@ -198,9 +274,10 @@ index af56dabb83..86984202fb 100644 +class ImageReaderVulkanWindow : public vk::wsi::AndroidWindowInterface +{ +public: -+ ImageReaderVulkanWindow(AImageReader *reader, ANativeWindow *window) ++ ImageReaderVulkanWindow(AImageReader *reader, ImageQueue *queue, ANativeWindow *window) + : vk::wsi::AndroidWindowInterface(vk::pt::AndroidNativeWindowPtr(window)) + , m_reader(reader) ++ , m_queue(queue) + { + } + @@ -223,18 +300,29 @@ index af56dabb83..86984202fb 100644 + ~ImageReaderVulkanWindow(void) + { + if (m_reader) ++ { ++ if (m_queue) ++ { ++ m_queue->closing.store(true, std::memory_order_release); ++ std::lock_guard guard(m_queue->lock); ++ AImageReader_setImageListener(m_reader, nullptr); ++ } + AImageReader_delete(m_reader); ++ } ++ if (m_queue) ++ delete m_queue; + } + +private: + AImageReader *m_reader; ++ ImageQueue *m_queue; +}; +#endif + class VulkanDisplay : public vk::wsi::Display { public: -@@ -306,7 +443,21 @@ public: +@@ -306,7 +519,23 @@ public: } } else @@ -245,10 +333,12 @@ index af56dabb83..86984202fb 100644 + width = width > 0 ? width : 256; + height = height > 0 ? height : 256; + -+ AImageReader *reader = nullptr; -+ ANativeWindow *nativeWindow = acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader); ++ AImageReader *reader = nullptr; ++ ImageQueue *queue = nullptr; ++ ANativeWindow *nativeWindow = ++ acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader, &queue); + -+ return new ImageReaderVulkanWindow(reader, nativeWindow); ++ return new ImageReaderVulkanWindow(reader, queue, nativeWindow); +#else TCU_THROW(ResourceError, "Native window is not available"); +#endif diff --git a/.gitlab-ci/container/patches/build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch b/.gitlab-ci/container/patches/build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch index c9ba0dc014e..0011b001e04 100644 --- a/.gitlab-ci/container/patches/build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch +++ b/.gitlab-ci/container/patches/build-deqp-gl_Build-Don-t-build-Vulkan-utilities-for-GL-builds.patch @@ -1,4 +1,4 @@ -From 8a9b46a0fd740679ff576ae70e5ac4bae12ac8b0 Mon Sep 17 00:00:00 2001 +From 7d13c48a3d9d679d499f91e066e36340e72255bf Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Wed, 29 Jan 2025 12:50:33 +0000 Subject: [PATCH] Build: Don't build Vulkan utilities for GL builds @@ -7,14 +7,14 @@ Change-Id: Ie412f914bb6264ffbd502deea57d80cc11a9948e Signed-off-by: Daniel Stone --- framework/platform/CMakeLists.txt | 9 - - .../platform/android/tcuAndroidPlatform.cpp | 177 +----------------- + .../platform/android/tcuAndroidPlatform.cpp | 191 +----------------- .../platform/android/tcuAndroidPlatform.hpp | 14 +- framework/platform/lnx/tcuLnxPlatform.cpp | 9 +- - .../surfaceless/tcuSurfacelessPlatform.cpp | 54 ------ - 5 files changed, 3 insertions(+), 260 deletions(-) + .../surfaceless/tcuSurfacelessPlatform.cpp | 52 ----- + 5 files changed, 3 insertions(+), 272 deletions(-) diff --git a/framework/platform/CMakeLists.txt b/framework/platform/CMakeLists.txt -index 64d248b30f..833df5a08a 100644 +index 8f6e0c5847..a675b815a9 100644 --- a/framework/platform/CMakeLists.txt +++ b/framework/platform/CMakeLists.txt @@ -15,8 +15,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) @@ -35,7 +35,7 @@ index 64d248b30f..833df5a08a 100644 ) include_directories(lnx) -@@ -168,8 +164,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) +@@ -170,8 +166,6 @@ if (NOT DEFINED TCUTIL_PLATFORM_SRCS) set(TCUTIL_PLATFORM_SRCS osx/tcuOSXPlatform.cpp osx/tcuOSXPlatform.hpp @@ -44,7 +44,7 @@ index 64d248b30f..833df5a08a 100644 osx/tcuOSXMetalView.mm osx/tcuOSXMetalView.hpp ) -@@ -195,9 +189,6 @@ if (DEQP_USE_WAYLAND) +@@ -197,9 +191,6 @@ if (DEQP_USE_WAYLAND) add_dependencies(tcutil-platform deqp-xdg-shell) endif() @@ -55,7 +55,7 @@ index 64d248b30f..833df5a08a 100644 # 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 9b117f50c6..b007c783cf 100644 +index 45861c8aee..c1054656ed 100644 --- a/framework/platform/android/tcuAndroidPlatform.cpp +++ b/framework/platform/android/tcuAndroidPlatform.cpp @@ -31,7 +31,6 @@ @@ -66,7 +66,7 @@ index 9b117f50c6..b007c783cf 100644 // Assume no call translation is needed #include -@@ -309,153 +308,6 @@ eglu::NativeDisplay *NativeDisplayFactory::createDisplay(const EGLAttrib *attrib +@@ -381,167 +380,6 @@ eglu::NativeDisplay *NativeDisplayFactory::createDisplay(const EGLAttrib *attrib return new NativeDisplay(); } @@ -136,9 +136,10 @@ index 9b117f50c6..b007c783cf 100644 -class ImageReaderVulkanWindow : public vk::wsi::AndroidWindowInterface -{ -public: -- ImageReaderVulkanWindow(AImageReader *reader, ANativeWindow *window) +- ImageReaderVulkanWindow(AImageReader *reader, ImageQueue *queue, ANativeWindow *window) - : vk::wsi::AndroidWindowInterface(vk::pt::AndroidNativeWindowPtr(window)) - , m_reader(reader) +- , m_queue(queue) - { - } - @@ -161,11 +162,22 @@ index 9b117f50c6..b007c783cf 100644 - ~ImageReaderVulkanWindow(void) - { - if (m_reader) +- { +- if (m_queue) +- { +- m_queue->closing.store(true, std::memory_order_release); +- std::lock_guard guard(m_queue->lock); +- AImageReader_setImageListener(m_reader, nullptr); +- } - AImageReader_delete(m_reader); +- } +- if (m_queue) +- delete m_queue; - } - -private: - AImageReader *m_reader; +- ImageQueue *m_queue; -}; -#endif - @@ -203,10 +215,12 @@ index 9b117f50c6..b007c783cf 100644 - width = width > 0 ? width : 256; - height = height > 0 ? height : 256; - -- AImageReader *reader = nullptr; -- ANativeWindow *nativeWindow = acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader); +- AImageReader *reader = nullptr; +- ImageQueue *queue = nullptr; +- ANativeWindow *nativeWindow = +- acquireImageReaderWindow(width, height, AIMAGE_FORMAT_RGBA_8888, &reader, &queue); - -- return new ImageReaderVulkanWindow(reader, nativeWindow); +- return new ImageReaderVulkanWindow(reader, queue, nativeWindow); -#else - TCU_THROW(ResourceError, "Native window is not available"); -#endif @@ -220,7 +234,7 @@ index 9b117f50c6..b007c783cf 100644 static size_t getTotalSystemMemory(ANativeActivity *activity) { const size_t MiB = (size_t)(1 << 20); -@@ -484,8 +336,7 @@ static size_t getTotalSystemMemory(ANativeActivity *activity) +@@ -570,8 +408,7 @@ static size_t getTotalSystemMemory(ANativeActivity *activity) // Platform Platform::Platform(NativeActivity &activity) @@ -230,7 +244,7 @@ index 9b117f50c6..b007c783cf 100644 { m_nativeDisplayFactoryRegistry.registerFactory(new NativeDisplayFactory(m_windowRegistry)); m_contextFactoryRegistry.registerFactory(new eglu::GLContextFactory(m_nativeDisplayFactoryRegistry)); -@@ -501,16 +352,6 @@ bool Platform::processEvents(void) +@@ -587,16 +424,6 @@ bool Platform::processEvents(void) return true; } @@ -247,7 +261,7 @@ index 9b117f50c6..b007c783cf 100644 void Platform::getMemoryLimits(tcu::PlatformMemoryLimits &limits) const { // Worst-case estimates -@@ -544,22 +385,6 @@ void Platform::getMemoryLimits(tcu::PlatformMemoryLimits &limits) const +@@ -630,22 +457,6 @@ void Platform::getMemoryLimits(tcu::PlatformMemoryLimits &limits) const limits.devicePageTableHierarchyLevels = 3; } @@ -360,7 +374,7 @@ index 8c0a3ef06e..6b1a4985a1 100644 #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 2224f4164e..c9f044b130 100644 +index 2224f4164e..713c4ee9e2 100644 --- a/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp +++ b/framework/platform/surfaceless/tcuSurfacelessPlatform.cpp @@ -43,7 +43,6 @@ @@ -424,7 +438,7 @@ index 2224f4164e..c9f044b130 100644 bool isEGLExtensionSupported(const eglw::Library &egl, eglw::EGLDisplay, const std::string &extName) { const vector exts = eglu::getClientExtensions(egl); -@@ -191,13 +144,6 @@ public: +@@ -191,13 +144,8 @@ public: { return *this; } @@ -432,8 +446,8 @@ index 2224f4164e..c9f044b130 100644 - { - return m_vkPlatform; - } -- --private: + + private: - VulkanPlatform m_vkPlatform; }; diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index 441b571f716..ca263736a04 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -23,7 +23,7 @@ variables: DEBIAN_BUILD_TAG: "20260430-imgui.2" DEBIAN_TEST_BASE_TAG: "20260502-virgl" - DEBIAN_TEST_ANDROID_TAG: "20260514-vkbackport" + DEBIAN_TEST_ANDROID_TAG: "20260515-wsi-fix" DEBIAN_TEST_GL_TAG: "20260515-vvl-d5" DEBIAN_TEST_VIDEO_TAG: "20260512-vkuprev" DEBIAN_TEST_VK_TAG: "20260514-vkbackport" diff --git a/src/freedreno/ci/freedreno-a618-fails.txt b/src/freedreno/ci/freedreno-a618-fails.txt index 3b6cbf8e896..b15c9249f08 100644 --- a/src/freedreno/ci/freedreno-a618-fails.txt +++ b/src/freedreno/ci/freedreno-a618-fails.txt @@ -510,42 +510,3 @@ dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.buffer_size_2_17,Fail dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.buffer_size_2_20,Fail dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.buffer_size_2_24,Fail gmem-dEQP-VK.sparse_resources.buffer.ssbo.sparse_residency.buffer_size_2_24,Fail - -# VKCTS 1.4.4.2 -> 1.4.5.3 uprev -# Errors like "dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.basic: -# vkd.acquireNextImageKHR(device, *swapchains[j], kAcquireImageTimeout, -# acquireSem.back(), VK_NULL_HANDLE, &imageIndex[j]): VK_TIMEOUT at -# vktWsiMaintenance1Tests.cpp:973 (Fail)" -awsi-dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.bind_image,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_fence.fifo.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_fence.fifo.ordering,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_modes.fifo.change_modes,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.release_before_present,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire_release_before_retire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.release_before_present,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire_release_before_retire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.same_size_and_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_taller,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_wider,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.same_size_and_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_taller,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_wider,Fail diff --git a/src/gallium/frontends/lavapipe/ci/lvp-android-angle-fails.txt b/src/gallium/frontends/lavapipe/ci/lvp-android-angle-fails.txt index edeaf7ee25d..c705eae6037 100644 --- a/src/gallium/frontends/lavapipe/ci/lvp-android-angle-fails.txt +++ b/src/gallium/frontends/lavapipe/ci/lvp-android-angle-fails.txt @@ -143,42 +143,3 @@ dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.re dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.local_array.compute,Crash dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.shader_storage_block.compute,Crash dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.uniform_block.compute,Crash - -# VKCTS 1.4.4.2 -> 1.4.5.3 uprev -# Errors like "dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.basic: -# vkd.acquireNextImageKHR(device, *swapchains[j], kAcquireImageTimeout, -# acquireSem.back(), VK_NULL_HANDLE, &imageIndex[j]): VK_TIMEOUT at -# vktWsiMaintenance1Tests.cpp:973 (Fail)" -dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.basic,Fail -dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.bind_image,Fail -dEQP-VK.wsi.android.maintenance1.present_fence.fifo.basic,Fail -dEQP-VK.wsi.android.maintenance1.present_fence.fifo.ordering,Fail -dEQP-VK.wsi.android.maintenance1.present_modes.fifo.change_modes,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.basic,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.release_before_present,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire_release_before_retire,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.basic,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.release_before_present,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire_release_before_retire,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire,Fail -dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.same_size_and_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_same_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_taller_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_wider_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_same_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_taller_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_wider_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_taller,Fail -dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_wider,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.same_size_and_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_same_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_taller_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_wider_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_same_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_taller_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_wider_aspect,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_taller,Fail -dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_wider,Fail diff --git a/src/gallium/frontends/lavapipe/ci/lvp-android-angle-skips.txt b/src/gallium/frontends/lavapipe/ci/lvp-android-angle-skips.txt deleted file mode 100644 index 4db08e1f4d1..00000000000 --- a/src/gallium/frontends/lavapipe/ci/lvp-android-angle-skips.txt +++ /dev/null @@ -1,2 +0,0 @@ -# Timeouts with the CTS 1.4.4.2 -> 1.4.5.3 uprev -dEQP-VK.wsi.android.incremental_present.* diff --git a/src/virtio/ci/android-angle-venus-anv-fails.txt b/src/virtio/ci/android-angle-venus-anv-fails.txt index 6b8d14813a0..8615fa5426c 100644 --- a/src/virtio/ci/android-angle-venus-anv-fails.txt +++ b/src/virtio/ci/android-angle-venus-anv-fails.txt @@ -3,38 +3,3 @@ dEQP-VK.synchronization.timeline_semaphore.wait_before_signal.write_blit_image_r dEQP-VK.synchronization.timeline_semaphore.wait_before_signal.write_copy_buffer_to_image_read_copy_image.image_128x128_r8g8b8a8_unorm,Fail dEQP-VK.synchronization2.timeline_semaphore.wait_before_signal.write_blit_image_read_image_vertex.image_128x128_r16g16b16a16_uint,Fail dEQP-VK.synchronization2.timeline_semaphore.wait_before_signal.write_copy_buffer_to_image_read_image_tess_eval.image_128x128_r8g8b8a8_unorm,Fail - -# VKCTS 1.4.4.2 -> 1.4.5.3 uprev -awsi-dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.deferred_alloc.fifo.bind_image,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_fence.fifo.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_fence.fifo.ordering,Fail -awsi-dEQP-VK.wsi.android.maintenance1.present_modes.fifo.change_modes,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.release_before_present,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire_release_before_retire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window_after_acquire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.no_scaling.resize_window,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.basic,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.release_before_present,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire_release_before_retire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window_after_acquire,Fail -awsi-dEQP-VK.wsi.android.maintenance1.release_images.fifo.stretch.resize_window,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.same_size_and_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_bigger_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_smaller_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_taller,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.fifo.stretch.swapchain_wider,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.same_size_and_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_bigger_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_same_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_taller_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_smaller_wider_aspect,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_taller,Fail -awsi-dEQP-VK.wsi.android.maintenance1.scaling.resize_window.fifo.stretch.swapchain_wider,Fail