dri/nouveau: Initialize tile_flags when allocating a render target.

This commit is contained in:
Francisco Jerez 2010-10-09 23:26:34 +02:00
parent 965f69cb0c
commit 70828aa246
2 changed files with 14 additions and 6 deletions

View File

@ -34,8 +34,8 @@ nouveau_surface_alloc(GLcontext *ctx, struct nouveau_surface *s,
unsigned flags, unsigned format,
unsigned width, unsigned height)
{
unsigned tile_mode, cpp = _mesa_get_format_bytes(format);
int ret;
unsigned tile_mode = 0, tile_flags = 0;
int ret, cpp = _mesa_get_format_bytes(format);
nouveau_bo_ref(NULL, &s->bo);
@ -51,13 +51,21 @@ nouveau_surface_alloc(GLcontext *ctx, struct nouveau_surface *s,
if (layout == TILED) {
s->pitch = align(s->pitch, 256);
tile_mode = s->pitch;
if (cpp == 4)
tile_flags = NOUVEAU_BO_TILE_32BPP;
else if (cpp == 2)
tile_flags = NOUVEAU_BO_TILE_16BPP;
if (_mesa_get_format_bits(format, GL_DEPTH_BITS))
tile_flags |= NOUVEAU_BO_TILE_ZETA;
} else {
s->pitch = align(s->pitch, 64);
tile_mode = 0;
}
ret = nouveau_bo_new_tile(context_dev(ctx), flags, 0, s->pitch * height,
tile_mode, 0, &s->bo);
tile_mode, tile_flags, &s->bo);
assert(!ret);
}

View File

@ -64,8 +64,8 @@ setup_lma_buffer(GLcontext *ctx)
if (!nfb->hierz.bo || nfb->hierz.bo->size != size) {
nouveau_bo_ref(NULL, &nfb->hierz.bo);
nouveau_bo_new(context_dev(ctx), NOUVEAU_BO_VRAM, 0, size,
&nfb->hierz.bo);
nouveau_bo_new_tile(context_dev(ctx), NOUVEAU_BO_VRAM, 0, size,
0, NOUVEAU_BO_TILE_ZETA, &nfb->hierz.bo);
}
nouveau_bo_markl(bctx, celsius, NV17TCL_LMA_DEPTH_BUFFER_OFFSET,