Ilia Mirkin
2013-Oct-04 08:28 UTC
[Nouveau] [PATCH] nouveau_vieux: 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 at alum.mit.edu>
---
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 da74e8f..8904389 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;
--
1.8.1.5
Francisco Jerez
2013-Oct-06 20:31 UTC
[Nouveau] [PATCH] nouveau_vieux: add AllocTextureImageBuffer implementation
Ilia Mirkin <imirkin at alum.mit.edu> writes:> 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 at alum.mit.edu>Thanks, pushed.> 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 da74e8f..8904389 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; > -- > 1.8.1.5-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 229 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20131006/6ef91902/attachment.pgp>