diff options
Diffstat (limited to 'src/mesa/state_tracker/st_context.h')
-rw-r--r-- | src/mesa/state_tracker/st_context.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h index a3f70ecd510..1106bb628a3 100644 --- a/src/mesa/state_tracker/st_context.h +++ b/src/mesa/state_tracker/st_context.h @@ -37,6 +37,7 @@ #include "util/u_inlines.h" #include "util/list.h" #include "vbo/vbo.h" +#include "util/list.h" #ifdef __cplusplus @@ -95,6 +96,16 @@ struct drawpix_cache_entry }; +/* + * Node for a linked list of dead sampler views. + */ +struct st_zombie_sampler_view_node +{ + struct pipe_sampler_view *view; + struct list_head node; +}; + + struct st_context { struct st_context_iface iface; @@ -306,6 +317,11 @@ struct st_context * the estimated allocated size needed to execute those operations. */ struct util_throttle throttle; + + struct { + struct st_zombie_sampler_view_node list; + mtx_t mutex; + } zombie_sampler_views; }; @@ -334,6 +350,15 @@ extern void st_invalidate_buffers(struct st_context *st); +extern void +st_save_zombie_sampler_view(struct st_context *st, + struct pipe_sampler_view *view); + +void +st_context_free_zombie_objects(struct st_context *st); + + + /** * Wrapper for struct gl_framebuffer. * This is an opaque type to the outside world. |