diff options
author | Ilia Mirkin <[email protected]> | 2013-10-04 04:28:58 -0400 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2013-10-06 12:59:18 -0700 |
commit | 7178d6ac590211cf123254688da1a540cce6c0a9 (patch) | |
tree | b4ba689aaa9bb81901d7d050fd14421756242793 /src/mesa | |
parent | b3c04362b44a4eceb38c938ceb387a9c04d06973 (diff) |
dri/nouveau: add AllocTextureImageBuffer implementation
This fixes issues where get_rt_format would see a 0 format because the
nouveau_surface had not been properly initialized. Fixes crash on
supertuxkart startup (which still fails due to out-of-vram issues).
Signed-off-by: Ilia Mirkin <[email protected]>
Signed-off-by: Francisco Jerez <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_texture.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c index da74e8f4207..8904389d198 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c @@ -494,6 +494,14 @@ nouveau_compressed_teximage(struct gl_context *ctx, GLuint dims, &ctx->Unpack, GL_TRUE); } +static GLboolean +nouveau_teximage_alloc(struct gl_context *ctx, struct gl_texture_image *ti) +{ + nouveau_teximage(ctx, 3, ti, 0, 0, 0, NULL, + &ctx->DefaultPacking, GL_FALSE); + return GL_TRUE; +} + static void nouveau_texsubimage(struct gl_context *ctx, GLint dims, struct gl_texture_image *ti, @@ -634,6 +642,7 @@ nouveau_texture_functions_init(struct dd_function_table *functions) functions->DeleteTexture = nouveau_texture_free; functions->NewTextureImage = nouveau_teximage_new; functions->FreeTextureImageBuffer = nouveau_teximage_free; + functions->AllocTextureImageBuffer = nouveau_teximage_alloc; functions->ChooseTextureFormat = nouveau_choose_tex_format; functions->TexImage = nouveau_teximage_123d; functions->TexSubImage = nouveau_texsubimage_123d; |