nv30, nv40: unify identical nv[34]0_state_blend.c
[mesa.git] / src / gallium / drivers / nv30 / nv30_context.h
1 #ifndef __NV30_CONTEXT_H__
2 #define __NV30_CONTEXT_H__
3
4 #include "nvfx_context.h"
5
6 extern void nv30_init_state_functions(struct nvfx_context *nvfx);
7 extern void nv30_init_surface_functions(struct nvfx_context *nvfx);
8 extern void nv30_init_query_functions(struct nvfx_context *nvfx);
9
10 extern void nv30_screen_init_miptree_functions(struct pipe_screen *pscreen);
11
12 /* nv30_draw.c */
13 extern struct draw_stage *nv30_draw_render_stage(struct nvfx_context *nvfx);
14
15 /* nv30_vertprog.c */
16 extern void nv30_vertprog_destroy(struct nvfx_context *,
17 struct nvfx_vertex_program *);
18
19 /* nv30_fragprog.c */
20 extern void nv30_fragprog_destroy(struct nvfx_context *,
21 struct nvfx_fragment_program *);
22
23 /* nv30_fragtex.c */
24 extern void nv30_fragtex_bind(struct nvfx_context *);
25
26 /* nv30_state.c and friends */
27 extern struct nvfx_state_entry nv30_state_rasterizer;
28 extern struct nvfx_state_entry nv30_state_scissor;
29 extern struct nvfx_state_entry nv30_state_stipple;
30 extern struct nvfx_state_entry nv30_state_fragprog;
31 extern struct nvfx_state_entry nv30_state_vertprog;
32 extern struct nvfx_state_entry nv30_state_zsa;
33 extern struct nvfx_state_entry nv30_state_viewport;
34 extern struct nvfx_state_entry nv30_state_framebuffer;
35 extern struct nvfx_state_entry nv30_state_fragtex;
36 extern struct nvfx_state_entry nv30_state_vbo;
37 extern struct nvfx_state_entry nv30_state_sr;
38
39 /* nv30_vbo.c */
40 extern void nv30_draw_arrays(struct pipe_context *, unsigned mode,
41 unsigned start, unsigned count);
42 extern void nv30_draw_elements(struct pipe_context *pipe,
43 struct pipe_buffer *indexBuffer,
44 unsigned indexSize,
45 unsigned mode, unsigned start,
46 unsigned count);
47
48 /* nvfx_context.c */
49 struct pipe_context *
50 nv30_create(struct pipe_screen *pscreen, void *priv);
51
52 #endif