i965g: hook up some vertex state funcs

This commit is contained in:
Keith Whitwell
2009-11-04 23:09:23 +00:00
parent 18efe9a687
commit cc8105d740
2 changed files with 40 additions and 2 deletions
+2 -2
View File
@@ -501,12 +501,12 @@ struct brw_context
const struct brw_depth_stencil_state *zstencil;
const struct brw_sampler *sampler[PIPE_MAX_SAMPLERS];
const struct pipe_vertex_element vertex_element[PIPE_MAX_ATTRIBS];
unsigned num_vertex_elements;
unsigned num_samplers;
struct pipe_texture *texture[PIPE_MAX_SAMPLERS];
struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS];
struct pipe_vertex_element vertex_element[PIPE_MAX_ATTRIBS];
unsigned num_vertex_elements;
unsigned num_textures;
unsigned num_vertex_buffers;
@@ -1,9 +1,47 @@
#include "brw_context.h"
static void brw_set_vertex_elements( struct pipe_context *pipe,
unsigned count,
const struct pipe_vertex_element *elements )
{
struct brw_context *brw = brw_context(pipe);
memcpy(brw->curr.vertex_element, elements, count * sizeof(elements[0]));
brw->curr.num_vertex_elements = count;
brw->state.dirty.mesa |= PIPE_NEW_VERTEX_ELEMENT;
}
static void brw_set_vertex_buffers(struct pipe_context *pipe,
unsigned count,
const struct pipe_vertex_buffer *buffers)
{
struct brw_context *brw = brw_context(pipe);
/* XXX: don't we need to take some references here? It's a bit
* awkward to do so, though.
*/
memcpy(brw->curr.vertex_buffer, buffers, count * sizeof(buffers[0]));
brw->curr.num_vertex_buffers = count;
brw->state.dirty.mesa |= PIPE_NEW_VERTEX_BUFFER;
}
static void brw_set_edgeflags( struct pipe_context *pipe,
const unsigned *bitfield )
{
/* XXX */
}
void
brw_pipe_vertex_init( struct brw_context *brw )
{
brw->base.set_vertex_buffers = brw_set_vertex_buffers;
brw->base.set_vertex_elements = brw_set_vertex_elements;
brw->base.set_edgeflags = brw_set_edgeflags;
}