"README.md" did not exist on "11ac72d033b9f577e8ba0c7a41d1c312bb232593"
- Aug 27, 2018
-
-
Keith Packard authored
This ensures that present clients generate output suitable for the size of the presented area. Signed-off-by:
Keith Packard <keithp@keithp.com>
-
- Jun 08, 2018
-
-
The incorrect values could result in the new pixmap's contents getting corrupted down the line. v2: * Guard screen_x/y lines by #ifdef COMPOSITE Bugzilla: https://bugs.freedesktop.org/106841 Fixes: 029608dd "present: Add window flip mode" Reviewed-by: Adam Jackson <ajax@redhat.com> # v1 Reviewed-by: Keith Packard <keithp@keithp.com> # v1 Reviewed-by:
Roman Gilg <subdiff@gmail.com> Tested-by: Olivier Fourdan <ofourdan@redhat.com> # v1
-
- May 08, 2018
-
-
Adam Jackson authored
The code would fall through to the PresentIdleNotify case, and nothing good would come of it. Signed-off-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Alan Coopersmith <alan.coopersmith@oracle.com>
-
- May 02, 2018
-
-
Instead of getting the current msc value from the window, which might be different to old one directly take the last saved msc value saved in the window_priv struct. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- Apr 02, 2018
-
-
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>
-
- Mar 28, 2018
-
-
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>
-
Add some basic function hooks to our future present-internal flip mode API, that will allow us to share functionality in between modes and move more code in separate files. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
As a preperation for future flip mode alternatives move most of the functionality from 'present.c' into a separate file. Leave some functions needed by future other flip modes in 'present.c'. Signed-off-by:
Roman Gilg <subdiff@gmail.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- Mar 19, 2018
-
-
As per the protocol, the server should not return version greater than the one supported by the client. Add a spec quote and tweak the numbers accordingly. Fixes: 5c5c1b77 ("present: Add Present extension") Cc: Thierry Reding <treding@nvidia.com> Cc: Daniel Stone <daniels@collabora.com> Cc: Keith Packard <keithp@keithp.com> Reviewed-by:
Adam Jackson <ajax@redhat.com> Signed-off-by:
Emil Velikov <emil.velikov@collabora.com>
-
- Mar 05, 2018
-
-
Implement function added in DRI3 v1.1. A newest version of libepoxy (>= 1.4.4) is required as earlier versions use a problematic version of Khronos EXT_image_dma_buf_import_modifiers spec. v4: Only send scanout-supported modifiers if flipping is possible v5: Fix memory corruption in XWayland (uninitialized pointer) Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com> Acked-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
Add 'check_flip2' hook for driver to let know the core about why flipping is not possible ('reason'). If it is because of unsupported buffer format/modifier, a PresentCompleteNotify event is sent to the client with the PresentCompleteModeSuboptimalCopy mode. v2: Check for PresentOptionSuboptimal and check driver version before using 'check_flip2'. v3: Only require one of 'check_flip' or 'check_flip2' to be implemented by the driver. Refactor reasons list to enum Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by:
Daniel Stone <daniels@collabora.com> Acked-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Adam Jackson <ajax@redhat.com>
-
- Jan 24, 2018
-
-
This reverts commit 5c00e693. It broke the Gallium nine state tracker, which makes PresentPixmap requests on one display connection and processes the corresponding events on another one. The issue that motivated this change is prevented on the client side by https://cgit.freedesktop.org/mesa/mesa/commit/?id=7b0e8264dd21ae05521d08d41fecd84139401fef Bugzilla: https://bugs.freedesktop.org/104678
-
- Nov 23, 2017
-
-
We were sending the events to all clients listening for them on the window. But clients can get confused by events from another client, and I can't imagine any case where receiving events from other clients would be required. v2: * Also restrict events sent to additional windows to the presenting client * Don't shorten line lengths Reviewed-by:
Keith Packard <keithp@keithp.com>
-
- Oct 04, 2017
-
-
Later events are sometimes added in front of the queue (e.g. if page flipping fails) so we need to check the whole queue on event. Signed-off-by:
Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
- Sep 20, 2017
-
-
The extension was using the name CARD64 to represent 64-bit values, with a #define from CARD64 to XSyncValue, a struct with a pair of 32-bit values representing a signed 64-bit value. This interfered with protocol headers using CARD64 to try to actually store a uint64_t. Now that stdint.h exists, let's just use that here, instead. v2: Fix alarm delta changes. v3: Do the potentially overflowing math as uint and convert to int afterward, out of C spec paranoia. Signed-off-by:
Eric Anholt <eric@anholt.net> Reviewed-by:
Keith Packard <keithp@keithp.com>
-
- Apr 26, 2017
-
-
Emma Anholt authored
This is a work in progress that builds Xvfb, Xephyr, Xwayland, Xnest, and Xdmx so far. The outline of Xquartz/Xwin support is in tree, but hasn't been built yet. The unit tests are also not done. The intent is to build this as a complete replacement for the autotools system, then eventually replace autotools. meson is faster to generate the build, faster to run the bulid, shorter to write the build files in, and less error-prone than autotools. v2: Fix indentation nits, move version declaration to project(), use existing meson_options for version-config.h's vendor name/web. Signed-off-by:
Eric Anholt <eric@anholt.net> Acked-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
-
- Mar 01, 2017
-
-
Adam Jackson authored
This touches everything that ends up in the Xorg binary; the big missing part is GLX since that's all generated code. Cuts about 14k from the binary on amd64. Signed-off-by:
Adam Jackson <ajax@redhat.com> Reviewed-by:
Eric Anholt <eric@anholt.net>
-
- Feb 08, 2017
-
-
Works fine now. Reviewed-by:
Alex Deucher <alexander.deucher@amd.com> Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com>
-
- Feb 01, 2017
-
-
This prevents the tearing of moving window in a composite WM desktop when output slave is attached but none of its crtc is really active. Signed-off-by:
Qiang Yu <Qiang.Yu@amd.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
- Jan 10, 2017
-
-
We are no longer using the present_flip_queue list only for presents which have already been submitted to the driver for page flipping, but also for those which we are queueing up to be flipped later, marked with vblank->queued == TRUE. We were incorrectly calling present_flip_notify for such entries, failing the assertion in present_flip_notify (or presumably resulting in other undesirable behaviour with assertions disabled). Reproduction recipe: Run the JavaFX test case referenced by https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out of it while it's fullscreen. May take a few attempts to hit the assertion failure. Fixes: bab0f450 ("present: Fix presentation of flips out of order") Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854 Reviewed-by:
Alex Deucher <alexander.deucher@amd.com>
-
- Aug 15, 2016
-
-
Plug a leak in present_fake_queue_vblank() where the OsTimer would not be freed. 492,608 (482,816 direct, 9,792 indirect) bytes in 15,088 blocks are definitely lost in loss record 3,954 of 3,954 at 0x4C2ABDE: malloc (in vgpreload_memcheck-amd64-linux.so) by 0x586B19: TimerSet (WaitFor.c:433) by 0x4F1AA9: present_fake_queue_vblank (present_fake.c:108) by 0x4F15E0: present_pixmap (present.c:954) by 0x4F23B4: proc_present_pixmap (present_request.c:138) by 0x552BCE: Dispatch (dispatch.c:430) by 0x556C22: dix_main (main.c:300) by 0x6F0D290: (below main) (in /usr/lib/libc-2.24.so) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97065 Signed-off-by:
Olivier Fourdan <ofourdan@redhat.com> Reviewed-by:
Michel Dänzer <michel.daenzer@amd.com>
-
We were asserting that these were called before from other places, but that isn't always the case, e.g. during server shutdown. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96951 Reported-and-Tested-by:
Tod Jackson <tod.jackson@gmail.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com> Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com>
-
Easier than dealing with it in all paths that can end up here during server shutdown. Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com> Reviewed-by:
Hans de Goede <hdegoede@redhat.com>
-
- Jul 30, 2016
-
-
From the Present extension specification: An event context is associated with a specific window; using an existing event context with a different window generates a Match error. If eventContext specifies an existing event context, then if eventMask is empty, PresentSelectInput deletes the specified context, otherwise the specified event context is changed to select a different set of events. If eventContext is an unused XID, then if eventMask is empty no operation is performed. Otherwise, a new event context is created selecting the specified events. Without this change, there's no way for a client to explicitly change or destroy an existing event mask entry. Trying to do so as specified above would just result in a protocol error. v2: (Keith Packard) * Use dixLookupResourceByType instead of walking window_priv->events * Return BadMatch if the existing event context is associated with a different window or client * Call LEGAL_NEW_RESOURCE again when creating a new event context * Drop invalid "leak fix" Signed-off-by:
Michel Dänzer <michel.daenzer@amd.com> Signed-off-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Keith Packard <keithp@keithp.com> Reviewed-by:
Kenneth Graunke <kenneth@whitecape.org>
-
- Jul 28, 2016
-
-
present_restore_screen_pixmap's work doesn't need to be done several times for the same pending flip. Fixes a crash if the X server quits while a flip is pending, in which case present_set_abort_flip may be called several times, including when screen->root is already cleared to NULL. Reviewed-by:
Hans de Goede <hdegoede@redhat.com>
-