fixed pointer arithmetic error in glCopyPixels
[mesa.git] / src / mesa / main / config.h
index 9affa9c4d3d788a561563e86fa81b5c4b1e735ae..37c572226db2970ddb6692f21aaa062d48a0c8fb 100644 (file)
@@ -1,21 +1,21 @@
-/* $Id: config.h,v 1.2 1999/11/11 01:22:25 brianp Exp $ */
+/* $Id: config.h,v 1.37 2001/12/18 04:06:45 brianp Exp $ */
 
 /*
  * Mesa 3-D graphics library
- * Version:  3.3
- * 
- * Copyright (C) 1999  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 texture matrix stack depth: */
 #define MAX_TEXTURE_STACK_DEPTH 10
 
+/* 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
 
 /* Min and Max line widths and granularity */
 #define MIN_LINE_WIDTH 1.0
 #define MAX_LINE_WIDTH 10.0
-#define LINE_WIDTH_GRANULARITY 1.0
+#define LINE_WIDTH_GRANULARITY 0.1
 
-/* Max texture palette size */
-#define MAX_TEXTURE_PALETTE_SIZE 256
+/* 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
 
+/* Subpixel precision for antialiasing, window coordinate snapping */
+#define SUB_PIXEL_BITS 4
+
+/* Size of histogram tables */
+#define HISTOGRAM_TABLE_SIZE 256
+
+/* Max convolution filter sizes */
+#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
+ * 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.
  */
-#ifdef MESAD3D
-   /* Mesa / Direct3D driver only */
-   extern float g_DepthScale, g_MaxDepth;
-#  define DEPTH_BITS   32
-#  define DEPTH_SCALE  g_DepthScale
-#  define MAX_DEPTH    g_MaxDepth
+#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 DEPTH_BITS 16
-#  if DEPTH_BITS==16
-#     define MAX_DEPTH 0xffff
-#     define DEPTH_SCALE 65535.0F
-#  elif DEPTH_BITS==32
-#     define MAX_DEPTH 0x3fffffff
-#     define DEPTH_SCALE ((GLfloat) MAX_DEPTH)
-#  else
-#     error "illegal number of depth bits"
-#  endif
+#define DEFAULT_SOFTWARE_DEPTH_TYPE GLuint
 #endif
 
 
+
 /*
  * Bits per stencil value:  8
  */
 
 
 /*
- * 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
-
+#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
-
-#if defined(FX) && !defined(MITS)
-#  define VB_MAX 72 + VB_START  /* better performance */
-#else
-#  define VB_MAX 480 + VB_START
-#endif
-
-/*
- * 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))
-#define VB_SIZE  (VB_MAX + VB_MAX_CLIPPED_VERTS)
-
-
-
-typedef struct gl_context GLcontext;
-
-extern void gl_read_config_file( struct gl_context *ctx );
-
-#endif
+#endif /* CONFIG_H */