Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / mesa / drivers / dri / mga / mgavb.h
1 /*
2  * Copyright 2000-2001 VA Linux Systems, Inc.
3  * All Rights Reserved.
4  *
5  * Permission is hereby granted, free of charge, to any person obtaining a
6  * copy of this software and associated documentation files (the "Software"),
7  * to deal in the Software without restriction, including without limitation
8  * on the rights to use, copy, modify, merge, publish, distribute, sub
9  * license, and/or sell copies of the Software, and to permit persons to whom
10  * the Software is furnished to do so, subject to the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the next
13  * paragraph) shall be included in all copies or substantial portions of the
14  * Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
19  * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22  * OTHER DEALINGS IN THE SOFTWARE.
23  *
24  * Authors:
25  *    Keith Whitwell <keith@tungstengraphics.com>
26  */
27
28 #ifndef MGAVB_INC
29 #define MGAVB_INC
30
31 #include "main/mtypes.h"
32 #include "mgacontext.h"
33 #include "swrast/swrast.h"
34
35 #define _MGA_NEW_RASTERSETUP (_NEW_TEXTURE |                    \
36                               _DD_NEW_SEPARATE_SPECULAR |       \
37                               _DD_NEW_TRI_UNFILLED |            \
38                               _DD_NEW_TRI_LIGHT_TWOSIDE |       \
39                               _NEW_FOG)
40
41
42 extern void mgaChooseVertexState( struct gl_context *ctx );
43 extern void mgaCheckTexSizes( struct gl_context *ctx );
44 extern void mgaBuildVertices( struct gl_context *ctx, 
45                               GLuint start, 
46                               GLuint count,
47                               GLuint newinputs );
48
49 extern void mgaPrintSetupFlags(char *msg, GLuint flags );
50
51 extern void mgaInitVB( struct gl_context *ctx );
52 extern void mgaFreeVB( struct gl_context *ctx );
53
54 extern void *mga_emit_contiguous_verts( struct gl_context *ctx,
55                                         GLuint start,
56                                         GLuint count,
57                                         void *dest );
58
59 extern void mga_translate_vertex(struct gl_context *ctx, 
60                                  const mgaVertex *src, 
61                                  SWvertex *dst);
62
63 extern void mga_print_vertex( struct gl_context *ctx, const mgaVertex *v );
64
65 #endif