...
 
Commits (928)
......@@ -5,4 +5,5 @@ repos
build_root
summary.xml
results
test
\ No newline at end of file
test
tags
From 531a4b5e56f04c41ad9503eec52f422137475c7c Mon Sep 17 00:00:00 2001
From: Tomasz Figa <tfiga@chromium.org>
Date: Mon, 29 May 2017 07:43:00 +0300
Subject: [PATCH] From List: egl/android: Make drm_gralloc headers optional
(v2)
Make the code at least compile when being built without drm_gralloc
headers.
v2: Replaced #ifdefs with stubs for gralloc_drm_get_gem_handle()
and GRALLOC_MODULE_PERFORM_GET_DRM_FD.
Removed explicit render node probing code.
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
---
src/egl/Android.mk | 1 +
src/egl/Makefile.am | 4 ++-
src/egl/drivers/dri2/egl_dri2.h | 2 +-
.../drivers/dri2/platform_android_gralloc_drm.h | 41 ++++++++++++++++++++++
4 files changed, 46 insertions(+), 2 deletions(-)
create mode 100644 src/egl/drivers/dri2/platform_android_gralloc_drm.h
diff --git a/src/egl/Android.mk b/src/egl/Android.mk
index 11818694f4..16ccddc468 100644
--- a/src/egl/Android.mk
+++ b/src/egl/Android.mk
@@ -41,6 +41,7 @@ LOCAL_SRC_FILES := \
LOCAL_CFLAGS := \
-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID \
-D_EGL_BUILT_IN_DRIVER_DRI2 \
+ -DHAS_GRALLOC_DRM_HEADERS \
-DHAVE_ANDROID_PLATFORM
LOCAL_C_INCLUDES := \
diff --git a/src/egl/Makefile.am b/src/egl/Makefile.am
index 9fcee9d2b8..b8573aa027 100644
--- a/src/egl/Makefile.am
+++ b/src/egl/Makefile.am
@@ -104,7 +104,9 @@ endif
if HAVE_PLATFORM_ANDROID
AM_CFLAGS += $(ANDROID_CFLAGS)
libEGL_common_la_LIBADD += $(ANDROID_LIBS)
-dri2_backend_FILES += drivers/dri2/platform_android.c
+dri2_backend_FILES += \
+ drivers/dri2/platform_android.c \
+ drivers/dri2/egl_dri2_drm_gralloc.h
endif
AM_CFLAGS += \
diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
index d36d02c3c4..a05366b3e1 100644
--- a/src/egl/drivers/dri2/egl_dri2.h
+++ b/src/egl/drivers/dri2/egl_dri2.h
@@ -60,8 +60,8 @@ struct zwp_linux_dmabuf_v1;
#define LOG_TAG "EGL-DRI2"
#include <system/window.h>
+#include "platform_android_gralloc_drm.h"
#include <hardware/gralloc.h>
-#include <gralloc_drm_handle.h>
#endif /* HAVE_ANDROID_PLATFORM */
diff --git a/src/egl/drivers/dri2/platform_android_gralloc_drm.h b/src/egl/drivers/dri2/platform_android_gralloc_drm.h
new file mode 100644
index 0000000000..6757d1ba62
--- /dev/null
+++ b/src/egl/drivers/dri2/platform_android_gralloc_drm.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2016 Google Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#pragma once
+
+#ifdef HAS_GRALLOC_DRM_HEADERS
+
+#include <gralloc_drm.h>
+#include <gralloc_drm_handle.h>
+
+#else
+
+#define GRALLOC_MODULE_PERFORM_GET_DRM_FD 0x0FD4DEAD
+
+static inline int gralloc_drm_get_gem_handle(buffer_handle_t handle)
+{
+ return 0; /* Not supported, return invalid handle. */
+}
+
+#endif
--
2.16.2
From 37111c35a5cf16e414967721045ec67c7bcefbf5 Mon Sep 17 00:00:00 2001
From: renchenglei <chenglei.ren@intel.com>
Date: Fri, 8 Mar 2019 14:00:52 +0200
Subject: [PATCH] use the private drm lib name
Change-Id: I567da1c48e588b1a65c883323e92c2a34822b5d8
Signed-off-by: Yong Yao <yong.yao@intel.com>
Signed-off-by: Ren Chenglei <chenglei.ren@intel.com>
---
Android.common.mk | 2 +-
src/gallium/winsys/i915/drm/Android.mk | 2 +-
src/intel/Android.vulkan.mk | 4 ++--
src/mesa/drivers/dri/i915/Android.mk | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Android.common.mk b/Android.common.mk
index 36d97c52dd..429f28a396 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -112,7 +112,7 @@ LOCAL_CFLAGS_arm64 += -DUSE_AARCH64_ASM
ifneq ($(LOCAL_IS_HOST_MODULE),true)
LOCAL_CFLAGS += -DHAVE_LIBDRM
-LOCAL_SHARED_LIBRARIES += libdrm
+LOCAL_SHARED_LIBRARIES += libdrm_pri
endif
LOCAL_CFLAGS_32 += -DDEFAULT_DRIVER_DIR=\"/vendor/lib/$(MESA_DRI_MODULE_REL_PATH)\"
diff --git a/src/gallium/winsys/i915/drm/Android.mk b/src/gallium/winsys/i915/drm/Android.mk
index bab3e85c5d..bc8cd0ebe2 100644
--- a/src/gallium/winsys/i915/drm/Android.mk
+++ b/src/gallium/winsys/i915/drm/Android.mk
@@ -30,7 +30,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(C_SOURCES)
-LOCAL_SHARED_LIBRARIES := libdrm_intel
+LOCAL_SHARED_LIBRARIES := libdrm_intel_pri
LOCAL_MODULE := libmesa_winsys_i915
include $(GALLIUM_COMMON_MK)
diff --git a/src/intel/Android.vulkan.mk b/src/intel/Android.vulkan.mk
index 05922afdbe..f471271e03 100644
--- a/src/intel/Android.vulkan.mk
+++ b/src/intel/Android.vulkan.mk
@@ -88,7 +88,7 @@ $(intermediates)/vulkan/anv_entrypoints.h: $(intermediates)/vulkan/dummy.c \
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(intermediates)
-LOCAL_SHARED_LIBRARIES := libdrm
+LOCAL_SHARED_LIBRARIES := libdrm_pri
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
@@ -100,7 +100,7 @@ ANV_INCLUDES := \
$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_common,,)/vulkan \
$(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_vulkan_util,,)/util
-ANV_SHARED_LIBRARIES := libdrm
+ANV_SHARED_LIBRARIES := libdrm_pri
ifeq ($(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5 6 7),)
ANV_SHARED_LIBRARIES += libnativewindow
diff --git a/src/mesa/drivers/dri/i915/Android.mk b/src/mesa/drivers/dri/i915/Android.mk
index b1054aa6e2..7c9c8210df 100644
--- a/src/mesa/drivers/dri/i915/Android.mk
+++ b/src/mesa/drivers/dri/i915/Android.mk
@@ -47,7 +47,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
LOCAL_SHARED_LIBRARIES := \
$(MESA_DRI_SHARED_LIBRARIES) \
- libdrm_intel
+ libdrm_intel_pri
LOCAL_GENERATED_SOURCES := \
$(MESA_DRI_OPTIONS_H) \
From 15c7421f3c257a00b56aedfc0c269e325adf98a6 Mon Sep 17 00:00:00 2001
From: Kalyan Kondapally <kalyan.kondapally@intel.com>
Date: Fri, 12 May 2017 08:00:00 +0300
Subject: [PATCH] AndroidIA: Make HAS_GRALLOC_DRM_HEADERS configurable.
This patch adds support to be able to enable/disable Flink support
depending on board configuration instead of having it always enabled.
---
src/egl/Android.mk | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/egl/Android.mk b/src/egl/Android.mk
index 16ccddc468..834cad91e1 100644
--- a/src/egl/Android.mk
+++ b/src/egl/Android.mk
@@ -41,7 +41,6 @@ LOCAL_SRC_FILES := \
LOCAL_CFLAGS := \
-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID \
-D_EGL_BUILT_IN_DRIVER_DRI2 \
- -DHAS_GRALLOC_DRM_HEADERS \
-DHAVE_ANDROID_PLATFORM
LOCAL_C_INCLUDES := \
@@ -61,6 +60,10 @@ LOCAL_SHARED_LIBRARIES := \
libgralloc_drm \
libsync
+ifeq ($(ENABLE_FLINK_SUPPORT),1)
+LOCAL_CFLAGS += -DHAS_GRALLOC_DRM_HEADERS
+endif
+
ifeq ($(filter $(MESA_ANDROID_MAJOR_VERSION), 4 5 6 7),)
LOCAL_SHARED_LIBRARIES += libnativewindow
endif
--
2.16.2
From 8224d0e1a2cfc4e4e20de72677bc4ba0f314f61b Mon Sep 17 00:00:00 2001
From: Tomasz Figa <tfiga@chromium.org>
Date: Tue, 9 Jan 2018 13:32:38 +0200
Subject: [PATCH] CHROMIUM: egl/android: Support opening render nodes from
within EGL
This patch adds support for opening render nodes directly from within
display initialization, Instead of relying on private interfaces
provided by gralloc.
In addition to having better separation from gralloc and being able to
use different render nodes for allocation and rendering, this also fixes
problems encountered when using the same DRI FD for gralloc and Mesa,
when both stepped each over another because of shared GEM handle
namespace.
BUG=b:29036398
TEST=No significant regressions in dEQP inside the container
Change-Id: I7f901eb9dadbfc2200484666fdc6a2bc0ca42a0c
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/367215
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
---
src/egl/drivers/dri2/platform_android.c | 63 ++++++++++++++++++++++++++++-----
1 file changed, 54 insertions(+), 9 deletions(-)
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index 4f25cb7469..c214b917cc 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -37,7 +37,7 @@
#include "loader.h"
#include "egl_dri2.h"
#include "egl_dri2_fallbacks.h"
-#include "gralloc_drm.h"
+#include "platform_android_gralloc_drm.h"
#define ALIGN(val, align) (((val) + (align) - 1) & ~((align) - 1))
@@ -1110,13 +1110,53 @@ droid_open_device(struct dri2_egl_display *dri2_dpy)
GRALLOC_MODULE_PERFORM_GET_DRM_FD,
&fd);
if (err || fd < 0) {
- _eglLog(_EGL_WARNING, "fail to get drm fd");
+ _eglLog(_EGL_DEBUG, "fail to get drm fd");
fd = -1;
}
return (fd >= 0) ? fcntl(fd, F_DUPFD_CLOEXEC, 3) : -1;
}
+#define DRM_RENDER_DEV_NAME "%s/renderD%d"
+
+static int
+droid_probe_device(_EGLDisplay *dpy)
+{
+ struct dri2_egl_display *dri2_dpy = dpy->DriverData;
+ const int limit = 64;
+ const int base = 128;
+ int fd;
+ int i;
+
+ for (i = 0; i < limit; ++i) {
+ char *card_path;
+ if (asprintf(&card_path, DRM_RENDER_DEV_NAME, DRM_DIR_NAME, base + i) < 0)
+ continue;
+
+ fd = loader_open_device(card_path);
+ free(card_path);
+ if (fd < 0)
+ continue;
+
+ dri2_dpy->driver_name = loader_get_driver_for_fd(fd);
+ if (!dri2_dpy->driver_name) {
+ close(fd);
+ continue;
+ }
+
+ dri2_dpy->fd = fd;
+ if (dri2_load_driver(dpy))
+ return 0;
+
+ close(fd);
+ dri2_dpy->fd = -1;
+ free(dri2_dpy->driver_name);
+ dri2_dpy->driver_name = NULL;
+ }
+
+ return -1;
+}
+
static const struct dri2_egl_display_vtbl droid_display_vtbl = {
.authenticate = NULL,
.create_window_surface = droid_create_window_surface,
@@ -1200,14 +1240,19 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp)
disp->DriverData = (void *) dri2_dpy;
dri2_dpy->fd = droid_open_device(dri2_dpy);
- if (dri2_dpy->fd < 0) {
- err = "DRI2: failed to open device";
- goto cleanup;
- }
+ if (dri2_dpy->fd >= 0) {
+ dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd);
+ if (dri2_dpy->driver_name == NULL) {
+ err = "DRI2: failed to get driver name";
+ goto cleanup;
+ }
- dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd);
- if (dri2_dpy->driver_name == NULL) {
- err = "DRI2: failed to get driver name";
+ if (!dri2_load_driver(disp)) {
+ err = "DRI2: failed to load driver";
+ goto cleanup;
+ }
+ } else if (droid_probe_device(disp) < 0) {
+ err = "DRI2: failed to open device";
goto cleanup;
}
--
2.16.2
From 76205fed394bba896364379d1dd36f68b75cccc6 Mon Sep 17 00:00:00 2001
From: Marta Lofstedt <marta.lofstedt@intel.com>
Date: Thu, 23 Mar 2017 08:37:31 +0200
Subject: [PATCH] AndroidIA: android: move dependency to libgralloc_drm
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
drm_gralloc header files are only included under
ENABLE_FLINK_SUPPORT, so should dependency to
libgralloc_drm.
Jira: None
Test: Build without libgralloc_drm
Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
---
src/egl/Android.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/egl/Android.mk b/src/egl/Android.mk
index 834cad91e1..8b3b3549b1 100644
--- a/src/egl/Android.mk
+++ b/src/egl/Android.mk
@@ -57,10 +57,10 @@ LOCAL_SHARED_LIBRARIES := \
libhardware \
liblog \
libcutils \
- libgralloc_drm \
libsync
ifeq ($(ENABLE_FLINK_SUPPORT),1)
+LOCAL_SHARED_LIBRARIES += libgralloc_drm
LOCAL_CFLAGS += -DHAS_GRALLOC_DRM_HEADERS
endif
--
2.16.2
......@@ -15,9 +15,16 @@ def main():
if not os.path.exists(os.path.join(sd,
'src/mesa/drivers/osmesa/meson.build')):
return 0
# The android source tree used does not support Mesa <19.1
if not os.path.exists(os.path.join(sd,
'docs/relnotes/19.1.0.html')):
print("Android build test does not support this version of Mesa. No "
"build test will be performed.")
return 0
bs.build(bs.AndroidBuilder(src_location="~/android-ia",
module="libGLES_mesa"))
modules=["libGLES_mesa",
"vulkan.project-celadon"]))
if __name__ == '__main__':
......
This diff is collapsed.
......@@ -54,5 +54,5 @@ for a_dir in os.listdir(result_path):
build_dir = sub_dir + "/" + a_build_dir
if os.path.islink(build_dir):
continue
if file_age_in_days(build_dir) > 20:
if file_age_in_days(build_dir) > 50:
bs.rmtree(build_dir)
This diff is collapsed.
[expected-failures]
[expected-crashes]
[fixed-tests]
func.interleaved-cmd-buffers.end1-submit1-end2-submit2 = crucible d7f4d6b
func.interleaved-cmd-buffers.end1-end2-submit1-submit2 = mesa 1c605c8
func.query.timestamp = mesa 1c605c8
func.cmd-buffer.large-secondary-no-simultaneous = mesa a8cdef3
func.cmd-buffer.large-secondary = mesa a8cdef3
func.cmd-buffer.small-secondaries = mesa d7a193327b3d121e4a45766b360fcc11d3a56b93
func.depthstencil.basic-depth.clear-0.5.op-greater-equal = crucible d222600
func.input.fragcoord = mesa 25b09d1
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels01.extent-1024x512x32.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.gs.basic = glslang 7b3096a
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.compute.num-workgroups.basic = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.compute = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.compute.local-id.push-constant = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.compute.local-id.basic = crucible 99333e8
func.compute.local-id.local-ids = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
stress.lots-of-surface-state.fs.static = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
stress.lots-of-surface-state.vs.static = crucible 99333e8
func.compute.num-workgroups.indirect = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.ssbo.interleve = crucible 99333e8
stress.lots-of-surface-state.fs.dynamic = crucible 037ef67
func.desc.dynamic.storage-buffer = crucible 037ef67
stress.lots-of-surface-state.vs.dynamic = crucible 037ef67
func.desc.dynamic.uniform-buffer = crucible 037ef67
func.first = crucible 037ef67
This diff is collapsed.
[expected-failures]
func.ssbo.interleve = crucible 99333e8
[expected-crashes]
[fixed-tests]
func.interleaved-cmd-buffers.end1-submit1-end2-submit2 = crucible d7f4d6b
func.query.timestamp = mesa 1c605c8
func.cmd-buffer.large-secondary-no-simultaneous = mesa a8cdef3
func.cmd-buffer.large-secondary = mesa a8cdef3
func.cmd-buffer.small-secondaries = mesa d7a193327b3d121e4a45766b360fcc11d3a56b93
func.depthstencil.basic-depth.clear-0.5.op-greater-equal = crucible d222600
func.input.fragcoord = mesa 25b09d1
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels01.extent-1024x512x32.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa d4a28ae
func.gs.basic = glslang 7b3096a
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.compute.num-workgroups.basic = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.compute = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.compute.local-id.push-constant = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.compute.local-id.basic = crucible 99333e8
func.compute.local-id.local-ids = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
stress.lots-of-surface-state.fs.static = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
stress.lots-of-surface-state.vs.static = crucible 99333e8
func.compute.num-workgroups.indirect = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible 99333e8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = crucible 99333e8
stress.lots-of-surface-state.fs.dynamic = crucible 037ef67
func.desc.dynamic.storage-buffer = crucible 037ef67
stress.lots-of-surface-state.vs.dynamic = crucible 037ef67
func.desc.dynamic.uniform-buffer = crucible 037ef67
func.first = crucible 037ef67
......@@ -4,7 +4,7 @@ import sys
import os
import os.path as path
import xml.etree.ElementTree as ET
import ConfigParser
import configparser
sys.path.append(path.join(path.dirname(path.abspath(sys.argv[0])), "..", "repos", "mesa_ci"))
import build_support as bs
......@@ -23,7 +23,7 @@ def post_process_results(xml):
# key=name, value=status
expected_status = {}
changed_commit = {}
c = ConfigParser.SafeConfigParser(allow_no_value=True)
c = configparser.SafeConfigParser(allow_no_value=True)
c.read(conf)
for section in c.sections():
for (test, commit) in c.items(section):
......@@ -32,13 +32,13 @@ def post_process_results(xml):
expected_status[test] = section
changed_commit[test] = commit
for atest in t.findall(".//testcase"):
test_name = atest.attrib["name"]
test_name = atest.attrib["name"].lower()
if atest.attrib["status"] == "lost":
atest.attrib["status"] = "crash"
if test_name not in expected_status:
continue
expected = expected_status[atest.attrib["name"]]
expected = expected_status[test_name]
test_is_stale = False
for missing_commit in missing_revisions:
if missing_commit in changed_commit[test_name]:
......@@ -149,7 +149,8 @@ class CrucibleTester(object):
excludes = ["!func.query.timestamp",
"!func.ssbo.interleve",
# https://bugs.freedesktop.org/show_bug.cgi?id=102267
"!func.sync.semaphore-fd.opaque-fd"]
"!func.sync.semaphore-fd.opaque-fd",
"!func.calibrated-timestamps.*"]
parallelism = []
......@@ -182,10 +183,16 @@ class CrucibleTester(object):
if "bsw" in o.hardware:
excludes += ["!func.event.cmd_buffer"] # intermittent fail/crash
if "bxt" in o.hardware:
excludes += ["!func.miptree.s8-uint.aspect-stencil*",
"!stress.lots-of-surface-state.fs.static"]
if "icl" in o.hardware:
if "18.2" in bs.mesa_version():
# ICL not supported
return
excludes += [# gpu hang
"!func.sync.semaphore-fd.no-sync",
"!func.cmd-buffer.large-secondary",
"!func.cmd-buffer.large-secondary-no-simultaneous*",
"!func.cmd-buffer.small-secondaries*",
]
bs.run_batch_command([ br + "/bin/crucible",
"run", "--fork", "--log-pids",
......@@ -199,4 +206,5 @@ class CrucibleTester(object):
bs.check_gpu_hang()
bs.Export().export_tests()
bs.build(CrucibleTester())
if __name__ == "__main__":
bs.build(CrucibleTester())
This diff is collapsed.
This diff is collapsed.
[expected-failures]
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-buffer.download-copy-to-buffer
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-buffer.download-copy-to-linear-image
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-linear-image.download-copy-to-linear-image
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-buffer
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-linear-image.download-copy-to-buffer
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-linear-image.download-copy-to-buffer = crucible d7f4d6b
func.event.cmd_buffer = crucible bf85eef
func.query.timestamp = mesa abaa3be
[expected-crashes]
func.compute
stress.lots-of-surface-state.vs.dynamic = crucible d7f4d6b
func.push-constants.basic = crucible d7f4d6b
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-with-draw = mesa 84612f4014089b089c9a04a6592b5a1ea7423c70
func.event.wait_preset = mesa f92a35d
func.event.wait_set_later = mesa 8f0ef9b
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = mesa 442dff8
stress.lots-of-surface-state.fs.dynamic = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = mesa 442dff8
func.ssbo.interleve = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array01.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = mesa 442dff8
stress.lots-of-surface-state.vs.static = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels01.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = mesa 442dff8
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-buffer = mesa 442dff8
func.gs.basic = mesa 998829f
func.desc.dynamic.storage-buffer = crucible 037ef67
func.desc.dynamic.uniform-buffer = crucible 037ef67
[fixed-tests]
func.cmd-buffer.large-secondary-no-simultaneous = mesa a8cdef3
func.cmd-buffer.large-secondary = mesa a8cdef3
func.cmd-buffer.small-secondaries = mesa d7a193327b3d121e4a45766b360fcc11d3a56b93
func.input.fragcoord = mesa 25b09d1
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-linear-image.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-linear-image = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-buffer = mesa 8dddc3f
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-linear-image.download-copy-to-buffer = mesa 8dddc3f
func.compute.num-workgroups.basic = crucible 99333e8
func.compute.local-id.push-constant = crucible 99333e8
func.compute.local-id.basic = crucible 99333e8
func.compute.local-id.local-ids = crucible 99333e8
func.compute.num-workgroups.indirect = crucible 99333e8
func.first = crucible 037ef67
[expected-failures]
func.sync.semaphore-fd.opaque-fd-no-sync = crucible 3d8a45cbacc140f3d1ce3de68e66ec2e5ce6909e
[expected-crashes]
[fixed-tests]
func.sync.semaphore-fd.sync-fd = vulkancts bce4ec47056a0473ccce9cf7951023da80c3b745
func.sync.semaphore-fd.opaque-fd = vulkancts bce4ec47056a0473ccce9cf7951023da80c3b745
func.sync.semaphore-fd.sanity = mesa 20533e0da7e0423865e557d2454a63d92dfafb7b
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-1d.levels02.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-1d.levels01.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-3d.levels01.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-linear-image.download-copy-with-draw = crucible c9ab2b821b95a3f4f393f6511de87baafecd966b
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-3d.levels02.extent-1024x512x32.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array01.extent-1024x512.upload-copy-from-buffer.download-copy-with-draw = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-to-linear-image = crucible c9ab2b821b95a3f4f393f6511de87baafecd966b
func.miptree.s8-uint.aspect-stencil.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-1d.levels01.array01.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-with-draw.download-copy-with-draw = crucible c9ab2b821b95a3f4f393f6511de87baafecd966b
func.miptree.d32-sfloat.aspect-depth.view-2d.levels01.array02.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.d32-sfloat.aspect-depth.view-1d.levels02.array02.extent-1024.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.miptree.r8g8b8a8-unorm.aspect-color.view-2d.levels02.array02.extent-512x512.upload-copy-from-buffer.download-copy-with-draw = crucible c9ab2b821b95a3f4f393f6511de87baafecd966b
func.miptree.d32-sfloat.aspect-depth.view-2d.levels02.array01.extent-1024x512.upload-copy-from-buffer.download-copy-to-buffer = crucible 62afcaf24f333b3ed845a890f3369e984b1e99d7
func.<