The encoding is missing the 8 bytes of padding at the end of the
base reply struct before the variable length lists begin.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
The description section matches randrproto.h - neither of which have
the "maximum masters" or "flags" members, but do have padding before
the providers list starts.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
The encoding section matches randrproto.h - neither of which have the
config-timestamp, root, or crtc members.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
These values match the RRNotify_* definitions in randrproto.h and
don't overlap with the RROutput*Notify codes from RandR 1.2.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
The padding for RRGetCrtcGamma & RRSetCrtcGamma is a variable p,
not a fixed 2 bytes, since it depends on how many values are
included in the lists.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Make definitions more consistent about use of {} for enums, [] for structs
Reflect the incorporation of more types from the Render spec in 1.3
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
(1 + 1 + 2 + 4 + 32) / 4 is 10 words, not 12
10 also matches the sz_xRRCreateModeReq value of 40 in randrproto.h
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Dave Airlie <airlied@gmail.com>
A provider object represents a GPU or virtual device that provides
rendering or output services to the X server. This protocol
allow controlling provider objects for output and offload slave devices.
v1.1: fix typo add missing define
v2: rename nProperties back to nAtoms, makes server simpler to c-n-p,
add missing Get request/reply
v3: bring back configure property, no point in diverging from the
output property code without good reason.
also fix typo pointed out on irc by rei4dan.
v3.1: drop cut-n-paste, increase RRNumberRequests
v4: reviewed by Aaron, address comments:
Fix provider error code
add missing notify, remove dri2 references, fix c-n-p issues.
v5: add provider change notify event with current role.
v5.1: fix cut-n-paste
v6:
document flags, fix whitespace, add better errors for SetProviderRoles,
add new events, fix pending language.
v6.1: add missing change notify event struct + missing padding
v7: fix a bunch more tab/spaces, add appendix sections for requests, events
and errors, remove multimaster flag in favour of max master counter,
move some members around to follow other events.
v7.1 fix maxMaster + wrong comment, one whitespace
v7.2 bump to being randr 1.4, fix some too generic names.
v7.3 remove dynamic flag, fix some language
v8 overhaul complete protocol, remove set provider roles, add specific
methods for setting offload sinks and output sources, add a list
of associated providers into the get provider info struct.
Earlier-review-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This patch reverts:
Revert "Make SetCrtcConfigs take flags bits to allow partial configuration changes"
This reverts commit 105a161a3f.
Revert "Define new semantics for scanout pixmap destruction."
This reverts commit 0d32bb0780.
Revert "Fix spelling errors, add description of SCANOUTPIXMAPINFO fields."
This reverts commit 3e28d3098f.
Revert "Add some informative text about the reasons for the PCP and ST bits"
This reverts commit ebab32deea.
Revert "RandR version 1.4 additions"
This reverts commit dd14a22755.
None of this was ever used in the X server and I think it should
probably be addressed in smaller pieces later.
Acked-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
RandR output properties are X properties, which have a type atom, a
"format" (i.e. an element size) and a number of items. Be explicit
about these fields when describing properties in the protocol
document. E.g., instead of specifying "int32 [2 * n] / Atom pairs,"
say "Type: INTEGER / Format: 32 / Num. items: 2*n."
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Instead of requiring a complete new configuration to be computed,
allow the client to send a partial configuration with only the changed
values included. This simplifies clients so that they need not change
things they don't understand.
This also removes the 'CurrentScanoutPixmap' hack as that is no longer
necessary.
Signed-off-by: Keith Packard <keithp@keithp.com>
This adds the specification and protocol header definitions for the
RandR 1.4 protocol changes, including
* Per crtc pixmaps and pixmap origins
* Sprite position and image transforms
* SetCrtcConfigs request
Signed-off-by: Keith Packard <keithp@keithp.com>
This macro aggregate a number of existing macros that sets commmon
X.Org components configuration options. It shields the configuration file from
future changes.
Using common defaults will reduce errors and maintenance.
Only the very small or inexistent custom section need periodic maintenance
when the structure of the component changes. Do not edit defaults.
This should be included in all xorg configure.ac files to provide a
hook for setting various default values.
Signed-off-by: Keith Packard <keithp@keithp.com>