home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mesa5.zip / mesa5src.zip / config.h < prev    next >
C/C++ Source or Header  |  2002-10-16  |  5KB  |  208 lines

  1. /* $Id: config.h,v 1.42 2002/10/16 17:57:51 brianp Exp $ */
  2.  
  3. /*
  4.  * Mesa 3-D graphics library
  5.  * Version:  4.1
  6.  *
  7.  * Copyright (C) 1999-2002  Brian Paul   All Rights Reserved.
  8.  *
  9.  * Permission is hereby granted, free of charge, to any person obtaining a
  10.  * copy of this software and associated documentation files (the "Software"),
  11.  * to deal in the Software without restriction, including without limitation
  12.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  13.  * and/or sell copies of the Software, and to permit persons to whom the
  14.  * Software is furnished to do so, subject to the following conditions:
  15.  *
  16.  * The above copyright notice and this permission notice shall be included
  17.  * in all copies or substantial portions of the Software.
  18.  *
  19.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  20.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  21.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  22.  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  23.  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  24.  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  25.  */
  26.  
  27.  
  28. /*
  29.  * Tunable configuration parameters.
  30.  */
  31.  
  32.  
  33.  
  34. #ifndef CONFIG_H
  35. #define CONFIG_H
  36.  
  37. #ifdef HAVE_CONFIG_H
  38. #include "conf.h"
  39. #endif
  40.  
  41.  
  42. /*
  43.  * OpenGL implementation limits
  44.  */
  45.  
  46. /* Maximum modelview matrix stack depth: */
  47. #define MAX_MODELVIEW_STACK_DEPTH 32
  48.  
  49. /* Maximum projection matrix stack depth: */
  50. #define MAX_PROJECTION_STACK_DEPTH 32
  51.  
  52. /* Maximum texture matrix stack depth: */
  53. #define MAX_TEXTURE_STACK_DEPTH 10
  54.  
  55. /* Maximum color matrix stack depth: */
  56. #define MAX_COLOR_STACK_DEPTH 4
  57.  
  58. /* Vertex program matrix stacks: */
  59. #define MAX_PROGRAM_MATRICES 8
  60. #define MAX_PROGRAM_STACK_DEPTH 4
  61.  
  62. /* Maximum attribute stack depth: */
  63. #define MAX_ATTRIB_STACK_DEPTH 16
  64.  
  65. /* Maximum client attribute stack depth: */
  66. #define MAX_CLIENT_ATTRIB_STACK_DEPTH 16
  67.  
  68. /* Maximum recursion depth of display list calls: */
  69. #define MAX_LIST_NESTING 64
  70.  
  71. /* Maximum number of lights: */
  72. #define MAX_LIGHTS 8
  73.  
  74. /* Maximum user-defined clipping planes: */
  75. #define MAX_CLIP_PLANES 6
  76.  
  77. /* Maximum pixel map lookup table size: */
  78. #define MAX_PIXEL_MAP_TABLE 256
  79.  
  80. /* Number of auxillary color buffers: */
  81. #define NUM_AUX_BUFFERS 0
  82.  
  83. /* Maximum order (degree) of curves: */
  84. #ifdef AMIGA
  85. #   define MAX_EVAL_ORDER 12
  86. #else
  87. #   define MAX_EVAL_ORDER 30
  88. #endif
  89.  
  90. /* Maximum Name stack depth */
  91. #define MAX_NAME_STACK_DEPTH 64
  92.  
  93. /* Min and Max point sizes and granularity */
  94. #define MIN_POINT_SIZE 1.0
  95. #define MAX_POINT_SIZE 20.0
  96. #define POINT_SIZE_GRANULARITY 0.1
  97.  
  98. /* Min and Max line widths and granularity */
  99. #define MIN_LINE_WIDTH 1.0
  100. #define MAX_LINE_WIDTH 10.0
  101. #define LINE_WIDTH_GRANULARITY 0.1
  102.  
  103. /* Max texture palette / color table size */
  104. #define MAX_COLOR_TABLE_SIZE 256
  105.  
  106. /* Number of 1D/2D texture mipmap levels */
  107. #define MAX_TEXTURE_LEVELS 12
  108.  
  109. /* Number of 3D texture mipmap levels */
  110. #define MAX_3D_TEXTURE_LEVELS 8
  111.  
  112. /* Number of cube texture mipmap levels - GL_ARB_texture_cube_map */
  113. #define MAX_CUBE_TEXTURE_LEVELS 12
  114.  
  115. /* Maximum rectangular texture size - GL_NV_texture_rectangle */
  116. #define MAX_TEXTURE_RECT_SIZE 2048
  117.  
  118. /* Number of texture units - GL_ARB_multitexture */
  119. #define MAX_TEXTURE_UNITS 8
  120.  
  121. /* Maximum viewport/image size: */
  122. #define MAX_WIDTH 2048
  123. #define MAX_HEIGHT 2048
  124.  
  125. /* Maxmimum size for CVA.  May be overridden by the drivers.  */
  126. #define MAX_ARRAY_LOCK_SIZE 3000
  127.  
  128. /* Subpixel precision for antialiasing, window coordinate snapping */
  129. #define SUB_PIXEL_BITS 4
  130.  
  131. /* Size of histogram tables */
  132. #define HISTOGRAM_TABLE_SIZE 256
  133.  
  134. /* Max convolution filter sizes */
  135. #define MAX_CONVOLUTION_WIDTH 9
  136. #define MAX_CONVOLUTION_HEIGHT 9
  137.  
  138. /* GL_ARB_texture_compression */
  139. #define MAX_COMPRESSED_TEXTURE_FORMATS 25
  140.  
  141. /* GL_EXT_texture_filter_anisotropic */
  142. #define MAX_TEXTURE_MAX_ANISOTROPY 16.0
  143.  
  144. /* GL_EXT_texture_lod_bias */
  145. #define MAX_TEXTURE_LOD_BIAS 4.0
  146.  
  147.  
  148.  
  149. /*
  150.  * Mesa-specific parameters
  151.  */
  152.  
  153.  
  154. /*
  155.  * Bits per accumulation buffer color component:  8, 16 or 32
  156.  */
  157. #define ACCUM_BITS 16
  158.  
  159.  
  160. /*
  161.  * Bits per depth buffer value.  Any reasonable value up to 31 will
  162.  * work.  32 doesn't work because of integer overflow problems in the
  163.  * rasterizer code.
  164.  */
  165. #ifndef DEFAULT_SOFTWARE_DEPTH_BITS
  166. #define DEFAULT_SOFTWARE_DEPTH_BITS 16
  167. #endif
  168. #if DEFAULT_SOFTWARE_DEPTH_BITS <= 16
  169. #define DEFAULT_SOFTWARE_DEPTH_TYPE GLushort
  170. #else
  171. #define DEFAULT_SOFTWARE_DEPTH_TYPE GLuint
  172. #endif
  173.  
  174.  
  175.  
  176. /*
  177.  * Bits per stencil value:  8
  178.  */
  179. #define STENCIL_BITS 8
  180.  
  181.  
  182. /*
  183.  * Bits per color channel:  8, 16 or 32
  184.  */
  185. #ifndef CHAN_BITS
  186. #define CHAN_BITS 8
  187. #endif
  188.  
  189.  
  190. /*
  191.  * Color channel component order
  192.  * (changes will almost certainly cause problems at this time)
  193.  */
  194. #define RCOMP 0
  195. #define GCOMP 1
  196. #define BCOMP 2
  197. #define ACOMP 3
  198.  
  199.  
  200.  
  201. /*
  202.  * Enable/disable features (blocks of code) by setting FEATURE_xyz to 0 or 1.
  203.  */
  204. #define FEATURE_NV_vertex_program 1
  205.  
  206.  
  207. #endif /* CONFIG_H */
  208.