i965: Allocate texture buffer in intelTexImage

before calling _mesa_meta_pbo_TexSubImage(). This will be used in
later patches and will be required in Skylake to get the tile
resource mode of miptree before calling _mesa_meta_pbo_TexSubImage().

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Neil Roberts <neil@linux.intel.com>
This commit is contained in:
Anuj Phogat 2015-02-05 12:24:57 -08:00
parent 82f6d17300
commit 94d88cb468

View file

@ -103,11 +103,20 @@ intelTexImage(struct gl_context * ctx,
_mesa_lookup_enum_by_nr(format), _mesa_lookup_enum_by_nr(type),
texImage->Level, texImage->Width, texImage->Height, texImage->Depth);
/* Allocate storage for texture data. */
if (!ctx->Driver.AllocTextureImageBuffer(ctx, texImage)) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage%uD", dims);
return;
}
assert(intelImage->mt);
ok = _mesa_meta_pbo_TexSubImage(ctx, dims, texImage, 0, 0, 0,
texImage->Width, texImage->Height,
texImage->Depth,
format, type, pixels,
true, tex_busy, unpack);
false /*allocate_storage*/,
tex_busy, unpack);
if (ok)
return;
@ -117,7 +126,7 @@ intelTexImage(struct gl_context * ctx,
texImage->Height,
texImage->Depth,
format, type, pixels, unpack,
true /*for_glTexImage*/);
false /*allocate_storage*/);
if (ok)
return;