summaryrefslogtreecommitdiff
path: root/src/mesa/drivers
diff options
context:
space:
mode:
authorRoland Scheidegger <rscheidegger@gmx.ch>2006-02-16 17:16:33 +0000
committerRoland Scheidegger <rscheidegger@gmx.ch>2006-02-16 17:16:33 +0000
commit555b5fac4f47576f04d8e4159dc22f72a2b0a397 (patch)
tree154ff2410567f5b90a72ad7df419fa1833087c80 /src/mesa/drivers
parenta176bc6c1781ccbd12cdd7ac215a15178b73d5bb (diff)
Reinstate vertex format after a rasterization fallback for both r200 and radeon driver when a tcl fallback is active, fixes a blender issue with non-tcl hw (bug #5601)
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/r200/r200_swtcl.c3
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_swtcl.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_swtcl.c b/src/mesa/drivers/dri/r200/r200_swtcl.c
index 58879a5901..7ab3f7cd03 100644
--- a/src/mesa/drivers/dri/r200/r200_swtcl.c
+++ b/src/mesa/drivers/dri/r200/r200_swtcl.c
@@ -717,6 +717,9 @@ void r200Fallback( GLcontext *ctx, GLuint bit, GLboolean mode )
* zero above. But not if it doesn't (R200_NO_TCL for
* example?)
*/
+ _tnl_invalidate_vertex_state( ctx, ~0 );
+ _tnl_invalidate_vertices( ctx, ~0 );
+ rmesa->tnl_index = 0;
r200ChooseVertexState( ctx );
r200ChooseRenderState( ctx );
}
diff --git a/src/mesa/drivers/dri/radeon/radeon_swtcl.c b/src/mesa/drivers/dri/radeon/radeon_swtcl.c
index 1a737ebe61..9924931e1a 100644
--- a/src/mesa/drivers/dri/radeon/radeon_swtcl.c
+++ b/src/mesa/drivers/dri/radeon/radeon_swtcl.c
@@ -936,6 +936,9 @@ void radeonFallback( GLcontext *ctx, GLuint bit, GLboolean mode )
* zero above. But not if it doesn't (RADEON_NO_TCL for
* example?)
*/
+ _tnl_invalidate_vertex_state( ctx, ~0 );
+ _tnl_invalidate_vertices( ctx, ~0 );
+ rmesa->tnl_index = 0;
radeonChooseVertexState( ctx );
radeonChooseRenderState( ctx );
}