diff options
author | Keith Whitwell <keith@tungstengraphics.com> | 2005-04-14 15:53:30 +0000 |
---|---|---|
committer | Keith Whitwell <keith@tungstengraphics.com> | 2005-04-14 15:53:30 +0000 |
commit | 60e2810ae45b358699e6db0ddc95e0a4c1f45338 (patch) | |
tree | 8508ae4e4263c13ca855bb667d1187840e4bde13 | |
parent | 99b329ca13f92bc723c3e67d35a974adac235323 (diff) |
Disable CLOD (Lod constant) state emit. The values emitted were
possibly negative, hence clobbering the leading register-id byte.
Fixed the calculation of the values to prevent negative numbers being
emitted, but the code still doesn't implement texture LOD bias
correctly, so leave it disabled overall.
-rw-r--r-- | src/mesa/drivers/dri/unichrome/via_state.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/unichrome/via_state.c b/src/mesa/drivers/dri/unichrome/via_state.c index 91531e6cc34..a092e4acfd9 100644 --- a/src/mesa/drivers/dri/unichrome/via_state.c +++ b/src/mesa/drivers/dri/unichrome/via_state.c @@ -308,7 +308,7 @@ void viaEmitState(struct via_context *vmesa) ADVANCE_RING(); } - BEGIN_RING(15); + BEGIN_RING(14); OUT_RING( (HC_SubA_HTXnTB << 24) | vmesa->regHTXnTB[0] ); OUT_RING( (HC_SubA_HTXnMPMD << 24) | vmesa->regHTXnMPMD[0] ); OUT_RING( (HC_SubA_HTXnTBLCsat << 24) | vmesa->regHTXnTBLCsat[0] ); @@ -323,7 +323,7 @@ void viaEmitState(struct via_context *vmesa) OUT_RING( (HC_SubA_HTXnTBLRCbias << 24) | vmesa->regHTXnTBLRCbias[0] ); OUT_RING( (HC_SubA_HTXnTBC << 24) | vmesa->regHTXnTBC[0] ); OUT_RING( (HC_SubA_HTXnTRAH << 24) | vmesa->regHTXnTRAH[0] ); - OUT_RING( (HC_SubA_HTXnCLODu << 24) | vmesa->regHTXnCLOD[0] ); +/* OUT_RING( (HC_SubA_HTXnCLODu << 24) | vmesa->regHTXnCLOD[0] ); */ ADVANCE_RING(); /* KW: This test never succeeds: @@ -433,7 +433,7 @@ void viaEmitState(struct via_context *vmesa) ADVANCE_RING(); } - BEGIN_RING(15); + BEGIN_RING(14); OUT_RING( (HC_SubA_HTXnTB << 24) | vmesa->regHTXnTB[1] ); OUT_RING( (HC_SubA_HTXnMPMD << 24) | vmesa->regHTXnMPMD[1] ); OUT_RING( (HC_SubA_HTXnTBLCsat << 24) | vmesa->regHTXnTBLCsat[1] ); @@ -448,7 +448,7 @@ void viaEmitState(struct via_context *vmesa) OUT_RING( (HC_SubA_HTXnTBLRCbias << 24) | vmesa->regHTXnTBLRCbias[1] ); OUT_RING( (HC_SubA_HTXnTBC << 24) | vmesa->regHTXnTBC[1] ); OUT_RING( (HC_SubA_HTXnTRAH << 24) | vmesa->regHTXnTRAH[1] ); - OUT_RING( (HC_SubA_HTXnCLODu << 24) | vmesa->regHTXnCLOD[1] ); +/* OUT_RING( (HC_SubA_HTXnCLODu << 24) | vmesa->regHTXnCLOD[1] ); */ ADVANCE_RING(); /* KW: This test never succeeds: @@ -913,7 +913,7 @@ static GLboolean viaChooseTextureState(GLcontext *ctx) GLuint b = viaComputeLodBias(texUnit0->LodBias); vmesa->regHTXnTB[0] &= ~HC_HTXnFLDs_MASK; vmesa->regHTXnTB[0] |= HC_HTXnFLDs_ConstLOD; - vmesa->regHTXnCLOD[0] = b | ((~b&0x1f)<<10); /* FIXME */ + vmesa->regHTXnCLOD[0] = (b&0x1f) | (((~b)&0x1f)<<10); /* FIXME */ } if (!viaTexCombineState( vmesa, texUnit0->_CurrentCombine, 0 )) { @@ -947,7 +947,7 @@ static GLboolean viaChooseTextureState(GLcontext *ctx) GLuint b = viaComputeLodBias(texUnit1->LodBias); vmesa->regHTXnTB[1] &= ~HC_HTXnFLDs_MASK; vmesa->regHTXnTB[1] |= HC_HTXnFLDs_ConstLOD; - vmesa->regHTXnCLOD[1] = b | ((~b&0x1f)<<10); /* FIXME */ + vmesa->regHTXnCLOD[1] = (b&0x1f) | (((~b)&0x1f)<<10); /* FIXME */ } if (!viaTexCombineState( vmesa, texUnit1->_CurrentCombine, 1 )) { |