nv10_driver.h revision 7269a30b86745a29bb575ce3545ab82e6514ce2a
1/*
2 * Copyright (C) 2009 Francisco Jerez.
3 * All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice (including the
14 * next paragraph) shall be included in all copies or substantial
15 * portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 * IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 *
25 */
26
27#ifndef __NV10_DRIVER_H__
28#define __NV10_DRIVER_H__
29
30#define NV10_TEXTURE_UNITS 2
31
32/* nv10_context.c */
33extern const struct nouveau_driver nv10_driver;
34
35/* nv10_render.c */
36void
37nv10_render_init(GLcontext *ctx);
38
39void
40nv10_render_destroy(GLcontext *ctx);
41
42/* nv10_state_fb.c */
43void
44nv10_emit_framebuffer(GLcontext *ctx, int emit);
45
46void
47nv10_emit_render_mode(GLcontext *ctx, int emit);
48
49void
50nv10_emit_scissor(GLcontext *ctx, int emit);
51
52void
53nv10_emit_viewport(GLcontext *ctx, int emit);
54
55/* nv10_state_polygon.c */
56void
57nv10_emit_cull_face(GLcontext *ctx, int emit);
58
59void
60nv10_emit_front_face(GLcontext *ctx, int emit);
61
62void
63nv10_emit_line_mode(GLcontext *ctx, int emit);
64
65void
66nv10_emit_line_stipple(GLcontext *ctx, int emit);
67
68void
69nv10_emit_point_mode(GLcontext *ctx, int emit);
70
71void
72nv10_emit_polygon_mode(GLcontext *ctx, int emit);
73
74void
75nv10_emit_polygon_offset(GLcontext *ctx, int emit);
76
77void
78nv10_emit_polygon_stipple(GLcontext *ctx, int emit);
79
80/* nv10_state_raster.c */
81void
82nv10_emit_alpha_func(GLcontext *ctx, int emit);
83
84void
85nv10_emit_blend_color(GLcontext *ctx, int emit);
86
87void
88nv10_emit_blend_equation(GLcontext *ctx, int emit);
89
90void
91nv10_emit_blend_func(GLcontext *ctx, int emit);
92
93void
94nv10_emit_color_mask(GLcontext *ctx, int emit);
95
96void
97nv10_emit_depth(GLcontext *ctx, int emit);
98
99void
100nv10_emit_dither(GLcontext *ctx, int emit);
101
102void
103nv10_emit_index_mask(GLcontext *ctx, int emit);
104
105void
106nv10_emit_logic_opcode(GLcontext *ctx, int emit);
107
108void
109nv10_emit_shade_model(GLcontext *ctx, int emit);
110
111void
112nv10_emit_stencil_func(GLcontext *ctx, int emit);
113
114void
115nv10_emit_stencil_mask(GLcontext *ctx, int emit);
116
117void
118nv10_emit_stencil_op(GLcontext *ctx, int emit);
119
120/* nv10_state_frag.c */
121void
122nv10_get_general_combiner(GLcontext *ctx, int i,
123			  uint32_t *a_in, uint32_t *a_out,
124			  uint32_t *c_in, uint32_t *c_out, uint32_t *k);
125
126void
127nv10_get_final_combiner(GLcontext *ctx, uint64_t *in, int *n);
128
129void
130nv10_emit_tex_env(GLcontext *ctx, int emit);
131
132void
133nv10_emit_frag(GLcontext *ctx, int emit);
134
135/* nv10_state_tex.c */
136void
137nv10_emit_tex_gen(GLcontext *ctx, int emit);
138
139void
140nv10_emit_tex_obj(GLcontext *ctx, int emit);
141
142/* nv10_state_tnl.c */
143void
144nv10_get_fog_coeff(GLcontext *ctx, float k[3]);
145
146void
147nv10_get_spot_coeff(struct gl_light *l, float k[7]);
148
149void
150nv10_get_shininess_coeff(float s, float k[6]);
151
152void
153nv10_emit_clip_plane(GLcontext *ctx, int emit);
154
155void
156nv10_emit_color_material(GLcontext *ctx, int emit);
157
158void
159nv10_emit_fog(GLcontext *ctx, int emit);
160
161void
162nv10_emit_light_enable(GLcontext *ctx, int emit);
163
164void
165nv10_emit_light_model(GLcontext *ctx, int emit);
166
167void
168nv10_emit_light_source(GLcontext *ctx, int emit);
169
170void
171nv10_emit_material_ambient(GLcontext *ctx, int emit);
172
173void
174nv10_emit_material_diffuse(GLcontext *ctx, int emit);
175
176void
177nv10_emit_material_specular(GLcontext *ctx, int emit);
178
179void
180nv10_emit_material_shininess(GLcontext *ctx, int emit);
181
182void
183nv10_emit_modelview(GLcontext *ctx, int emit);
184
185void
186nv10_emit_point_parameter(GLcontext *ctx, int emit);
187
188void
189nv10_emit_projection(GLcontext *ctx, int emit);
190
191#endif
192