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 __NV20_DRIVER_H__
  28. #define __NV20_DRIVER_H__
  29.  
  30. enum {
  31.         NOUVEAU_STATE_TEX_SHADER = NUM_NOUVEAU_STATE,
  32.         NUM_NV20_STATE
  33. };
  34.  
  35. #define NV20_TEXTURE_UNITS 4
  36.  
  37. /* nv20_context.c */
  38. extern const struct nouveau_driver nv20_driver;
  39.  
  40. /* nv20_render.c */
  41. void
  42. nv20_vbo_init(struct gl_context *ctx);
  43.  
  44. void
  45. nv20_vbo_destroy(struct gl_context *ctx);
  46.  
  47. void
  48. nv20_swtnl_init(struct gl_context *ctx);
  49.  
  50. void
  51. nv20_swtnl_destroy(struct gl_context *ctx);
  52.  
  53. /* nv20_state_fb.c */
  54. void
  55. nv20_emit_framebuffer(struct gl_context *ctx, int emit);
  56.  
  57. void
  58. nv20_emit_viewport(struct gl_context *ctx, int emit);
  59.  
  60. /* nv20_state_polygon.c */
  61. void
  62. nv20_emit_point_mode(struct gl_context *ctx, int emit);
  63.  
  64. /* nv20_state_raster.c */
  65. void
  66. nv20_emit_logic_opcode(struct gl_context *ctx, int emit);
  67.  
  68. /* nv20_state_frag.c */
  69. void
  70. nv20_emit_tex_env(struct gl_context *ctx, int emit);
  71.  
  72. void
  73. nv20_emit_frag(struct gl_context *ctx, int emit);
  74.  
  75. /* nv20_state_tex.c */
  76. void
  77. nv20_emit_tex_gen(struct gl_context *ctx, int emit);
  78.  
  79. void
  80. nv20_emit_tex_mat(struct gl_context *ctx, int emit);
  81.  
  82. void
  83. nv20_emit_tex_obj(struct gl_context *ctx, int emit);
  84.  
  85. void
  86. nv20_emit_tex_shader(struct gl_context *ctx, int emit);
  87.  
  88. /* nv20_state_tnl.c */
  89. void
  90. nv20_emit_clip_plane(struct gl_context *ctx, int emit);
  91.  
  92. void
  93. nv20_emit_color_material(struct gl_context *ctx, int emit);
  94.  
  95. void
  96. nv20_emit_fog(struct gl_context *ctx, int emit);
  97.  
  98. void
  99. nv20_emit_light_model(struct gl_context *ctx, int emit);
  100.  
  101. void
  102. nv20_emit_light_source(struct gl_context *ctx, int emit);
  103.  
  104. void
  105. nv20_emit_material_ambient(struct gl_context *ctx, int emit);
  106.  
  107. void
  108. nv20_emit_material_diffuse(struct gl_context *ctx, int emit);
  109.  
  110. void
  111. nv20_emit_material_specular(struct gl_context *ctx, int emit);
  112.  
  113. void
  114. nv20_emit_material_shininess(struct gl_context *ctx, int emit);
  115.  
  116. void
  117. nv20_emit_modelview(struct gl_context *ctx, int emit);
  118.  
  119. void
  120. nv20_emit_projection(struct gl_context *ctx, int emit);
  121.  
  122. #endif
  123.