X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fmain%2Fconfig.h;h=9ff0b708ddb835e8d7af4179852ea6697c72bd6c;hb=7ecac78ab53016ae3db3dd601b187cb050037463;hp=74ebb469afa6aba22b590dd85ef421c700b3b144;hpb=7a6b71ef2944bae1718e8167b2faaceb8422071c;p=mesa.git diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 74ebb469afa..9ff0b708ddb 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.1 + * Version: 7.1 * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 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"), @@ -28,12 +28,11 @@ */ -#ifndef CONFIG_H -#define CONFIG_H +#ifndef MESA_CONFIG_H_INCLUDED +#define MESA_CONFIG_H_INCLUDED -#ifdef HAVE_CONFIG_H -#include "conf.h" -#endif + +#include "main/mfeatures.h" /** @@ -71,8 +70,8 @@ /** Maximum pixel map lookup table size */ #define MAX_PIXEL_MAP_TABLE 256 -/** Number of auxillary color buffers */ -#define NUM_AUX_BUFFERS 0 +/** Maximum number of auxillary color buffers */ +#define MAX_AUX_BUFFERS 4 /** Maximum order (degree) of curves */ #ifdef AMIGA @@ -87,7 +86,7 @@ /** Minimum point size */ #define MIN_POINT_SIZE 1.0 /** Maximum point size */ -#define MAX_POINT_SIZE 20.0 +#define MAX_POINT_SIZE 60.0 /** Point size granularity */ #define POINT_SIZE_GRANULARITY 0.1 @@ -113,9 +112,19 @@ /** Maximum rectangular texture size - GL_NV_texture_rectangle */ #define MAX_TEXTURE_RECT_SIZE 2048 -/** Number of texture units - GL_ARB_multitexture */ +/** Maximum number of layers in a 1D or 2D array texture - GL_MESA_texture_array */ +#define MAX_ARRAY_TEXTURE_LAYERS 64 + +/** Number of texture units - GL_ARB_multitexture + * This needs to be the larger of MAX_TEXTURE_COORD_UNITS and + * MAX_TEXTURE_IMAGE_UNITS seen below, since MAX_TEXTURE_UNITS is used + * to dimension some arrays that store both coord and image data. +*/ #define MAX_TEXTURE_UNITS 8 +/*@}*/ + + /** * \name Separate numbers of texture coordinates and texture image units. * @@ -155,21 +164,49 @@ /** For GL_EXT_texture_filter_anisotropic */ #define MAX_TEXTURE_MAX_ANISOTROPY 16.0 -/** For GL_EXT_texture_lod_bias */ -#define MAX_TEXTURE_LOD_BIAS 4.0 +/** For GL_EXT_texture_lod_bias (typically MAX_TEXTURE_LEVELS - 1) */ +#define MAX_TEXTURE_LOD_BIAS 11.0 + +/** For GL_ARB_vertex_program */ +/*@{*/ +#define MAX_VERTEX_PROGRAM_ADDRESS_REGS 1 +#define MAX_VERTEX_PROGRAM_ATTRIBS 16 +/*@}*/ + +/** For GL_ARB_fragment_program */ +/*@{*/ +#define MAX_FRAGMENT_PROGRAM_ADDRESS_REGS 0 +#define MAX_FRAGMENT_PROGRAM_ALU_INSTRUCTIONS 48 +#define MAX_FRAGMENT_PROGRAM_TEX_INSTRUCTIONS 24 +#define MAX_FRAGMENT_PROGRAM_TEX_INDIRECTIONS 4 +/*@}*/ + +/** For any program target/extension */ +/*@{*/ +#define MAX_PROGRAM_LOCAL_PARAMS 128 /* KW: power of two */ +#define MAX_PROGRAM_ENV_PARAMS 128 +#define MAX_PROGRAM_MATRICES 8 +#define MAX_PROGRAM_MATRIX_STACK_DEPTH 4 +#define MAX_PROGRAM_CALL_DEPTH 8 +#define MAX_PROGRAM_TEMPS 128 +#define MAX_PROGRAM_ADDRESS_REGS 2 +#define MAX_UNIFORMS 128 +#define MAX_VARYING 8 +#define MAX_SAMPLERS 8 +/*@}*/ /** For GL_NV_vertex_program */ /*@{*/ #define MAX_NV_VERTEX_PROGRAM_INSTRUCTIONS 128 #define MAX_NV_VERTEX_PROGRAM_TEMPS 12 -#define MAX_NV_VERTEX_PROGRAM_PARAMS 96 +#define MAX_NV_VERTEX_PROGRAM_PARAMS MAX_PROGRAM_ENV_PARAMS #define MAX_NV_VERTEX_PROGRAM_INPUTS 16 #define MAX_NV_VERTEX_PROGRAM_OUTPUTS 15 /*@}*/ /** For GL_NV_fragment_program */ /*@{*/ -#define MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS 128 +#define MAX_NV_FRAGMENT_PROGRAM_INSTRUCTIONS 1024 /* 72 for GL_ARB_f_p */ #define MAX_NV_FRAGMENT_PROGRAM_TEMPS 96 #define MAX_NV_FRAGMENT_PROGRAM_PARAMS 64 #define MAX_NV_FRAGMENT_PROGRAM_INPUTS 12 @@ -177,28 +214,26 @@ #define MAX_NV_FRAGMENT_PROGRAM_WRITE_ONLYS 2 /*@}*/ -/** For GL_ARB_vertex_program */ + +/** For GL_ARB_vertex_shader */ /*@{*/ -#define MAX_VERTEX_PROGRAM_ADDRESS_REGS 1 -#define MAX_VERTEX_PROGRAM_ATTRIBS 16 +#define MAX_VERTEX_ATTRIBS 16 +#define MAX_VERTEX_TEXTURE_IMAGE_UNITS 0 +#define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_TEXTURE_IMAGE_UNITS + MAX_VERTEX_TEXTURE_IMAGE_UNITS) /*@}*/ -/** For GL_ARB_fragment_program */ + +/** For GL_ARB_draw_buffers */ /*@{*/ -#define MAX_FRAGMENT_PROGRAM_ADDRESS_REGS 1 -#define MAX_FRAGMENT_PROGRAM_ALU_INSTRUCTIONS 48 -#define MAX_FRAGMENT_PROGRAM_TEX_INSTRUCTIONS 24 -#define MAX_FRAGMENT_PROGRAM_TEX_INDIRECTIONS 4 +#define MAX_DRAW_BUFFERS 4 /*@}*/ -/** For any program target/extension */ + +/** For GL_EXT_framebuffer_object */ /*@{*/ -#define MAX_PROGRAM_LOCAL_PARAMS 96 -#define MAX_PROGRAM_MATRICES 8 -#define MAX_PROGRAM_MATRIX_STACK_DEPTH 4 +#define MAX_COLOR_ATTACHMENTS 8 /*@}*/ -/*@}*/ /** @@ -212,16 +247,9 @@ */ #define TRIANGLE_WALK_DOUBLE 0 -/** - * Bits per accumulation buffer color component: 8, 16 or 32 - */ -#define ACCUM_BITS 16 /** - * 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. + * Bits per depth buffer value (max is 32). */ #ifndef DEFAULT_SOFTWARE_DEPTH_BITS #define DEFAULT_SOFTWARE_DEPTH_BITS 16 @@ -259,27 +287,12 @@ #define ACOMP 3 -/* - * Enable/disable features (blocks of code) by setting FEATURE_xyz to 0 or 1. +/** + * Maximum number of temporary vertices required for clipping. + * + * Used in array_cache and tnl modules. */ -#ifndef _HAVE_FULL_GL -#define _HAVE_FULL_GL 1 -#endif - -#define FEATURE_ARB_vertex_buffer_object _HAVE_FULL_GL -#define FEATURE_ARB_vertex_program _HAVE_FULL_GL -#define FEATURE_ARB_fragment_program _HAVE_FULL_GL -#define FEATURE_ARB_occlusion_query _HAVE_FULL_GL -#define FEATURE_EXT_pixel_buffer_object _HAVE_FULL_GL -#define FEATURE_MESA_program_debug _HAVE_FULL_GL -#define FEATURE_NV_fence _HAVE_FULL_GL -#define FEATURE_NV_fragment_program _HAVE_FULL_GL -#define FEATURE_NV_vertex_program _HAVE_FULL_GL -#define FEATURE_userclip _HAVE_FULL_GL -#define FEATURE_texgen _HAVE_FULL_GL -#define FEATURE_windowpos _HAVE_FULL_GL - -/*@}*/ +#define MAX_CLIPPED_VERTICES ((2 * (6 + MAX_CLIP_PLANES))+1) -#endif /* CONFIG_H */ +#endif /* MESA_CONFIG_H_INCLUDED */