Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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. enum {
  31.         NOUVEAU_STATE_ZCLEAR = NUM_NOUVEAU_STATE,
  32.         NUM_NV10_STATE
  33. };
  34.  
  35. #define NV10_TEXTURE_UNITS 2
  36.  
  37. /* nv10_context.c */
  38. extern const struct nouveau_driver nv10_driver;
  39.  
  40. GLboolean
  41. nv10_use_viewport_zclear(struct gl_context *ctx);
  42.  
  43. float
  44. nv10_transform_depth(struct gl_context *ctx, float z);
  45.  
  46. /* nv10_render.c */
  47. void
  48. nv10_vbo_init(struct gl_context *ctx);
  49.  
  50. void
  51. nv10_vbo_destroy(struct gl_context *ctx);
  52.  
  53. void
  54. nv10_swtnl_init(struct gl_context *ctx);
  55.  
  56. void
  57. nv10_swtnl_destroy(struct gl_context *ctx);
  58.  
  59. /* nv10_state_fb.c */
  60. void
  61. nv10_emit_framebuffer(struct gl_context *ctx, int emit);
  62.  
  63. void
  64. nv10_emit_render_mode(struct gl_context *ctx, int emit);
  65.  
  66. void
  67. nv10_emit_scissor(struct gl_context *ctx, int emit);
  68.  
  69. void
  70. nv10_emit_viewport(struct gl_context *ctx, int emit);
  71.  
  72. void
  73. nv10_emit_zclear(struct gl_context *ctx, int emit);
  74.  
  75. /* nv10_state_polygon.c */
  76. void
  77. nv10_emit_cull_face(struct gl_context *ctx, int emit);
  78.  
  79. void
  80. nv10_emit_front_face(struct gl_context *ctx, int emit);
  81.  
  82. void
  83. nv10_emit_line_mode(struct gl_context *ctx, int emit);
  84.  
  85. void
  86. nv10_emit_line_stipple(struct gl_context *ctx, int emit);
  87.  
  88. void
  89. nv10_emit_point_mode(struct gl_context *ctx, int emit);
  90.  
  91. void
  92. nv10_emit_polygon_mode(struct gl_context *ctx, int emit);
  93.  
  94. void
  95. nv10_emit_polygon_offset(struct gl_context *ctx, int emit);
  96.  
  97. void
  98. nv10_emit_polygon_stipple(struct gl_context *ctx, int emit);
  99.  
  100. /* nv10_state_raster.c */
  101. void
  102. nv10_emit_alpha_func(struct gl_context *ctx, int emit);
  103.  
  104. void
  105. nv10_emit_blend_color(struct gl_context *ctx, int emit);
  106.  
  107. void
  108. nv10_emit_blend_equation(struct gl_context *ctx, int emit);
  109.  
  110. void
  111. nv10_emit_blend_func(struct gl_context *ctx, int emit);
  112.  
  113. void
  114. nv10_emit_color_mask(struct gl_context *ctx, int emit);
  115.  
  116. void
  117. nv10_emit_depth(struct gl_context *ctx, int emit);
  118.  
  119. void
  120. nv10_emit_dither(struct gl_context *ctx, int emit);
  121.  
  122. void
  123. nv10_emit_logic_opcode(struct gl_context *ctx, int emit);
  124.  
  125. void
  126. nv10_emit_shade_model(struct gl_context *ctx, int emit);
  127.  
  128. void
  129. nv10_emit_stencil_func(struct gl_context *ctx, int emit);
  130.  
  131. void
  132. nv10_emit_stencil_mask(struct gl_context *ctx, int emit);
  133.  
  134. void
  135. nv10_emit_stencil_op(struct gl_context *ctx, int emit);
  136.  
  137. /* nv10_state_frag.c */
  138. void
  139. nv10_get_general_combiner(struct gl_context *ctx, int i,
  140.                           uint32_t *a_in, uint32_t *a_out,
  141.                           uint32_t *c_in, uint32_t *c_out, uint32_t *k);
  142.  
  143. void
  144. nv10_get_final_combiner(struct gl_context *ctx, uint64_t *in, int *n);
  145.  
  146. void
  147. nv10_emit_tex_env(struct gl_context *ctx, int emit);
  148.  
  149. void
  150. nv10_emit_frag(struct gl_context *ctx, int emit);
  151.  
  152. /* nv10_state_tex.c */
  153. void
  154. nv10_emit_tex_gen(struct gl_context *ctx, int emit);
  155.  
  156. void
  157. nv10_emit_tex_mat(struct gl_context *ctx, int emit);
  158.  
  159. void
  160. nv10_emit_tex_obj(struct gl_context *ctx, int emit);
  161.  
  162. /* nv10_state_tnl.c */
  163. void
  164. nv10_get_fog_coeff(struct gl_context *ctx, float k[3]);
  165.  
  166. void
  167. nv10_get_spot_coeff(struct gl_light *l, float k[7]);
  168.  
  169. void
  170. nv10_get_shininess_coeff(float s, float k[6]);
  171.  
  172. void
  173. nv10_emit_clip_plane(struct gl_context *ctx, int emit);
  174.  
  175. void
  176. nv10_emit_color_material(struct gl_context *ctx, int emit);
  177.  
  178. void
  179. nv10_emit_fog(struct gl_context *ctx, int emit);
  180.  
  181. void
  182. nv10_emit_light_enable(struct gl_context *ctx, int emit);
  183.  
  184. void
  185. nv10_emit_light_model(struct gl_context *ctx, int emit);
  186.  
  187. void
  188. nv10_emit_light_source(struct gl_context *ctx, int emit);
  189.  
  190. void
  191. nv10_emit_material_ambient(struct gl_context *ctx, int emit);
  192.  
  193. void
  194. nv10_emit_material_diffuse(struct gl_context *ctx, int emit);
  195.  
  196. void
  197. nv10_emit_material_specular(struct gl_context *ctx, int emit);
  198.  
  199. void
  200. nv10_emit_material_shininess(struct gl_context *ctx, int emit);
  201.  
  202. void
  203. nv10_emit_modelview(struct gl_context *ctx, int emit);
  204.  
  205. void
  206. nv10_emit_point_parameter(struct gl_context *ctx, int emit);
  207.  
  208. void
  209. nv10_emit_projection(struct gl_context *ctx, int emit);
  210.  
  211. #endif
  212.