xserver: Branch 'master' - 4 commits

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Feb 11 15:08:03 UTC 2020


 .gitlab-ci.yml                                   |   12 +++++++++---
 hw/xfree86/drivers/modesetting/driver.c          |   21 +++++++++++++++------
 hw/xfree86/drivers/modesetting/driver.h          |    3 ++-
 hw/xfree86/drivers/modesetting/drmmode_display.c |    3 +--
 4 files changed, 27 insertions(+), 12 deletions(-)

New commits:
commit 1310346d6052c91910f526cbdcc81061fe6abd94
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Feb 10 18:48:05 2020 +0100

    gitlab-ci: Add meson build job with glamor disabled
    
    To prevent breakage with glamor disabled from creeping in again.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5eb300da9..1b82083d5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -81,7 +81,13 @@ meson:
         PIGLIT_DIR: /root/piglit
         XTEST_DIR: /root/xts
     script:
-        - meson -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=true build/
+        - meson -Dc_args="-fno-common" -Dprefix=/usr -Dxephyr=true -Dwerror=true $MESON_EXTRA_OPTIONS build/
         - ninja -j4 -C build/ install
         - ninja -j4 -C build/ test
         - .gitlab-ci/manpages-check
+
+meson-noglamor:
+    extends: meson
+    variables:
+        MESON_EXTRA_OPTIONS: >
+          -Dglamor=false
commit 72ccd7f540a36185ecdb62324c68496fb57e65fe
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Feb 10 18:44:11 2020 +0100

    gitlab-ci: Drop "-build-and-test" job name suffix
    
    It's long and kind of redundant.
    
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ddc06a9f9..5eb300da9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -64,7 +64,7 @@ debian-testing:
     after_script:
         - ccache --show-stats
 
-autotools-build-and-test:
+autotools:
     extends: .common-build-and-test
     script:
         - mkdir build/
@@ -75,7 +75,7 @@ autotools-build-and-test:
         - cd ..
         - .gitlab-ci/manpages-check
 
-meson-build-and-test:
+meson:
     extends: .common-build-and-test
     variables:
         PIGLIT_DIR: /root/piglit
commit 49553049e871d03e9e26672843de8712d20f688a
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Feb 10 18:57:42 2020 +0100

    modesetting: Remove local variable only used with glamor enabled
    
    Resulted in a build failure with -Werror:
    
    ../hw/xfree86/drivers/modesetting/drmmode_display.c: In function ‘drmmode_crtc_set_mode’:
    ../hw/xfree86/drivers/modesetting/drmmode_display.c:759:15: error: unused variable ‘screen’ [-Werror=unused-variable]
      759 |     ScreenPtr screen = crtc->scrn->pScreen;
          |               ^~~~~~
    
    Fixes: c66c548eabf0 "modesetting: Call glamor_finish from
                         drmmode_crtc_set_mode"
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index c5ef91e05..27ad75049 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -756,7 +756,6 @@ drmmode_crtc_set_mode(xf86CrtcPtr crtc, Bool test_only)
     xf86CrtcConfigPtr xf86_config = XF86_CRTC_CONFIG_PTR(crtc->scrn);
     drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
     drmmode_ptr drmmode = drmmode_crtc->drmmode;
-    ScreenPtr screen = crtc->scrn->pScreen;
     drmModeModeInfo kmode;
     int output_count = 0;
     uint32_t *output_ids = NULL;
@@ -770,7 +769,7 @@ drmmode_crtc_set_mode(xf86CrtcPtr crtc, Bool test_only)
 #ifdef GLAMOR_HAS_GBM
     /* Make sure any pending drawing will be visible in a new scanout buffer */
     if (drmmode->glamor)
-        glamor_finish(screen);
+        glamor_finish(crtc->scrn->pScreen);
 #endif
 
     if (ms->atomic_modeset) {
commit 0cb9fa7949d6c5398de220fbdbe1e262e943fcbb
Author: Michel Dänzer <mdaenzer at redhat.com>
Date:   Mon Feb 10 18:41:44 2020 +0100

    modesetting: Fix build with glamor disabled
    
    Fixes: cb1b1e184723 "modesetting: Indirect the glamor API through
                         LoaderSymbol"
    Reviewed-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index d00e4a739..0c1867f02 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -743,9 +743,17 @@ FreeRec(ScrnInfoPtr pScrn)
 
 }
 
-static void
-bind_glamor_api(void *mod, modesettingPtr ms)
+#ifdef GLAMOR_HAS_GBM
+
+static Bool
+load_glamor(ScrnInfoPtr pScrn)
 {
+    void *mod = xf86LoadSubModule(pScrn, GLAMOR_EGL_MODULE_NAME);
+    modesettingPtr ms = modesettingPTR(pScrn);
+
+    if (!mod)
+        return FALSE;
+
     ms->glamor.back_pixmap_from_fd = LoaderSymbolFromModule(mod, "glamor_back_pixmap_from_fd");
     ms->glamor.block_handler = LoaderSymbolFromModule(mod, "glamor_block_handler");
     ms->glamor.clear_pixmap = LoaderSymbolFromModule(mod, "glamor_clear_pixmap");
@@ -763,8 +771,12 @@ bind_glamor_api(void *mod, modesettingPtr ms)
     ms->glamor.supports_pixmap_import_export = LoaderSymbolFromModule(mod, "glamor_supports_pixmap_import_export");
     ms->glamor.xv_init = LoaderSymbolFromModule(mod, "glamor_xv_init");
     ms->glamor.egl_get_driver_name = LoaderSymbolFromModule(mod, "glamor_egl_get_driver_name");
+
+    return TRUE;
 }
 
+#endif
+
 static void
 try_enable_glamor(ScrnInfoPtr pScrn)
 {
@@ -773,7 +785,6 @@ try_enable_glamor(ScrnInfoPtr pScrn)
                                                        OPTION_ACCEL_METHOD);
     Bool do_glamor = (!accel_method_str ||
                       strcmp(accel_method_str, "glamor") == 0);
-    void *mod;
 
     ms->drmmode.glamor = FALSE;
 
@@ -788,9 +799,7 @@ try_enable_glamor(ScrnInfoPtr pScrn)
         return;
     }
 
-    mod = xf86LoadSubModule(pScrn, GLAMOR_EGL_MODULE_NAME);
-    if (mod) {
-        bind_glamor_api(mod, ms);
+    if (load_glamor(pScrn)) {
         if (ms->glamor.egl_init(pScrn, ms->fd)) {
             xf86DrvMsg(pScrn->scrnIndex, X_INFO, "glamor initialized\n");
             ms->drmmode.glamor = TRUE;
diff --git a/hw/xfree86/drivers/modesetting/driver.h b/hw/xfree86/drivers/modesetting/driver.h
index 60e4aaa96..7ee9f6827 100644
--- a/hw/xfree86/drivers/modesetting/driver.h
+++ b/hw/xfree86/drivers/modesetting/driver.h
@@ -132,6 +132,7 @@ typedef struct _modesettingRec {
         void (*UpdatePacked)(ScreenPtr, shadowBufPtr);
     } shadow;
 
+#ifdef GLAMOR_HAS_GBM
     /* glamor API */
     struct {
         Bool (*back_pixmap_from_fd)(PixmapPtr, int, CARD16, CARD16, CARD16,
@@ -157,7 +158,7 @@ typedef struct _modesettingRec {
         XF86VideoAdaptorPtr (*xv_init)(ScreenPtr, int);
         const char *(*egl_get_driver_name)(ScreenPtr);
     } glamor;
-
+#endif
 } modesettingRec, *modesettingPtr;
 
 #define glamor_finish(screen) ms->glamor.finish(screen)


More information about the xorg-commit mailing list