nv30, nv40: non-trivially unify nv[34]0_state_emit.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_blend;
33 extern struct nvfx_state_entry nv30_state_blend_colour;
34 extern struct nvfx_state_entry nv30_state_zsa;
35 extern struct nvfx_state_entry nv30_state_viewport;
36 extern struct nvfx_state_entry nv30_state_framebuffer;
37 extern struct nvfx_state_entry nv30_state_fragtex;
38 extern struct nvfx_state_entry nv30_state_vbo;
39 extern struct nvfx_state_entry nv30_state_sr;
40
41 /* nv30_vbo.c */
42 extern void nv30_draw_arrays(struct pipe_context *, unsigned mode,
43 unsigned start, unsigned count);
44 extern void nv30_draw_elements(struct pipe_context *pipe,
45 struct pipe_buffer *indexBuffer,
46 unsigned indexSize,
47 unsigned mode, unsigned start,
48 unsigned count);
49
50 /* nvfx_context.c */
51 struct pipe_context *
52 nv30_create(struct pipe_screen *pscreen, void *priv);
53
54 #endif