diff options
author | Anuj Phogat <[email protected]> | 2015-02-05 12:24:57 -0800 |
---|---|---|
committer | Anuj Phogat <[email protected]> | 2015-02-25 14:11:46 -0800 |
commit | 94d88cb46870ad7da8ae9e98ace524319c45bb8b (patch) | |
tree | 5b68dea46225535af47926bd5b1276b6ff1e7faf /src/mesa | |
parent | 82f6d17300bcdf407bffddba03533c702fe262f3 (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.c | 13 |
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; |