Committing in .
[mesa.git] / src / mesa / main / config.h
index fc43ebcd5a5bad825142351ce847e98b9d22c670..96dafac0adeb368516742b317935abf0646cecc3 100644 (file)
@@ -1,21 +1,21 @@
-/* $Id: config.h,v 1.12 2000/05/07 20:37:40 brianp Exp $ */
+/* $Id: config.h,v 1.38 2002/05/27 17:04:52 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
- * 
- * Copyright (C) 1999-2000  Brian Paul   All Rights Reserved.
- * 
+ * Version:  4.1
+ *
+ * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
+ *
  * Permission is hereby granted, free of charge, to any person obtaining a
  * copy of this software and associated documentation files (the "Software"),
  * to deal in the Software without restriction, including without limitation
  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  * and/or sell copies of the Software, and to permit persons to whom the
  * Software is furnished to do so, subject to the following conditions:
- * 
+ *
  * The above copyright notice and this permission notice shall be included
  * in all copies or substantial portions of the Software.
- * 
+ *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 /* Maximum color matrix stack depth: */
 #define MAX_COLOR_STACK_DEPTH 4
 
+/* Vertex program matrix stacks: */
+#define MAX_PROGRAM_MATRICES 8
+#define MAX_PROGRAM_STACK_DEPTH 4
+
 /* Maximum attribute stack depth: */
 #define MAX_ATTRIB_STACK_DEPTH 16
 
@@ -88,7 +92,7 @@
 
 /* Min and Max point sizes and granularity */
 #define MIN_POINT_SIZE 1.0
-#define MAX_POINT_SIZE 10.0
+#define MAX_POINT_SIZE 20.0
 #define POINT_SIZE_GRANULARITY 0.1
 
 /* Min and Max line widths and granularity */
 /* Max texture palette / color table size */
 #define MAX_COLOR_TABLE_SIZE 256
 
-/* Number of texture levels */
+/* Number of 1D/2D texture mipmap levels */
 #define MAX_TEXTURE_LEVELS 12
 
+/* Number of 3D texture mipmap levels */
+#define MAX_3D_TEXTURE_LEVELS 8
+
+/* Number of cube texture mipmap levels */
+#define MAX_CUBE_TEXTURE_LEVELS 12
+
 /* Number of texture units - GL_ARB_multitexture */
-#define MAX_TEXTURE_UNITS 2
+#define MAX_TEXTURE_UNITS 8
 
-/* Maximum viewport size: */
-#define MAX_WIDTH 1600
-#define MAX_HEIGHT 1200
+/* Maximum viewport/image size: */
+#define MAX_WIDTH 2048
+#define MAX_HEIGHT 2048
 
 /* Maxmimum size for CVA.  May be overridden by the drivers.  */
 #define MAX_ARRAY_LOCK_SIZE 3000
 #define HISTOGRAM_TABLE_SIZE 256
 
 /* Max convolution filter sizes */
-#define MAX_CONVOLUTION_WIDTH 5
-#define MAX_CONVOLUTION_HEIGHT 5
+#define MAX_CONVOLUTION_WIDTH 9
+#define MAX_CONVOLUTION_HEIGHT 9
+
+/* GL_ARB_texture_compression */
+#define MAX_COMPRESSED_TEXTURE_FORMATS 25
+
+/* GL_EXT_texture_filter_anisotropic */
+#define MAX_TEXTURE_MAX_ANISOTROPY 16.0
+
+/* GL_EXT_texture_lod_bias */
+#define MAX_TEXTURE_LOD_BIAS 4.0
+
 
 
 /*
 
 
 /*
- * Bits per accumulation buffer color component:  8 or 16
+ * Bits per accumulation buffer color component:  8, 16 or 32
  */
 #define ACCUM_BITS 16
 
 
 /*
- * Bits per depth buffer value:  16 or 32 (GLushort or GLuint)
- * gl_create_visual() can select any depth in [0, 32].
+ * Bits per depth buffer value.  Any reasonable value up to 31 will
+ * work.  32 doesn't work because of integer overflow problems in the
+ * rasterizer code.
  */
+#ifndef DEFAULT_SOFTWARE_DEPTH_BITS
 #define DEFAULT_SOFTWARE_DEPTH_BITS 16
+#endif
+#if DEFAULT_SOFTWARE_DEPTH_BITS <= 16
 #define DEFAULT_SOFTWARE_DEPTH_TYPE GLushort
+#else
+#define DEFAULT_SOFTWARE_DEPTH_TYPE GLuint
+#endif
 
 
 
 
 
 /*
- * Bits per color channel (must be 8 at this time!)
+ * Bits per color channel:  8, 16 or 32
  */
+#ifndef CHAN_BITS
 #define CHAN_BITS 8
-#define CHAN_MAX ((1 << CHAN_BITS) - 1)
-#define CHAN_MAXF ((GLfloat) CHAN_MAX)
+#endif
 
 
 /*
 #define ACOMP 3
 
 
-
-/* Vertex buffer size.  KW: no restrictions on the divisibility of
- * this number, though things may go better for you if you choose a
- * value of 12n + 3.  
- */
-#define VB_START  3
-
-#define VB_MAX (216 + VB_START)
-
-
-
-/*
- * Actual vertex buffer size.
- *
- * Arrays must also accomodate new vertices from clipping, and
- * potential overflow from primitives which don't fit into neatly into
- * VB_MAX vertices.  (This only happens when mixed primitives are
- * sharing the vb).  
- */
-#define VB_MAX_CLIPPED_VERTS ((2 * (6 + MAX_CLIP_PLANES))+1)
-#define VB_SIZE  (VB_MAX + VB_MAX_CLIPPED_VERTS)
-
-
-
-typedef struct gl_context GLcontext;
-
-extern void
-gl_read_config_file( struct gl_context *ctx );
-
-extern void
-gl_register_config_var(const char *name, void (*notify)( const char *, int ));
-
-#endif
+#endif /* CONFIG_H */