summaryrefslogtreecommitdiff
path: root/include/X11/extensions
AgeCommit message (Collapse)Author
2024-07-23securproto.h: fix missing include of Xmd.hHEADmasterEnrico Weigelt, metux IT consult
This header needs a bunch of types defined in Xmd.h. Consumers currently need to explicitly care about correct include order, which isn't exactly gently programming style. Instead headers should include anything they need themselves. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/90>
2024-05-07recordproto.h: fix missing include of Xmd.hEnrico Weigelt, metux IT consult
This header needs a bunch of types defined in Xmd.h. Consumers currently need to explicitly care about correct include order, which isn't exactly gently programming style. Instead headers should include anything they need themselves. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/merge_requests/90>
2024-03-25Present: add PresentPixmapSyncedErik Kurzinger
Adds an augmented version of PresentPixmap supporting explicit synchronization with a direct rendering device. This takes the form of timeline DRM synchronization objects, along with acquire and release points on those timelines. Implementations advertising PresentCapabilitySyncobj will wait for the acquire point to be signaled before executing the PresentPixmap request, and signal the release point after any GPU operations on the pixmap have completed. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
2024-03-22DRI3: add DRI3ImportSyncobj and DRI3FreeSyncobjErik Kurzinger
Adds new protocol to the DRI3 extension for importing DRM synchronization objects provided by clients. These can be used to enable explicit synchronization between the client, the direct rendering device, and the server. Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
2023-06-13presentproto: Update version number to 1.3Olivier Fourdan
Bump the presentproto version to 1.3 in the pkg-config file, presentproto.txt and presenttokens.h. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com> Fixes: 5a3d5d624 - present: add PresentOptionAsyncMayTear
2023-06-01Allow client to force server to terminate if it exitsDemi Marie Obenour
This is intended to be used by screen lockers, where the server must exit if the screen locker does, to avoid a security hole. As suggested by Alan Coopersmith, this is implemented using a new flag for the disconnect mode of the XFixes extension. Includes wording suggestions from Peter Hutterer. Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
2023-05-24present: add PresentOptionAsyncMayTearXaver Hugl
2023-03-19XvMCproto.h: remove ; from the end of sz_* definitionsAlan Coopersmith
Fixes compiler errors of "unexpected ';' before ')'" when calling the SIZEOF macro on XvMC requests. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-02-24Remove "All rights reserved" from Oracle copyright noticesAlan Coopersmith
Oracle no longer includes this term in our copyright & license notices. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-08-05Add the XWAYLAND extensionPeter Hutterer
This extension exists to serve one purpose: reliably identifying Xwayland. Previous attempts at doing so included querying root window properties, output names or input device names. All these attempts are somewhat unreliable. Instead, let's use an extension - where that extension is present we have an Xwayland server. Clients should never need to do anything but check whether the extension exists through XQueryExtension/XListExtensions. This extension provides a single QueryVersion request only, and that is only to provide future compatibility if we ever need anything other than "this extension exists" functionality. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2022-05-25DRI3: Add DRI3SetDRMDeviceInUseAustin Shafer
DRI3SetDRMDeviceInUse is a hint that lets a client tell the server what DRM device it is currently using. This lets the server make more informed decisions for what modifiers to return to the client. This is needed for proper linux dmabuf feedback with Xwayland
2021-05-11include: Add support for XI 2.4 gesture input eventsPovilas Kanapickas
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-04-29xfixes: Add ClientDisconnectModeOlivier Fourdan
The Xserver itself is capable of terminating itself once all X11 clients are gone, yet in a typical full session, there are a number of X11 clients running continuously (e.g. the Xsettings daemon, IBus, etc.). Those always-running clients will prevent the Xserver from terminating, because the actual number of X11 clients will never drop to 0. To solve this issue directly at the Xserver level, this add new entries to the XFixes extension to let the X11 clients themselves specify the disconnect mode they expect. Typically, those X11 daemon clients would specify the disconnect mode XFixesClientDisconnectFlagTerminate to let the Xserver know that they should not be accounted for when checking the remaining clients prior to terminate. Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2020-10-10XKB: Mark key name arrays as not NUL-terminated stringsAlan Coopersmith
They are fixed length (4 characters), and don't need NUL-terminators. This makes gcc stop warning when they're not NUL-terminated, and instead warn if they are passed to functions expecting NUL-terminated strings. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2020-08-08Fix spelling/wording issuesAlan Coopersmith
Found by using: codespell --builtin clear,rare,usage,informal,code,names Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2020-02-26Add DPMSInfoNotify eventAlexander Volkov
This will allow applications to respond to changes of power level of a monitor, e.g. an application may stop rendering and related calculations when the monitor is off. Bump DPMS version to 1.2, install dpmsproto.pc. Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
2020-02-25meson: mark more extensions as legacyRoss Burton
The Meson and Autotools builds disagree about what extensions are legacy. This patch makes the Meson build identical to autotools. Signed-off-by: Ross Burton <ross.burton@intel.com>
2019-10-08Move remaining xlib-entwined headers to LEGACYAdam Jackson
These headers refer to libX11 types and don't belong in this package. libX11 and libXv have been updated to supply these headers themselves now, so these are only useful for building older versions of those libraries. Fixes: xorg/proto/xorgproto#10
2019-07-22Move windowswmproto to legacyJon Turney
2019-01-30Remove RCS IdsMatthieu Herrb
Signed-off-by: Matthieu Herrb <matthieu@herrb.eu> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-10Assorted typo fixes in headersAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-11-10Remove the use of no-op B16 & B32 bitfield macros in headersAlan Coopersmith
These have always done nothing on all platforms except CRAY. As https://bugs.freedesktop.org/show_bug.cgi?id=45202 points out we don't even detect when they've been wrong for decades. Performed via: find include -name '*.h' | grep -v md.h | xargs perl -i -p -e 's{\s+B\d+}{}g' followed by manual whitespace fixups to preserve visual alignment. The #defines for B16 & B32 are left in place to preserve compatibility in any code that used them outside the xorgproto repo. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Acked-by: Keith Packard <keithp@keithp.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-06-27Improve the ButtonInfo description.Roman Kapl
It failed to mention it is followed by a bit-mask and then the atoms. Signed-off-by: Roman Kapl <code@rkapl.cz> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-06-16Remove trailing whitespace from header filesAlan Coopersmith
Performed with: find include -name '*.h' | xargs perl -i -p -e 's{[ \t]+$}{}' "git diff -w" shows no changes from this changeset. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2018-03-19randrproto: Fix missing #undef RRLeaseAdam Jackson
clang did not like this, and it's hard to blame it: ../randr/randrstr.h:66:13: warning: redefinition of typedef 'CARD32' is a C11 feature [-Wtypedef-redefinition] typedef XID RRLease; ^ /opt/X11/include/X11/extensions/randrproto.h:53:17: note: expanded from macro 'RRLease' ^ /opt/X11/include/X11/Xmd.h:111:23: note: previous definition is here typedef unsigned long CARD32; Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-03-14screensaver: Fix encoding of ScreenSaverSuspend 'suspend' elementKeith Packard
Was using Bool, which is not a defined X protocol encoding type and has presumably been a 32-bit type. Switch to a CARD32 to be compatible while at least being well defined. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Mihai Moldovan <ionic@ionic.de>
2018-02-28presentproto: PresentCompleteModeSuboptimalCopy flagLouis-Francis Ratté-Boulianne
If the Complete event has this mode, the client is not using the more optimal format/modifier for the buffer allocation. The client must explicitely inform the server that it understands this mode by adding the PresentOptionSuboptimal flag when calling PresentPixmap. Its main usage as of now is to allow clients to re-fetch DRI3 format modifiers as some modifiers might allow direct scanout. Bump presentproto version to 1.2. Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
2018-02-28dri3: Add modifier/multi-plane requests, bump to v1.2Louis-Francis Ratté-Boulianne
DRI3 version 1.2 adds support for explicit format modifiers, including multi-planar buffers. Signed-off-by: Daniel Stone <daniels@collabora.com> Signed-off-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com>
2018-02-12randr: Add non-desktop output property and behaviors [v3]Keith Packard
non-desktop devices are those to which the normal desktop environment should not be extended. Examples are Head-mounted displays and the Apple Touch Bar. How an output device is set to non-desktop is not part of this proposal; it is expected that the underlying operating system will provide this information and have it reflected to X applications through this extension. v2: fix puncutation and duplicated 'the'. v3: switch to 32-bit property named non-desktop to match Linux Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-12randr: Add Leases. [v4]Keith Packard
A "lease" is a set of crtc and output resources granted to another application for use outside of X. These will not be usable through the X protocol until the lease terminates. Leased outputs will be seen as disconnected, leased CRTCs will be seen as not usable with any output. v2: Delete output grabs Add LeaseNotify events Add FreeLease with option to terminate v3: Clarify a couple of lease behaviors: * You can lease an in-use object, it makes the X server stop using it, you don't get an error back. * There's no explicit 'Disabled' state for a crtc, when a crtc is disabled, it just has a set of reported values for GetCrtcInfo. v4: Integrate into merged xorgproto repo Signed-off-by: Keith Packard <keithp@keithp.com>
2018-02-01meson: Spread the install rules into their subdirsAdam Jackson
Mostly this is is so the generated Xpoll.h can be emitted into a usable directory when we build as a subproject. Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-01-30Move the headers under include/X11/...Adam Jackson
I kinda hate to do this, it was nice to have everything in one place. However, the meson build wants to be able to wrap this module as a dependency, and code that depends on these headers includes them in the form: #include <X11/Xfuncproto.h> As a result, any include path meson can construct needs to point to the root of a hierarchy that has the same path layout as an installed copy, hence this change. Signed-off-by: Adam Jackson <ajax@redhat.com>