summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hellström <thomas@tungstengraphics.com>2004-12-15 21:27:49 +0000
committerThomas Hellström <thomas@tungstengraphics.com>2004-12-15 21:27:49 +0000
commitb4f58e99ebfa7d746781b992aca8189821fb26b0 (patch)
tree5a2ed81c5288c5fe0aee145169dffd033ababadc
parentde541439d31415a4cd7393e3507e980d2ab1fc19 (diff)
Unichrome DRI:
Stop the driver from giving empty texture levels with erroneous HW addresses to the hardware. These will get caught and rejected in the DRM command verifier.
-rw-r--r--src/mesa/drivers/dri/unichrome/via_tris.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/unichrome/via_tris.c b/src/mesa/drivers/dri/unichrome/via_tris.c
index 423b1372a7..4eff5830cc 100644
--- a/src/mesa/drivers/dri/unichrome/via_tris.c
+++ b/src/mesa/drivers/dri/unichrome/via_tris.c
@@ -977,7 +977,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (0 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexWidthLog2[1];
*vb++ = t->regTexHeightLog2[0];
@@ -1010,7 +1010,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (0 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexHeightLog2[0];
@@ -1049,7 +1049,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (0 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexHeightLog2[0];
*vb++ = t->regTexBaseH[0];
@@ -1109,7 +1109,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (1 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexWidthLog2[1];
*vb++ = t->regTexHeightLog2[0];
@@ -1142,7 +1142,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (1 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexHeightLog2[0];
@@ -1181,7 +1181,7 @@ static void emit_all_state(viaContextPtr vmesa)
*vb++ = (HC_ParaType_Tex << 16) | (1 << 24);
*vb++ = t->regTexFM;
*vb++ = (HC_SubA_HTXnL0OS << 24) |
- ((t->actualLevel) << HC_HTXnLVmax_SHIFT);
+ ((t->lastLevel) << HC_HTXnLVmax_SHIFT) | t->firstLevel;
*vb++ = t->regTexWidthLog2[0];
*vb++ = t->regTexHeightLog2[0];
*vb++ = t->regTexBaseH[0];