chunk = (fxMesa->type >= GR_SSTTYPE_Banshee) ? (end - start) : FX_2MB_SPLIT;
if (fxMesa->verbose) {
- fprintf(stderr, "Voodoo %s configuration:\n",
- (tmu == FX_TMU0) ? "TMU0" : "TMU1");
- fprintf(stderr, "Voodoo Lower texture memory address (%u)\n",
- (unsigned int) start);
- fprintf(stderr, "Voodoo Higher texture memory address (%u)\n",
- (unsigned int) end);
- fprintf(stderr, "Voodoo Splitting Texture memory in %luMB blocks:\n", chunk >> 20);
+ fprintf(stderr, "Voodoo TMU%d configuration:\n", tmu);
}
fxMesa->freeTexMem[tmu] = end - start;
blockend = blockstart + chunk;
if (fxMesa->verbose)
- fprintf(stderr, "Voodoo %07u-%07u\n",
+ fprintf(stderr, "Voodoo %08u-%08u\n",
(unsigned int) blockstart, (unsigned int) blockend);
tmn = fxTMNewRangeNode(fxMesa, blockstart, blockend);
for (i = FX_largeLodValue(ti->info), l = ti->minLevel;
i <= FX_smallLodValue(ti->info); i++, l++) {
- struct gl_texture_image *texImage = tObj->Image[l];
+ struct gl_texture_image *texImage = tObj->Image[0][l];
grTexDownloadMipMapLevel(where,
ti->tm[where]->startAddr,
FX_valueToLod(i),
for (i = FX_largeLodValue(ti->info), l = ti->minLevel;
i <= FX_smallLodValue(ti->info); i++, l++) {
- struct gl_texture_image *texImage = tObj->Image[l];
+ struct gl_texture_image *texImage = tObj->Image[0][l];
grTexDownloadMipMapLevel(GR_TMU0,
ti->tm[FX_TMU0]->startAddr,
/*texmemsize = (int)grTexTextureMemRequired(GR_MIPMAPLEVELMASK_BOTH, &(ti->info));*/
ti->tm[FX_TMU1] = fxTMAddObj(fxMesa, tObj, FX_TMU1, texmemsize);
- fxMesa->stats.memTexUpload += texmemsize; /* ZZZ: required? */
+ fxMesa->stats.memTexUpload += texmemsize;
for (i = FX_largeLodValue(ti->info), l = ti->minLevel;
i <= FX_smallLodValue(ti->info); i++, l++) {
- struct gl_texture_image *texImage = tObj->Image[l];
+ struct gl_texture_image *texImage = tObj->Image[0][l];
grTexDownloadMipMapLevel(GR_TMU0,
ti->tm[FX_TMU0]->startAddr,
FX_valueToLod(i),
tfxTexInfo *ti = fxTMGetTexInfo(tObj);
GrLOD_t lodlevel;
GLint tmu;
- struct gl_texture_image *texImage = tObj->Image[level];
+ struct gl_texture_image *texImage = tObj->Image[0][level];
tfxMipMapLevel *mml = FX_MIPMAP_DATA(texImage);
if (TDFX_DEBUG & VERBOSE_TEXTURE) {
assert(mml->width > 0);
assert(mml->height > 0);
assert(mml->glideFormat > 0);
+ assert(ti->isInTM);
if (!ti->validated) {
fprintf(stderr, "fxTMReloadMipMapLevel: INTERNAL ERROR: not validated\n");
}
tmu = (int) ti->whichTMU;
-#if 0
- /* [dBorca]
- * We get here by (see Tex[Sub]Image2D), thus we are in TMU.
- * Also, we just set the correct TMU above. fxTMMoveInTM will
- * bail early, so don't bother...
- */
- fxTMMoveInTM(fxMesa, tObj, tmu);
-#else
fxMesa->stats.reqTexUpload++;
fxMesa->stats.texUpload++;
-#endif
lodlevel = ti->info.largeLodLog2 - (level - ti->minLevel);
GrLOD_t lodlevel;
unsigned short *data;
GLint tmu;
- struct gl_texture_image *texImage = tObj->Image[level];
+ struct gl_texture_image *texImage = tObj->Image[0][level];
tfxMipMapLevel *mml = FX_MIPMAP_DATA(texImage);
assert(mml);
fxTMMoveOutTM(fxMesa, tObj);
for (i = 0; i < MAX_TEXTURE_LEVELS; i++) {
- struct gl_texture_image *texImage = tObj->Image[i];
+ struct gl_texture_image *texImage = tObj->Image[0][i];
if (texImage) {
- if (texImage->Data) {
- MESA_PBUFFER_FREE(texImage->Data);
- texImage->Data = NULL;
- }
if (texImage->DriverData) {
FREE(texImage->DriverData);
texImage->DriverData = NULL;