[cairo] [PATCH 00/72] DRM fixes #6 - first functioning version

Enrico Weigelt, metux IT consult enrico.weigelt at gr13.net
Tue Dec 29 01:16:38 PST 2015


Hi folks,

here's the 6th take of my DRM fixes branch.

I've now managed to get it running on a dumb framebuffer device :)
(yet only tried a few simple examples, but as it runs via image
surface, I'd guess the complex things will be running too)


--mtx


Enrico Weigelt, metux IT consult (72):
  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() and
    _cairo_path_fixed_is_stroke_box()
  core: fix compiler warnings
  core: helper function for converting cairo_status_t to human-readable
    text (like strerror)
  core: helper inline for rect->box conversion
  core: some in-code documentation
  core: dropped actually unused parameter of _cairo_boxes_to_array()
  core: fixed code duplication
  core: dropped unnecessary local variable in
    _cairo_composite_rectangles_intersect()
  core: changed retval of _cairo_composite_rectangles_intersect() to
    cairo_bool_t
  core: helper funtion for initializing rects with zero
  tests: fixed warnings on unused variables
  dropped autogenerated files
  image: typecasting helpers
  drm: fix importing of libdrm
  drm: dropped obsolete/unused intel_bo_get_image()
  drm: dropped unused _cairo_drm_size_is_valid()
  drm: use typedefs and defines from drm headers instead of redundant
    own definitions
  drm: inline helper for cairo_format_t -> fourcc conversion
  drm: typecasting helpers
  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: 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: fix signature of bo backend 's release callback
  drm: generalized bo unmap
  drm: consolidated bo_pool into drm_device
  drm: generalized *_bo_map functions
  drm: generalized *_map_to_image() functions
  drm: generalized framebuffer-based surface operations
  drm: generalized *_surface_acquire_source_image() functions
  drm: generalized *_surface_finish()
  drm: consolidated *_bo_release() functions
  drm: some more assertions
  drm/intel: consolidated INTEL_GLYPH_CACHE_* with GLYPH_CACHE_*
  drm: consolidated *_release_source_image() surface functions
  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()
  drm/intel: optimized loops and fixed warning
  drm/intel: fixed unitialized variable warning and improved error
    handling
  drm: generalized *_surface_flush() functions
  drm: radeon: dropped unused fields in bo struct
  drm: generalized *_bo_create_for_name()
  HACK: drm: dumb framebuffer support

 .gitignore                              |   5 +
 boilerplate/Makefile.win32.features     | 523 -------------------------
 build/Makefile.win32.features           |  41 --
 build/Makefile.win32.features-h         | 130 -------
 configure.ac                            |  34 +-
 src/Makefile.sources                    |  59 ++-
 src/Makefile.win32.features             | 661 --------------------------------
 src/cairo-botor-scan-converter.c        |  38 +-
 src/cairo-box-inline.h                  |  13 +
 src/cairo-boxes-private.h               |   3 +-
 src/cairo-boxes.c                       |  31 +-
 src/cairo-clip-boxes.c                  |  61 +--
 src/cairo-composite-rectangles.c        |  46 ++-
 src/cairo-error.c                       |  52 +++
 src/cairo-image-surface-private.h       |   7 +
 src/cairo-image-surface.c               |  43 +--
 src/cairo-line.c                        |   8 +-
 src/cairo-path-bounds.c                 |   3 +-
 src/cairo-path-fixed.c                  |   9 +-
 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/cairoint.h                          |   6 +
 src/drm/cairo-drm-basic-private.h       | 191 +++++++++
 src/drm/cairo-drm-basic-surface.c       | 197 ++++++++++
 src/drm/cairo-drm-basic.c               | 467 ++++++++++++++++++++++
 src/drm/cairo-drm-bo.c                  |  70 ++--
 src/drm/cairo-drm-gallium-surface.c     |   2 +-
 src/drm/cairo-drm-i915-glyphs.c         |  97 +++--
 src/drm/cairo-drm-i915-private.h        |  62 ++-
 src/drm/cairo-drm-i915-shader.c         |  30 +-
 src/drm/cairo-drm-i915-spans.c          |   9 +-
 src/drm/cairo-drm-i915-surface.c        | 385 ++++++++-----------
 src/drm/cairo-drm-i965-glyphs.c         |  78 ++--
 src/drm/cairo-drm-i965-private.h        |  43 ++-
 src/drm/cairo-drm-i965-shader.c         |  50 +--
 src/drm/cairo-drm-i965-spans.c          |   2 +-
 src/drm/cairo-drm-i965-surface.c        | 266 +++++--------
 src/drm/cairo-drm-intel-debug.c         | 211 +++++-----
 src/drm/cairo-drm-intel-ioctl-private.h | 403 +------------------
 src/drm/cairo-drm-intel-private.h       | 102 +++--
 src/drm/cairo-drm-intel-surface.c       | 264 ++-----------
 src/drm/cairo-drm-intel.c               | 220 +++++------
 src/drm/cairo-drm-ioctl-private.h       |  12 -
 src/drm/cairo-drm-private.h             | 207 +++++++++-
 src/drm/cairo-drm-radeon-private.h      | 124 +++++-
 src/drm/cairo-drm-radeon-surface.c      | 271 ++-----------
 src/drm/cairo-drm-radeon.c              | 231 ++---------
 src/drm/cairo-drm-surface.c             | 244 +++++++++++-
 src/drm/cairo-drm.c                     | 232 ++++++-----
 test/any2ppm.c                          |   3 +
 test/create-for-stream.c                |  23 +-
 54 files changed, 2757 insertions(+), 3524 deletions(-)
 delete mode 100644 boilerplate/Makefile.win32.features
 delete mode 100644 build/Makefile.win32.features
 delete mode 100644 build/Makefile.win32.features-h
 delete mode 100644 src/Makefile.win32.features
 create mode 100644 src/drm/cairo-drm-basic-private.h
 create mode 100644 src/drm/cairo-drm-basic-surface.c
 create mode 100644 src/drm/cairo-drm-basic.c
 delete mode 100644 src/drm/cairo-drm-ioctl-private.h

-- 
2.6.4.442.g545299f



More information about the cairo mailing list