1/**************************************************************************
2
3Copyright 2000, 2001 ATI Technologies Inc., Ontario, Canada, and
4                     VA Linux Systems Inc., Fremont, California.
5
6All Rights Reserved.
7
8Permission is hereby granted, free of charge, to any person obtaining a
9copy of this software and associated documentation files (the "Software"),
10to deal in the Software without restriction, including without limitation
11on the rights to use, copy, modify, merge, publish, distribute, sub
12license, and/or sell copies of the Software, and to permit persons to whom
13the Software is furnished to do so, subject to the following conditions:
14
15The above copyright notice and this permission notice (including the next
16paragraph) shall be included in all copies or substantial portions of the
17Software.
18
19THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
22ATI, VA LINUX SYSTEMS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
23DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
25USE OR OTHER DEALINGS IN THE SOFTWARE.
26
27**************************************************************************/
28
29/*
30 * Authors:
31 *   Keith Whitwell <keith@tungstengraphics.com>
32 *
33 */
34
35#ifndef __RADEON_TRIS_H__
36#define __RADEON_TRIS_H__
37
38#include "main/mtypes.h"
39#include "swrast/swrast.h"
40#include "radeon_context.h"
41
42extern void radeonInitSwtcl( struct gl_context *ctx );
43
44extern void radeonChooseRenderState( struct gl_context *ctx );
45extern void radeonChooseVertexState( struct gl_context *ctx );
46
47extern void radeonCheckTexSizes( struct gl_context *ctx );
48
49extern void radeonBuildVertices( struct gl_context *ctx, GLuint start, GLuint count,
50				 GLuint newinputs );
51
52extern void radeonPrintSetupFlags(char *msg, GLuint flags );
53
54
55extern void radeon_emit_indexed_verts( struct gl_context *ctx,
56				       GLuint start,
57				       GLuint count );
58
59extern void radeon_translate_vertex( struct gl_context *ctx,
60				     const radeonVertex *src,
61				     SWvertex *dst );
62
63extern void radeon_print_vertex( struct gl_context *ctx, const radeonVertex *v );
64
65extern void r100_swtcl_flush(struct gl_context *ctx, uint32_t current_offset);
66#endif
67