summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-04-14 15:53:30 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-04-14 15:53:30 +0000
commit60e2810ae45b358699e6db0ddc95e0a4c1f45338 (patch)
tree8508ae4e4263c13ca855bb667d1187840e4bde13
parent99b329ca13f92bc723c3e67d35a974adac235323 (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.c12
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 91531e6cc3..a092e4acfd 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 )) {