Mesa (radeon-rewrite): r300: move firevertices out into the main place its needed.

Dave Airlie airlied at kemper.freedesktop.org
Mon Mar 9 03:46:24 UTC 2009


Module: Mesa
Branch: radeon-rewrite
Commit: 778cf80d9e462ca26e660dca1910328f66f6427d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=778cf80d9e462ca26e660dca1910328f66f6427d

Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Mar  9 10:34:41 2009 +1100

r300: move firevertices out into the main place its needed.

This fixes a hang on context destruction on rs690

---

 src/mesa/drivers/dri/r200/r200_state.c             |    1 -
 src/mesa/drivers/dri/r300/r300_state.c             |    2 +-
 .../drivers/dri/radeon/radeon_common_context.c     |    2 +-
 src/mesa/drivers/dri/radeon/radeon_state.c         |    1 -
 4 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/r200/r200_state.c b/src/mesa/drivers/dri/r200/r200_state.c
index 46baad3..5eb61c8 100644
--- a/src/mesa/drivers/dri/r200/r200_state.c
+++ b/src/mesa/drivers/dri/r200/r200_state.c
@@ -1618,7 +1618,6 @@ void r200UpdateWindow( GLcontext *ctx )
    float_ui32_type sz = { v[MAT_SZ] * rmesa->radeon.state.depth.scale };
    float_ui32_type tz = { v[MAT_TZ] * rmesa->radeon.state.depth.scale };
 
-   radeon_firevertices(&rmesa->radeon);
    R200_STATECHANGE( rmesa, vpt );
 
    rmesa->hw.vpt.cmd[VPT_SE_VPORT_XSCALE]  = sx.ui32;
diff --git a/src/mesa/drivers/dri/r300/r300_state.c b/src/mesa/drivers/dri/r300/r300_state.c
index 6bb0063..17e7b52 100644
--- a/src/mesa/drivers/dri/r300/r300_state.c
+++ b/src/mesa/drivers/dri/r300/r300_state.c
@@ -1069,7 +1069,6 @@ static void r300UpdateWindow(GLcontext * ctx)
 	GLfloat sz = v[MAT_SZ] * rmesa->radeon.state.depth.scale;
 	GLfloat tz = v[MAT_TZ] * rmesa->radeon.state.depth.scale;
 
-	radeon_firevertices(&rmesa->radeon);
 	R300_STATECHANGE(rmesa, vpt);
 
 	rmesa->hw.vpt.cmd[R300_VPT_XSCALE] = r300PackFloat32(sx);
@@ -2137,6 +2136,7 @@ static void r300ResetHwState(r300ContextPtr r300)
 	if (RADEON_DEBUG & DEBUG_STATE)
 		fprintf(stderr, "%s\n", __FUNCTION__);
 
+	radeon_firevertices(&r300->radeon);
 	r300UpdateWindow(ctx);
 
 	r300ColorMask(ctx,
diff --git a/src/mesa/drivers/dri/radeon/radeon_common_context.c b/src/mesa/drivers/dri/radeon/radeon_common_context.c
index 7358391..b63aba2 100644
--- a/src/mesa/drivers/dri/radeon/radeon_common_context.c
+++ b/src/mesa/drivers/dri/radeon/radeon_common_context.c
@@ -578,7 +578,7 @@ GLboolean radeonMakeCurrent(__DRIcontextPrivate * driContextPriv,
 			}
 			radeon->dri.drawable = driDrawPriv;
 			
-//			radeonWindowMoved(radeon);
+			radeon_window_moved(radeon);
 		}
 		radeon_draw_buffer(radeon->glCtx, &drfb->base);
 	}
diff --git a/src/mesa/drivers/dri/radeon/radeon_state.c b/src/mesa/drivers/dri/radeon/radeon_state.c
index 0c92a6f..42b65cb 100644
--- a/src/mesa/drivers/dri/radeon/radeon_state.c
+++ b/src/mesa/drivers/dri/radeon/radeon_state.c
@@ -1398,7 +1398,6 @@ void radeonUpdateWindow( GLcontext *ctx )
    float_ui32_type sz = { v[MAT_SZ] * rmesa->radeon.state.depth.scale };
    float_ui32_type tz = { v[MAT_TZ] * rmesa->radeon.state.depth.scale };
 
-   radeon_firevertices(&rmesa->radeon);
    RADEON_STATECHANGE( rmesa, vpt );
 
    rmesa->hw.vpt.cmd[VPT_SE_VPORT_XSCALE]  = sx.ui32;




More information about the mesa-commit mailing list