rpms/xorg-x11-drv-ati/F-10 radeon-modeset.patch,1.43,1.44

Dave Airlie airlied at fedoraproject.org
Thu Nov 20 06:52:43 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/xorg-x11-drv-ati/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv24279

Modified Files:
	radeon-modeset.patch 
Log Message:
* Tue Nov 18 2008 Dave Airlie <airlied at redhat.com> 6.9.0-55
- attempt to resolve DFS with a worse idea.


radeon-modeset.patch:

Index: radeon-modeset.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-drv-ati/F-10/radeon-modeset.patch,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- radeon-modeset.patch	20 Nov 2008 06:47:09 -0000	1.43
+++ radeon-modeset.patch	20 Nov 2008 06:52:12 -0000	1.44
@@ -1,3 +1,9 @@
+commit 2697016d4ae42e457e9552d42b1d3a609472a7c4
+Author: Dave Airlie <airlied at redhat.com>
+Date:   Thu Nov 20 16:48:33 2008 +1000
+
+    flush on UTS if any references
+
 commit b8264d48009b5e7b441d492f9c3fe45a6caa2f14
 Author: Dave Airlie <airlied at redhat.com>
 Date:   Thu Nov 20 16:44:40 2008 +1000
@@ -6498,7 +6504,7 @@
  }
  #endif
 diff --git a/src/radeon_exa_funcs.c b/src/radeon_exa_funcs.c
-index 62224d0..d88a72f 100644
+index 62224d0..8fc3839 100644
 --- a/src/radeon_exa_funcs.c
 +++ b/src/radeon_exa_funcs.c
 @@ -74,21 +74,73 @@ FUNC_NAME(RADEONSync)(ScreenPtr pScreen, int marker)
@@ -6787,11 +6793,11 @@
  #ifdef ACCEL_CP
      unsigned int   hpass;
      uint32_t	   buf_pitch, dst_pitch_off;
-@@ -276,10 +410,45 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
+@@ -276,10 +410,48 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
      if (bpp < 8)
  	return FALSE;
  
-+    if (info->new_cs)
++    if (info->new_cs) 
 +	dst = info->mm.front_buffer->map + exaGetPixmapOffset(pDst);
 +
  #ifdef ACCEL_CP
@@ -6809,6 +6815,9 @@
 +		return FALSE;
 +
 +
++	    if (radeon_bufmgr_gem_has_references(driver_priv->bo))
++		RADEONCPFlushIndirect(pScrn, 0);
++
 +	    /* use pwrites - maybe require some sort of fallback */
 +	    bo_width = w * (bpp / 8);
 +	    offset = (x * bpp / 8) + (y * dst_pitch);
@@ -6836,7 +6845,7 @@
  	int cpp = bpp / 8;
  	ACCEL_PREAMBLE();
  
-@@ -294,9 +463,10 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
+@@ -294,9 +466,10 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
  
  	exaMarkSync(pDst->drawable.pScreen);
  	return TRUE;
@@ -6849,7 +6858,7 @@
      /* Do we need that sync here ? probably not .... */
      exaWaitSync(pDst->drawable.pScreen);
  
-@@ -335,14 +505,20 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
+@@ -335,14 +508,20 @@ FUNC_NAME(RADEONUploadToScreen)(PixmapPtr pDst, int x, int y, int w, int h,
  #ifdef ACCEL_CP
  /* Emit blit with arbitrary source and destination offsets and pitches */
  static void
@@ -6872,7 +6881,7 @@
      OUT_ACCEL_REG(RADEON_DP_GUI_MASTER_CNTL,
  		  RADEON_GMC_DST_PITCH_OFFSET_CNTL |
  		  RADEON_GMC_SRC_PITCH_OFFSET_CNTL |
-@@ -353,8 +529,14 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
+@@ -353,8 +532,14 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
  		  RADEON_DP_SRC_SOURCE_MEMORY |
  		  RADEON_GMC_CLR_CMP_CNTL_DIS |
  		  RADEON_GMC_WR_MSK_DIS);
@@ -6887,7 +6896,7 @@
      OUT_ACCEL_REG(RADEON_SRC_Y_X, (srcY << 16) | srcX);
      OUT_ACCEL_REG(RADEON_DST_Y_X, (dstY << 16) | dstX);
      OUT_ACCEL_REG(RADEON_DST_HEIGHT_WIDTH, (h << 16) | w);
-@@ -365,6 +547,174 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
+@@ -365,6 +550,174 @@ RADEONBlitChunk(ScrnInfoPtr pScrn, uint32_t datatype, uint32_t src_pitch_offset,
                    RADEON_WAIT_2D_IDLECLEAN | RADEON_WAIT_DMA_GUI_IDLE);
      FINISH_ACCEL();
  }
@@ -7062,7 +7071,7 @@
  #endif
  
  static Bool
-@@ -389,12 +739,18 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -389,12 +742,18 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
      TRACE;
  
  #ifdef ACCEL_CP
@@ -7082,7 +7091,7 @@
  	RADEONGetPixmapOffsetPitch(pSrc, &src_pitch_offset) &&
  	(scratch = RADEONCPGetBuffer(pScrn)))
      {
-@@ -409,7 +765,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -409,7 +768,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
  	RADEON_SWITCH_TO_2D();
  
  	/* Kick the first blit as early as possible */
@@ -7092,7 +7101,7 @@
  			x, y, 0, 0, w, hpass);
  	FLUSH_RING();
  
-@@ -436,7 +793,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
+@@ -436,7 +796,8 @@ FUNC_NAME(RADEONDownloadFromScreen)(PixmapPtr pSrc, int x, int y, int w, int h,
  	    /* Prepare next blit if anything's left */
  	    if (hpass) {
  		scratch_off = scratch->total/2 - scratch_off;
@@ -7102,7 +7111,7 @@
  				x, y, 0, 0, w, hpass);
  	    }
  
-@@ -543,14 +901,17 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -543,14 +904,17 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
      info->accel_state->exa->UploadToScreen = FUNC_NAME(RADEONUploadToScreen);
      info->accel_state->exa->DownloadFromScreen = FUNC_NAME(RADEONDownloadFromScreen);
  
@@ -7123,7 +7132,7 @@
  
  #ifdef RENDER
      if (info->RenderAccel) {
-@@ -560,7 +921,7 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -560,7 +924,7 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
  	else if (IS_R300_3D || IS_R500_3D) {
  	    if ((info->ChipFamily < CHIP_FAMILY_RS400)
  #ifdef XF86DRI
@@ -7132,7 +7141,7 @@
  #endif
  		) {
  		xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Render acceleration "
-@@ -595,6 +956,16 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
+@@ -595,6 +959,16 @@ Bool FUNC_NAME(RADEONDrawInit)(ScreenPtr pScreen)
      }
  #endif
  




More information about the fedora-extras-commits mailing list