Commit graph

112 commits

Author SHA1 Message Date
Keith Packard
702d2eaecd screensaver: Fix encoding of ScreenSaverSuspend 'suspend' element
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-03-14 10:19:19 -07:00
Louis-Francis Ratté-Boulianne
751cf1e19e presentproto: PresentCompleteModeSuboptimalCopy flag
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-28 11:13:11 -05:00
Louis-Francis Ratté-Boulianne
0fca474cd6 dri3: Add modifier/multi-plane requests, bump to v1.2
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-28 11:13:11 -05:00
Adam Jackson
c1c8cf7360 glproto: Add compatibility #defines for the typos we corrected
Apparently there does exist code that uses the typoed names.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-14 15:58:46 -05:00
Keith Packard
e681f8de0c randr: Add non-desktop output property and behaviors [v3]
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-12 13:54:19 -05:00
Keith Packard
14f68c7b00 randr: Add Leases. [v4]
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-12 13:54:13 -05:00
Adam Jackson
193b75db8c meson: Spread the install rules into their subdirs
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-02-01 15:01:56 -05:00
Adam Jackson
7409bb6612 xproto: Stop generating Xfuncproto.h
This no longer varies at compile time, yay.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:55:30 -05:00
Adam Jackson
c9120fbdce xproto: Stop "computing" a value for FUNCPROTO
This macro is apparently an imake-ism for how much C89 you support.
Seeing as it's 2018 the answer is "all of it", and if that's not
actually true for your platform you need a better compiler.

Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:50:32 -05:00
Adam Jackson
05b1963945 xproto: Move NARROWPROTO logic out of configure time
Signed-off-by: Adam Jackson <ajax@redhat.com>
2018-02-01 14:47:38 -05:00
Adam Jackson
9d14a8fade Move the headers under include/X11/...
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>
2018-01-30 12:31:15 -05:00
Dylan Baker
09961387c2 Move headers into structured include directory
So that meson can use that as an include path for dependencies.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Dylan Baker <dylanx.c.baker@intel.com>
2017-11-06 14:30:28 -05:00