[PATCH 0/4] Change region APIs

Keith Packard keithp at keithp.com
Fri May 21 12:43:22 PDT 2010


This patch sequence starts out by moving the region implementation
from mi to dix, changing the names of all of the functions to
eliminate the leading mi. This patch includes a sed script which was
used to mechanically change all of the files, the only manual edits
were to move the region.c file and fix up the Makefiles.

Next, I wrote another sed script to mechanically convert all of the
region macros so that they no longer take a screen argument. I renamed
them to conform to the standard StudlyCaps server conventions largely
to make it possible to preserve source compatibility by providing the
old names as wrappers.

Third, I rewrote the region implementation from macros to static
inline functions and to replace the functions which were simply
wrapping pixman region functions with static inlines that called those
directly.

Finally, I added all of the old names for source code compatibility
with existing drivers. This is a separate patch so that I could ensure
no code remained in the server using the old names.

Keith Packard (4):
  Move region implementation from mi to dix.
  Rename region macros to mixed case and remove screen argument
  Change region implementation from macros to inline functions.
  Add REGION_ macros for source compatibility with existing drivers.

 Xext/panoramiX.c                 |   34 +-
 Xext/panoramiXprocs.c            |   24 +-
 Xext/shape.c                     |   48 +-
 Xext/xace.c                      |   14 +-
 composite/compalloc.c            |    6 +-
 composite/compext.c              |    2 +-
 composite/compwindow.c           |   42 +-
 damageext/damageext.c            |   12 +-
 dix/Makefile.am                  |    1 +
 dix/dispatch.c                   |   12 +-
 dix/events.c                     |   60 +-
 dix/region.c                     | 1685 ++++++++++++++++++++++++++++++++++
 dix/window.c                     |  104 ++--
 doc/xml/Xserver-spec.xml         |   40 +-
 exa/exa.c                        |    6 +-
 exa/exa_accel.c                  |   80 +-
 exa/exa_classic.c                |    8 +-
 exa/exa_migration_classic.c      |   60 +-
 exa/exa_mixed.c                  |    4 +-
 exa/exa_render.c                 |   48 +-
 exa/exa_unaccel.c                |   56 +-
 fb/fb.h                          |    2 +-
 fb/fb24_32.c                     |    8 +-
 fb/fbarc.c                       |    2 +-
 fb/fbbits.h                      |    4 +-
 fb/fbfill.c                      |    2 +-
 fb/fbfillrect.c                  |    6 +-
 fb/fbfillsp.c                    |    6 +-
 fb/fbgc.c                        |    2 +-
 fb/fbglyph.c                     |    4 +-
 fb/fbimage.c                     |    8 +-
 fb/fbline.c                      |    4 +-
 fb/fboverlay.c                   |   42 +-
 fb/fbpict.c                      |    6 +-
 fb/fbpixmap.c                    |   14 +-
 fb/fbpoint.c                     |    2 +-
 fb/fbpush.c                      |    4 +-
 fb/fbseg.c                       |    4 +-
 fb/fbsetsp.c                     |    4 +-
 fb/fbwindow.c                    |   14 +-
 fix-miregion                     |   29 +
 fix-region                       |   39 +
 glx/glxdri.c                     |   12 +-
 glx/glxdri2.c                    |    6 +-
 hw/dmx/dmxextension.c            |    4 +-
 hw/dmx/dmxgc.c                   |    4 +-
 hw/dmx/dmxgcops.c                |   18 +-
 hw/dmx/dmxpict.c                 |    4 +-
 hw/dmx/dmxpixmap.c               |   18 +-
 hw/dmx/dmxshadow.c               |    4 +-
 hw/dmx/dmxwindow.c               |    8 +-
 hw/dmx/input/dmxconsole.c        |    2 +-
 hw/kdrive/ephyr/ephyr.c          |   12 +-
 hw/kdrive/ephyr/ephyrdriext.c    |   18 +-
 hw/kdrive/ephyr/ephyrvideo.c     |   16 +-
 hw/kdrive/src/kdrive.c           |   14 +-
 hw/kdrive/src/kxv.c              |  158 ++--
 hw/xfree86/common/xf86Helper.c   |   16 +-
 hw/xfree86/common/xf86fbman.c    |  132 ++--
 hw/xfree86/common/xf86xv.c       |  172 ++--
 hw/xfree86/dri/dri.c             |   36 +-
 hw/xfree86/dri2/dri2.c           |    8 +-
 hw/xfree86/modes/xf86Crtc.c      |    6 +-
 hw/xfree86/modes/xf86Rotate.c    |   18 +-
 hw/xfree86/shadowfb/shadow.c     |   34 +-
 hw/xfree86/xaa/xaaBitBlt.c       |   34 +-
 hw/xfree86/xaa/xaaCpyArea.c      |   12 +-
 hw/xfree86/xaa/xaaCpyPlane.c     |   12 +-
 hw/xfree86/xaa/xaaCpyWin.c       |   14 +-
 hw/xfree86/xaa/xaaDashLine.c     |    4 +-
 hw/xfree86/xaa/xaaFillArc.c      |    4 +-
 hw/xfree86/xaa/xaaFillPoly.c     |   12 +-
 hw/xfree86/xaa/xaaFillRect.c     |   22 +-
 hw/xfree86/xaa/xaaImage.c        |    4 +-
 hw/xfree86/xaa/xaaLine.c         |    4 +-
 hw/xfree86/xaa/xaaNonTEText.c    |   20 +-
 hw/xfree86/xaa/xaaOverlay.c      |   16 +-
 hw/xfree86/xaa/xaaOverlayDF.c    |   28 +-
 hw/xfree86/xaa/xaaPCache.c       |    4 +-
 hw/xfree86/xaa/xaaPict.c         |   40 +-
 hw/xfree86/xaa/xaaRect.c         |    4 +-
 hw/xfree86/xaa/xaaSpans.c        |   10 +-
 hw/xfree86/xaa/xaaTEText.c       |   12 +-
 hw/xfree86/xaa/xaaWideLine.c     |    4 +-
 hw/xfree86/xaa/xaawrap.h         |    2 +-
 hw/xnest/Events.c                |    2 +-
 hw/xnest/GC.c                    |   12 +-
 hw/xnest/GCOps.c                 |   12 +-
 hw/xnest/Pixmap.c                |   16 +-
 hw/xnest/Window.c                |   34 +-
 hw/xquartz/darwin.c              |   18 +-
 hw/xquartz/xpr/dri.c             |    4 +-
 hw/xquartz/xpr/xprFrame.c        |    8 +-
 hw/xwin/winfillsp.c              |    6 +-
 hw/xwin/wingc.c                  |    2 +-
 hw/xwin/winmultiwindowshape.c    |   12 +-
 hw/xwin/winsetsp.c               |    4 +-
 hw/xwin/winshaddd.c              |    6 +-
 hw/xwin/winshadddnl.c            |    6 +-
 hw/xwin/winshadgdi.c             |    6 +-
 hw/xwin/winvideo.c               |    2 +-
 hw/xwin/winwin32rootless.c       |    4 +-
 hw/xwin/winwindow.c              |   26 +-
 hw/xwin/winwindowswm.c           |    8 +-
 include/regionstr.h              |  429 ++++++----
 include/scrnintstr.h             |    4 +
 mi/Makefile.am                   |    1 -
 mi/mi.h                          |   17 -
 mi/mibitblt.c                    |   32 +-
 mi/micopy.c                      |   26 +-
 mi/miexpose.c                    |  110 ++--
 mi/migc.c                        |   44 +-
 mi/mioverlay.c                   |  406 +++++-----
 mi/miregion.c                    | 1845 --------------------------------------
 mi/mispans.c                     |    4 +-
 mi/mispans.h                     |   10 -
 mi/misprite.c                    |    4 +-
 mi/mivaltree.c                   |  138 ++--
 mi/miwindow.c                    |  118 ++--
 miext/cw/cw.c                    |   14 +-
 miext/damage/damage.c            |  124 ++--
 miext/rootless/rootlessCommon.c  |   46 +-
 miext/rootless/rootlessScreen.c  |    4 +-
 miext/rootless/rootlessValTree.c |   96 +-
 miext/rootless/rootlessWindow.c  |   66 +-
 miext/shadow/shadow.c            |   10 +-
 miext/shadow/shpacked.c          |    4 +-
 miext/shadow/shplanar.c          |    4 +-
 miext/shadow/shplanar8.c         |    4 +-
 miext/shadow/shrotate.c          |    4 +-
 miext/shadow/shrotpack.h         |    4 +-
 miext/shadow/shrotpackYX.h       |    4 +-
 render/mipict.c                  |   42 +-
 render/mirect.c                  |    4 +-
 render/picture.c                 |   18 +-
 xfixes/region.c                  |   60 +-
 136 files changed, 3690 insertions(+), 3728 deletions(-)
 create mode 100644 dix/region.c
 create mode 100755 fix-miregion
 create mode 100755 fix-region
 delete mode 100644 mi/miregion.c



More information about the xorg-devel mailing list