From 60e2810ae45b358699e6db0ddc95e0a4c1f45338 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 14 Apr 2005 15:53:30 +0000 Subject: [PATCH] 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. --- src/mesa/drivers/dri/unichrome/via_state.c | 12 ++++++------ 1 file 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 )) { -- 2.30.2