summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorAnuj Phogat <[email protected]>2015-02-05 12:24:57 -0800
committerAnuj Phogat <[email protected]>2015-02-25 14:11:46 -0800
commit94d88cb46870ad7da8ae9e98ace524319c45bb8b (patch)
tree5b68dea46225535af47926bd5b1276b6ff1e7faf /src/mesa
parent82f6d17300bcdf407bffddba03533c702fe262f3 (diff)
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 <[email protected]> Reviewed-by: Neil Roberts <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/drivers/dri/i965/intel_tex_image.c13
1 files 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;