diff options
author | Roland Scheidegger <[email protected]> | 2006-09-07 13:34:29 +0000 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2006-09-07 13:34:29 +0000 |
commit | c5cb8e2c6f2ad089bc0b94eb89abb2f804dd6dfa (patch) | |
tree | 0cf289c0e8da233630ca4f78265ff1f07426a970 /src/mesa | |
parent | 28e7219b96e647ac59f6a28abf6d2aea3779dc47 (diff) |
make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're already in a tcl fallback, otherwise the chip will instantly lock up when vertex progs are enabled the next time not in a tcl fallback (fixes for instance guaranteed lockup running any program which uses vertex progs with tcl_mode=0 and then later with tcl_mode=1).
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_tcl.c | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/r200/r200_vertprog.c | 2 |
2 files changed, 1 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/r200/r200_tcl.c b/src/mesa/drivers/dri/r200/r200_tcl.c index 2530e1b1046..18b5458a97b 100644 --- a/src/mesa/drivers/dri/r200/r200_tcl.c +++ b/src/mesa/drivers/dri/r200/r200_tcl.c @@ -545,7 +545,6 @@ static void transition_to_swtnl( GLcontext *ctx ) * need to put the card into D3D mode to make it work: */ R200_STATECHANGE( rmesa, vap ); - /* not sure if it's strictly necessary to disable VAP_PROG_VTX_SHADER_ENABLE in addition to VAP_TCL_ENABLE) */ rmesa->hw.vap.cmd[VAP_SE_VAP_CNTL] &= ~(R200_VAP_TCL_ENABLE|R200_VAP_PROG_VTX_SHADER_ENABLE); } diff --git a/src/mesa/drivers/dri/r200/r200_vertprog.c b/src/mesa/drivers/dri/r200/r200_vertprog.c index ab9a64ca0b0..1357d2e38ff 100644 --- a/src/mesa/drivers/dri/r200/r200_vertprog.c +++ b/src/mesa/drivers/dri/r200/r200_vertprog.c @@ -989,7 +989,7 @@ void r200SetupVertexProg( GLcontext *ctx ) { fallback = !(vp->native && r200VertexProgUpdateParams(ctx, vp) && rmesa->r200Screen->drmSupportsVertexProgram); TCL_FALLBACK(ctx, R200_TCL_FALLBACK_VERTEX_PROGRAM, fallback); - if (fallback) return; + if (rmesa->TclFallback) return; R200_STATECHANGE( rmesa, vap ); /* FIXME: fglrx sets R200_VAP_SINGLE_BUF_STATE_ENABLE too. Do we need it? |