X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fauxiliary%2Fcso_cache%2Fcso_cache.h;h=cc1f1c0e123aaa098d73f00e3da912a67ac73ba1;hb=a15cbabb8b546fa063cfb6f528dd67ee0037079b;hp=eea60b940bb8663f5037a804f1f0cec4068bbfc6;hpb=a8238bb08a95e7ea4430450c304a6bee210df1a6;p=mesa.git diff --git a/src/gallium/auxiliary/cso_cache/cso_cache.h b/src/gallium/auxiliary/cso_cache/cso_cache.h index eea60b940bb..cc1f1c0e123 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 @@ -85,12 +86,12 @@ extern "C" { #endif enum cso_cache_type { + CSO_RASTERIZER, CSO_BLEND, - CSO_SAMPLER, CSO_DEPTH_STENCIL_ALPHA, - CSO_RASTERIZER, - CSO_FRAGMENT_SHADER, - CSO_VERTEX_SHADER + CSO_SAMPLER, + CSO_VELEMENTS, + CSO_CACHE_MAX, }; typedef void (*cso_state_callback)(void *ctx, void *obj); @@ -123,22 +124,20 @@ struct cso_rasterizer { struct pipe_context *context; }; -struct cso_fragment_shader { - struct pipe_shader_state state; +struct cso_sampler { + struct pipe_sampler_state state; void *data; cso_state_callback delete_state; struct pipe_context *context; }; -struct cso_vertex_shader { - struct pipe_shader_state state; - void *data; - cso_state_callback delete_state; - struct pipe_context *context; +struct cso_velems_state { + unsigned count; + struct pipe_vertex_element velems[PIPE_MAX_ATTRIBS]; }; -struct cso_sampler { - struct pipe_sampler_state state; +struct cso_velements { + struct cso_velems_state state; void *data; cso_state_callback delete_state; struct pipe_context *context;