1 #include "brw_context.h"
4 static void brw_set_vertex_elements( struct pipe_context
*pipe
,
6 const struct pipe_vertex_element
*elements
)
8 struct brw_context
*brw
= brw_context(pipe
);
10 memcpy(brw
->curr
.vertex_element
, elements
, count
* sizeof(elements
[0]));
11 brw
->curr
.num_vertex_elements
= count
;
13 brw
->state
.dirty
.mesa
|= PIPE_NEW_VERTEX_ELEMENT
;
17 static void brw_set_vertex_buffers(struct pipe_context
*pipe
,
19 const struct pipe_vertex_buffer
*buffers
)
21 struct brw_context
*brw
= brw_context(pipe
);
23 /* XXX: don't we need to take some references here? It's a bit
24 * awkward to do so, though.
26 memcpy(brw
->curr
.vertex_buffer
, buffers
, count
* sizeof(buffers
[0]));
27 brw
->curr
.num_vertex_buffers
= count
;
29 brw
->state
.dirty
.mesa
|= PIPE_NEW_VERTEX_BUFFER
;
32 static void brw_set_edgeflags( struct pipe_context
*pipe
,
33 const unsigned *bitfield
)
40 brw_pipe_vertex_init( struct brw_context
*brw
)
42 brw
->base
.set_vertex_buffers
= brw_set_vertex_buffers
;
43 brw
->base
.set_vertex_elements
= brw_set_vertex_elements
;
44 brw
->base
.set_edgeflags
= brw_set_edgeflags
;
49 brw_pipe_vertex_cleanup( struct brw_context
*brw
)
52 /* Release bound pipe vertex_buffers
55 /* Release some other stuff
58 for (i
= 0; i
< PIPE_MAX_ATTRIBS
; i
++) {
59 brw
->sws
->bo_unreference(brw
->vb
.inputs
[i
].bo
);
60 brw
->vb
.inputs
[i
].bo
= NULL
;