r300g: Slightly saner initialization of some texture / transfer fields.

This commit is contained in:
Michel Dänzer 2009-08-04 10:57:47 +02:00
parent d7430d942f
commit 048f988aeb
2 changed files with 5 additions and 6 deletions

View file

@ -322,13 +322,14 @@ r300_get_tex_transfer(struct pipe_screen *screen,
trans = CALLOC_STRUCT(r300_transfer);
if (trans) {
pipe_texture_reference(&trans->transfer.texture, texture);
trans->transfer.format = trans->transfer.format;
trans->transfer.format = texture->format;
trans->transfer.width = w;
trans->transfer.height = h;
trans->transfer.block = texture->block;
trans->transfer.nblocksx = texture->nblocksx[level];
trans->transfer.nblocksy = texture->nblocksy[level];
trans->transfer.stride = tex->stride;
trans->transfer.stride = align(pf_get_stride(&trans->transfer.block,
texture->width[level]), 32);
trans->transfer.usage = usage;
trans->offset = offset;
}

View file

@ -81,13 +81,11 @@ static void r300_setup_miptree(struct r300_texture* tex)
* XXX
* POT, uncompressed, unmippmapped textures can be aligned to 32,
* instead of 64. */
stride = align(
(base->nblocksx[i] * base->block.size) / base->block.width,
32);
stride = align(pf_get_stride(&base->block, base->width[i]), 32);
size = stride * base->nblocksy[i] * base->depth[i];
tex->offset[i] = align(tex->size, 32);
tex->size += tex->offset[i] + size;
tex->size = tex->offset[i] + size;
debug_printf("r300: Texture miptree: Level %d "
"(%dx%dx%d px, pitch %d bytes)\n",