projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
llvmpipe: Grab a ref when the fb is set.
[mesa.git]
/
src
/
gallium
/
drivers
/
llvmpipe
/
lp_context.c
diff --git
a/src/gallium/drivers/llvmpipe/lp_context.c
b/src/gallium/drivers/llvmpipe/lp_context.c
index a4b2bd8c2ad715cb0bc1b0a108e5ba041e0eec92..202cb8ef439b5727b6fc4d4854df62ba722184b0 100644
(file)
--- a/
src/gallium/drivers/llvmpipe/lp_context.c
+++ b/
src/gallium/drivers/llvmpipe/lp_context.c
@@
-107,11
+107,16
@@
static void llvmpipe_destroy( struct pipe_context *pipe )
if (llvmpipe->draw)
draw_destroy( llvmpipe->draw );
if (llvmpipe->draw)
draw_destroy( llvmpipe->draw );
- for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++)
+ for (i = 0; i < PIPE_MAX_COLOR_BUFS; i++)
{
lp_destroy_tile_cache(llvmpipe->cbuf_cache[i]);
lp_destroy_tile_cache(llvmpipe->cbuf_cache[i]);
+ pipe_surface_reference(&llvmpipe->framebuffer.cbufs[i], NULL);
+ }
+ pipe_surface_reference(&llvmpipe->framebuffer.zsbuf, NULL);
- for (i = 0; i < PIPE_MAX_SAMPLERS; i++)
+ for (i = 0; i < PIPE_MAX_SAMPLERS; i++)
{
lp_destroy_tex_tile_cache(llvmpipe->tex_cache[i]);
lp_destroy_tex_tile_cache(llvmpipe->tex_cache[i]);
+ pipe_texture_reference(&llvmpipe->texture[i], NULL);
+ }
for (i = 0; i < Elements(llvmpipe->constants); i++) {
if (llvmpipe->constants[i].buffer) {
for (i = 0; i < Elements(llvmpipe->constants); i++) {
if (llvmpipe->constants[i].buffer) {