summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/i965/brw_pipe_vertex.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-04 23:09:23 +0000
committerKeith Whitwell <keithw@vmware.com>2009-11-04 23:09:23 +0000
commitcc8105d7402511c7d0ea8a07faaa8d149d9249f2 (patch)
tree45ad497d5447b530309dc649819c19d08fada57b /src/gallium/drivers/i965/brw_pipe_vertex.c
parent18efe9a6878e52c53161c7a169863c4a7c5778fd (diff)
i965g: hook up some vertex state funcs
Diffstat (limited to 'src/gallium/drivers/i965/brw_pipe_vertex.c')
-rw-r--r--src/gallium/drivers/i965/brw_pipe_vertex.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/gallium/drivers/i965/brw_pipe_vertex.c b/src/gallium/drivers/i965/brw_pipe_vertex.c
index 0b69718fd8..97e9a23688 100644
--- a/src/gallium/drivers/i965/brw_pipe_vertex.c
+++ b/src/gallium/drivers/i965/brw_pipe_vertex.c
@@ -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;
}