diff options
author | Roland Scheidegger <[email protected]> | 2010-02-18 16:36:25 +0100 |
---|---|---|
committer | Roland Scheidegger <[email protected]> | 2010-02-18 16:36:25 +0100 |
commit | 51d139f03898e5e46af6363c6bba131455738cc4 (patch) | |
tree | 74a3f359c81ebf7e4dbf144b3390335fe4fe8fe9 /src/gallium/auxiliary/cso_cache/cso_cache.h | |
parent | 464a72dd4154f314e08c9d0c4d07417e2bf255f0 (diff) |
gallium: use cso state handling for pipe_vertex_element state
Diffstat (limited to 'src/gallium/auxiliary/cso_cache/cso_cache.h')
-rw-r--r-- | src/gallium/auxiliary/cso_cache/cso_cache.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/cso_cache/cso_cache.h b/src/gallium/auxiliary/cso_cache/cso_cache.h index eea60b940bb..d884d5410f3 100644 --- a/src/gallium/auxiliary/cso_cache/cso_cache.h +++ b/src/gallium/auxiliary/cso_cache/cso_cache.h @@ -53,6 +53,7 @@ * - rasterizer (old setup) * - sampler * - vertex shader + * - vertex elements * * Things that are not constant state objects include: * - blend_color @@ -90,7 +91,8 @@ enum cso_cache_type { CSO_DEPTH_STENCIL_ALPHA, CSO_RASTERIZER, CSO_FRAGMENT_SHADER, - CSO_VERTEX_SHADER + CSO_VERTEX_SHADER, + CSO_VELEMENTS }; typedef void (*cso_state_callback)(void *ctx, void *obj); @@ -144,6 +146,13 @@ struct cso_sampler { struct pipe_context *context; }; +struct cso_velements { + struct pipe_vertex_element state[PIPE_MAX_ATTRIBS]; + void *data; + cso_state_callback delete_state; + struct pipe_context *context; +}; + unsigned cso_construct_key(void *item, int item_size); struct cso_cache *cso_cache_create(void); |