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 <imirkin@alum.mit.edu> Signed-off-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:

committed by
Francisco Jerez

parent
b3c04362b4
commit
7178d6ac59
@@ -494,6 +494,14 @@ nouveau_compressed_teximage(struct gl_context *ctx, GLuint dims,
|
|||||||
&ctx->Unpack, GL_TRUE);
|
&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
|
static void
|
||||||
nouveau_texsubimage(struct gl_context *ctx, GLint dims,
|
nouveau_texsubimage(struct gl_context *ctx, GLint dims,
|
||||||
struct gl_texture_image *ti,
|
struct gl_texture_image *ti,
|
||||||
@@ -634,6 +642,7 @@ nouveau_texture_functions_init(struct dd_function_table *functions)
|
|||||||
functions->DeleteTexture = nouveau_texture_free;
|
functions->DeleteTexture = nouveau_texture_free;
|
||||||
functions->NewTextureImage = nouveau_teximage_new;
|
functions->NewTextureImage = nouveau_teximage_new;
|
||||||
functions->FreeTextureImageBuffer = nouveau_teximage_free;
|
functions->FreeTextureImageBuffer = nouveau_teximage_free;
|
||||||
|
functions->AllocTextureImageBuffer = nouveau_teximage_alloc;
|
||||||
functions->ChooseTextureFormat = nouveau_choose_tex_format;
|
functions->ChooseTextureFormat = nouveau_choose_tex_format;
|
||||||
functions->TexImage = nouveau_teximage_123d;
|
functions->TexImage = nouveau_teximage_123d;
|
||||||
functions->TexSubImage = nouveau_texsubimage_123d;
|
functions->TexSubImage = nouveau_texsubimage_123d;
|
||||||
|
Reference in New Issue
Block a user