From: Thomas Hellström Date: Wed, 15 Dec 2004 21:27:49 +0000 (+0000) Subject: Unichrome DRI: X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b4f58e99ebfa7d746781b992aca8189821fb26b0;p=mesa.git 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. --- diff --git a/src/mesa/drivers/dri/unichrome/via_tris.c b/src/mesa/drivers/dri/unichrome/via_tris.c index 423b1372a73..4eff5830cc0 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];