From b4f58e99ebfa7d746781b992aca8189821fb26b0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20Hellstr=C3=B6m?= Date: Wed, 15 Dec 2004 21:27:49 +0000 Subject: [PATCH] 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. --- src/mesa/drivers/dri/unichrome/via_tris.c | 12 ++++++------ 1 file 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 423b137..4eff583 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]; -- 2.7.4