rpms/xorg-x11-drv-i810/devel intel-2.4.2-git-diffs.patch, NONE, 1.1 xorg-x11-drv-i810.spec, 1.100, 1.101 intel-2.1.1-disable-ttm.patch, 1.1, NONE intel-2.2.0-xaadefault.patch, 1.1, NONE intel-2.4.0-no-mm.patch, 1.1, NONE intel-master.patch, 1.1, NONE

Dave Airlie airlied at fedoraproject.org
Thu Aug 28 12:11:58 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-i810/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6874

Modified Files:
	xorg-x11-drv-i810.spec 
Added Files:
	intel-2.4.2-git-diffs.patch 
Removed Files:
	intel-2.1.1-disable-ttm.patch intel-2.2.0-xaadefault.patch 
	intel-2.4.0-no-mm.patch intel-master.patch 
Log Message:
* Thu Aug 28 2008 Dave Airlie <airlied at redhat.com> 2.4.2-2
- upgrade to git head - brings in modesetting + GEM bits


intel-2.4.2-git-diffs.patch:

--- NEW FILE intel-2.4.2-git-diffs.patch ---
diff --git a/Makefile.am b/Makefile.am
index b2398a8..5db07de 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -19,7 +19,7 @@
 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
 AUTOMAKE_OPTIONS = foreign
-SUBDIRS = src man
+SUBDIRS = uxa src man
 
 EXTRA_DIST = README
 DISTCLEANFILES = doltcompile
diff --git a/configure.ac b/configure.ac
index 809e84d..e276f0e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@
 
 AC_PREREQ(2.57)
 AC_INIT([xf86-video-intel],
-        2.4.2,
+        2.5.96.0,
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         xf86-video-intel)
 
@@ -85,12 +85,17 @@ XORG_DRIVER_CHECK_EXT(DPMSExtension, xextproto)
 # Checks for pkg-config packages
 PKG_CHECK_MODULES(XORG, [xorg-server xproto fontsproto $REQUIRED_MODULES])
 sdkdir=$(pkg-config --variable=sdkdir xorg-server)
+drm_cflags=$(pkg-config --cflags libdrm)
 
 # Checks for libraries.
 
 # Checks for header files.
 AC_HEADER_STDC
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$XORG_CFLAGS $DRI_CFLAGS $drm_cflags"
+CPPFLAGS="$XORG_CFLAGS $DRI_CFLAGS $drm_cflags"
+AC_MSG_CHECKING([whether to include DRI support])
 if test x$DRI != xno; then
         AC_CHECK_FILE([${sdkdir}/dri.h],
                       [have_dri_h="yes"], [have_dri_h="no"])
@@ -100,6 +105,12 @@ if test x$DRI != xno; then
                       [have_dristruct_h="yes"], [have_dristruct_h="no"])
 	AC_CHECK_FILE([${sdkdir}/damage.h],
                       [have_damage_h="yes"], [have_damage_h="no"])
+	AC_CHECK_HEADER(xf86drmMode.h,
+			[DRM_MODE=yes],[DRM_MODE=no]
+			[#include "stdint.h"])
+	if test "x$DRM_MODE" = xyes; then
+	   	AC_DEFINE(XF86DRM_MODE,1,[DRM kernel modesetting])
+	fi
 fi
 AC_MSG_CHECKING([whether to include DRI support])
 if test x$DRI = xauto; then
@@ -113,8 +124,6 @@ if test x$DRI = xauto; then
 fi
 AC_MSG_RESULT([$DRI])
 
-save_CFLAGS="$CFLAGS"
-CFLAGS="$XORG_CFLAGS"
 AC_CHECK_HEADER(xf86Modes.h,[XMODES=yes],[XMODES=no],[#include "xorg-server.h"])
 AC_CHECK_DECL(XSERVER_LIBPCIACCESS,
 	      [XSERVER_LIBPCIACCESS=yes],[XSERVER_LIBPCIACCESS=no],
@@ -174,6 +183,8 @@ else
 fi
 
 AC_SUBST([XMODES_CFLAGS])
+UXA_CFLAGS='-I$(top_srcdir)/uxa'
+AC_SUBST([UXA_CFLAGS])
 
 SAVE_CPPFLAGS="$CPPFLAGS"
 CPPFLAGS="$CPPFLAGS $XORG_CFLAGS"
@@ -197,9 +208,10 @@ if test "x$GCC" = "xyes"; then
 	-Wnested-externs -fno-strict-aliasing"
 fi
 
+PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.0])
 AM_CONDITIONAL(DRI, test x$DRI = xyes)
 if test "$DRI" = yes; then
-        PKG_CHECK_MODULES(DRI, [libdrm xf86driproto glproto])
+        PKG_CHECK_MODULES(DRI, [xf86driproto glproto])
         AC_DEFINE(XF86DRI,1,[Enable DRI driver support])
         AC_DEFINE(XF86DRI_DEVEL,1,[Enable developmental DRI driver support])
 	PKG_CHECK_MODULES(DRI_MM, [libdrm >= 2.4.0],[DRI_MM=yes], [DRI_MM=no])
@@ -209,17 +221,6 @@ if test "$DRI" = yes; then
 	if test "$have_damage_h" = yes; then
 		AC_DEFINE(DAMAGE,1,[Use Damage extension])
 	fi
-
-	save_CFLAGS="$CFLAGS"
-	CFLAGS="$XORG_CFLAGS $DRI_CFLAGS"
-	AC_CHECK_TYPE(drm_i915_flip_t,
-		      [AC_DEFINE(HAVE_I915_FLIP, 1,
-			         [Have drm_i915_flip_t and related definitions])],
-		      [], [
-#include <inttypes.h>
-#include <i915_drm.h>
-])
-	CFLAGS="$save_CFLAGS"
 fi
 
 AM_CONDITIONAL(VIDEO_DEBUG, test x$VIDEO_DEBUG = xyes)
@@ -262,6 +263,7 @@ XORG_CHECK_LINUXDOC
 
 AC_OUTPUT([
 	Makefile
+	uxa/Makefile
 	src/Makefile
 	src/xvmc/Makefile
 	src/bios_reader/Makefile
diff --git a/src/Makefile.am b/src/Makefile.am
index 594416d..97feea4 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -30,13 +30,14 @@ SUBDIRS = xvmc bios_reader ch7017 ch7xxx ivch sil164 tfp410 $(REGDUMPER)
 # _ladir passes a dummy rpath to libtool so the thing will actually link
 # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
 
-AM_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @DRI_CFLAGS@ @PCIACCESS_CFLAGS@ \
-	@XMODES_CFLAGS@ -DI830_XV -DI830_USE_XAA -DI830_USE_EXA
+AM_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @DRM_CFLAGS@ @DRI_CFLAGS@ \
+	@PCIACCESS_CFLAGS@ @UXA_CFLAGS@ \
+	@XMODES_CFLAGS@ -DI830_XV -DI830_USE_XAA -DI830_USE_EXA	-DI830_USE_UXA
 
 intel_drv_la_LTLIBRARIES = intel_drv.la
 intel_drv_la_LDFLAGS = -module -avoid-version
 intel_drv_ladir = @moduledir@/drivers
-intel_drv_la_LIBADD =
+intel_drv_la_LIBADD = -lm ../uxa/libuxa.la
 if XSERVER_LIBPCIACCESS
 intel_drv_la_LIBADD += @PCIACCESS_LIBS@
 endif
@@ -93,6 +94,8 @@ intel_drv_la_SOURCES = \
          i830_accel.c \
          i830_bios.c \
          i830_bios.h \
+         i830_batchbuffer.c \
+         i830_batchbuffer.h \
          i830_common.h \
 	 i830_crt.c \
          i830_cursor.c \
@@ -127,7 +130,9 @@ intel_drv_la_SOURCES = \
 	 i830_xaa.c \
 	 i830_render.c \
 	 i915_render.c \
-	 i965_render.c
+	 i965_render.c \
+	 drmmode_display.c \
+	 drmmode_display.h
 
 INTEL_G4A =				\
 	packed_yuv_sf.g4a		\
@@ -154,7 +159,6 @@ INTEL_G4I =				\
 	exa_wm.g4i			\
 	exa_wm_affine.g4i		\
 	exa_wm_projective.g4i
-	
 
 INTEL_G4B = 				\
 	packed_yuv_sf.g4b		\
@@ -176,7 +180,7 @@ INTEL_G4B = 				\
 	exa_wm_write.g4b 		\
 	exa_wm_yuv_rgb.g4b		\
 	exa_wm_xy.g4b
-	
+
 EXTRA_DIST = 		\
 	$(XMODE_SRCS)	\
 	$(INTEL_G4A)	\
diff --git a/src/bios_reader/Makefile.am b/src/bios_reader/Makefile.am
index c4da957..c85081e 100644
--- a/src/bios_reader/Makefile.am
+++ b/src/bios_reader/Makefile.am
@@ -1,6 +1,6 @@
 AM_CFLAGS = @WARN_CFLAGS@ @XORG_CFLAGS@ @XMODES_CFLAGS@ @PCIACCESS_CFLAGS@
 
-noinst_PROGRAMS = bios_reader  $(BIOS_DUMPER)
+noinst_PROGRAMS = bios_reader  $(BIOS_DUMPER) $(SWF_DUMPER)
 
 if LIBPCIACCESS
 BIOS_DUMPER = bios_dumper
@@ -9,4 +9,10 @@ bios_dumper_SOURCES = bios_dumper.c
 
 bios_dumper_LDADD = $(PCIACCESS_LIBS)
 
+SWF_DUMPER = swf_dumper
+
+swf_dumper_SOURCES = swf_dumper.c
+
+swf_dumper_LDADD = $(PCIACCESS_LIBS)
+
 endif
diff --git a/src/bios_reader/bios_reader.c b/src/bios_reader/bios_reader.c
index dbcd150..9e05317 100644
--- a/src/bios_reader/bios_reader.c
+++ b/src/bios_reader/bios_reader.c
[...11102 lines suppressed...]
+     * call, to the rectangle from (dstX, dstY) to (dstX + width, dstY + height)
+     * in the destination Pixmap.  Note that if a transformation was set on
+     * the source or mask Pictures, the source rectangles may not be the same
+     * size as the destination rectangles and filtering.  Getting the coordinate
+     * transformation right at the subpixel level can be tricky, and rendercheck
+     * can test this for you.
+     *
+     * This call is required if prepare_composite() ever succeeds.
+     */
+    void        (*composite) (PixmapPtr         pDst,
+                              int       srcX,
+                              int        srcY,
+                              int        maskX,
+                              int        maskY,
+                              int        dstX,
+                              int        dstY,
+                              int        width,
+                              int        height);
+
+    /**
+     * done_composite() finishes a set of composite operations.
+     *
+     * @param pPixmap destination pixmap.
+     *
+     * The done_composite() call is called at the end of a series of consecutive
+     * composite() calls following a successful prepare_composite().  This allows
+     * drivers to finish up emitting drawing commands that were buffered, or
+     * clean up state from prepare_composite().
+     *
+     * This call is required if prepare_composite() ever succeeds.
+     */
+    void        (*done_composite) (PixmapPtr         pDst);
+    /** @} */
+
+    /**
+     * put_image() loads a rectangle of data from src into pDst.
+     *
+     * @param pDst destination pixmap
+     * @param x destination X coordinate.
+     * @param y destination Y coordinate
+     * @param width width of the rectangle to be copied
+     * @param height height of the rectangle to be copied
+     * @param src pointer to the beginning of the source data
+     * @param src_pitch pitch (in bytes) of the lines of source data.
+     *
+     * put_image() copies data in system memory beginning at src (with
+     * pitch src_pitch) into the destination pixmap from (x, y) to
+     * (x + width, y + height).  This is typically done with hostdata uploads,
+     * where the CPU sets up a blit command on the hardware with instructions
+     * that the blit data will be fed through some sort of aperture on the card.
+     *
+     * put_image() is most important for the performance of uxa_glyphs()
+     * (antialiased font drawing) by allowing pipelining of data uploads,
+     * avoiding a sync of the card after each glyph.
+     * 
+     * @return TRUE if the driver successfully uploaded the data.  FALSE
+     * indicates that UXA should fall back to doing the upload in software.
+     *
+     * put_image() is not required, but is recommended if composite
+     * acceleration is supported.
+     */
+    Bool        (*put_image) (PixmapPtr            pDst,
+				   int                  x,
+				   int                  y,
+				   int                  w,
+				   int                  h,
+                                   char                 *src,
+                                   int                  src_pitch);
+
+    /**
+     * get_image() loads a rectangle of data from pSrc into dst
+     *
+     * @param pSrc source pixmap
+     * @param x source X coordinate.
+     * @param y source Y coordinate
+     * @param width width of the rectangle to be copied
+     * @param height height of the rectangle to be copied
+     * @param dst pointer to the beginning of the destination data
+     * @param dst_pitch pitch (in bytes) of the lines of destination data.
+     *
+     * get_image() copies data from offscreen memory in pSrc from
+     * (x, y) to (x + width, y + height), to system memory starting at
+     * dst (with pitch dst_pitch).  This would usually be done
+     * using scatter-gather DMA, supported by a DRM call, or by blitting to AGP
+     * and then synchronously reading from AGP.  Because the implementation
+     * might be synchronous, UXA leaves it up to the driver to call
+     * uxa_mark_sync() if get_image() was asynchronous.  This is in
+     * contrast to most other acceleration calls in UXA.
+     *
+     * @return TRUE if the driver successfully downloaded the data.  FALSE
+     * indicates that UXA should fall back to doing the download in software.
+     *
+     * get_image() is not required, but is highly recommended.
+     */
+    Bool (*get_image)(PixmapPtr pSrc,
+                               int x,  int y,
+                               int w,  int h,
+                               char *dst,  int dst_pitch);
+
+    /** @{ */
+    /**
+     * prepare_access() is called before CPU access to an offscreen pixmap.
+     *
+     * @param pPix the pixmap being accessed
+     * @param index the index of the pixmap being accessed.
+     *
+     * prepare_access() will be called before CPU access to an offscreen pixmap.
+     * This can be used to set up hardware surfaces for byteswapping or
+     * untiling, or to adjust the pixmap's devPrivate.ptr for the purpose of
+     * making CPU access use a different aperture.
+     *
+     * The index is one of #UXA_PREPARE_DEST, #UXA_PREPARE_SRC, or
+     * #UXA_PREPARE_MASK, indicating which pixmap is in question.  Since only up
+     * to three pixmaps will have prepare_access() called on them per operation,
+     * drivers can have a small, statically-allocated space to maintain state
+     * for prepare_access() and finish_access() in.  Note that the same pixmap may
+     * have prepare_access() called on it more than once, for uxample when doing
+     * a copy within the same pixmap (so it gets prepare_access as()
+     * #UXA_PREPARE_DEST and then as #UXA_PREPARE_SRC).
+     *
+     * prepare_access() may fail.  An uxample might be the case of hardware that
+     * can set up 1 or 2 surfaces for CPU access, but not 3.  If prepare_access()
+     * fails, UXA will migrate the pixmap to system memory.
+     * get_image() must be implemented and must not fail if a driver
+     * wishes to fail in prepare_access().  prepare_access() must not fail when
+     * pPix is the visible screen, because the visible screen can not be
+     * migrated.
+     *
+     * @return TRUE if prepare_access() successfully prepared the pixmap for CPU
+     * drawing.
+     * @return FALSE if prepare_access() is unsuccessful and UXA should use
+     * get_image() to migate the pixmap out.
+     */
+    Bool	(*prepare_access)(PixmapPtr pPix, uxa_access_t access);
+
+    /**
+     * finish_access() is called after CPU access to an offscreen pixmap.
+     *
+     * @param pPix the pixmap being accessed
+     * @param index the index of the pixmap being accessed.
+     *
+     * finish_access() will be called after finishing CPU access of an offscreen
+     * pixmap set up by prepare_access().  Note that the finish_access() will not be
+     * called if prepare_access() failed.
+     */
+    void	(*finish_access)(PixmapPtr pPix);
+
+    /**
+     * PixmapIsOffscreen() is an optional driver replacement to
+     * uxa_pixmap_is_offscreen(). Set to NULL if you want the standard behaviour
+     * of uxa_pixmap_is_offscreen().
+     *
+     * @param pPix the pixmap
+     * @return TRUE if the given drawable is in framebuffer memory.
+     *
+     * uxa_pixmap_is_offscreen() is used to determine if a pixmap is in offscreen
+     * memory, meaning that acceleration could probably be done to it, and that it
+     * will need to be wrapped by prepare_access()/finish_access() when accessing it
+     * with the CPU.
+     *
+     *
+     */
+    Bool	(*pixmap_is_offscreen)(PixmapPtr pPix);
+
+    /** @} */
+} uxa_driver_t;
+
+/** @name UXA driver flags
+ * @{
+ */
+/**
+ * UXA_TWO_BITBLT_DIRECTIONS indicates to UXA that the driver can only
+ * support copies that are (left-to-right, top-to-bottom) or
+ * (right-to-left, bottom-to-top).
+ */
+#define UXA_TWO_BITBLT_DIRECTIONS	(1 << 2)
+
+/** @} */
+
+uxa_driver_t *
+uxa_driver_alloc(void);
+
+Bool
+uxa_driver_init(ScreenPtr screen, uxa_driver_t *uxa_driver);
+
+void
+uxa_driver_fini(ScreenPtr pScreen);
+
+CARD32
+uxa_get_pixmap_first_pixel (PixmapPtr pPixmap);
+
+/**
+ * Returns TRUE if the given planemask covers all the significant bits in the
+ * pixel values for pDrawable.
+ */
+#define UXA_PM_IS_SOLID(_pDrawable, _pm) \
+	(((_pm) & FbFullMask((_pDrawable)->depth)) == \
+	 FbFullMask((_pDrawable)->depth))
+
+#endif /* UXA_H */


Index: xorg-x11-drv-i810.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-i810/devel/xorg-x11-drv-i810.spec,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -r1.100 -r1.101
--- xorg-x11-drv-i810.spec	26 Aug 2008 16:49:27 -0000	1.100
+++ xorg-x11-drv-i810.spec	28 Aug 2008 12:11:28 -0000	1.101
@@ -6,7 +6,7 @@
 Summary:   Xorg X11 Intel video driver(s)
 Name:      xorg-x11-drv-i810
 Version:   2.4.2
-Release:   1%{?dist}
+Release:   2%{?dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X Hardware Support
@@ -20,15 +20,8 @@
 Source2:   i810.xinf
 Source3:   intel-stub.c
 
+Patch1: intel-2.4.2-git-diffs.patch
 Patch3: intel-2.1.1-fix-xv-reset.patch
-Patch8: intel-2.1.1-disable-ttm.patch
-
-# EXA on 965 without DRI is broken - fix for now so installer can run
-# Actually no, let's shake this out again.
-Patch9: intel-2.2.0-xaadefault.patch
-
-Patch100: intel-master.patch
-Patch101: intel-2.4.0-no-mm.patch
 
 ExclusiveArch: %{ix86} x86_64 ia64
 
@@ -58,11 +51,8 @@
 
 %prep
 %setup -q -n xf86-video-intel-%{version}
+%patch1 -p1 -b .gitupdate
 %patch3 -p1 -b .xvfix
-%patch8 -p1 -b .disablettm
-#patch9 -p1 -b .xaadefault
-#patch100 -p1 -b .intel-master
-%patch101 -p1 -b .no-mm
 
 %build
 
@@ -105,6 +95,9 @@
 %{_libdir}/libIntelXvMC.so
 
 %changelog
+* Thu Aug 28 2008 Dave Airlie <airlied at redhat.com> 2.4.2-2
+- upgrade to git head - brings in modesetting + GEM bits
+
 * Tue Aug 26 2008 Adam Jackson <ajax at redhat.com> 2.4.2-1
 - intel 2.4.2.
 


--- intel-2.1.1-disable-ttm.patch DELETED ---


--- intel-2.2.0-xaadefault.patch DELETED ---


--- intel-2.4.0-no-mm.patch DELETED ---


--- intel-master.patch DELETED ---




More information about the fedora-extras-commits mailing list