mesa: fix problem freeing framebuffer/renderbuffer objects

Basically, set up no-op Delete() methods for the DummyFrame/Renderbuffer objects.
This commit is contained in:
Brian Paul
2008-07-03 15:40:38 -06:00
parent 7acb7c1ac0
commit 3dc6591a7c
3 changed files with 29 additions and 4 deletions
+1
View File
@@ -983,6 +983,7 @@ init_attrib_groups(GLcontext *ctx)
_mesa_init_debug( ctx );
_mesa_init_display_list( ctx );
_mesa_init_eval( ctx );
_mesa_init_fbobjects( ctx );
_mesa_init_feedback( ctx );
_mesa_init_fog( ctx );
_mesa_init_histogram( ctx );
+23 -2
View File
@@ -1,8 +1,8 @@
/*
* Mesa 3-D graphics library
* Version: 6.5.1
* Version: 7.1
*
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -66,6 +66,27 @@ static struct gl_renderbuffer DummyRenderbuffer;
(TARGET) <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z)
static void
delete_dummy_renderbuffer(struct gl_renderbuffer *rb)
{
/* no op */
}
static void
delete_dummy_framebuffer(struct gl_framebuffer *fb)
{
/* no op */
}
void
_mesa_init_fbobjects(GLcontext *ctx)
{
DummyFramebuffer.Delete = delete_dummy_framebuffer;
DummyRenderbuffer.Delete = delete_dummy_renderbuffer;
}
/**
* Helper routine for getting a gl_renderbuffer.
*/
+5 -2
View File
@@ -1,8 +1,8 @@
/*
* Mesa 3-D graphics library
* Version: 6.5
* Version: 7.1
*
* Copyright (C) 1999-2006 Brian Paul All Rights Reserved.
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -27,6 +27,9 @@
#define FBOBJECT_H
extern void
_mesa_init_fbobjects(GLcontext *ctx);
extern struct gl_renderbuffer *
_mesa_lookup_renderbuffer(GLcontext *ctx, GLuint id);