Skip to content
  1. May 19, 2019
  2. Mar 19, 2019
  3. Feb 17, 2019
  4. Mar 14, 2018
  5. Feb 28, 2018
  6. Dec 15, 2017
  7. Jun 05, 2017
  8. May 13, 2017
  9. Mar 11, 2017
    • Christian Linhart's avatar
      SendExtensionEvent uses eventstruct · 97fbba25
      Christian Linhart authored
      
      
      Use the eventstruct element to define the SendExtensionEvent request
      instead of using a byte-array.
      
      This has the advantage that the structure of the data to be sent
      is now defined in the xml definition.
      This can be used by generators to make sending events safer.
      Such as avoiding type-casts in C.
      
      It can also be useful for protocol analyzers and tools like that
      because the structure of the sent events is now defined in the xml-definition.
      
      Tested-by: default avatarChristian Linhart <chris@demorecorder.com>
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      97fbba25
    • Christian Linhart's avatar
      add support for eventstruct · 4aa40fbd
      Christian Linhart authored
      
      
      eventstruct is a new xml element that allows to use events
      as part of requests.
      
      This is, e.g., needed by the SendExtensionEvent request
      of the XINPUT extension.
      
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      4aa40fbd
    • Christian Linhart's avatar
      xinput: typedef for event_type_base · 89b022fd
      Christian Linhart authored
      
      
      member event_type_base in struct InputClassInfo is a CARD8.
      This patch replaces the type with the new typedef EventTypeBase
      which is defined as a CARD8.
      
      This does not alter the ABI or API for that struct because
      typedefs do not appear in the ABI.
      And C handles typedefs as aliases.
      So there'll be no API issues as well.
      
      The libxcb generator adds additional functions that implement
      an iterator over this type.
      This is harmless because adding code is ABI/API compatible.
      
      The purpose of this change is to add more semantic info to this
      member variable of this struct.
      
      This helps with xcb-based generators or automatic code-checkers
      and things like that.
      
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      89b022fd
    • Christian Linhart's avatar
      move symboltable lookup of sumof expr to the parser · f5218967
      Christian Linhart authored
      
      
      Set the lenfield of a sumof expression object, so that
      libxcb or other generators won't need to look it up.
      
      This object is trivially available in the parser but
      needs a complex lookup in generators.
      
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      f5218967
  10. Jan 24, 2017
  11. Jun 04, 2016
    • Jon Turney's avatar
      Update XML schema to fix 'make check' · 95a262e0
      Jon Turney authored and Uli Schlachter's avatar Uli Schlachter committed
      
      
      Here is an attempt at updating the schema to add serialize attribute to pad
      element and required_start_align element.
      
      Not sure if I've added required_start_align element in the right place. The
      default case in the switch element is removed as it doesn't seem to be used, and
      otherwise makes the schema ambiguous.
      
      $ make check
      Making check in src
      make[1]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
      make  check-local
      make[2]: Entering directory '/jhbuild/x86_64-pc-cygwin/build/xcb/proto/src'
      /usr/bin/xmllint --noout --schema /jhbuild/checkout/xcb/proto/src/xcb.xsd
      /jhbuild/checkout/xcb/proto/src/*.xml
      /jhbuild/checkout/xcb/proto/src/bigreq.xml validates
      /jhbuild/checkout/xcb/proto/src/composite.xml validates
      /jhbuild/checkout/xcb/proto/src/damage.xml validates
      /jhbuild/checkout/xcb/proto/src/dpms.xml validates
      /jhbuild/checkout/xcb/proto/src/dri2.xml validates
      /jhbuild/checkout/xcb/proto/src/dri3.xml validates
      /jhbuild/checkout/xcb/proto/src/ge.xml validates
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd ).
      /jhbuild/checkout/xcb/proto/src/glx.xml fails to validate
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, exprfield, switch, reply, doc ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, exprfield, switch, reply, doc ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, doc ).
      Element 'required_start_align': This element is not expected. Expected is one of ( pad, field, list, fd, doc ).
      /jhbuild/checkout/xcb/proto/src/present.xml fails to validate
      /jhbuild/checkout/xcb/proto/src/randr.xml validates
      /jhbuild/checkout/xcb/proto/src/record.xml validates
      /jhbuild/checkout/xcb/proto/src/render.xml validates
      /jhbuild/checkout/xcb/proto/src/res.xml validates
      /jhbuild/checkout/xcb/proto/src/screensaver.xml validates
      /jhbuild/checkout/xcb/proto/src/shape.xml validates
      /jhbuild/checkout/xcb/proto/src/shm.xml validates
      /jhbuild/checkout/xcb/proto/src/sync.xml validates
      /jhbuild/checkout/xcb/proto/src/xc_misc.xml validates
      /jhbuild/checkout/xcb/proto/src/xevie.xml validates
      /jhbuild/checkout/xcb/proto/src/xf86dri.xml validates
      /jhbuild/checkout/xcb/proto/src/xf86vidmode.xml validates
      /jhbuild/checkout/xcb/proto/src/xfixes.xml validates
      /jhbuild/checkout/xcb/proto/src/xinerama.xml validates
      Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
      Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
      Element 'required_start_align': This element is not expected. Expected is one of ( bitcase, case, pad, field, list, fd ).
      /jhbuild/checkout/xcb/proto/src/xinput.xml fails to validate
      Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
      Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
      Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
      Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
      Element 'pad', attribute 'serialize': The attribute 'serialize' is not allowed.
      /jhbuild/checkout/xcb/proto/src/xkb.xml fails to validate
      /jhbuild/checkout/xcb/proto/src/xprint.xml validates
      /jhbuild/checkout/xcb/proto/src/xproto.xml validates
      /jhbuild/checkout/xcb/proto/src/xselinux.xml validates
      /jhbuild/checkout/xcb/proto/src/xtest.xml validates
      /jhbuild/checkout/xcb/proto/src/xv.xml validates
      /jhbuild/checkout/xcb/proto/src/xvmc.xml validates
      Makefile:534: recipe for target 'check-local' failed
      
      Signed-off-by: default avatarJon Turney <jon.turney@dronecode.org.uk>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95494
      
      
      Reviewd-by: default avatarRan Benita <ran234@gmail.com>
      Signed-off-by: default avatarUli Schlachter <psychon@znc.in>
      95a262e0
  12. Jun 02, 2016
  13. May 28, 2016
  14. May 18, 2016
  15. Jan 27, 2016
  16. Jan 06, 2016
    • Jaya Tiwari's avatar
      calculate lengthless list · 811e038c
      Jaya Tiwari authored and Christian Linhart's avatar Christian Linhart committed
      
      
      Some rework done by Christian Linhart
      
      Signed-off-by: default avatarJaya Tiwari <tiwari.jaya18@gmail.com>
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      811e038c
    • Christian Linhart's avatar
      make xkb pass the alignment checker · fe8ae242
      Christian Linhart authored
      
      
      These are just minimal adjustments to get xkb through
      the checks of the alignment checker.
      
      It is not the big fixup which I have already posted an RFC patch
      a while ago.
      
      V2 of this patch:
        make indentation consistent with the file
        (tabs vs spaces)
      
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      fe8ae242
    • Christian Linhart's avatar
      automatic alignment checker / manual offsets · c499401b
      Christian Linhart authored
      
      
      The verification algorithm basically traverses the protocol-description
      of a protocol entity by recursively processing all fields and their
      types.
      
      A start-align consists of two numbers:
      * the alignment: This is a power of 2, and guarantees that the
        address (or protocol position) minus the offset can be divided
        by this number.
      
      * the offset: how many bytes the current position is after a
        position that can be divided by the alignment.
      
      The algorithm starts with the start-alignment and computes the alignment
      of each field from the start-align of the previous field as follows:
      * if the previous field is a primitive type then the offset is increased
        by the size of the primitive type module the alignment.
        If the alignment or offset are incompatible with the primitive type,
        then an error is reported.
      * if the previous field is a complex type, then it is processed recursively.
      * if the previous field is an alignment-pad, then the alignment is
        adjusted accordingly, as to be expected by the alignment-pad.
      
      Start-aligns can also be set manually with the xml-element
      "required_start_align" which has two attributes: "align" and "offset"
      If "offset" is omitted, it is assumed to 0.
      
      All toplevel protocol entities default to 4-byte start-alignment with offset 0.
      
      All non-toplevel complex entities, such as structs, switch, case, ...
      do not have a default alignment.
      If no alignment is explicitly specified for them, their alignment
      is computed by their usage in other entities.
      In that case, if they are used with aligments that violate the
      alignment requirements of some of their fields, an error is issued.
      
      If they are used with an alignment with non-zero offset,
      a warning is issued, which recommends to specify the required_start_align
      explicitly. (Reason: I don't want non-zero offsets to be silently
      computed automatically. These non-zero offsets have to be reviewed
      by a human and specified explicitely to record that this was reviewed
      by a human)
      
      If the required_start_align is explicitly specified for an entity
      then an error will be issued if it is used with an aligment that's
      incompatible with the explicitly specified alignment.
      
      If an entity is used in different contexts with different start-aligns
      then those start-aligns are combined to an align which is compatible
      with all aligns.
      E.g. (align 4, offset 0) and (align 4, offset 2) are combined
      to (align 2, offset 0).
      
      Error reports include the relevant context for a misalignment.
      For non-toplevel entities this includes the entity-usage stack.
      There is some complexity in the algorithm for reducing the size
      of the error-reports to include only the relevant info.
      
      This alignment verifier is also a prerequisite for getting
      rid of implicit alignment altogether.
      (This will then simplify the generated code and make it faster.)
      
      Signed-off-by: default avatarChristian Linhart <chris@demorecorder.com>
      c499401b
  17. Nov 15, 2015
  18. Oct 26, 2015
  19. Sep 13, 2015
Loading