Tizen 2.0 Release
[profile/ivi/osmesa.git] / src / mesa / drivers / dri / mga / mgatex.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 MGATEX_INC
29 #define MGATEX_INC
30
31 #include "mgacontext.h"
32
33 typedef struct mga_texture_object_s *mgaTextureObjectPtr;
34
35
36 /* Called before a primitive is rendered to make sure the texture
37  * state is properly setup.  Texture residence is checked later
38  * when we grab the lock.
39  */
40 void mgaUpdateTextureState( struct gl_context *ctx );
41
42 int mgaUploadTexImages( mgaContextPtr mmesa, mgaTextureObjectPtr t );
43
44 void mgaDestroyTexObj( mgaContextPtr mmesa, mgaTextureObjectPtr t );
45
46 void mgaInitTextureFuncs( struct dd_function_table *functions );
47
48 GLboolean mgaUpdateTextureEnvCombine( struct gl_context *ctx, int unit );
49
50 #endif