mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-06-13 11:38:22 +02:00
r300g: do not align compressed textures to a tile size
This commit is contained in:
parent
064eb0a095
commit
cd553ec8be
1 changed files with 14 additions and 6 deletions
|
|
@ -139,11 +139,15 @@ unsigned r300_texture_get_stride(struct r300_screen* screen,
|
|||
return 0;
|
||||
}
|
||||
|
||||
tile_width = r300_texture_get_tile_size(tex, TILE_WIDTH);
|
||||
width = align(u_minify(tex->tex.width0, level), tile_width);
|
||||
width = u_minify(tex->tex.width0, level);
|
||||
|
||||
/* Should already be aligned except for S3TC. */
|
||||
return align(util_format_get_stride(tex->tex.format, width), 32);
|
||||
if (!util_format_is_compressed(tex->tex.format)) {
|
||||
tile_width = r300_texture_get_tile_size(tex, TILE_WIDTH);
|
||||
width = align(width, tile_width);
|
||||
return util_format_get_stride(tex->tex.format, width);
|
||||
} else {
|
||||
return align(util_format_get_stride(tex->tex.format, width), 32);
|
||||
}
|
||||
}
|
||||
|
||||
static unsigned r300_texture_get_nblocksy(struct r300_texture* tex,
|
||||
|
|
@ -151,8 +155,12 @@ static unsigned r300_texture_get_nblocksy(struct r300_texture* tex,
|
|||
{
|
||||
unsigned height, tile_height;
|
||||
|
||||
tile_height = r300_texture_get_tile_size(tex, TILE_HEIGHT);
|
||||
height = align(u_minify(tex->tex.height0, level), tile_height);
|
||||
height = u_minify(tex->tex.height0, level);
|
||||
|
||||
if (!util_format_is_compressed(tex->tex.format)) {
|
||||
tile_height = r300_texture_get_tile_size(tex, TILE_HEIGHT);
|
||||
height = align(height, tile_height);
|
||||
}
|
||||
|
||||
return util_format_get_nblocksy(tex->tex.format, height);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue