From: Brian Date: Wed, 15 Aug 2007 17:45:12 +0000 (-0600) Subject: added state funcs for vertex buffer/element info X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f30093418928dce5872ea179ed5d21d3b24b7c82;p=mesa.git added state funcs for vertex buffer/element info --- 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