diff options
-rw-r--r-- | src/mesa/pipe/softpipe/Makefile | 1 | ||||
-rw-r--r-- | src/mesa/pipe/softpipe/sp_context.h | 3 | ||||
-rw-r--r-- | src/mesa/pipe/softpipe/sp_state.h | 8 |
3 files changed, 12 insertions, 0 deletions
diff --git a/src/mesa/pipe/softpipe/Makefile b/src/mesa/pipe/softpipe/Makefile index 615c612e9c7..9c6d78c290e 100644 --- a/src/mesa/pipe/softpipe/Makefile +++ b/src/mesa/pipe/softpipe/Makefile @@ -29,6 +29,7 @@ DRIVER_SOURCES = \ sp_state_sampler.c \ sp_state_setup.c \ sp_state_surface.c \ + sp_state_vertex.c \ sp_tex_layout.c \ sp_tex_sample.c \ sp_surface.c diff --git a/src/mesa/pipe/softpipe/sp_context.h b/src/mesa/pipe/softpipe/sp_context.h index 8887c576c1f..8b0e970ea2d 100644 --- a/src/mesa/pipe/softpipe/sp_context.h +++ b/src/mesa/pipe/softpipe/sp_context.h @@ -64,6 +64,7 @@ enum interp_mode { #define SP_NEW_SAMPLER 0x400 #define SP_NEW_TEXTURE 0x800 #define SP_NEW_STENCIL 0x1000 +#define SP_NEW_VERTEX 0x2000 struct softpipe_context { @@ -88,6 +89,8 @@ struct softpipe_context { struct pipe_stencil_state stencil; struct pipe_mipmap_tree *texture[PIPE_MAX_SAMPLERS]; struct pipe_viewport_state viewport; + struct pipe_vertex_buffer vertex_buffer[PIPE_ATTRIB_MAX]; + struct pipe_vertex_element vertex_element[PIPE_ATTRIB_MAX]; unsigned dirty; /* Setup derived state. TODO: this should be passed in the program diff --git a/src/mesa/pipe/softpipe/sp_state.h b/src/mesa/pipe/softpipe/sp_state.h index 5adf5930b85..9e5ed96901e 100644 --- a/src/mesa/pipe/softpipe/sp_state.h +++ b/src/mesa/pipe/softpipe/sp_state.h @@ -81,6 +81,14 @@ void softpipe_set_texture_state( struct pipe_context *, void softpipe_set_viewport_state( struct pipe_context *, const struct pipe_viewport_state * ); +void softpipe_set_vertex_element(struct pipe_context *, + unsigned index, + const struct pipe_vertex_element *); + +void softpipe_set_vertex_buffer(struct pipe_context *, + unsigned index, + const struct pipe_vertex_buffer *); + void softpipe_update_derived( struct softpipe_context *softpipe ); #endif |