- Jan 30, 2019
-
-
Instead of testing window->redirectDraw. With Xwayland, the toplevel window is always redirected, so this would unnecessarily preclude flipping there in some cases, e.g. with wlroots based Wayland compositors or with fullscreen X11 windows in weston. Fixes issue #631.
-
Adam Jackson authored
The VGA arbiter controls the PCI bus' routing of legacy VGA resources, specifically the video memory aperture at 0xa0000-0xb0000 (640k should be etc.) and a handful of I/O ports. Since 128k is far too small for a real framebuffer these days, every driver instead maps a linear version of VRAM through the PCI BAR. And no DRI2 drivers ever need I/O port access, because all operations they might be used for (legacy VGA CRTC setup, mostly) happen on the kernel side. In other words, this just works, and we can stop breaking it. Signed-off-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Dave Airlie <airlied@redhat.com>
-
- Jan 26, 2019
-
-
A. Wilcox authored
A user of Adélie Linux reported that modesetting wasn't working properly on their Intel i7-9700K-integrated UHD 630 GPU. Xorg.0.log showed: [ 131.902] (EE) modeset(0): [DRI2] No driver mapping found for PCI device 0x8086 / 0x3e98 [ 131.902] (EE) modeset(0): Failed to initialize the DRI2 extension. Indeed, that PCI ID is missing from i965_pci_ids. Adding it fixed the issue and allowed the system to work with i965_dri under modesetting.
-
- Jan 16, 2019
-
-
Adam Jackson authored
'disp' was already allocated by LookupVendorPrivDispatch above, clobbering it will do no good. Signed-off-by:
Adam Jackson <ajax@redhat.com>
-
Both because extension names are inconsistently capitalized on the wire, and because the table we're walking spells it COMPOSITE not Composite. The latter is certainly also a bug, but there's no reason for us to be that strict. Signed-off-by:
Adam Jackson <ajax@redhat.com>
-
Neither opening a screen nor querying its modifiers confers the right to attach the buffer for any particular pixmap. GetAttr seems more correct. Fixes: xorg/xserver#550
-
The only thing using this anymore is the i810 driver, so this can safely be disabled on non-i686 builds. Signed-off-by:
Adam Jackson <ajax@redhat.com>
-
- Jan 11, 2019
-
-
All of the null checks here are redundant, you can't get to those paths unless RANDR's already been initialized. Delete them, and remove the pointer too. Signed-off-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
If the driver calls xf86HandleColormaps, CMapChangeGamma updates the HW gamma LUT of all CRTCs via xf86RandR12LoadPalette. However, xf86RandR12ChangeGamma was then clobbering the gamma LUT of the RandR 1.2 compatibility output's CRTC with the gamma curves computed from the screen's global gamma values. Fix this by bailing if xf86RandR12LoadPalette is installed. Fixes: 02ff0a5d "xf86RandR12: Fix XF86VidModeSetGamma triggering a BadImplementation error"
-
- Jan 10, 2019
-
-
From https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_image_pixmap.txt * If <target> is EGL_NATIVE_PIXMAP_KHR, and <ctx> is not EGL_NO_CONTEXT, the error EGL_BAD_PARAMETER is generated. Fixes: a5321ea4 ("Allow to create textured pixmaps from gbm_bo without using gem names")
-
Not all platforms provide EGL_KHR_no_config_context, this ensures that eglCreateContext works on such platforms by querying for a config.
-
-
Maya Rashish authored
-
- Jan 09, 2019
-
-
Olivier Fourdan authored
Xwayland creates and destroys the CRTC along with the Wayland outputs, so there is possibly a case where the number of CRTC drops to 0. However, `xwl_present_get_crtc()` always return `crtcs[0]` which is invalid when `numCrtcs` is 0. That leads to crash if a client queries the Present capabilities when there is no CRTC, the backtrace looks like: #0 raise() from libc.so #1 abort() from libc.so #2 OsAbort() at utils.c:1350 #3 AbortServer() at log.c:879 #4 FatalError() at log.c:1017 #5 OsSigHandler() at osinit.c:156 #6 OsSigHandler() at osinit.c:110 #7 <signal handler called> #8 main_arena() from libc.so #9 proc_present_query_capabilities() at present_request.c:236 #10 Dispatch() at dispatch.c:478 #11 dix_main() at main.c:276 To avoid returning an invalid pointer (`crtcs[0]`) in that case, simply check for `numCrtcs` being 0 and return `NULL` in that case. Thanks to Michel Dänzer <michel.daenzer@amd.com> for pointing this as a possible cause of the crash. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com> Bugzilla: https://bugzilla.redhat.com/1609181
-
- Jan 07, 2019
-
-
Roman Gilg authored
Since 08843efc KWin was not able to start a Wayland session. Independently of listen_fd_count add_client_fd must be called. Same holds for the wm_selection_callback. Therefore just remove the condition. Bugzilla: https://bugs.freedesktop.org/109220 Signed-off-by:
Roman Gilg <subdiff@gmail.com>
-
- Jan 02, 2019
-
-
Alan Coopersmith authored
Fixes: xorg/xserver#469 Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Dec 21, 2018
-
-
Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- Dec 20, 2018
-
-
As long as the storage format is compatible. v2: * Remove explicit cases for formats handled by the default case. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Fixes x2r10g10b10 related rendercheck failures. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- Dec 17, 2018
-
-
This reverts commit 899d2607. No longer necessary with the previous changes. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
Although piglit could now handle non-ASCII characters in the environment, meson was still failing without this (even though it's using Python 3). Reviewed-by:
Eric Anholt <eric@anholt.net>
-
The latter use Python 2 and break with any non-ASCII characters in the environment, the former uses Python 3 and works fine in that case. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
This removes the dependency on an externally generated docker image, and should make it easier to update the docker image or make other changes related to it. This is based on Debian testing, because I'm most familiar with Debian. But it should be easy to base it on another distro. v2: * Use kaniko instead of docker-in-docker for image generation, so it can also work in unprivileged runners. * Drop piglit.conf & tetexec.cfg overrides, just make sure the files in the image work.
-
Fold build-travis-deps.sh into .gitlab-ci.yml. Preparation for the next change, which would break the Travis Linux build. Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- Dec 14, 2018
-
-
Jon Turney authored
v2: has_link_argument requires meson 0.46.0
-
Peter Hutterer authored
Broken since 69d8ea4a because our fake screen didn't have a root window and writing the XKB rules prop would happily segfault. Fix this by setting up the required bits. Signed-off-by:
Peter Hutterer <peter.hutterer@who-t.net> Tested-by:
Michel Dänzer <michel.daenzer@amd.com>
-
- Dec 12, 2018
-
-
Can be useful for figuring out what caused the failure.
-
The prefix setting didn't take for some reason.
-
- Dec 11, 2018
-
-
The `LimitClient` is set once and for all at startup, whereas the function `ResourceClientBits()` which returns the client field offset within the XID based on the value of `LimitClient` can be called repeatedly. Small optimization, cache the result of `ilog2()`, that saves running the same loop over and over each time `ResourceClientBits()` is called. Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com>
-
Noticed when porting this logic to xf86-video-nouveau, and valgrind complained about conditional jump based on uninitialized data. Signed-off-by:
Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by:
Pekka Paalanen <pekka.paalanen@collabora.com>
-
Adam Jackson authored
Gitlab very kindly exposes the details of the git commit message (among much else) in the environment. Unfortunately, piglit tries to handle the environment in non-UTF8-safe ways, which means if the top-of-tree commit mentions non-ASCII characters (say, in the author's name) then all the tests fail and so does the pipeline. Fortunately none of those variables are things our piglit invocation needs. Since I've failed to rebuild the docker image as yet, just clear the likely variables from the environment before running piglit. This-makes-me:
-
- Nov 29, 2018
-
-
Adam Jackson authored
Fixes: xorg/xserver#17
-
Signed-off-by:
Lionel Landwerlin <lionel.g.landwerlin@intel.com>
-
Believe it or not, somehow we've never done this in legacy mode! We currently simply change the DPMS property on the CRTC's output's respective DRM connector, but this means that we're just setting the CRTC as inactive-not disabled. From the perspective of the kernel, this means that any shared resources used by the CRTC are still in use. This can cause problems for drivers that are not yet fully atomic, despite using the atomic helpers internally. For instance: if CRTC-1 and CRTC-2 are still enabled and use shared resources within the kernel (an MST topology, for example), and then userspace tries to go enable CRTC-3 on the same topology this might suddenly fail if CRTC-3 needs the shared resources CRTC-1 and CRTC-2 are using. While I don't know of any situations in the mainline kernel that actually trigger this, future plans for reworking the atomic check of MST drivers are absolutely going to make this into a real issue (they already are in my WIP branches for the kernel). So: actually do the right thing here and disable CRTCs when they're not going to be used anymore, even in legacy mode. Signed-off-by:
Lyude Paul <lyude@redhat.com>
-
- Nov 25, 2018
-
-
Alan Coopersmith authored
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
Signed-off-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- Nov 19, 2018
-
-
The buffer release queue has two kinds of entries: * Pending async flips. * Completed flips waiting for their buffer to be released by the Wayland compositor. xwl_present_timer_callback neither completes async flips nor releases buffers, so the timer isn't needed for the buffer release queue.
-
Fixes issue #12. Presumably the problem was that Present operations on unmapped windows were executed immediately instead of only when reaching the target MSC.
-
When a window is unrealized, a pending frame callback may never be called, which could result in repeatedly freezing until the frame timer fires after a second. Fixes these symptoms when switching from fullscreen to windowed mode in sauerbraten.
-
There's no need to keep track of the window which last performed a Present flip. This fixes crashes due to the assertion in xwl_present_flips_stop failing. Fixes issue #10. The damage generated by a flip only needs to be ignored once, then xwl_window::present_flipped can be cleared. This may fix freezing in the (hypothetical) scenario where Present flips are performed on a window, followed by other drawing requests using the window as the destination, but nothing triggering xwl_present_flips_stop. The damage from the latter drawing requests would continue being ignored.
-