XKB: Remove CountedString8

CountedString8 is never used.

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Fix CountedString16 padding

Should be <pad align=4>, not <pad bytes=1>. This is a very long-winded
way to write <pad align>, since libxcb doesn't support <pad align> yet.

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Fix SymInterpret

SymInterpret is referenced by the spec, but never defined. Therefore,
the definition of SymInterpret is inferred from the server implementation.

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Fix VirtualMods

nVModMapKeys is usually larger than <popcount>virtualMods</popcount>.

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Change CARD8 to char where ASCII is expected

This does not impact libxcb, but it makes some pretty-printers prettier.

Signed-off-by: Peter Harris <pharris@opentext.com>
Allow multiple <enumref> in a <bitcase>

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Fix GetKbdByName

Each part of the reply has a fake type, sequence, and length. In
addition, some parts of the reply are encoded only once even when
multiple bits are set.

Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Fix calculation in GetIndicatorMap

Contrary to the spec, the server doesn't set nIndicators.

Signed-off-by: Peter Harris <pharris@opentext.com>
xcbgen: Handle multiple <enumref> in a <bitcase>

Adopt the XML schema change from commit
    ee71d96 Allow multiple <enumref> in a <bitcase>
and its usage with commit
    b3b5e02 XKB: Fix GetKbdByName.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
Prototype for XRes v1.2
screensaver: Remove wrong fields from Notify event

This fixes bug #63158:
    screensaver notify event specification is incorrect
    https://bugs.freedesktop.org/show_bug.cgi?id=63158

As stated in the bug report the response_type and sequence field will be
added automatically while parsing the specification. Additionally, the
pad field is wrong.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
screensaver: Use enum and mask attributes

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
XKB: Correct enum to mask

Changes fields with enums EventType, MapPart, or BoolCtrl to use them as
masks instead.
xfixes: Rename enum DirectionMask to BarrierDirec.

Rename the enum 'DirectionMask' to 'BarrierDirections' to match the
specification.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
composite: Version bump 0.3..0.4

The only difference between version 0.3 and 0.4 is that the clipping
semantics have been redefined. That's just an internal change, no
structure has to be modified.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
glx: Version bump 1.3..1.4

Add the BufferSwapComplete (v2) event.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
xtest: Version bump 2.1..2.2

The implemented and upstream version is 2.2.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
randr: Add provider object support (RandR v1.4)

With RandR 1.4 provider objects have been introduced. "A provider object
represents a GPU or virtual device providing services to the X server."

To handle provider objects the following requests have been added:
    - GetProviders
    - GetProviderInfo
    - SetProviderOffloadSink
    - SetProviderOutputSource
    - ListProviderProperties
    - QueryProviderProperty
    - ConfigureProviderProperty
    - ChangeProviderProperty
    - DeleteProviderProperty
    - GetProviderProperty

And the Notify event got 3 new subcodes:
    - ProviderChange
    - ProviderProperty
    - ResourceChange

v2:
- add missing name field to GetProviderInfo
v3:
- changed ProviderCapability enum
  o replaced <value> with <bit>
  o removed None
- replaced "alignment pad list" with commented out <pad align="4"/> to
  be prepared for future enhancements
- add brief description to commit msg about additions

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
res: Fix and rename list in ClientIdValue

The list is a CARD32 and rename the field to "value" to match the
specification.

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>
res: Add ClientIdMask enum

And make use of it in ClientIdSpec.

v2: use <bit/> instead of <value/> in the enum

Signed-off-by: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Peter Harris <pharris@opentext.com>