From 94d88cb46870ad7da8ae9e98ace524319c45bb8b Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Thu, 5 Feb 2015 12:24:57 -0800 Subject: [PATCH] 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 Reviewed-by: Neil Roberts --- src/mesa/drivers/dri/i965/intel_tex_image.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mesa/drivers/dri/i965/intel_tex_image.c b/src/mesa/drivers/dri/i965/intel_tex_image.c index 6eebfc4bd4b..da42fdd8a08 100644 --- a/src/mesa/drivers/dri/i965/intel_tex_image.c +++ b/src/mesa/drivers/dri/i965/intel_tex_image.c @@ -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; -- 2.30.2