[xorg-commit-diffs] xc/lib/Xrender AUTHORS, NONE, 1.1.6.1 COPYING,
NONE, 1.1.6.1 ChangeLog, NONE, 1.1.6.1 INSTALL, NONE,
1.1.6.1 NEWS, NONE, 1.1.6.1 README, NONE, 1.1.6.1 autogen.sh,
NONE, 1.1.6.1 config.h, NONE, 1.1.6.1 configure.ac, NONE,
1.1.6.1 xrender.pc.in, NONE, 1.1.6.1 Color.c, 1.1.4.1,
1.1.4.2 Composite.c, 1.1.4.1, 1.1.4.2 Cursor.c, 1.1.4.1,
1.1.4.2 FillRect.c, 1.1.4.1, 1.1.4.2 FillRects.c, 1.1.4.1,
1.1.4.2 Filter.c, 1.1.4.1, 1.1.4.2 Glyph.c, 1.1.4.1,
1.1.4.2 Picture.c, 1.1.4.1, 1.1.4.2 Poly.c, 1.1.4.1,
1.1.4.2 Trap.c, 1.1.4.1, 1.1.4.2 Tri.c, 1.1.4.1,
1.1.4.2 Xrender-def.cpp, 1.1.4.2, 1.1.4.3 Xrender.c, 1.1.4.1,
1.1.4.2 Xrender.h, 1.1.4.1, 1.1.4.2 Xrenderint.h, 1.1.4.1, 1.1.4.2
Egbert Eich
xorg-commit at pdx.freedesktop.org
Thu Apr 15 03:15:10 PDT 2004
Committed by: eich
Update of /cvs/xorg/xc/lib/Xrender
In directory pdx:/home/eich/tstbuild/xc/lib/Xrender
Modified Files:
Tag: XORG-CURRENT
Color.c Composite.c Cursor.c FillRect.c FillRects.c Filter.c
Glyph.c Picture.c Poly.c Trap.c Tri.c Xrender-def.cpp
Xrender.c Xrender.h Xrenderint.h
Added Files:
Tag: XORG-CURRENT
AUTHORS COPYING ChangeLog INSTALL NEWS README autogen.sh
config.h configure.ac xrender.pc.in
Log Message:
2004-04-15 Egbert Eich <eich at freedesktop.org>
Merged changes from RELEASE-1 branch
--- NEW FILE: AUTHORS ---
Keith Packard, of SuSE, XFree86 and Hewlett-Packard
Noah Levitt, autotooling.
--- NEW FILE: COPYING ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: ChangeLog ---
2004-02-03 Jim Gettys <jg at freedesktop.org>
* AUTHORS: Get a author's list going.
2004-01-15 Daniel Stone <daniel at fooishbar.org>
* Tag release 0.8.4 for first freedesktop.org clientside lib release.
2004-01-15 Harold L Hunt II <huntharo at msu.edu>
* Makefile.am: Pass -no-undefined to libtool via LDFLAGS.
2003-12-12 Keith Packard <keithp at keithp.com>
* configure.ac:
* xrender.pc.in:
Use Requires: in xrender.pc when x11.pc exists
2003-06-08 10:56 keithp
* Filter.c, Makefile.am, Xrender.c, Xrenderint.h, configure.ac:
Bail on bogus Xsun servers, compile with -DXTHREADS if necessary,
get rid of unecessary cast to XRenderInfo *
2003-05-06 09:05 branden
* ChangeLog: Huh. Did Keith tag xrender-0_8_2 *before* running
cvs2cl? Running it again.
2003-05-05 20:56 keithp
* ChangeLog: Update ChangeLog with spiffy cvs2cl script (thanks
Branden)
2003-05-05 20:49 keithp
* configure.ac: Update version to 0.8.2, add some version-related
comments
2003-05-05 20:18 branden
* debian/: changelog, compat, control, copyright,
libxrender-dev.install, libxrender-dev.postrm,
libxrender-dev.preinst, libxrender1-dbg.install,
libxrender1-dbg.postrm, libxrender1-dbg.preinst,
libxrender1.install, libxrender1.postrm, libxrender1.preinst,
rules: Check in Debian packaging infrastructure per Keith's
request. This is the stuff that corresponds to Debian's xrender
0.8.1-1 package.
2003-05-05 19:06 keithp
* Xrenderint.h, configure.ac: Remove bogus Xext.h include. Fix
Render version comparison
2003-05-03 13:00 keithp
* Makefile.am, configure.ac: Bump to version 0.8.1, library version
1.2.2 after extutil was removed
2003-04-26 08:52 nlevitt
* Xrenderint.h: Get rid of reference to XMissingExtension. It's in
libXext, which we don't link, and we don't want to print an error
message anyway.
2003-04-23 20:29 nlevitt
* ChangeLog, Composite.c, Cursor.c, FillRect.c, FillRects.c,
Filter.c, Glyph.c, Makefile.am, Picture.c, Trap.c, Tri.c,
Xrender.c, Xrenderint.h, configure.ac, extutil.h, xrender.pc.in:
Get rid of libXext dependency.
2003-04-22 09:59 nlevitt
* .cvsignore: Testing syncmail.
2003-04-21 23:41 nlevitt
* xrender.pc.in: Xrender.h #includes render.h, so it needs the
Render CFLAGS.
2003-04-21 23:12 nlevitt
* xrender.pc.in: s/@PACKAGE_VERSION@/@VERSION@/ (Jeff Waugh, bug
#71)
2003-04-21 21:46 nlevitt
* Makefile.am, Xrenderint.h, configure.ac: Use local extutil.h if
not installed on the system.
2003-04-21 10:36 keithp
* COPYING, ChangeLog, INSTALL, configure.ac: Fix render header
version check to use VERSION, eliminate duplicate version numbers
from configure.ac
2003-04-21 10:22 keithp
* Color.c, Composite.c, Cursor.c, FillRects.c, Filter.c, Glyph.c,
Picture.c, Poly.c, Trap.c, Tri.c, Xrender-def.cpp, Xrender.h,
Xrenderint.h, extutil.h: Switch CVS id tags so regular CVS can cope
2003-04-21 09:47 keithp
* Makefile.am: Xrender .so is 1.2. switch order of dependent
libraries
2003-04-20 23:49 nlevitt
* FillRect.c: Testing syncmail again.
2003-04-20 23:44 nlevitt
* Xrender.c: Testing syncmail.
2003-04-19 16:02 nlevitt
* xrender.pc.in: Add X libs to pkg-config --libs.
2003-04-19 11:32 nlevitt
* Makefile.am: Link with -lX11 -lXext.
2003-04-19 11:21 nlevitt
* Makefile.am, Xrenderint.h, configure.ac: Use installed
<X11/extenstions/extutil.h>. (Thanks, jdub). Make sure X is found
at ./configure time. Bump .so version to 1.1.1.
2003-04-17 17:43 nlevitt
* configure.ac: Xrender version is the same as Render.
2003-04-17 16:41 nlevitt
* .cvsignore: Quiet, please.
2003-04-17 15:53 nlevitt
* xrender.pc.in: Fix typo
2003-04-17 15:49 nlevitt
* Imakefile, Makefile.am, Xrenderint.h, autogen.sh, configure.ac,
extutil.h, region.h, xrender.pc.in: Initial automake support.
2003-03-24 20:18 dawes
* Xrender-def.cpp: 26. Updates for building on OS/2 (#5650, Frank
Giessler).
2002-11-24 13:46 tsi
* Cursor.c: Warning fix
2002-11-22 18:34 keithp
* Cursor.c, Xrender.h: Add animate cursor support, client side
2002-11-21 18:10 keithp
* Xrender.c: Skip unexpected data in QueryFormats. Deal with
broken X servers a bit better
2002-11-14 13:01 tsi
* Imakefile: First pass at imake warnings. + some ATI driver
formatting changes.
Please ensure these changes are reflected in DRI's CVS.
2002-11-06 14:47 keithp
* Xrender.c, Xrender.h: XRenderQueryPictIndexValues support (from
Olivier Chapuis). Bump Render version to 0.7
2002-11-05 15:22 keithp
* Glyph.c, Trap.c, Tri.c, Xrenderint.h: Render uses int for 32
bits, Xlib uses long. This matters on alpha
2002-10-17 18:13 keithp
* Glyph.c: Miscomputing request length for String16 and String32
2002-10-01 07:31 alanh
* Xrender-def.cpp: 358. Enable version controlled .dll's on
Cygwin/XFree86 (Alexander Gottwald).
357. Some build fixes for Cygwin/XFree86 (Alan Hourihane).
2002-09-29 16:39 keithp
* Xrender.c, Xrender.h: Update RandR to 1.0 (library version 2.0)
2002-09-27 09:40 keithp
* Trap.c: Obey max request length even with BIG-REQUESTS
2002-09-25 19:56 keithp
* Filter.c, Imakefile, Picture.c, Xrender.c, Xrender.h,
Xrenderint.h: Add image transformation and sub-pixel ordering to
Render
2002-08-31 11:15 keithp
* Glyph.c: Remember not to write code at 1am.
CompositeText{8,16,32} werent switching glyphsets at the right
time.
2002-08-30 23:52 keithp
* Glyph.c: CompositeGlyphs functions were re-using overwritten data
and trashing the output buffer
2002-08-22 22:48 keithp
* Cursor.c, Imakefile, Xrender.h: Add CreateCursor request to
Render
2002-07-24 08:26 tsi
* Imakefile: Make libXrender buildable in non-XFree86 environments.
2002-06-07 11:04 keithp
* Imakefile: Get Xrender to build out of the XFree86 environment
2002-06-04 16:22 keithp
* Poly.c: Free edges structure after drawing Render polygons
2002-05-30 23:38 keithp
* Imakefile: Fix up support for building Xft1, Xrender and
fontconfig out of the tree
2002-05-21 13:39 keithp
* Poly.c: Xrender library didnt render some concave polygons right
2002-05-17 16:54 keithp
* Xrender.c: standard 1-bit render format had incorrect depth in
spec
2002-05-17 15:34 keithp
* Color.c, Imakefile, Xrender.h: Add Render color parse routine for
rgba colorspace
2002-05-16 23:54 keithp
* Poly.c: Another tesselation fix for Rendered polygons
2002-05-16 08:28 tsi
* Poly.c: Warning fix
2002-05-14 23:43 keithp
* Tri.c: Fix up triangle request encodings
2002-05-14 23:42 keithp
* Xrender.c, Xrender.h: Add XRenderFindStandardFormat
2002-05-14 23:39 keithp
* Poly.c: Redo tesselation to match foley and vanDam
2002-05-13 00:21 keithp
* Poly.c: Make tesselation function do something reasonable
2002-05-12 22:21 keithp
* Imakefile, Xrender.h, Poly.c, Trap.c, Tri.c: Update render
extension to include trapezoids
2002-02-11 23:17 keithp
* Glyph.c: XRenderFreeGlyphs wasnt sending the glyphset
2002-01-02 11:57 tsi
* Glyph.c, Xrender.h: Resync with today's trunk.
2001-12-26 17:16 keithp
* Glyph.c, Xrender.h: Add Render equivalents of XPolyText*
2001-12-18 09:08 tsi
* FillRect.c, FillRects.c, Glyph.c, Picture.c, Xrender.c,
Xrender.h: Another resync with HEAD branch.
2001-12-16 10:27 keithp
* FillRect.c, FillRects.c, Glyph.c, Picture.c, Xrender.c,
Xrender.h: lib/Xrender: add a bunch of _Xconst to make c++ happier
2001-10-10 20:26 keithp
* Xrender.c: Check malloc return for Xrender query reply temp data
2001-09-05 13:13 mvojkovi
* Xrender.c:
Missing SyncHandle() in XRenderQueryFormats.
2001-07-31 17:44 tsi
* Xrender.h: 168. Fix 16bpp colour maps on Mach64's (Marc La
France).
167. Fix Mach64 DPMS bug (Marc La France).
166. Fix bug that prevented hardware cursors on Mach64 CT's (Marc
La France).
165. Document what a ChipAdjustFrame() function should to to
prevent moving
of hardware cursors during mode switches (Marc La France).
164. -Wimplicit warning cleanup [`make World` >required<] (Marc La
France).
163. Ensure installed headers can find the headers they, in turn,
#include
(Marc La France).
162. Make imake pass its -W* flags to cpp (Marc La France).
161. More accomodations for newer GCC's (Mike A. Harris).
2001-07-06 13:46 keithp
* Xrender.c: Fix a couple of locking bugs in Xrender library
2001-05-16 03:33 keithp
* Xrender.c: Clean up memory leaks in Xrender library
2001-02-13 11:19 dawes
* Xrender-def.cpp: 135. Updates for Cygwin support (#4433, Suhaib
M. Siddiqi).
134. Fix a bug in the fonts.sgml doc (#4432, Juliusz Chroboczek).
133. Fix the xdpyinfo so that it will build when the XKB extension
isn't
defined (#4422, Jim Gettys).
132. Fix the xdm greeter so that it will build when the XKB
extension isn't
defined (#4421, Jim Gettys).
131. Only build setxkbmap when building the XKB lib support (based
on #4420,
Jim Gettys).
130. Improve the mga driver messages when the HAL module isn't
available
(#4451, David Woodhouse).
129. Add G450 support to the mga driver (#4416, Luugi Marsan
(Matrox),
4449, David Woodhouse).
128. Mga driver updates, including HAL cleanups, add a Crtc2Ram
option,
and merge with Matrox beta4 source (#4415, Antii Tapaninen,
#4423,
Simon Hosie).
127. Fix a rounding problem in the wacom driver that was causing
some
position instability (#4417, Hannes Eriksson).
2000-12-07 15:55 keithp
* Picture.c: Xrender: missing mask field in ChangePictureAttributes
request encoding
2000-12-04 23:42 keithp
* Picture.c: Xft,Xrender: make clip rectangles actually work
2000-12-04 19:13 keithp
* Picture.c, Xrender.h: Xft,Xrender,Render: c++ support, clip
rectangles, warnings
2000-12-04 13:01 dawes
* Xrender-def.cpp: missing ident lines
2000-12-04 10:49 dawes
* Xrender-def.cpp: 1085. Updates for Hurd support (#A.209, Marcus
Brinkmann). 1084. Bump the minor revisions of libXmu (UTF8_STRING)
and libX11 (Xutf8LookupString). 1083. Fixes for all known
bugs in the CompoundText parser and generator, (#4333, Bruno
Haible). 1082. Fix documentation for XSetOMValues() (#4332, Bruno
Haible). 1081. Fix namespace polution in <X11/Xlib.h> introduced
with patch #4293 (#4331, Bruno Haible). 1080. Fix a bug in
the newly introduced Xutf8LookupString() function that loses
input not representable in the locale encoding (#4330, Bruno
Haible). 1079. Avoid four new gcc warnings about const in lcUTF8.c
introduced by patch #4293 (#4329, Bruno Haible). 1078. Fix
some additional cases of confusing local typedef for wchar_t
(#4328, Bruno Haible). 1077. Fix some round-trip conversion errors
in COMPOUND_TEXT -> UTF8_STRING -> COMPOUND_TEXT due to wrong
tables introduced by patches #4214, 4215 (#4327, Pablo
Saratxaga). 1076. Cygwin update for building Xrender DLL (#4326,
Suhaib M. Siddiqi). 1075. Fix an undefined SUBDIRS in
xc/lib/GL/mesa/src/drv/Imakefile when compiling on something
other than x86, alpha or sparc (#4325, Brian Paul). 1074.
Don't have the neomagic driver disable stretching when a mode that
fills the panel is selected (#4324, Andrew C. Aitchison).
1073. Fix a bug in Xlib's _XimLocalMbLookupString() that causes a
crash when a zero keycode keypress event is received (#4322,
HIBINO Kei).
2000-12-03 15:41 keithp
* Xrender.h: Xrender: prototype using "template" collides with
reserved c++ word
2000-12-02 01:38 keithp
* Glyph.c: Xrender: 16/32 bit glyph functions using wrong minor
request code
2000-12-01 13:31 keithp
* Glyph.c, Picture.c, Xrender.c, Xrender.h: Xrender/Xft: handle
long strings, use unsigned int for 32-bit glyphs
2000-11-29 00:25 keithp
* Glyph.c, Xrender.h: add 16/32 bit glyph rendering to Xrender
library
2000-11-19 23:13 keithp
* FillRect.c, FillRects.c, Imakefile, Picture.c, Xrender.h: Add
component alpha to Render extension
2000-08-27 19:43 tsi
* Composite.c, Glyph.c, Picture.c, Xrender.c, Xrender.h,
Xrenderint.h: Ident lines
2000-08-26 09:37 keithp
* Imakefile: Get render library to actually build and install
correctly
2000-08-25 17:38 keithp
* Composite.c, Glyph.c, Imakefile, Picture.c, Xrender.c, Xrender.h,
Xrenderint.h: Add Xrender library
--- NEW FILE: INSTALL ---
Xrender is built with the traditional configure script:
$ ./configure --prefix=/usr/X11R6
This should generate valid Makefiles, then:
$ make
$ make install
--- NEW FILE: NEWS ---
--- NEW FILE: README ---
--- NEW FILE: autogen.sh ---
#! /bin/sh
autoreconf -v --install || exit 1
./configure --enable-maintainer-mode "$@"
--- NEW FILE: config.h ---
--- NEW FILE: configure.ac ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: xrender.pc.in ---
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: Xrender
Description: X Render Library
Version: @VERSION@
Requires: @X_REQUIRES@
Cflags: -I${includedir} @RENDER_CFLAGS@ @X_NON_PKG_CFLAGS@
Libs: -L${libdir} -lXrender @X_NON_PKG_LIBS@
Index: Color.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Color.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Color.c 5 Mar 2004 13:39:27 -0000 1.1.4.1
+++ b/Color.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86$
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
Index: Composite.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Composite.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Composite.c 5 Mar 2004 13:39:27 -0000 1.1.4.1
+++ b/Composite.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,5 +1,4 @@
/*
- * $XFree86$
*
* Copyright © 2000 SuSE, Inc.
*
@@ -40,7 +39,7 @@
unsigned int width,
unsigned int height)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeReq *req;
RenderSimpleCheckExtension (dpy, info);
Index: Cursor.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Cursor.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Cursor.c 5 Mar 2004 13:39:27 -0000 1.1.4.1
+++ b/Cursor.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Cursor.c,v 1.2tsi Exp $
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -30,7 +29,7 @@
unsigned int x,
unsigned int y)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
Cursor cid;
xRenderCreateCursorReq *req;
@@ -54,7 +53,7 @@
int ncursor,
XAnimCursor *cursors)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
Cursor cid;
xRenderCreateAnimCursorReq *req;
long len;
Index: FillRect.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/FillRect.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/FillRect.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/FillRect.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86$
*
- * Copyright © 2000 SuSE, Inc.
+ * Copyright © 2000 SuSE, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -39,7 +38,7 @@
unsigned int width,
unsigned int height)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRectangle *rect;
xRenderFillRectanglesReq *req;
#ifdef MUSTCOPY
Index: FillRects.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/FillRects.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/FillRects.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/FillRects.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,5 +1,4 @@
/*
- * $XFree86$
*
* Copyright © 2000 SuSE, Inc.
*
@@ -37,7 +36,7 @@
_Xconst XRectangle *rectangles,
int n_rects)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderFillRectanglesReq *req;
long len;
int n;
Index: Filter.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Filter.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Filter.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Filter.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86$
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -27,7 +26,7 @@
XFilters *
XRenderQueryFilters (Display *dpy, Drawable drawable)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
XRenderInfo *xri;
xRenderQueryFiltersReq *req;
xRenderQueryFiltersReply rep;
@@ -37,13 +36,13 @@
int i;
long nbytes, nbytesAlias, nbytesName;
- if (!XextHasExtension (info))
+ if (!RenderHasExtension (info))
return 0;
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
if (xri->minor_version < 6)
return 0;
@@ -131,7 +130,7 @@
XFixed *params,
int nparams)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderSetPictureFilterReq *req;
int nbytes = strlen (filter);
Index: Glyph.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Glyph.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Glyph.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Glyph.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,5 +1,4 @@
/*
- * $XFree86: xc/lib/Xrender/Glyph.c,v 1.11 2002/10/18 01:13:39 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
@@ -28,7 +27,7 @@
GlyphSet
XRenderCreateGlyphSet (Display *dpy, _Xconst XRenderPictFormat *format)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
GlyphSet gsid;
xRenderCreateGlyphSetReq *req;
@@ -47,7 +46,7 @@
GlyphSet
XRenderReferenceGlyphSet (Display *dpy, GlyphSet existing)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
GlyphSet gsid;
xRenderReferenceGlyphSetReq *req;
@@ -66,7 +65,7 @@
void
XRenderFreeGlyphSet (Display *dpy, GlyphSet glyphset)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderFreeGlyphSetReq *req;
RenderSimpleCheckExtension (dpy, info);
@@ -88,7 +87,7 @@
_Xconst char *images,
int nbyte_images)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderAddGlyphsReq *req;
long len;
@@ -116,7 +115,7 @@
_Xconst Glyph *gids,
int nglyphs)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderFreeGlyphsReq *req;
long len;
@@ -148,7 +147,7 @@
_Xconst char *string,
int nchar)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs8Req *req;
long len;
xGlyphElt *elt;
@@ -233,7 +232,7 @@
_Xconst unsigned short *string,
int nchar)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs8Req *req;
long len;
xGlyphElt *elt;
@@ -313,7 +312,7 @@
_Xconst unsigned int *string,
int nchar)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs8Req *req;
long len;
xGlyphElt *elt;
@@ -392,7 +391,7 @@
_Xconst XGlyphElt8 *elts,
int nelt)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs8Req *req;
GlyphSet glyphset;
long len;
@@ -505,7 +504,7 @@
_Xconst XGlyphElt16 *elts,
int nelt)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs16Req *req;
GlyphSet glyphset;
long len;
@@ -616,7 +615,7 @@
_Xconst XGlyphElt32 *elts,
int nelt)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderCompositeGlyphs32Req *req;
GlyphSet glyphset;
long len;
Index: Picture.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Picture.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Picture.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Picture.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,5 +1,4 @@
/*
- * $XFree86: xc/lib/Xrender/Picture.c,v 1.6 2000/12/05 07:42:29 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
@@ -76,7 +75,7 @@
unsigned long valuemask,
_Xconst XRenderPictureAttributes *attributes)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
Picture pid;
xRenderCreatePictureReq *req;
@@ -104,7 +103,7 @@
unsigned long valuemask,
_Xconst XRenderPictureAttributes *attributes)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderChangePictureReq *req;
RenderSimpleCheckExtension (dpy, info);
@@ -124,7 +123,7 @@
static void
_XRenderSetPictureClipRectangles (Display *dpy,
- XExtDisplayInfo *info,
+ XRenderExtDisplayInfo *info,
Picture picture,
int xOrigin,
int yOrigin,
@@ -154,7 +153,7 @@
_Xconst XRectangle *rects,
int n)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
RenderSimpleCheckExtension (dpy, info);
LockDisplay(dpy);
@@ -169,7 +168,7 @@
Picture picture,
Region r)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
int i;
XRectangle *xr, *pr;
BOX *pb;
@@ -200,7 +199,7 @@
Picture picture,
XTransform *transform)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderSetPictureTransformReq *req;
RenderSimpleCheckExtension (dpy, info);
@@ -227,7 +226,7 @@
XRenderFreePicture (Display *dpy,
Picture picture)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderFreePictureReq *req;
RenderSimpleCheckExtension (dpy, info);
Index: Poly.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Poly.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Poly.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Poly.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Poly.c,v 1.6 2002/05/21 20:39:50 keithp Exp $
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
Index: Trap.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Trap.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Trap.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Trap.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Trap.c,v 1.2 2002/09/27 16:40:11 keithp Exp $
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -35,7 +34,7 @@
_Xconst XTrapezoid *traps,
int ntrap)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderTrapezoidsReq *req;
int n;
long len;
Index: Tri.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Tri.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Tri.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Tri.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Tri.c,v 1.2 2002/05/15 06:43:22 keithp Exp $
*
- * Copyright © 2002 Keith Packard, member of The XFree86 Project, Inc.
+ * Copyright © 2002 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -35,7 +34,7 @@
_Xconst XTriangle *triangles,
int ntriangle)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderTrianglesReq *req;
int n;
long len;
@@ -80,7 +79,7 @@
_Xconst XPointFixed *points,
int npoint)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderTriStripReq *req;
int n;
long len;
@@ -125,7 +124,7 @@
_Xconst XPointFixed *points,
int npoint)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
_Xconst XPointFixed *first = points;
xPointFixed *p;
xRenderTriFanReq *req;
Index: Xrender-def.cpp
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Xrender-def.cpp,v
retrieving revision 1.1.4.2
retrieving revision 1.1.4.3
diff -u -d -r1.1.4.2 -r1.1.4.3
--- a/Xrender-def.cpp 5 Mar 2004 13:39:28 -0000 1.1.4.2
+++ b/Xrender-def.cpp 15 Apr 2004 10:15:05 -0000 1.1.4.3
@@ -42,4 +42,3 @@
#ifdef __UNIXOS2__
XRenderCreateAnimCursor
#endif
-/* $XFree86: xc/lib/Xrender/Xrender-def.cpp,v 1.4 2002/10/01 14:31:40 alanh Exp $ */
Index: Xrender.c
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Xrender.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Xrender.c 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Xrender.c 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Xrender.c,v 1.12 2002/09/29 23:39:44 keithp Exp $
*
- * Copyright © 2000 SuSE, Inc.
+ * Copyright © 2000 SuSE, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -25,59 +24,288 @@
#include "Xrenderint.h"
-XExtensionInfo XRenderExtensionInfo;
+XRenderExtInfo XRenderExtensionInfo;
char XRenderExtensionName[] = RENDER_NAME;
-static int XRenderCloseDisplay(Display *dpy, XExtCodes *codes);
+static int XRenderCloseDisplay (Display *dpy, XExtCodes *codes);
-static /* const */ XExtensionHooks render_extension_hooks = {
- NULL, /* create_gc */
- NULL, /* copy_gc */
- NULL, /* flush_gc */
- NULL, /* free_gc */
- NULL, /* create_font */
- NULL, /* free_font */
- XRenderCloseDisplay, /* close_display */
- NULL, /* wire_to_event */
- NULL, /* event_to_wire */
- NULL, /* error */
- NULL, /* error_string */
-};
+/*
+ * XRenderExtFindDisplay - look for a display in this extension; keeps a
+ * cache of the most-recently used for efficiency. (Replaces
+ * XextFindDisplay.)
+ */
+static XRenderExtDisplayInfo *
+XRenderExtFindDisplay (XRenderExtInfo *extinfo,
+ Display *dpy)
+{
+ XRenderExtDisplayInfo *dpyinfo;
-XExtDisplayInfo *
+ /*
+ * see if this was the most recently accessed display
+ */
+ if ((dpyinfo = extinfo->cur) && dpyinfo->display == dpy)
+ return dpyinfo;
+
+ /*
+ * look for display in list
+ */
+ _XLockMutex(_Xglobal_lock);
+ for (dpyinfo = extinfo->head; dpyinfo; dpyinfo = dpyinfo->next) {
+ if (dpyinfo->display == dpy) {
+ extinfo->cur = dpyinfo; /* cache most recently used */
+ _XUnlockMutex(_Xglobal_lock);
+ return dpyinfo;
+ }
+ }
+ _XUnlockMutex(_Xglobal_lock);
+
+ return NULL;
+}
+
+/*
+ * If the server is missing support for any of the required depths on
+ * any screen, tell the application that Render is not present.
+ */
+
+#define DEPTH_MASK(d) (1 << ((d) - 1))
+
+/*
+ * Render requires support for depth 1, 4, 8, 24 and 32 pixmaps
+ */
+
+#define REQUIRED_DEPTHS (DEPTH_MASK(1) | \
+ DEPTH_MASK(4) | \
+ DEPTH_MASK(8) | \
+ DEPTH_MASK(24) | \
+ DEPTH_MASK(32))
+
+typedef struct _DepthCheckRec {
+ struct _DepthCheckRec *next;
+ Display *dpy;
+ CARD32 missing;
+ unsigned long serial;
+} DepthCheckRec, *DepthCheckPtr;
+
+static DepthCheckPtr depthChecks;
+
+static int
+XRenderDepthCheckErrorHandler (Display *dpy, XErrorEvent *evt)
+{
+ if (evt->request_code == X_CreatePixmap && evt->error_code == BadValue)
+ {
+ DepthCheckPtr d;
+ _XLockMutex(_Xglobal_lock);
+ for (d = depthChecks; d; d = d->next)
+ if (d->dpy == dpy)
+ {
+ if ((long) (evt->serial - d->serial) >= 0)
+ d->missing |= DEPTH_MASK(evt->resourceid);
+ break;
+ }
+ _XUnlockMutex (_Xglobal_lock);
+ }
+}
+
+static Bool
+XRenderHasDepths (Display *dpy)
+{
+ int s;
+
+ for (s = 0; s < ScreenCount (dpy); s++)
+ {
+ CARD32 depths = 0;
+ CARD32 missing;
+ Screen *scr = ScreenOfDisplay (dpy, s);
+ int d;
+
+ for (d = 0; d < scr->ndepths; d++)
+ depths |= DEPTH_MASK(scr->depths[d].depth);
+ missing = ~depths & REQUIRED_DEPTHS;
+ if (missing)
+ {
+ DepthCheckRec dc, **dp;
+ XErrorHandler previousHandler;
+
+ /*
+ * Ok, this is ugly. It should be sufficient at this
+ * point to just return False, but Xinerama is broken at
+ * this point and only advertises depths which have an
+ * associated visual. Of course, the other depths still
+ * work, but the only way to find out is to try them.
+ */
+ dc.dpy = dpy;
+ dc.missing = 0;
+ dc.serial = XNextRequest (dpy);
+ _XLockMutex(_Xglobal_lock);
+ dc.next = depthChecks;
+ depthChecks = &dc;
+ _XUnlockMutex (_Xglobal_lock);
+ /*
+ * I suspect this is not really thread safe, but Xlib doesn't
+ * provide a lot of options here
+ */
+ previousHandler = XSetErrorHandler (XRenderDepthCheckErrorHandler);
+ /*
+ * Try each missing depth and see if pixmap creation succeeds
+ */
+ for (d = 1; d <= 32; d++)
+ /* don't check depth 1 == Xcursor recurses... */
+ if ((missing & DEPTH_MASK(d)) && d != 1)
+ {
+ Pixmap p;
+ p = XCreatePixmap (dpy, RootWindow (dpy, s), 1, 1, d);
+ XFreePixmap (dpy, p);
+ }
+ XSync (dpy, False);
+ XSetErrorHandler (previousHandler);
+ /*
+ * Unhook from the list of depth check records
+ */
+ _XLockMutex(_Xglobal_lock);
+ for (dp = &depthChecks; *dp; dp = &(*dp)->next)
+ {
+ if (*dp == &dc)
+ {
+ *dp = dc.next;
+ break;
+ }
+ }
+ _XUnlockMutex (_Xglobal_lock);
+ if (dc.missing)
+ return False;
+ }
+ }
+ return True;
+}
+
+/*
+ * XRenderExtAddDisplay - add a display to this extension. (Replaces
+ * XextAddDisplay)
+ */
+static XRenderExtDisplayInfo *
+XRenderExtAddDisplay (XRenderExtInfo *extinfo,
+ Display *dpy,
+ char *ext_name)
+{
+ XRenderExtDisplayInfo *dpyinfo;
+
+ dpyinfo = (XRenderExtDisplayInfo *) Xmalloc (sizeof (XRenderExtDisplayInfo));
+ if (!dpyinfo) return NULL;
+ dpyinfo->display = dpy;
+ dpyinfo->info = NULL;
+
+ if (XRenderHasDepths (dpy))
+ dpyinfo->codes = XInitExtension (dpy, ext_name);
+ else
+ dpyinfo->codes = NULL;
+
+ /*
+ * if the server has the extension, then we can initialize the
+ * appropriate function vectors
+ */
+ if (dpyinfo->codes) {
+ XESetCloseDisplay (dpy, dpyinfo->codes->extension,
+ XRenderCloseDisplay);
+ } else {
+ /* The server doesn't have this extension.
+ * Use a private Xlib-internal extension to hang the close_display
+ * hook on so that the "cache" (extinfo->cur) is properly cleaned.
+ * (XBUG 7955)
+ */
+ XExtCodes *codes = XAddExtension(dpy);
+ if (!codes) {
+ XFree(dpyinfo);
+ return NULL;
+ }
+ XESetCloseDisplay (dpy, codes->extension, XRenderCloseDisplay);
+ }
+
+ /*
+ * now, chain it onto the list
+ */
+ _XLockMutex(_Xglobal_lock);
+ dpyinfo->next = extinfo->head;
+ extinfo->head = dpyinfo;
+ extinfo->cur = dpyinfo;
+ extinfo->ndisplays++;
+ _XUnlockMutex(_Xglobal_lock);
+ return dpyinfo;
+}
+
+
+/*
+ * XRenderExtRemoveDisplay - remove the indicated display from the
+ * extension object. (Replaces XextRemoveDisplay.)
+ */
+static int
+XRenderExtRemoveDisplay (XRenderExtInfo *extinfo, Display *dpy)
+{
+ XRenderExtDisplayInfo *dpyinfo, *prev;
+
+ /*
+ * locate this display and its back link so that it can be removed
+ */
+ _XLockMutex(_Xglobal_lock);
+ prev = NULL;
+ for (dpyinfo = extinfo->head; dpyinfo; dpyinfo = dpyinfo->next) {
+ if (dpyinfo->display == dpy) break;
+ prev = dpyinfo;
+ }
+ if (!dpyinfo) {
+ _XUnlockMutex(_Xglobal_lock);
+ return 0; /* hmm, actually an error */
+ }
+
+ /*
+ * remove the display from the list; handles going to zero
+ */
+ if (prev)
+ prev->next = dpyinfo->next;
+ else
+ extinfo->head = dpyinfo->next;
+
+ extinfo->ndisplays--;
+ if (dpyinfo == extinfo->cur) extinfo->cur = NULL; /* flush cache */
+ _XUnlockMutex(_Xglobal_lock);
+
+ Xfree ((char *) dpyinfo);
+ return 1;
+}
+
+
+
+XRenderExtDisplayInfo *
XRenderFindDisplay (Display *dpy)
{
- XExtDisplayInfo *dpyinfo;
+ XRenderExtDisplayInfo *dpyinfo;
- dpyinfo = XextFindDisplay (&XRenderExtensionInfo, dpy);
+ dpyinfo = XRenderExtFindDisplay (&XRenderExtensionInfo, dpy);
if (!dpyinfo)
- dpyinfo = XextAddDisplay (&XRenderExtensionInfo, dpy,
- XRenderExtensionName,
- &render_extension_hooks,
- 0, 0);
+ dpyinfo = XRenderExtAddDisplay (&XRenderExtensionInfo, dpy,
+ XRenderExtensionName);
return dpyinfo;
}
static int
XRenderCloseDisplay (Display *dpy, XExtCodes *codes)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
- if (info->data) XFree (info->data);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ if (info->info) XFree (info->info);
- return XextRemoveDisplay (&XRenderExtensionInfo, dpy);
+ return XRenderExtRemoveDisplay (&XRenderExtensionInfo, dpy);
}
/****************************************************************************
* *
- * Render public interfaces *
+ * Render public interfaces *
* *
****************************************************************************/
Bool XRenderQueryExtension (Display *dpy, int *event_basep, int *error_basep)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
- if (XextHasExtension(info)) {
+ if (RenderHasExtension(info)) {
*event_basep = info->codes->first_event;
*error_basep = info->codes->first_error;
return True;
@@ -91,16 +319,16 @@
int *major_versionp,
int *minor_versionp)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
XRenderInfo *xri;
- if (!XextHasExtension (info))
+ if (!RenderHasExtension (info))
return 0;
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
*major_versionp = xri->major_version;
*minor_versionp = xri->minor_version;
return 1;
@@ -161,7 +389,7 @@
Status
XRenderQueryFormats (Display *dpy)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
_XAsyncHandler async;
_XrenderVersionState async_state;
xRenderQueryVersionReq *vreq;
@@ -184,7 +412,7 @@
RenderCheckExtension (dpy, info, 0);
LockDisplay (dpy);
- if (info->data)
+ if (info->info)
{
UnlockDisplay (dpy);
return 1;
@@ -316,7 +544,7 @@
xSubpixel++;
screen++;
}
- info->data = (XPointer) xri;
+ info->info = xri;
/*
* Skip any extra data
*/
@@ -332,32 +560,32 @@
int
XRenderQuerySubpixelOrder (Display *dpy, int screen)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
XRenderInfo *xri;
- if (!XextHasExtension (info))
+ if (!RenderHasExtension (info))
return SubPixelUnknown;
if (!XRenderQueryFormats (dpy))
return SubPixelUnknown;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
return xri->screen[screen].subpixel;
}
Bool
XRenderSetSubpixelOrder (Display *dpy, int screen, int subpixel)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
XRenderInfo *xri;
- if (!XextHasExtension (info))
+ if (!RenderHasExtension (info))
return False;
if (!XRenderQueryFormats (dpy))
return False;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
xri->screen[screen].subpixel = subpixel;
return True;
}
@@ -365,7 +593,7 @@
XRenderPictFormat *
XRenderFindVisualFormat (Display *dpy, _Xconst Visual *visual)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
int nv;
XRenderInfo *xri;
XRenderVisual *xrv;
@@ -373,7 +601,7 @@
RenderCheckExtension (dpy, info, 0);
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
for (nv = 0, xrv = xri->visual; nv < xri->nvisual; nv++, xrv++)
if (xrv->visual == visual)
return xrv->format;
@@ -386,14 +614,14 @@
_Xconst XRenderPictFormat *template,
int count)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
int nf;
XRenderInfo *xri;
RenderCheckExtension (dpy, info, 0);
if (!XRenderQueryFormats (dpy))
return 0;
- xri = (XRenderInfo *) info->data;
+ xri = info->info;
for (nf = 0; nf < xri->nformat; nf++)
{
if (mask & PictFormatID)
@@ -596,7 +824,7 @@
_Xconst XRenderPictFormat *format,
int *num)
{
- XExtDisplayInfo *info = XRenderFindDisplay (dpy);
+ XRenderExtDisplayInfo *info = XRenderFindDisplay (dpy);
xRenderQueryPictIndexValuesReq *req;
xRenderQueryPictIndexValuesReply rep;
XIndexValue *values;
Index: Xrender.h
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Xrender.h,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Xrender.h 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Xrender.h 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,5 +1,4 @@
/*
- * $XFree86: xc/lib/Xrender/Xrender.h,v 1.17 2002/11/06 22:47:49 keithp Exp $
*
* Copyright © 2000 SuSE, Inc.
*
@@ -28,6 +27,7 @@
#include <X11/extensions/render.h>
+#include <X11/Xlib.h>
#include <X11/Xfuncproto.h>
#include <X11/Xosdefs.h>
#include <X11/Xutil.h>
Index: Xrenderint.h
===================================================================
RCS file: /cvs/xorg/xc/lib/Xrender/Xrenderint.h,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/Xrenderint.h 5 Mar 2004 13:39:28 -0000 1.1.4.1
+++ b/Xrenderint.h 15 Apr 2004 10:15:05 -0000 1.1.4.2
@@ -1,7 +1,6 @@
/*
- * $XFree86: xc/lib/Xrender/Xrenderint.h,v 1.3 2002/09/26 02:56:52 keithp Exp $
*
- * Copyright © 2000 SuSE, Inc.
+ * Copyright © 2000 SuSE, Inc.
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
@@ -26,14 +25,13 @@
#ifndef _XRENDERINT_H_
#define _XRENDERINT_H_
+#include "config.h"
#define NEED_EVENTS
#define NEED_REPLIES
#include <X11/Xlibint.h>
#include <X11/Xutil.h>
-#include "Xext.h" /* in ../include */
-#include "extutil.h" /* in ../include */
+#include <X11/extensions/renderproto.h>
#include "Xrender.h"
-#include "renderproto.h"
typedef struct {
Visual *visual;
@@ -72,17 +70,34 @@
int nfilter_alias;
} XRenderInfo;
-extern XExtensionInfo XRenderExtensionInfo;
+/* replaces XRenderExtDisplayInfo */
+typedef struct _XRenderExtDisplayInfo {
+ struct _XRenderExtDisplayInfo *next; /* keep a linked list */
+ Display *display; /* which display this is */
+ XExtCodes *codes; /* the extension protocol codes */
+ XRenderInfo *info; /* extra data for the extension to use */
+} XRenderExtDisplayInfo;
+
+/* replaces XExtensionInfo */
+typedef struct _XRenderExtInfo {
+ XRenderExtDisplayInfo *head; /* start of the list */
+ XRenderExtDisplayInfo *cur; /* most recently used */
+ int ndisplays; /* number of displays */
+} XRenderExtInfo;
+
+extern XRenderExtInfo XRenderExtensionInfo;
extern char XRenderExtensionName[];
+XRenderExtDisplayInfo *
+XRenderFindDisplay (Display *dpy);
+
+#define RenderHasExtension(i) ((i) && ((i)->codes))
+
#define RenderCheckExtension(dpy,i,val) \
- XextCheckExtension (dpy, i, XRenderExtensionName, val)
+ if (!RenderHasExtension(i)) { return val; }
#define RenderSimpleCheckExtension(dpy,i) \
- XextSimpleCheckExtension (dpy, i, XRenderExtensionName)
-
-XExtDisplayInfo *
-XRenderFindDisplay (Display *dpy);
+ if (!RenderHasExtension(i)) { return; }
/*
* Xlib uses long for 32-bit values. Xrender uses int. This
More information about the xorg-commit-diffs
mailing list