~thopiekar/xorg-server/+git/xorg-xserver-displaylink.Spintzyk:server-1.19-branch

Last commit made on 2019-03-02
Get this branch:
git clone -b server-1.19-branch https://git.launchpad.net/~thopiekar/xorg-server/+git/xorg-xserver-displaylink.Spintzyk

Branch merges

Branch information

Recent commits

9373915... by Brace Computer Laboratory

xserver 1.19.7

Signed-off-by: Kevin Brace <email address hidden>

a93f8f7... by Brace Computer Laboratory

Update configure.ac bug URL for gitlab migration

It is based on Alan Coopersmith's commit for various fd.o projects.

Signed-off-by: Kevin Brace <email address hidden>

af63efe... by Brace Computer Laboratory

Add 24-bit color support to exaGetPixmapFirstPixel

It appears that people who developed EXA forgot that there used to be
graphics devices that used 24-bits (3 bytes) instead of 32-bits (4 bytes)
in order to display one pixel. The lack of 24-bit color support inside
exaGetPixmapFirstPixel causes SiS 6326 to crash when running Xfce since
SiS 6326 does not support 32-bit color.

Signed-off-by: Kevin Brace <email address hidden>

56547b1... by Mario Kleiner

glx: Only assign 8 bpc fbconfigs for composite visuals.

Commit 91c42093b248 ("glx: Duplicate relevant fbconfigs for
compositing visuals") adds many new depth 32 fbconfigs as
composite visuals. On a X-Screen running at depth 24, this
also adds bgra 10-10-10-2 fbconigs, as they also have
config.rgbBits == 32, but these are not displayable on a
depth 24 screen, leading to visually corrupted desktops
under some compositors, e.g., fdo bug 104597 "Compton
weird colors" when running compton with
"compton --backend glx".

Be more conservative for now and only select fbconfigs with
8 bpc red, green, blue components for composite visuals.

Fixes: 91c42093b248 ("glx: Duplicate relevant fbconfigs for
                      compositing visuals")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104597
Signed-off-by: Mario Kleiner <email address hidden>
Reviewed-by: Thomas Hellstrom <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit bebcc8477c8070ade9dd4be7299c718baeab3d7a)

e96bd47... by Lyude Paul <email address hidden>

xwayland: Don't process cursor warping without an xwl_seat

Unfortunately, on my machine Xwayland immediately crashes when I try to
start it. gdb backtrace:

 #0 0x00007ffff74f0e79 in wl_proxy_marshal () from target:/lib64/libwayland-client.so.0
 #1 0x0000000000413172 in zwp_confined_pointer_v1_destroy (zwp_confined_pointer_v1=0x700000000)
     at hw/xwayland/Xwayland@exe/pointer-constraints-unstable-v1-client-protocol.h:612
 #2 0x0000000000418bc0 in xwl_seat_destroy_confined_pointer (xwl_seat=0x8ba2a0)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2839
 #3 0x0000000000418c09 in xwl_seat_unconfine_pointer (xwl_seat=0x8ba2a0)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2849
 #4 0x0000000000410d97 in xwl_cursor_confined_to (device=0xa5a000, screen=0x8b9d80, window=0x9bdb70)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland.c:328
 #5 0x00000000004a8571 in ConfineCursorToWindow (pDev=0xa5a000, pWin=0x9bdb70, generateEvents=1,
     confineToScreen=0) at /home/lyudess/Projects/xserver/dix/events.c:900
 #6 0x00000000004a94b7 in ScreenRestructured (pScreen=0x8b9d80)
     at /home/lyudess/Projects/xserver/dix/events.c:1387
 #7 0x0000000000502386 in RRScreenSizeNotify (pScreen=0x8b9d80)
     at /home/lyudess/Projects/xserver/randr/rrscreen.c:160
 #8 0x000000000041a83c in update_screen_size (xwl_output=0x8e7670, width=3840, height=2160)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:203
 #9 0x000000000041a9f0 in apply_output_change (xwl_output=0x8e7670)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:252
 #10 0x000000000041aaeb in xdg_output_handle_done (data=0x8e7670, xdg_output=0x8e7580)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-output.c:307
 #11 0x00007ffff50e9d1e in ffi_call_unix64 () at ../src/x86/unix64.S:76
 #12 0x00007ffff50e968f in ffi_call (cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>,
     avalue=<optimized out>) at ../src/x86/ffi64.c:525
 #13 0x00007ffff74f3d8b in wl_closure_invoke () from target:/lib64/libwayland-client.so.0
 #14 0x00007ffff74f0928 in dispatch_event.isra () from target:/lib64/libwayland-client.so.0
 #15 0x00007ffff74f1be4 in wl_display_dispatch_queue_pending () from target:/lib64/libwayland-client.so.0
 #16 0x00007ffff74f200b in wl_display_roundtrip_queue () from target:/lib64/libwayland-client.so.0
 #17 0x0000000000418cad in InitInput (argc=12, argv=0x7fffffffd9c8)
     at /home/lyudess/Projects/xserver/hw/xwayland/xwayland-input.c:2867
 #18 0x00000000004a20e3 in dix_main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
     at /home/lyudess/Projects/xserver/dix/main.c:250
 #19 0x0000000000420cb2 in main (argc=12, argv=0x7fffffffd9c8, envp=0x7fffffffda30)
    at /home/lyudess/Projects/xserver/dix/stubmain.c:34

This appears to be the result of xwl_cursor_confined_to() and
xwl_screen_get_default_seat(). While not against protocol, mutter ends
up sending xdg_output before wl_seat. xwl_screen_get_default_seat()
makes the naïve assumption that we always have a valid seat, we end up
returning a pointer to the empty list itself instead of an actual seat
and causing ourselves to segfault.

So, actually return NULL in xwl_screen_get_default_seat() if the seat
list is empty, and skip any pointer confinement processing in
xwl_cursor_confined_to() when we don't have a seat setup yet.

Signed-off-by: Lyude Paul <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit 98edb9a35e2cdd61355656b82975d7f2b6a9f0e6)

61d3f56... by Alex Goins

randr: Fix rotation check in ProcRRSetScreenSize()

ProcRRSetScreenSize() does bounds checking to ensure that none of the CRTCs have
a viewport that extends beyond the new screen size. In doing so, it accounts for
if the CRTC is rotated 90 or 270 degrees, swapping width and height.

However, it does so by testing if crtc->rotation is equal to RR_Rotate_90 or
RR_Rotate_270. crtc->rotation is a bit mask, and it includes reflection as well
as rotation. If a CRTC is reflected as well as rotated, it will incorrectly fail
this test, resulting in incorrect dimensions being used to verify the validity
of the new screen size. In some cases, this can cause valid uses of
ProcRRSetScreenSize() to fail with BadMatch.

This patch fixes the issue by testing that the bits RR_Rotate_90 or
RR_Rotate_270 are set, rather than testing for equality.

Signed-off-by: Alex Goins <email address hidden>
Reviewed-by: Michel Dänzer <email address hidden>
(cherry picked from commit 6b26a7bda9efa93440734ede0382a3e9a6761365)

cb908a7... by Jeff Smith <email address hidden>

glamor: tidy up some gradient color formulas

- Avoid some needlessly complex equations for calculating the color at a
  point in a gradient field.
- Avoid calculating certain values multiple times.
- Use similar variable names across the two versions of the get_color
  function where practical.

Signed-off-by: Jeff Smith <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit ff410c56bfd6dcdf5d252ef0ba3f4c6fde91774b)

b41bb81... by Jeff Smith <email address hidden>

glamor: remove unused variables in linear gradient shader

Signed-off-by: Jeff Smith <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit 3bd17dff1ac5a4685a5da92a9982f621effee658)

c715645... by Jeff Smith <email address hidden>

glamor: fix no-reflect case for gradients

When compositing a no-reflect gradient, 'before' the gradient is empty,
but 'after' the gradient is padded with the final color. Both sides are
supposed to be empty.

This is fixed by moving the virtual stops to match the first and last
client-supplied stops for no-reflect gradients, then causing everything
'before' the initial virtual stop and 'after' the final virtual stop to
emit rgba(0,0,0,0). This does not impact gradients using the other
reflect modes.

Signed-off-by: Jeff Smith <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit 5815c7b5951fd46d69e5c40144b64e516c7afdbf)

38e6fb7... by Jeff Smith <email address hidden>

glamor: fix repeat-reflect case in linear gradient shader

If _pt_distance is negative, it causes the final distance to be negative
in the repeat-reflect case. Moving the scaling by _pt_distance earlier
avoids this problem, and simplifies some equations as a bonus.

Bugzilla: https://bugs.freedesktop.org/98508
Signed-off-by: Jeff Smith <email address hidden>
Reviewed-by: Adam Jackson <email address hidden>
(cherry picked from commit 3e377e238f7257fd01e56a4a25dfd77e033673e4)