From 7178d6ac590211cf123254688da1a540cce6c0a9 Mon Sep 17 00:00:00 2001 From: Ilia Mirkin Date: Fri, 4 Oct 2013 04:28:58 -0400 Subject: [PATCH] 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 Signed-off-by: Francisco Jerez --- src/mesa/drivers/dri/nouveau/nouveau_texture.c | 9 +++++++++ 1 file changed, 9 insertions(+) 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; -- 2.30.2