xserver: Branch 'server-1.20-branch'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 9 19:31:30 UTC 2021


 hw/xfree86/drivers/modesetting/driver.c |   16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 4e11bd390a28144fac03dc21a6caf0800596e2fa
Author: Łukasz Spintzyk <lukasz.spintzyk at synaptics.com>
Date:   Tue Jun 8 18:53:07 2021 +0200

    modesetting: Disable reverse prime offload mode for displays running on evdi,udl
    
    This mode for displays running on evdi/udl as side effect of failed glamor_egl_init
    reverse_prime_offload_mode was initialized to FALSE
    
    After Mesa upgrade to 21.0.0 GL_RENDERER is not llvmpipe that results in successful glamor_egl_init
    and reverse_prime_offload_mode enabled.
    
    This commit is explicitly disabling reverse_prime_offload_mode for evdi and udl drivers
    
    Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk at synaptics.com>
    (cherry picked from commit 7e7c147105ac704a7b33bdee0f85dc9ccdd8f747)

diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index ef4a3147d..8ca3e897a 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -1752,18 +1752,30 @@ ScreenInit(ScreenPtr pScreen, int argc, char **argv)
                        "Failed to initialize the Present extension.\n");
         }
         /* enable reverse prime if we are a GPU screen, and accelerated, and not
-         * i915. i915 is happy scanning out from sysmem. */
+         * i915, evdi or udl. i915 is happy scanning out from sysmem.
+         * evdi and udl are virtual drivers scanning out from sysmem
+         * backed dumb buffers.
+         */
         if (pScreen->isGPU) {
             drmVersionPtr version;
 
             /* enable if we are an accelerated GPU screen */
             ms->drmmode.reverse_prime_offload_mode = TRUE;
 
-            /* disable if we detect i915 */
             if ((version = drmGetVersion(ms->drmmode.fd))) {
                 if (!strncmp("i915", version->name, version->name_len)) {
                     ms->drmmode.reverse_prime_offload_mode = FALSE;
                 }
+                if (!strncmp("evdi", version->name, version->name_len)) {
+                    ms->drmmode.reverse_prime_offload_mode = FALSE;
+                }
+                if (!strncmp("udl", version->name, version->name_len)) {
+                    ms->drmmode.reverse_prime_offload_mode = FALSE;
+                }
+                if (!ms->drmmode.reverse_prime_offload_mode) {
+                    xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+                       "Disable reverse prime offload mode for %s.\n", version->name);
+                }
                 drmFreeVersion(version);
             }
         }


More information about the xorg-commit mailing list