xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Wed Dec 3 14:32:57 PST 2008


 src/radeon.h                     |    4 +++-
 src/radeon_exa_render.c          |    9 ---------
 src/radeon_textured_videofuncs.c |    6 +++---
 3 files changed, 6 insertions(+), 13 deletions(-)

New commits:
commit 941ac0d3ab839dc5aaaef2f3b7f5c7085b2894c5
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Dec 3 17:31:25 2008 -0500

    Make sure 3D state is emited when switching to 3D IB
    
    - fixes bug 18864

diff --git a/src/radeon.h b/src/radeon.h
index 902d1c0..86cee4b 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -1318,8 +1318,10 @@ do {									\
 	case EXA_ENGINEMODE_3D:						\
 	    break;							\
 	}								\
-	if (flush && info->directRenderingEnabled)                      \
+	if (flush && info->directRenderingEnabled) {			\
 	    RADEONCPFlushIndirect(pScrn, 1);                            \
+	    RADEONInit3DEngine(pScrn);                                  \
+	}                                                               \
         info->accel_state->engineMode = EXA_ENGINEMODE_3D;              \
 } while (0);
 #else
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index c75c6a5..b797200 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -558,9 +558,6 @@ static Bool FUNC_NAME(R100PrepareComposite)(int op,
 
     RADEON_SWITCH_TO_3D();
 
-    if (!info->accel_state->XInited3D)
-	RADEONInit3DEngine(pScrn);
-
     if (!FUNC_NAME(R100TextureSetup)(pSrcPicture, pSrc, 0))
 	return FALSE;
     pp_cntl = RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE;
@@ -859,9 +856,6 @@ static Bool FUNC_NAME(R200PrepareComposite)(int op, PicturePtr pSrcPicture,
 
     RADEON_SWITCH_TO_3D();
 
-    if (!info->accel_state->XInited3D)
-	RADEONInit3DEngine(pScrn);
-
     if (!FUNC_NAME(R200TextureSetup)(pSrcPicture, pSrc, 0))
 	return FALSE;
     pp_cntl = RADEON_TEX_0_ENABLE | RADEON_TEX_BLEND_0_ENABLE;
@@ -1223,9 +1217,6 @@ static Bool FUNC_NAME(R300PrepareComposite)(int op, PicturePtr pSrcPicture,
 
     RADEON_SWITCH_TO_3D();
 
-    if (!info->accel_state->XInited3D)
-	RADEONInit3DEngine(pScrn);
-
     if (!FUNC_NAME(R300TextureSetup)(pSrcPicture, pSrc, 0))
 	return FALSE;
     txenable = R300_TEX_0_ENABLE;
diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c
index 7a4ffc2..63434c6 100644
--- a/src/radeon_textured_videofuncs.c
+++ b/src/radeon_textured_videofuncs.c
@@ -142,10 +142,10 @@ FUNC_NAME(RADEONDisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv
 			  RADEON_WAIT_3D_IDLECLEAN |
 			  RADEON_WAIT_DMA_GUI_IDLE);
 	    FINISH_ACCEL();
-	}
 
-    if (!info->accel_state->XInited3D)
-	RADEONInit3DEngine(pScrn);
+	    if (!info->accel_state->XInited3D)
+		RADEONInit3DEngine(pScrn);
+	}
 
     if (pPriv->bicubic_enabled)
 	vtx_count = 6;


More information about the xorg-commit mailing list