Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1901 serge 1
/**
2
 * \file texobj.h
3
 * Texture object management.
4
 */
5
 
6
/*
7
 * Mesa 3-D graphics library
8
 * Version:  6.5
9
 *
10
 * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
11
 *
12
 * Permission is hereby granted, free of charge, to any person obtaining a
13
 * copy of this software and associated documentation files (the "Software"),
14
 * to deal in the Software without restriction, including without limitation
15
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16
 * and/or sell copies of the Software, and to permit persons to whom the
17
 * Software is furnished to do so, subject to the following conditions:
18
 *
19
 * The above copyright notice and this permission notice shall be included
20
 * in all copies or substantial portions of the Software.
21
 *
22
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
25
 * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
26
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
27
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
28
 */
29
 
30
 
31
#ifndef TEXTOBJ_H
32
#define TEXTOBJ_H
33
 
34
 
35
#include "glheader.h"
36
 
37
struct gl_context;
38
 
39
/**
40
 * \name Internal functions
41
 */
42
/*@{*/
43
 
44
extern struct gl_texture_object *
45
_mesa_lookup_texture(struct gl_context *ctx, GLuint id);
46
 
47
extern struct gl_texture_object *
48
_mesa_new_texture_object( struct gl_context *ctx, GLuint name, GLenum target );
49
 
50
extern void
51
_mesa_initialize_texture_object( struct gl_texture_object *obj,
52
                                 GLuint name, GLenum target );
53
 
54
extern void
55
_mesa_delete_texture_object( struct gl_context *ctx, struct gl_texture_object *obj );
56
 
57
extern void
58
_mesa_copy_texture_object( struct gl_texture_object *dest,
59
                           const struct gl_texture_object *src );
60
 
61
extern void
62
_mesa_clear_texture_object(struct gl_context *ctx, struct gl_texture_object *obj);
63
 
64
extern void
65
_mesa_reference_texobj(struct gl_texture_object **ptr,
66
                       struct gl_texture_object *tex);
67
 
68
extern void
69
_mesa_test_texobj_completeness( const struct gl_context *ctx,
70
                                struct gl_texture_object *obj );
71
 
72
extern GLboolean
73
_mesa_cube_complete(const struct gl_texture_object *texObj);
74
 
75
extern void
76
_mesa_dirty_texobj(struct gl_context *ctx, struct gl_texture_object *texObj,
77
                   GLboolean invalidate_state);
78
 
79
extern struct gl_texture_object *
80
_mesa_get_fallback_texture(struct gl_context *ctx);
81
 
82
extern void
83
_mesa_unlock_context_textures( struct gl_context *ctx );
84
 
85
extern void
86
_mesa_lock_context_textures( struct gl_context *ctx );
87
 
88
/*@}*/
89
 
90
/**
91
 * \name API functions
92
 */
93
/*@{*/
94
 
95
extern void GLAPIENTRY
96
_mesa_GenTextures( GLsizei n, GLuint *textures );
97
 
98
 
99
extern void GLAPIENTRY
100
_mesa_DeleteTextures( GLsizei n, const GLuint *textures );
101
 
102
 
103
extern void GLAPIENTRY
104
_mesa_BindTexture( GLenum target, GLuint texture );
105
 
106
 
107
extern void GLAPIENTRY
108
_mesa_PrioritizeTextures( GLsizei n, const GLuint *textures,
109
                          const GLclampf *priorities );
110
 
111
 
112
extern GLboolean GLAPIENTRY
113
_mesa_AreTexturesResident( GLsizei n, const GLuint *textures,
114
                           GLboolean *residences );
115
 
116
extern GLboolean GLAPIENTRY
117
_mesa_IsTexture( GLuint texture );
118
 
119
/*@}*/
120
 
121
 
122
#endif