diff options
author | Kai Kang <kai.kang@windriver.com> | 2019-07-25 04:11:46 -0400 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-07-26 15:24:45 -0700 |
commit | d1321215f1231f6f88860ad5e5128b39f55a1304 (patch) | |
tree | babc8ef2f3979fe2a095a9d211a42ddd0fac8c9b /meta-xfce/recipes-xfce | |
parent | 7aeac572dee32c28ee0f5125582920362d12da3e (diff) | |
download | meta-openembedded-d1321215f1231f6f88860ad5e5128b39f55a1304.tar.gz |
xfwm4: fix assertion error
It fails to start xfwm4 on intel_x86_64 boards:
| xfwm4: ../mesa-19.1.1/src/mesa/drivers/dri/i965/intel_mipmap_tree.c:1293:
| intel_miptree_match_image: Assertion `image->TexObject->Target == mt->target' failed.
| Aborted
Revert the upstream commit which introduce the issue.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-xfce/recipes-xfce')
-rw-r--r-- | meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch | 92 | ||||
-rw-r--r-- | meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.3.bb | 1 |
2 files changed, 93 insertions, 0 deletions
diff --git a/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch b/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch new file mode 100644 index 0000000000..04fd623e8f --- /dev/null +++ b/meta-xfce/recipes-xfce/xfwm4/files/0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch @@ -0,0 +1,92 @@ +From acdceb0b28d86199b8c2233880fa8a04cb24d4d4 Mon Sep 17 00:00:00 2001 +From: Kai Kang <kai.kang@windriver.com> +Date: Wed, 24 Jul 2019 09:48:04 +0800 +Subject: [PATCH] Revert "compositor: Revert to GLX as default vblank method + (again)" + +This reverts commit e07574d6e7a2dbaa08c3ba4765c6306073d9493e. + +It sets the default vblank method (auto) to GLX from 4.13.2. But it +fails to start xfwm4 on intel-x86-64 boards with error: + +| xfwm4: ../mesa-19.1.1/src/mesa/drivers/dri/i965/intel_mipmap_tree.c:1293: +| intel_miptree_match_image: Assertion `image->TexObject->Target == mt->target' failed. +| Aborted + +There is also a RHEL defect: +https://bugzilla.redhat.com/show_bug.cgi?id=1678334 + +Revert the commit to fix the issue. + +Upstream-Status: Inappropriate [workaround] + +Signed-off-by: Kai Kang <kai.kang@windriver.com> +--- + src/compositor.c | 41 +++++++++++++++++++---------------------- + 1 file changed, 19 insertions(+), 22 deletions(-) + +diff --git a/src/compositor.c b/src/compositor.c +index 25615282..daced607 100644 +--- a/src/compositor.c ++++ b/src/compositor.c +@@ -4483,13 +4483,28 @@ compositorManageScreen (ScreenInfo *screen_info) + XClearArea (display_info->dpy, screen_info->output, 0, 0, 0, 0, TRUE); + TRACE ("manual compositing enabled"); + ++#ifdef HAVE_PRESENT_EXTENSION ++ screen_info->use_present = display_info->have_present && ++ (screen_info->vblank_mode == VBLANK_AUTO || ++ screen_info->vblank_mode == VBLANK_XPRESENT); ++ if (screen_info->use_present) ++ { ++ screen_info->present_pending = FALSE; ++ XPresentSelectInput (display_info->dpy, ++ screen_info->output, ++ PresentCompleteNotifyMask); ++ } ++#else /* HAVE_PRESENT_EXTENSION */ ++ screen_info->use_present = FALSE; ++#endif /* HAVE_PRESENT_EXTENSION */ ++ + #ifdef HAVE_EPOXY +- screen_info->use_glx = (screen_info->vblank_mode == VBLANK_AUTO || +- screen_info->vblank_mode == VBLANK_GLX); ++ screen_info->use_glx = !screen_info->use_present && + #ifdef HAVE_XSYNC +- screen_info->use_glx &= display_info->have_xsync; ++ display_info->have_xsync && + #endif /* HAVE_XSYNC */ +- ++ (screen_info->vblank_mode == VBLANK_AUTO || ++ screen_info->vblank_mode == VBLANK_GLX); + if (screen_info->use_glx) + { + screen_info->glx_context = None; +@@ -4503,24 +4518,6 @@ compositorManageScreen (ScreenInfo *screen_info) + screen_info->use_glx = FALSE; + #endif /* HAVE_EPOXY */ + +-#ifdef HAVE_PRESENT_EXTENSION +- screen_info->use_present = display_info->have_present && +-#ifdef HAVE_EPOXY +- !screen_info->use_glx && +-#endif /* HAVE_EPOXY */ +- (screen_info->vblank_mode == VBLANK_AUTO || +- screen_info->vblank_mode == VBLANK_XPRESENT); +- if (screen_info->use_present) +- { +- screen_info->present_pending = FALSE; +- XPresentSelectInput (display_info->dpy, +- screen_info->output, +- PresentCompleteNotifyMask); +- } +-#else /* HAVE_PRESENT_EXTENSION */ +- screen_info->use_present = FALSE; +-#endif /* HAVE_PRESENT_EXTENSION */ +- + if (screen_info->use_present) + { + g_info ("Compositor using XPresent for vsync"); +-- +2.20.1 + diff --git a/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.3.bb b/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.3.bb index f4ebb45e05..591580b84f 100644 --- a/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.3.bb +++ b/meta-xfce/recipes-xfce/xfwm4/xfwm4_4.13.3.bb @@ -8,6 +8,7 @@ inherit xfce update-alternatives distro_features_check REQUIRED_DISTRO_FEATURES = "x11" +SRC_URI += "file://0001-Revert-compositor-Revert-to-GLX-as-default-vblank-me.patch" SRC_URI[md5sum] = "e53081e5928d401604d158429716e699" SRC_URI[sha256sum] = "12ad274f6662c8afee35fd9b9310e73bd462c423578d448b2d7353e3c8eda6c1" |