nv30, nv40: unify identical nv[34]0_state_blend.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_rasterizer;
32 extern struct nvfx_state_entry nv40_state_scissor;
33 extern struct nvfx_state_entry nv40_state_stipple;
34 extern struct nvfx_state_entry nv40_state_fragprog;
35 extern struct nvfx_state_entry nv40_state_vertprog;
36 extern struct nvfx_state_entry nv40_state_zsa;
37 extern struct nvfx_state_entry nv40_state_viewport;
38 extern struct nvfx_state_entry nv40_state_framebuffer;
39 extern struct nvfx_state_entry nv40_state_fragtex;
40 extern struct nvfx_state_entry nv40_state_vbo;
41 extern struct nvfx_state_entry nv40_state_vtxfmt;
42 extern struct nvfx_state_entry nv40_state_sr;
43
44 /* nv40_vbo.c */
45 extern void nv40_draw_arrays(struct pipe_context *, unsigned mode,
46 unsigned start, unsigned count);
47 extern void nv40_draw_elements(struct pipe_context *pipe,
48 struct pipe_buffer *indexBuffer,
49 unsigned indexSize,
50 unsigned mode, unsigned start,
51 unsigned count);
52
53 /* nvfx_context.c */
54 struct pipe_context *
55 nv40_create(struct pipe_screen *pscreen, void *priv);
56
57 #endif