Merge commit 'origin/gallium-0.1' into gallium-0.2
[mesa.git] / src / mesa / drivers / dri / gamma / gamma_vb.h
1 /*
2 * Copyright 2001 by Alan Hourihane.
3 *
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of Alan Hourihane not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. Alan Hourihane makes no representations
11 * about the suitability of this software for any purpose. It is provided
12 * "as is" without express or implied warranty.
13 *
14 * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
21 *
22 * Authors: Alan Hourihane, <alanh@tungstengraphics.com>
23 * Keith Whitwell, <keith@tungstengraphics.com>
24 *
25 * 3DLabs Gamma driver.
26 */
27
28 #ifndef GAMMAVB_INC
29 #define GAMMAVB_INC
30
31 #include "main/mtypes.h"
32 #include "swrast/swrast.h"
33
34 #define _GAMMA_NEW_VERTEX (_NEW_TEXTURE | \
35 _DD_NEW_TRI_UNFILLED | \
36 _DD_NEW_TRI_LIGHT_TWOSIDE)
37
38
39 extern void gammaChooseVertexState( GLcontext *ctx );
40 extern void gammaCheckTexSizes( GLcontext *ctx );
41 extern void gammaBuildVertices( GLcontext *ctx,
42 GLuint start,
43 GLuint count,
44 GLuint newinputs );
45
46
47 extern void gamma_import_float_colors( GLcontext *ctx );
48 extern void gamma_import_float_spec_colors( GLcontext *ctx );
49
50 extern void gamma_translate_vertex( GLcontext *ctx,
51 const gammaVertex *src,
52 SWvertex *dst );
53
54 extern void gammaInitVB( GLcontext *ctx );
55 extern void gammaFreeVB( GLcontext *ctx );
56
57 extern void gamma_print_vertex( GLcontext *ctx, const gammaVertex *v );
58 extern void gammaPrintSetupFlags(char *msg, GLuint flags );
59
60 #endif