- 23 Feb, 2020 2 commits
-
-
Roman Gilg authored
When a viewport is already created we can reuse this object instead of destroying it and getting a new one for updating the source rectangle and destination size. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Acked-by:
Olivier Fourdan <ofourdan@redhat.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Hans de Goede authored
Instead of iterating over all clients which are listening for events on the root window and checking if the client we are dealing with is the one listening for SubstructureRedirectMask | ResizeRedirectMask events and thus is the window-manager, cache the client-id of the window-manager in xwl_screen and use that when checking if a client is the window-manager. Note that we cache and compare the client-id rather then the ClienPtr, this saves reading the ClientPtr from the global clients array when doing the comparison. Suggested-by:
Olivier Fourdan <ofourdan@redhat.com> Acked-by:
Olivier Fourdan <ofourdan@redhat.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 18 Feb, 2020 5 commits
-
-
Roman Gilg authored
The value is not the current msc of the window, but the target value the client sets independently of the window speicific msc offset. Make this clearer. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
Roman Gilg authored
Move the code portion down. That way it is at a similar position as in the window mode file. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
Roman Gilg authored
Make the code more readable by going through some logical abort conditions. Also make the function only about updating the crtc msc value and not about also returning the next target msc. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
Roman Gilg authored
Unfold and extensively annotate the target-msc adjustment function, to make it easier to understand what's happening and why. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
Roman Gilg authored
We can use value arguments instead of pointers when adjusting the timings by returning the adjusted value. This improves the readability. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
- 14 Feb, 2020 1 commit
-
-
Olivier Fourdan authored
Xorg supports the '-version' command line option, add something similar to Xwayland. Closes: xorg/xserver#976 Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Jonas Ådahl <jadahl@gmail.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
- 12 Feb, 2020 2 commits
-
-
Adam Jackson authored
-
xf86platformProbeDev didn't check the device path, fix it. This is a problem when trying to set up a non-PCI device via explicit xorg.conf.d configuration. An USB DisplayLink device, being non-PCI was always set up as a GPU device assigned to screen 0 instead of a regular framebuffer, potentially having its own dedicated screen, despite such configuration as below. Only the relevant parts of the configuration are quoted, it's part of a larger context with an Intel chip that has 3 outputs: * DP1 connected to an LCD panel, * VGA1 connected to an external monitor, * HDMI1 unconnected and having no user visible connector Section "ServerFlags" Option "AutoBindGPU" "false" EndSection ... Section "Device" Identifier "Intel2" Driver "intel" BusID "PCI:0:2:0" Screen 2 Option "Monitor-HDMI1" "HDMI1" Option "ZaphodHeads" "HDMI1" EndSection Section "Device" Identifier "UDL" Driver "modesetting" Option "kmsdev" "/dev/dri/card0" #BusID "usb:0:1.2:1.0" Option "Monitor-DVI-I-1" "DVI-I-1" Option "ShadowFB" "on" Option "DoubleShadow" "on" EndSection ... Section "Screen" Identifier "SCREEN2" Option "AutoServerLayout" "on" Device "UDL" GPUDevice "Intel2" Monitor "Monitor-DVI-I-1" SubSection "Display" Modes "1024x768" Depth 24 EndSubSection EndSection Section "ServerLayout" Identifier "LAYOUT" Option "AutoServerLayout" "on" Screen 0 "SCREEN" Screen 1 "SCREEN1" RightOf "SCREEN" Screen 2 "SCREEN2" RightOf "SCREEN1" EndSection On the particular machine I was trying to set up an UDL device, I found the following structure was being used to match the device to a platform device while I was debugging the issue: xf86_platform_devices[0] == Intel, /dev/dri/card1, primary platform device xf86_platform_devices[1] == UDL, /dev/dri/card0 devList[0] == "Intel0", ZaphodHeads: DP1 devList[1] == "Intel1", ZaphodHeads: VGA1 devList[2] == "UDL" devList[3] == "Intel2", ZaphodHeads: HDMI1 (intended GPU device to UDL) When xf86platformProbeDev() matched the UDL device, the BusID check failed in both cases of: * BusID "usb:0:1.2:1.0" was specified * Option "kmsdev" "/dev/dri/card0" was specified As a result, xf86platformProbeDev() went on to call probeSingleDevice() with xf86_platform_devices[0] and devList[2], resulting in the UDL device being set up as a GPU device assigned to the first screen instead of as a framebuffer on the third screen as the configuration specified. Checking Option "kmsdev" in code code may be a layering violation. But the modesetting driver is actually part of the Xorg sources instead of being an external driver, so he "kmsdev" path knowledge may be used here. Signed-off-by:
Böszörményi Zoltán <zboszor@pr.hu>
-
- 11 Feb, 2020 6 commits
-
-
In between the two phases introduced by the previous change. This makes sure all pending drawing to the new buffers is flushed before they're committed to the Wayland server.
-
The first phase sets the new surface properties for all damaged windows, then the second phase commits all surface updates. This is preparatory for the next change, there should be no observable change in behaviour (other than the order of Wayland protocol requests). Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
This reverts commit 9e85aa9c . To be replaced with a better solution. Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
To prevent breakage with glamor disabled from creeping in again. Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
It's long and kind of redundant. Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
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: c66c548e "modesetting: Call glamor_finish from drmmode_crtc_set_mode" Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- 10 Feb, 2020 2 commits
-
-
Fixes: cb1b1e18 "modesetting: Indirect the glamor API through LoaderSymbol" Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
When a GPU is auto-bound adding more outputs to a screen, that needs to count as a configuration change on that screen so that a WM listening for RRScreenChangeNotify gets notified and handles it as a hotplug. This is particularly for cases where the outputs are already connected. Otherwise nothing might happen. Issue #909 describes a real world case where plugging in a DisplayLink dock with a monitor already connected is sometimes left inactive by GNOME. That issue is a race, and requires adding a sleep(5); as the first thing in NewGPUDeviceRequest() to reproduce reliably. With the sleep, the monitor in the dock will never activate automatically. Add this fix over the sleep, and the issue is gone. This fix was originally developed on a branch replicating Ubuntu 19.04 patch set based on xserver 1.20.4. Testing on master branch was impossible due to xorg/xserver#910. Closes: xorg/xserver#909 Signed-off-by:
Pekka Paalanen <pekka.paalanen@collabora.com> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
- 09 Feb, 2020 1 commit
-
-
* This prevents issues from creeping back in at a later stage.
-
- 05 Feb, 2020 1 commit
-
-
Dave Airlie authored
I introduced this error with the MST hotplug code, but it can trigger on zaphod setups, and is perfectly fine. There is no support for MST/hotplug on zaphod setups currently, so we can just skip over the dynamic connector handling here. However we shouldn't skip over the lease handling so move it into the codepath. Fixes: 9257b125 ("modesetting: add dynamic connector hotplug support (MST) (v3)") Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
-
- 31 Jan, 2020 1 commit
-
-
It flushes any pending drawing to the kernel, to make sure it'll be visible to the Wayland server. Without this, it was possible for the Wayland server to process surface commits before Xwayland got around to flushing the corresponding drawing, which could result in stale or even completely random window contents being visible. v2: * Make EGL backend post_damage hook mandatory, don't check for NULL in xwl_glamor_post_damage. (Olivier Fourdan) Closes: xorg/xserver#951 Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-
- 30 Jan, 2020 1 commit
-
-
Avoids a crash in xf86RotatePrepare -> DamageRegister during CreateScreenResources if rotation or another transform is configured for any connected RandR output in xorg.conf. The generic rotation/transform code generally can't work without the root window currently. Closes: xorg/xserver#969 Fixes: 094f42cd "xfree86/modes: Call xf86RotateRedisplay from xf86CrtcRotate" Acked-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- 29 Jan, 2020 1 commit
-
-
Daniel Llewellyn authored
You might as well, it's harmless. Better, some cleanup code (like DRI2 swap wait) needs to run both normally and at client exit, so it simplifies the callers to not need to check first. See 4308f5d3 for a similar example. Props: @ajax (Adam Jackson) Fixes: xorg/xserver#211 Signed-off-by:
Daniel Llewellyn <diddledan@ubuntu.com>
-
- 28 Jan, 2020 5 commits
-
-
There are no warnings left, so let's prevent new ones from creeping back in.
-
GCC warned about it: ../test/misc.c:36:19: warning: redundant redeclaration of ‘screenInfo’ [-Wredundant-decls] 36 | extern ScreenInfo screenInfo; | ^~~~~~~~~~ In file included from ../test/misc.c:30: ../include/scrnintstr.h:688:29: note: previous declaration of ‘screenInfo’ was here 688 | extern _X_EXPORT ScreenInfo screenInfo; | ^~~~~~~~~~
-
xcb_aux_parse_color takes a non-const pointer, even though it doesn't modify the string or take ownership of its memory. Avoids the following warning from GCC: ../hw/kdrive/ephyr/hostx.c: In function ‘hostx_init’: ../hw/kdrive/ephyr/hostx.c:683:30: warning: passing argument 1 of ‘xcb_aux_parse_color’ discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 683 | if (!xcb_aux_parse_color("red", &red, &green, &blue)) { | ^~~~~ In file included from ../hw/kdrive/ephyr/hostx.c:50: /usr/include/xcb/xcb_aux.h:194:27: note: expected ‘char *’ but argument is of type ‘const char *’ 194 | xcb_aux_parse_color(char *color_name, | ~~~~~~^~~~~~~~~~
-
There's a free(name) at the end of the function. GCC warned about this: ../hw/xfree86/loader/loadmod.c: In function ‘LoadModule’: ../hw/xfree86/loader/loadmod.c:702:18: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] 702 | m = name = "int10"; | ^
-
Adam Jackson authored
It's true that the value would always be -1, if it's not zero, but it's usually zero is the problem. As a result we return failure from otherwise successful indirect GLX paths, which isn't very nice of us. This reverts commit 7d33ab0f. Fixes: xorg/xserver#211
-
- 27 Jan, 2020 2 commits
-
-
* GCC 10 will switch the default to `-fno-common`. https://gcc.gnu.org/PR85678 Bug: https://bugs.gentoo.org/705880 Signed-off-by:
Matt Turner <mattst88@gmail.com>
-
This restricts an optimization whereby the filling of 1x1 pixmaps went around the driver-provided function to cases where the source color is meant to be directly copied to the destination, as opposed to other operations which should produce different destination values than just the foreground color. Signed-off-by:
George Matsumura <gmmatsumura01@bvsd.org> Reviewed-by:
Michel Dänzer <mdaenzer@redhat.com>
-
- 15 Jan, 2020 1 commit
-
-
E5ten authored
fixes #853
-
- 14 Jan, 2020 2 commits
-
-
For the miClearDrawable prototype. Apparently it doesn't get pulled in for some build configurations, breaking the build. Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
Kenneth Graunke authored
Commit 195c2ef8 added this to the Meson build but neglected to add it to autotools. v2: Also update dix-config.h.in Fixes: 195c2ef8 ("glamor: Add a function to get the driver name via EGL_MESA_query_driver") Reviewed-by: Michel Dänzer <mdaenzer@redhat.com> [v1] Reviewed-by: Eric Engestrom <eric@engestrom.ch> [v1] Reviewed-by:
Matt Turner <mattst88@gmail.com>
-
- 08 Jan, 2020 2 commits
-
-
Since commit d8ec33fe, an include on glxvndabi.h has been added to hw/xfree86/common/xf86Init.c However, if glx is disabled through --disable-glx and GLX headers are not installed in the build's environment, build fails on: In file included from xf86Init.c:81: ../../../include/glxvndabi.h:64:10: fatal error: GL/glxproto.h: No such file or directory 64 | #include <GL/glxproto.h> | ^~~~~~~~~~~~~~~ Fix this failure by removing this include which does not seem to be needed (an other option would have been to keep it under an ifdef GLXEXT block) Fixes: - http://autobuild.buildroot.org/results/de838a843f97673d1381a55fd4e9b07164693913 Signed-off-by:
Fabrice Fontaine <fontaine.fabrice@gmail.com>
-
The Etnaviv driver on GC2000 reports desktop OpenGL 1.3 but also OpenGL ES 2.0. However, with the modesetting driver, GLES2 never gets a chance: [ 11233.393] Require OpenGL version 2.1 or later. [ 11233.393] (EE) modeset(0): Failed to initialize glamor at ScreenInit() time. [ 11233.393] (EE) Fatal server error: [ 11233.395] (EE) AddScreen/ScreenInit failed for driver 0 Let's reject old desktop GL early on, just like XWayland seems to do. This is perhaps a slightly bit more complicated that one would expect, since we need to call eglMakeCurrent() before we query the GL version. Signed-off-by:
Lubomir Rintel <lkundrak@v3.sk>
-
- 06 Jan, 2020 5 commits
-
-
Fixes build failure. Closes: xorg/xserver#954 Fixes: 89e32d00 "xwayland: Move Xwayland windows to its own sources" Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-
In order to build-test the Xwayland eglstream code. Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-
This will make it easier to review changes. Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-
Making the image significantly smaller. Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-
The shared GitLab CI runners are configured for jobs making use of up to 4 CPU cores, attempting to use more may overload them. Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by:
Olivier Fourdan <ofourdan@redhat.com>
-