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