summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2009-10-19 13:14:33 +0100
committerJosé Fonseca <jfonseca@vmware.com>2009-10-19 13:14:33 +0100
commit301c1494b27ad92ff1237909f9c98c1660be8fc1 (patch)
tree12fdf060e097e5ba344092b4275f5b171a5cc652 /src
parentf2be08ae0e20b3da8ff684ffeb94412cc6a5a5a1 (diff)
llvmpipe: Reset the pointer to stored jit context.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c
index da5a68cd40..c0f516e12c 100644
--- a/src/gallium/drivers/llvmpipe/lp_setup.c
+++ b/src/gallium/drivers/llvmpipe/lp_setup.c
@@ -101,10 +101,10 @@ static void reset_context( struct setup_context *setup )
SETUP_DEBUG("%s\n", __FUNCTION__);
- /* Reset derived data */
- pipe_buffer_reference(&setup->constants.current, NULL);
+ /* Reset derived state */
setup->constants.stored_size = 0;
setup->constants.stored_data = NULL;
+ setup->fs.stored = NULL;
setup->dirty = ~0;
/* Free all but last binner command lists:
@@ -634,6 +634,8 @@ lp_setup_destroy( struct setup_context *setup )
reset_context( setup );
+ pipe_buffer_reference(&setup->constants.current, NULL);
+
for (i = 0; i < TILES_X; i++)
for (j = 0; j < TILES_Y; j++)
FREE(setup->tile[i][j].head);
@@ -671,6 +673,8 @@ lp_setup_create( struct pipe_screen *screen )
setup->line = first_line;
setup->point = first_point;
+ setup->dirty = ~0;
+
return setup;
fail: