nv30, nv40: unify identical nv[34]0_state_rasterizer.c
[mesa.git] / src / gallium / drivers / nv40 / nv40_context.h
1 #ifndef __NV40_CONTEXT_H__
2 #define __NV40_CONTEXT_H__
3
4 #include "nvfx_context.h"
5
6 extern void nv40_init_state_functions(struct nvfx_context *nvfx);
7 extern void nv40_init_surface_functions(struct nvfx_context *nvfx);
8 extern void nv40_init_query_functions(struct nvfx_context *nvfx);
9
10 extern void nv40_screen_init_miptree_functions(struct pipe_screen *pscreen);
11
12 /* nv40_draw.c */
13 extern struct draw_stage *nv40_draw_render_stage(struct nvfx_context *nvfx);
14 extern void nv40_draw_elements_swtnl(struct pipe_context *pipe,
15 struct pipe_buffer *idxbuf,
16 unsigned ib_size, unsigned mode,
17 unsigned start, unsigned count);
18
19 /* nv40_vertprog.c */
20 extern void nv40_vertprog_destroy(struct nvfx_context *,
21 struct nvfx_vertex_program *);
22
23 /* nv40_fragprog.c */
24 extern void nv40_fragprog_destroy(struct nvfx_context *,
25 struct nvfx_fragment_program *);
26
27 /* nv40_fragtex.c */
28 extern void nv40_fragtex_bind(struct nvfx_context *);
29
30 /* nv40_state.c and friends */
31 extern struct nvfx_state_entry nv40_state_scissor;
32 extern struct nvfx_state_entry nv40_state_stipple;
33 extern struct nvfx_state_entry nv40_state_fragprog;
34 extern struct nvfx_state_entry nv40_state_vertprog;
35 extern struct nvfx_state_entry nv40_state_zsa;
36 extern struct nvfx_state_entry nv40_state_viewport;
37 extern struct nvfx_state_entry nv40_state_framebuffer;
38 extern struct nvfx_state_entry nv40_state_fragtex;
39 extern struct nvfx_state_entry nv40_state_vbo;
40 extern struct nvfx_state_entry nv40_state_vtxfmt;
41 extern struct nvfx_state_entry nv40_state_sr;
42
43 /* nv40_vbo.c */
44 extern void nv40_draw_arrays(struct pipe_context *, unsigned mode,
45 unsigned start, unsigned count);
46 extern void nv40_draw_elements(struct pipe_context *pipe,
47 struct pipe_buffer *indexBuffer,
48 unsigned indexSize,
49 unsigned mode, unsigned start,
50 unsigned count);
51
52 /* nvfx_context.c */
53 struct pipe_context *
54 nv40_create(struct pipe_screen *pscreen, void *priv);
55
56 #endif