xserver: Branch 'master' - 6 commits

Adam Jackson ajax at kemper.freedesktop.org
Wed Oct 26 16:51:08 UTC 2016


 configure.ac                                     |    4 ++--
 hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h       |   12 ++++++++++++
 hw/xfree86/drivers/modesetting/driver.c          |    2 ++
 hw/xfree86/drivers/modesetting/drmmode_display.c |    2 --
 hw/xfree86/xorg-wrapper.c                        |    2 +-
 hw/xwayland/xwayland-input.c                     |    5 ++++-
 6 files changed, 21 insertions(+), 6 deletions(-)

New commits:
commit f68ba7b81ffe765380664fccc92f3e689c6c48c2
Author: Rui Matos <tiagomatos at gmail.com>
Date:   Tue Oct 25 19:24:49 2016 +0200

    xwayland: Transform pointer enter event coordinates
    
    Pointer enter event coordinates are surface relative and we need them to
    be screen relative for pScreen->SetCursorPosition().
    
    https://bugzilla.gnome.org/show_bug.cgi?id=758283
    
    Signed-off-by: Rui Matos <tiagomatos at gmail.com>
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
    Reviewed-by: Jonas Ådahl <jadahl at gmail.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 4d447a5..1991076 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -298,6 +298,7 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
     int i;
     int sx = wl_fixed_to_int(sx_w);
     int sy = wl_fixed_to_int(sy_w);
+    int dx, dy;
     ScreenPtr pScreen = xwl_seat->xwl_screen->screen;
     ValuatorMask mask;
 
@@ -314,9 +315,11 @@ pointer_handle_enter(void *data, struct wl_pointer *pointer,
     xwl_seat->pointer_enter_serial = serial;
 
     xwl_seat->focus_window = wl_surface_get_user_data(surface);
+    dx = xwl_seat->focus_window->window->drawable.x;
+    dy = xwl_seat->focus_window->window->drawable.y;
 
     master = GetMaster(dev, POINTER_OR_FLOAT);
-    (*pScreen->SetCursorPosition) (dev, pScreen, sx, sy, TRUE);
+    (*pScreen->SetCursorPosition) (dev, pScreen, dx + sx, dy + sy, TRUE);
 
     miPointerInvalidateSprite(master);
 
commit f5c6d751d08c6de77c2ca49ba2a48f8023758cef
Author: Nikhil Mahale <nmahale at nvidia.com>
Date:   Sat Oct 22 17:40:51 2016 +0530

    modesetting: unifdef MODESETTING_OUTPUT_SLAVE_SUPPORT
    
    Commit c7e8d4a6ee9542f56cd241cf7a960fb8223a6b22 had already unifdef
    MODESETTING_OUTPUT_SLAVE_SUPPORT but commit
    9257b1252da9092ddc676fec9aabe2b33dfad272 didn't notice that.
    
    Signed-off-by: Nikhil Mahale <nmahale at nvidia.com>
    Reviewed-by: Hans de Goede <hdegoede at redhat.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c
index 61a0e27..6e755e9 100644
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -1701,10 +1701,8 @@ drmmode_create_name(ScrnInfoPtr pScrn, drmModeConnectorPtr koutput, char *name,
  fallback:
     if (koutput->connector_type >= MS_ARRAY_SIZE(output_names))
         snprintf(name, 32, "Unknown%d-%d", koutput->connector_type, koutput->connector_type_id);
-#ifdef MODESETTING_OUTPUT_SLAVE_SUPPORT
     else if (pScrn->is_gpu)
         snprintf(name, 32, "%s-%d-%d", output_names[koutput->connector_type], pScrn->scrnIndex - GPU_SCREEN_OFFSET + 1, koutput->connector_type_id);
-#endif
     else
         snprintf(name, 32, "%s-%d", output_names[koutput->connector_type], koutput->connector_type_id);
 }
commit 4aaeeda4774397dd6d80aa240ca623ae795ec5dc
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Tue Oct 18 16:10:19 2016 +0200

    xfree86: Xorg.wrap: Do not require root rights for cards with 0 outputs
    
    Prior to this commit the Xorg.wrap code to detect if root rights are
    necessary checked for DRM_IOCTL_MODE_GETRESOURCES succeeding *and*
    reporting more then 0 output connectors.
    
    DRM_IOCTL_MODE_GETRESOURCES succeeding alone is enough to differentiate
    between old drm only cards (which need ums and thus root) and kms capable
    cards.
    
    Some hybrid gfx laptops have 0 output connectors on one of their 2 GPUs,
    resulting in Xorg needlessly running as root. This commits removes the
    res.count_connectors > 0 check, fixing this.
    
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
index d930962..a25e6ff 100644
--- a/hw/xfree86/xorg-wrapper.c
+++ b/hw/xfree86/xorg-wrapper.c
@@ -240,7 +240,7 @@ int main(int argc, char *argv[])
 
             memset(&res, 0, sizeof(struct drm_mode_card_res));
             r = ioctl(fd, DRM_IOCTL_MODE_GETRESOURCES, &res);
-            if (r == 0 && res.count_connectors > 0)
+            if (r == 0)
                 kms_cards++;
 
             close(fd);
commit 7d91063aca4e4d326c294e246bc2dc36cb05318e
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Mon Oct 17 18:48:44 2016 +0900

    DRI2: Sync radeonsi_pci_ids.h from Mesa
    
    Fixes DRI2 client driver name mapping for newer AMD GPUs with the
    modesetting driver, allowing the DRI2 extension to initialize.
    
    Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

diff --git a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
index 4df8e9d..20c1583 100644
--- a/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
+++ b/hw/xfree86/dri2/pci_ids/radeonsi_pci_ids.h
@@ -184,12 +184,24 @@ CHIPSET(0x7300, FIJI_, FIJI)
 
 CHIPSET(0x67E0, POLARIS11_, POLARIS11)
 CHIPSET(0x67E1, POLARIS11_, POLARIS11)
+CHIPSET(0x67E3, POLARIS11_, POLARIS11)
+CHIPSET(0x67E7, POLARIS11_, POLARIS11)
 CHIPSET(0x67E8, POLARIS11_, POLARIS11)
 CHIPSET(0x67E9, POLARIS11_, POLARIS11)
 CHIPSET(0x67EB, POLARIS11_, POLARIS11)
+CHIPSET(0x67EF, POLARIS11_, POLARIS11)
 CHIPSET(0x67FF, POLARIS11_, POLARIS11)
 
 CHIPSET(0x67C0, POLARIS10_, POLARIS10)
+CHIPSET(0x67C1, POLARIS10_, POLARIS10)
+CHIPSET(0x67C2, POLARIS10_, POLARIS10)
+CHIPSET(0x67C4, POLARIS10_, POLARIS10)
+CHIPSET(0x67C7, POLARIS10_, POLARIS10)
+CHIPSET(0x67C8, POLARIS10_, POLARIS10)
+CHIPSET(0x67C9, POLARIS10_, POLARIS10)
+CHIPSET(0x67CA, POLARIS10_, POLARIS10)
+CHIPSET(0x67CC, POLARIS10_, POLARIS10)
+CHIPSET(0x67CF, POLARIS10_, POLARIS10)
 CHIPSET(0x67DF, POLARIS10_, POLARIS10)
 
 CHIPSET(0x98E4, STONEY_, STONEY)
commit f6ff2e974c5de3071c899eba828789f1d4d8645a
Author: Mihail Konev <k.mvc at ya.ru>
Date:   Sat Oct 15 04:13:43 2016 +0000

    modesetting: fix glamor ifdef
    
    Add a missing ifdef needed for --disable-glamor.
    
    Signed-off-by: Mihail Konev <k.mvc at ya.ru>
    Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index 216388f..3da69a3 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -594,6 +594,7 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty, int *timeout)
     PixmapSyncDirtyHelper(dirty);
 
     if (!screen->isGPU) {
+#ifdef GLAMOR
         /*
          * When copying from the master framebuffer to the shared pixmap,
          * we must ensure the copy is complete before the slave starts a
@@ -602,6 +603,7 @@ redisplay_dirty(ScreenPtr screen, PixmapDirtyUpdatePtr dirty, int *timeout)
          */
         if (ms->drmmode.glamor)
             glamor_finish(screen);
+#endif
         /* Ensure the slave processes the damage immediately */
         if (timeout)
             *timeout = 0;
commit 8fee6a917b6468e1b116d922f86484498874fb5c
Author: Mihail Konev <k.mvc at ya.ru>
Date:   Fri Oct 14 02:40:59 2016 +0000

    xwin: make glx optional again
    
    Commit 501d8e2b removed --enable-aiglx, but made xwin always be
    --enable-glx.
    
    Signed-off-by: Mihail Konev <k.mvc at ya.ru>
    Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
    Reviewed-by: Jon Turney <jon.turney at dronecode.org.uk>
    Signed-off-by: Hans de Goede <hdegoede at redhat.com>

diff --git a/configure.ac b/configure.ac
index 4bb014d..25168cc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2233,7 +2233,7 @@ if test "x$XWIN" = xyes; then
 	AC_DEFINE(DDXBEFORERESET, 1, [Use ddxBeforeReset ])
 
 dnl XWin requires OpenGL spec files in order to generate wrapper code for native GL functions
-	if [test "x$XWIN" = xyes] ; then
+	if [test "x$XWIN" = xyes && test "x$GLX" = xyes] ; then
            AC_CHECK_PROG(PYTHON3, python3, python3)
            if test -z "$PYTHON3"; then
                 AC_MSG_ERROR([python3 not found])
@@ -2256,7 +2256,7 @@ AM_CONDITIONAL(XWIN, [test "x$XWIN" = xyes])
 AM_CONDITIONAL(XWIN_MULTIWINDOW, [test "x$XWIN" = xyes])
 AM_CONDITIONAL(XWIN_MULTIWINDOWEXTWM, [test "x$XWIN" = xyes && test "x$WINDOWSWM" = xyes])
 AM_CONDITIONAL(XWIN_CLIPBOARD, [test "x$XWIN" = xyes])
-AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes])
+AM_CONDITIONAL(XWIN_GLX_WINDOWS, [test "x$XWIN" = xyes && test "x$GLX" = xyes])
 AM_CONDITIONAL(XWIN_WINDOWS_DRI, [test "x$XWIN" = xyes && test "x$WINDOWSDRI" = xyes])
 AM_CONDITIONAL(XWIN_RANDR, [test "x$XWIN" = xyes])
 AM_CONDITIONAL(XWIN_XV, [test "x$XWIN" = xyes && test "x$XV" = xyes])


More information about the xorg-commit mailing list