summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_context.c4
-rw-r--r--src/mesa/state_tracker/st_context.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 8ced3f504c2..e872e8b12c5 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -92,6 +92,8 @@ struct st_context *st_create_context( GLcontext *ctx,
st->haveFramebufferRegions = GL_TRUE;
+ st->pixel_transfer_cache = _mesa_new_program_cache();
+
#if 0
st_init_cb_clear( st );
st_init_cb_program( st );
@@ -124,6 +126,8 @@ void st_destroy_context( struct st_context *st )
#endif
cso_cache_delete( st->cache );
+ _mesa_delete_program_cache(st->ctx, st->pixel_transfer_cache);
+
st->pipe->destroy( st->pipe );
FREE( st );
}
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index 3774a999ab2..4de70a3b2ea 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -28,7 +28,8 @@
#ifndef ST_CONTEXT_H
#define ST_CONTEXT_H
-#include "mtypes.h"
+#include "main/mtypes.h"
+#include "shader/prog_cache.h"
#include "pipe/p_state.h"
@@ -133,6 +134,7 @@ struct st_context
struct st_fragment_program *fp; /**< Currently bound fragment program */
struct gl_fragment_program *pixel_transfer_program;
+ struct gl_program_cache *pixel_transfer_cache;
/**
* Buffer object which stores the ctx->Current.Attrib[] values.