nv30, nv40: unify identical nv[34]0_clear.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 extern void nv40_init_transfer_functions(struct nvfx_context *nvfx);
10
11 extern void nv40_screen_init_miptree_functions(struct pipe_screen *pscreen);
12
13 /* nv40_draw.c */
14 extern struct draw_stage *nv40_draw_render_stage(struct nvfx_context *nvfx);
15 extern void nv40_draw_elements_swtnl(struct pipe_context *pipe,
16 struct pipe_buffer *idxbuf,
17 unsigned ib_size, unsigned mode,
18 unsigned start, unsigned count);
19
20 /* nv40_vertprog.c */
21 extern void nv40_vertprog_destroy(struct nvfx_context *,
22 struct nvfx_vertex_program *);
23
24 /* nv40_fragprog.c */
25 extern void nv40_fragprog_destroy(struct nvfx_context *,
26 struct nvfx_fragment_program *);
27
28 /* nv40_fragtex.c */
29 extern void nv40_fragtex_bind(struct nvfx_context *);
30
31 /* nv40_state.c and friends */
32 extern boolean nv40_state_validate(struct nvfx_context *nvfx);
33 extern boolean nv40_state_validate_swtnl(struct nvfx_context *nvfx);
34 extern void nv40_state_emit(struct nvfx_context *nvfx);
35 extern void nv40_state_flush_notify(struct nouveau_channel *chan);
36 extern struct nvfx_state_entry nv40_state_rasterizer;
37 extern struct nvfx_state_entry nv40_state_scissor;
38 extern struct nvfx_state_entry nv40_state_stipple;
39 extern struct nvfx_state_entry nv40_state_fragprog;
40 extern struct nvfx_state_entry nv40_state_vertprog;
41 extern struct nvfx_state_entry nv40_state_blend;
42 extern struct nvfx_state_entry nv40_state_blend_colour;
43 extern struct nvfx_state_entry nv40_state_zsa;
44 extern struct nvfx_state_entry nv40_state_viewport;
45 extern struct nvfx_state_entry nv40_state_framebuffer;
46 extern struct nvfx_state_entry nv40_state_fragtex;
47 extern struct nvfx_state_entry nv40_state_vbo;
48 extern struct nvfx_state_entry nv40_state_vtxfmt;
49 extern struct nvfx_state_entry nv40_state_sr;
50
51 /* nv40_vbo.c */
52 extern void nv40_draw_arrays(struct pipe_context *, unsigned mode,
53 unsigned start, unsigned count);
54 extern void nv40_draw_elements(struct pipe_context *pipe,
55 struct pipe_buffer *indexBuffer,
56 unsigned indexSize,
57 unsigned mode, unsigned start,
58 unsigned count);
59
60 /* nvfx_context.c */
61 struct pipe_context *
62 nv40_create(struct pipe_screen *pscreen, void *priv);
63
64 #endif