[cairo] [PATCH 00/43] DRM backend fixes - 3rd take

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Tue Dec 15 11:49:40 PST 2015


Hi folks,


here's my third take for the DRM backend fixes.

* some more core fixes
* helpers for surface type casting
* individual drm backends now compile-time selectable
* plain-intel and radeon backends now compilable again

Please give me your sign-off's if you find some patches okay for mainline.


Enrico Weigelt, metux IT consult (43):
  core: some helper macros for easier access to box dimensions
  core: reintroduce bot-scan-converter functions
  core: allow NULL parameter for _cairo_path_fixed_is_box()
  core: fix compiler warnings
  core: helper function for converting cairo_status_t to human-readable
    text (like strerror)
  core: updated .gitignore
  drm: use typedefs and defines from drm.h instead of redundant own
    definitions
  drm: add helper for typecasting from abstract surface to drm surface
    type
  drm: fixed missing includes
  drm: fixed cairo_status_t vs cairo_int_status_t mixup
  drm: fixed const constraints
  drm: allow CAIRO_FORMAT_RGB30
  drm: fixed missing antialiasing mode parameters
  drm: fixed call to _cairo_composite_rectangles_init_for_*()
  drm: fixed prototype of surface_backend => show_glyphs() operations
  drm: fixed surface backend ops vectors
  drm: fixed calls to _cairo_botor_scan_converter_add_polygon()
  drm: fixed handling of private pointers in scaled_font objects
  drm: fixed test for whether path is a box
  drm: add helper for typecasting from abstract device to drm device
    type
  drm: fixed return value of _device_flush()
  drm: made various drm-backends optional (buildtime)
  drm: fixed call to _cairo_atomic_ptr_cmpxchg()
  drm: cleaned up device probing / initialization
  drm: fixed surface backend ops vectors
  drm: fixed calls to surface backend flush() operations
  drm: fixed prototypes of surface_backend => show_glyphs() operations
  drm: fixed calls to _cairo_surface_init()
  drm/intel: consolidated INTEL_GLYPH_CACHE_* with GLYPH_CACHE_*
  drm/intel: renamed intel_glyph_cache_add_glyph()::glyph to
    glyph_private
  drm/intel: intel_scaled_glyph_fini(): renamed local priv variable for
    better consistency
  drm/intel: fixed prototyp of intel_scaled_glyph_fini()
  drm/intel: store scaled_glyph pointer in intel_glyph structure
  drm/intel: make struct _intel_glyph container of
    cairo_scaled_glyph_private_t
  drm/intel: destructor for glyph cache node
  drm/intel: fix font cleanup
  drm/i915: fixed calls to _cairo_clip_get_region()
  drm/i915: fixup call to _cairo_boxes_extents()
  drm/i915: split image_caches array into struct for better readability
  drm: fixed _cairo_clip_*() calls
  drm: replace use of _cairo_clip_to_boxes()
  drm/i915: fixed call to _cairo_pattern_sampled_area()
  qt: replaced calls to _cairo_clip_init_copy() by _cairo_clip_copy()

 .gitignore                          |   4 +
 configure.ac                        |  26 +++
 src/Makefile.sources                |  54 ++++--
 src/cairo-botor-scan-converter.c    |  38 ++++-
 src/cairo-box-inline.h              |   3 +
 src/cairo-error.c                   |  50 ++++++
 src/cairo-line.c                    |   8 +-
 src/cairo-path-fixed.c              |   3 +-
 src/cairo-polygon-intersect.c       |   2 +-
 src/cairo-polygon-reduce.c          |   2 +-
 src/cairo-qt-surface.cpp            |   2 +-
 src/cairo-spans-private.h           |   4 +
 src/cairo.h                         |   2 +
 src/drm/cairo-drm-bo.c              |  30 +---
 src/drm/cairo-drm-gallium-surface.c |   2 +-
 src/drm/cairo-drm-i915-glyphs.c     |  95 ++++++-----
 src/drm/cairo-drm-i915-private.h    |  29 +++-
 src/drm/cairo-drm-i915-shader.c     |   7 +-
 src/drm/cairo-drm-i915-spans.c      |   9 +-
 src/drm/cairo-drm-i915-surface.c    | 318 +++++++++++++++---------------------
 src/drm/cairo-drm-i965-glyphs.c     |  76 +++++----
 src/drm/cairo-drm-i965-private.h    |  24 ++-
 src/drm/cairo-drm-i965-shader.c     |   2 +-
 src/drm/cairo-drm-i965-spans.c      |   2 +-
 src/drm/cairo-drm-i965-surface.c    | 247 +++++++++-------------------
 src/drm/cairo-drm-intel-private.h   |  26 ++-
 src/drm/cairo-drm-intel-surface.c   |  83 ++++------
 src/drm/cairo-drm-intel.c           | 113 ++++++++-----
 src/drm/cairo-drm-private.h         |  17 +-
 src/drm/cairo-drm-radeon-surface.c  |  72 ++++----
 src/drm/cairo-drm-radeon.c          |   1 +
 src/drm/cairo-drm-surface.c         |   4 +-
 src/drm/cairo-drm.c                 | 201 ++++++++++++-----------
 33 files changed, 812 insertions(+), 744 deletions(-)

-- 
2.6.4.442.g545299f



More information about the cairo mailing list