- Apr 02, 2018
-
-
Adam Jackson authored
Signed-off-by: Adam Jackson <ajax@redhat.com>
-
The framebuffer can include multiple CRTCs in multi-monitors setup. So we shouldn't use the buffer size but the CRTC size instead. Rotated displays are shadowed, so we don't need to worry about it there. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Tested-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-
Fixes a regression caused by modifiers support. For some hw to continue working even if not supporting ARGB8888 and ARGB2101010 formats, we assume that all imported BOs are opaque. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Tested-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-
Otherwise the same content is shown on all outputs. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Daniel Stone <daniels@collabora.comM>
-
The code referenced was removed back in 2009. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
-
The respective ISA functions were dropped back in 2008 Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
-
pixman headers will be included for builds of external modules against the xorg-server SDK. Make sure pixman is listed as a required module so that the correct CFLAGS will be added. Note that the xorg-server.pc generated by the autotools-based build has many more modules listed, but this seems to be enough to build at least some of the external drivers against an X server built with Meson (I've tested with xf86-input-libinput, xf86-video-nouveau and xf86-video-ati). Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
-
Install missing headers to the SDK directory to allow external modules to properly build against the SDK. After this commit, the list of files installed in the SDK include directory is the same as the list of files installed by the autotools-based build. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
-
Querying a pkg-config variable using the --variable option produces the value of the given variable as stored in the pkg-config file and should not be used to add directories to the include search path. The reason for this is that it breaks cross-compilation, because header files are installed relative to the host sysroot. pkg-config supports a PKG_CONFIG_SYSROOT_DIR environment variable that points to this sysroot and will prepend that to the path of directories in -I or -L options in pkg-config's Cflags, Libs or Libs.private keywords. However, because no context can be inferred from variable names, as opposed to the keywords with fixed meaning, the sysroot path will not be prepended to them. The build system is responsible for doing so if necessary since it is aware of the context in which the variable is used. Adding the include directory returned by pkg-config to the include path leaks build system information into the cross-build and break with very confusing errors such as this: In file included from include/misc.h:82:0, from dix/atom.c:55: /usr/include/pthread.h:682:6: warning: '__regparm__' attribute directive ignored [-Wattributes] __cleanup_fct_attribute; ^~~~~~~~~~~~~~~~~~~~~~~ or this: In file included from include/misc.h:139:0, from dix/atom.c:55: /usr/include/stdlib.h:133:8: error: '_Float128' is not supported on this target extern _Float128 strtof128 (const char *__restrict __nptr, ^~~~~~~~~ Fix this by replacing the include directory with the appropriate xproto dependency required to add the correct include directory to the compile command for subdirectories that are missing the dependency. As detailed above, this gives pkg-config the opportunity to prepend the sysroot for all paths in -I compiler options. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
-
drmmode_output_dpms is called especially with !output->crtc found in xf86DisableUnusedFunctions so we have to guard for it, else the server segfaults: 0 0x00007fdc1706054b in drmmode_output_dpms (output=0x55e15243c210, mode=3) at drmmode_display.c:2243 1 0x000055e1500b6873 in xf86DisableUnusedFunctions (pScrn=0x55e152133f00) at xf86Crtc.c:3021 2 0x000055e1500be940 in xf86RandR12CrtcSet (pScreen=<optimized out>, randr_crtc=0x55e1524b2b90, randr_mode=0x0, x=0, y=0, rotation=<optimized out>, num_randr_outputs=0, randr_outputs=0x0) at xf86RandR12.c:1244 3 0x000055e1500fa1c2 in RRCrtcSet (crtc=<optimized out>, mode=0x0, x=0, y=0, rotation=rotation@entry=1, numOutputs=numOutputs@entry=0, outputs=0x0) at rrcrtc.c:763 4 0x000055e1500fba9e in ProcRRSetCrtcConfig (client=0x55e152bfae50) at rrcrtc.c:1390 5 0x000055e150044008 in Dispatch () at dispatch.c:478 6 0x000055e150047ff8 in dix_main (argc=13, argv=0x7ffc68561038, envp=<optimized out>) at main.c:276 7 0x00007fdc1a0c6a87 in __libc_start_main () at /lib64/libc.so.6 8 0x000055e150031d0a in _start () at ../sysdeps/x86_64/start.S:120 Fixes: ba0c7517 ("modesetting: Fix up some XXX from removing GLAMOR_HAS_DRM_*") Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
With the appearance of the this new Option the X Server would crash if the option is not set. Default dmabuf_capable to off/FALSE for now - a user without knowledge about this option does not want to enable it until its save. Fixes: d11d5bb8 ("glamor: Hide new DRI behind Option "Debug" "dmabuf_capable") Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
- Mar 28, 2018
-
-
Adam Jackson authored
Signed-off-by: Adam Jackson <ajax@redhat.com>
-
Adam Jackson authored
... if available, falling back to the current heuristics otherwise. This _finally_ gets me to being able to run util/modular/release.sh without overriding $prefix. Signed-off-by: Adam Jackson <ajax@redhat.com>
-
Adam Jackson authored
... for xfree86, at least for now. Things appear to work for Xwayland but not yet for modesetting. Hopefully we can fix that before 1.20 but in the meantime this makes testing both paths easier than a rebuild. Signed-off-by: Adam Jackson <ajax@redhat.com>
-
Adam Jackson authored
This provides a generic way to control obscure runtime behavior knobs without making interface promises. Signed-off-by: Adam Jackson <ajax@redhat.com>
-
Trivial way to reproduce the bug: $ Xorg -logfile /tmp/mylog -config /etc/xpra/xorg.conf -displayfd 2 The server then moans: Failed to rename log file "/tmp/mylog" to "/tmp/mylog": No such file or directory And the log file is created but immediately renamed to "/tmp/mylog.old". This is caused by the changes to the log file handling introduced by this commit: https://cgit.freedesktop.org/xorg/xserver/commit/?id=edcb6426f20c3be5dd5f50b76a686754aef2f64e To fix this, only rename the logfile if the log filename contains the magic substitution string "%s". Signed-off-by: Antoine Martin <antoine@nagafix.co.uk> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-
Automake would skip a few meson files that would prevent to build with meson a dist file previously generated by automake. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Reviewed-by: Thierry Reding <treding@nvidia.com>
-
When a callback list is initialized using CreateCallbackList via AddCallback, the list gets added to the listsToCleanup array, and as a result the list gets deleted at the end of the server generation. But, vendor libraries add themselves to that callback list only once, not once per generation, so if you delete the list, then no vendor will register itself on the next generation, and GLX breaks. Instead, use a static CallbackListRec for the extensionInitCallback list. That way, it doesn't get added to listsToCleanup, and doesn't get deleted during a reset. Reviewed-by: Adam Jackson <ajax@redhat.com>
-
We don't use flink in the GetFB import path anymore, as we do an FD-based import instead. Signed-off-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
-
Link the newly introduced support for Present flips. For now flips can only be used in rootless mode together with Glamor. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Queue present events to msc values. Fake msc events with a refresh rate of about 60fps when flips are not possible. When flips are executed rely on frame callbacks with a slow updating timer as fallback. This is important for applications, that want to limit their framerate. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
When the compositor is not sending frame callbacks while we still wait on buffer release events fake a continuous msc counter with a timer. Having this timer is a prerequisite for queuing events. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Introduce support for Present's window flip mode. The support is not yet complete, but works reasonable well for the most important use case, that is fullscreen applications. We take a Present flip and if the xwl_window->window has the same dimensions as the presenting window, the flip is represented by a wl_buffer and attached to the main wl_surface of the xwl_window. After commit we are listening for the sync callback in order to tell Present, that the pixmap flip is not longer pending, for the frame callback in order to update the msc counter and for the buffer release callback in order to tell Present that the pixmap is idle again. The following functionality is missing from this patch: * (slowed down) flips in case the compositor is not sending frame callbacks, * queuing events to MSC times, * per window flips for child windows with smaller size than the xwl_window. To make use of this functionality Xwayland must run rootless and with Glamor/GBM. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Add arguments to give the caller more information and control over the creation of a wl_buffer with GBM, in particular let the caller determine the size of the buffer. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Allow drivers now to initialize window flip mode. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Make sure that vblanks and windows get cleaned up correctly in window flip mode. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Calculate damage before trying to flip and report it to the driver. This allows drivers to optimize their rendering. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
In contrast to screen flip mode this mode: * supports flips per windows (these windows currently need to have the same size as their parent windows with the same pixmap), * sends pixmap idle signals to the client only after the driver has given an additional event notify. This patch only introduces the new mode as a stub. It additionally needs a driver hook, such that it can get initialized and appropriate cleanup functions. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
To enable special functionality of window flips introduce for window flips a separate set of driver facing function hooks. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Flipping pixmaps per window needs additional arguments in the flip mode API. Add these as preperation for window flip mode. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Introduce vblank property for flip modes, that demand explicite allowance by the driver for vblanks to become idle. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
For window flip mode data about flips needs to be stored per window. Add properties to 'present_window_priv' and initialize them on creation. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
To initialize easily different flip modes, refactor 'present_screen_init'. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Add hooks to query caps, get crtcs, abort vblanks and destroy a flip. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
To reduce future code duplication refactor timings adjustment out as a separate function. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Flip modes can now have different implementations of present_can_window_flip. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Make present_pixmap a common function callable by any flip mode. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
To be shared by multiple flip modes, refactor execute functionality, such that logical chunks can go in new separate file. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
Add 'queue_vblank', 'flush' and 're_execute' hooks, that are supposed to be shared with other flip modes. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-
With the new internal flip mode API move vblank creation and so on into a seperate file, such that it can be shared between flip modes. Signed-off-by: Roman Gilg <subdiff@gmail.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-