attempt to fix DXT1 4x4 mipmap downloads to the TMUs

This commit is contained in:
koolsmoky
2003-11-25 16:18:20 +00:00
parent 6b5e8acf71
commit 0c477a7afb
2 changed files with 4 additions and 3 deletions

View File

@@ -1524,7 +1524,7 @@ GR_ENTRY(grTexDownloadMipMapLevelPartial,
aspectIndex = ((aspectRatio < GR_ASPECT_LOG2_1x1)
? -aspectRatio
: aspectRatio),
lodIndex = ((thisLod == GR_LOD_LOG2_256)
lodIndex = ((thisLod >= GR_LOD_LOG2_256)
? GR_LOD_LOG2_256 : thisLod + 1),
formatMult = _grBitsPerTexel[format];
FxU32
@@ -1651,7 +1651,8 @@ GR_ENTRY(grTexDownloadMipMapLevelPartial,
if (max_s <= 0) max_s = 1;
if (widthSel > 3) widthSel = 4;
else if (widthSel <= 0) widthSel = 0;
gc->stats.texBytes += max_s * (max_t - t + 1) * 4;
(*((*gc->archDispatchProcs.texDownloadProcs)[formatSel][widthSel]))

View File

@@ -98,7 +98,7 @@ _grTexDownload_Default_4_4(struct GrGC_s* gc, const FxU32 tmuBaseAddr,
t = minT;
for (; t <= maxT; t+=4) {
FxU32 tex_address = tmuBaseAddr + (t << 2UL);
FxU32 tex_address = tmuBaseAddr + (t << 1UL);
int s;
LINEAR_WRITE_BEGIN(2, PACKET5_MODE, (FxU32)tex_address, 0x00UL, 0x00UL);