summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/cso_cache/cso_context.h
diff options
context:
space:
mode:
authorBrian <brian.paul@tungstengraphics.com>2008-03-18 17:14:05 -0600
committerBrian <brian.paul@tungstengraphics.com>2008-03-18 17:18:11 -0600
commite5b19a0f833b5a3d5ffcf50d25a620d00bd8914b (patch)
treedc29b43dc30ffb1ba30c9da6db10e61c0764c734 /src/gallium/auxiliary/cso_cache/cso_context.h
parent84836ffce1ca322f91aaae25c4de2be20e55a4b5 (diff)
gallium: added cso_unset_*() functions
If we go behind the CSO context's back and set pipe state directly we need to invalidate the CSO's 'current' pointers. This will be revisited...
Diffstat (limited to 'src/gallium/auxiliary/cso_cache/cso_context.h')
-rw-r--r--src/gallium/auxiliary/cso_cache/cso_context.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/cso_cache/cso_context.h b/src/gallium/auxiliary/cso_cache/cso_context.h
index 1f2a630804..6aa619abf5 100644
--- a/src/gallium/auxiliary/cso_cache/cso_context.h
+++ b/src/gallium/auxiliary/cso_cache/cso_context.h
@@ -44,16 +44,25 @@ struct cso_context *cso_create_context( struct pipe_context *pipe );
void cso_set_blend( struct cso_context *cso,
const struct pipe_blend_state *blend );
+void cso_unset_blend(struct cso_context *cso);
+
void cso_set_depth_stencil_alpha( struct cso_context *cso,
const struct pipe_depth_stencil_alpha_state *dsa );
+void cso_unset_depth_stencil_alpha( struct cso_context *cso );
+
void cso_set_rasterizer( struct cso_context *cso,
const struct pipe_rasterizer_state *rasterizer );
+void cso_unset_rasterizer( struct cso_context *cso );
+
void cso_set_samplers( struct cso_context *cso,
unsigned count,
const struct pipe_sampler_state **states );
+void cso_unset_samplers( struct cso_context *cso );
+
+
/* Alternate interface to support state trackers that like to modify
* samplers one at a time:
*/
@@ -72,9 +81,13 @@ void cso_single_sampler_done( struct cso_context *cso );
void cso_set_fragment_shader( struct cso_context *cso,
const struct pipe_shader_state *shader );
+void cso_unset_fragment_shader( struct cso_context *cso );
+
void cso_set_vertex_shader( struct cso_context *cso,
const struct pipe_shader_state *shader );
+void cso_unset_vertex_shader( struct cso_context *cso );
+
void cso_destroy_context( struct cso_context *cso );