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
 * Mesa 3-D graphics library
3
 *
4
 * Copyright (C) 2004-2007  Brian Paul   All Rights Reserved.
5
 * Copyright (C) 2010  VMware, Inc.  All Rights Reserved.
6
 *
7
 * Permission is hereby granted, free of charge, to any person obtaining a
8
 * copy of this software and associated documentation files (the "Software"),
9
 * to deal in the Software without restriction, including without limitation
10
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11
 * and/or sell copies of the Software, and to permit persons to whom the
12
 * Software is furnished to do so, subject to the following conditions:
13
 *
14
 * The above copyright notice and this permission notice shall be included
15
 * in all copies or substantial portions of the Software.
16
 *
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20
 * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23
 */
24
 
25
 
26
#ifndef SHADERAPI_H
27
#define SHADERAPI_H
28
 
29
 
30
#include "glheader.h"
31
 
32
struct _glapi_table;
33
struct gl_context;
34
struct gl_shader_program;
35
 
36
extern GLint
37
_mesa_sizeof_glsl_type(GLenum type);
38
 
39
extern void
40
_mesa_copy_string(GLchar *dst, GLsizei maxLength,
41
                  GLsizei *length, const GLchar *src);
42
 
43
extern void
44
_mesa_use_program(struct gl_context *ctx, struct gl_shader_program *shProg);
45
 
46
extern void
47
_mesa_active_program(struct gl_context *ctx, struct gl_shader_program *shProg,
48
		     const char *caller);
49
 
50
extern void
51
_mesa_init_shader_dispatch(struct _glapi_table *exec);
52
 
53
 
54
 
55
extern void GLAPIENTRY
56
_mesa_AttachObjectARB(GLhandleARB, GLhandleARB);
57
 
58
extern void  GLAPIENTRY
59
_mesa_CompileShaderARB(GLhandleARB);
60
 
61
extern GLhandleARB GLAPIENTRY
62
_mesa_CreateProgramObjectARB(void);
63
 
64
extern GLhandleARB GLAPIENTRY
65
_mesa_CreateShaderObjectARB(GLenum type);
66
 
67
extern void GLAPIENTRY
68
_mesa_DeleteObjectARB(GLhandleARB obj);
69
 
70
extern void GLAPIENTRY
71
_mesa_DetachObjectARB(GLhandleARB, GLhandleARB);
72
 
73
extern void GLAPIENTRY
74
_mesa_GetAttachedObjectsARB(GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
75
 
76
extern GLint GLAPIENTRY
77
_mesa_GetFragDataLocation(GLuint program, const GLchar *name);
78
 
79
extern GLhandleARB GLAPIENTRY
80
_mesa_GetHandleARB(GLenum pname);
81
 
82
extern void GLAPIENTRY
83
_mesa_GetInfoLogARB(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
84
 
85
extern void GLAPIENTRY
86
_mesa_GetObjectParameterfvARB(GLhandleARB, GLenum, GLfloat *);
87
 
88
extern void GLAPIENTRY
89
_mesa_GetObjectParameterivARB(GLhandleARB, GLenum, GLint *);
90
 
91
extern void GLAPIENTRY
92
_mesa_GetShaderSourceARB(GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
93
 
94
extern GLboolean GLAPIENTRY
95
_mesa_IsProgram(GLuint name);
96
 
97
extern GLboolean GLAPIENTRY
98
_mesa_IsShader(GLuint name);
99
 
100
extern void GLAPIENTRY
101
_mesa_LinkProgramARB(GLhandleARB programObj);
102
 
103
extern void GLAPIENTRY
104
_mesa_ShaderSourceARB(GLhandleARB, GLsizei, const GLcharARB* *, const GLint *);
105
 
106
extern void GLAPIENTRY
107
_mesa_UseProgramObjectARB(GLhandleARB);
108
 
109
extern void GLAPIENTRY
110
_mesa_ValidateProgramARB(GLhandleARB);
111
 
112
 
113
extern void GLAPIENTRY
114
_mesa_BindAttribLocationARB(GLhandleARB, GLuint, const GLcharARB *);
115
 
116
extern void GLAPIENTRY
117
_mesa_BindFragDataLocation(GLuint program, GLuint colorNumber,
118
                           const GLchar *name);
119
 
120
extern void GLAPIENTRY
121
_mesa_GetActiveAttribARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *,
122
                         GLenum *, GLcharARB *);
123
 
124
extern GLint GLAPIENTRY
125
_mesa_GetAttribLocationARB(GLhandleARB, const GLcharARB *);
126
 
127
 
128
 
129
extern void GLAPIENTRY
130
_mesa_AttachShader(GLuint program, GLuint shader);
131
 
132
extern GLuint GLAPIENTRY
133
_mesa_CreateShader(GLenum);
134
 
135
extern GLuint GLAPIENTRY
136
_mesa_CreateProgram(void);
137
 
138
extern void GLAPIENTRY
139
_mesa_DeleteProgram(GLuint program);
140
 
141
extern void GLAPIENTRY
142
_mesa_DeleteShader(GLuint shader);
143
 
144
extern void GLAPIENTRY
145
_mesa_DetachShader(GLuint program, GLuint shader);
146
 
147
extern void GLAPIENTRY
148
_mesa_GetAttachedShaders(GLuint program, GLsizei maxCount,
149
                         GLsizei *count, GLuint *obj);
150
 
151
extern void GLAPIENTRY
152
_mesa_GetProgramiv(GLuint program, GLenum pname, GLint *params);
153
 
154
extern void GLAPIENTRY
155
_mesa_GetProgramInfoLog(GLuint program, GLsizei bufSize,
156
                        GLsizei *length, GLchar *infoLog);
157
 
158
extern void GLAPIENTRY
159
_mesa_GetShaderiv(GLuint shader, GLenum pname, GLint *params);
160
 
161
extern void GLAPIENTRY
162
_mesa_GetShaderInfoLog(GLuint shader, GLsizei bufSize,
163
                       GLsizei *length, GLchar *infoLog);
164
 
165
 
166
extern void GLAPIENTRY
167
_mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,
168
                               GLint *range, GLint *precision);
169
 
170
extern void GLAPIENTRY
171
_mesa_ReleaseShaderCompiler(void);
172
 
173
extern void GLAPIENTRY
174
_mesa_ShaderBinary(GLint n, const GLuint *shaders, GLenum binaryformat,
175
                   const void* binary, GLint length);
176
 
177
extern void GLAPIENTRY
178
_mesa_ProgramParameteriARB(GLuint program, GLenum pname,
179
                           GLint value);
180
void
181
_mesa_use_shader_program(struct gl_context *ctx, GLenum type,
182
			 struct gl_shader_program *shProg);
183
 
184
extern void GLAPIENTRY
185
_mesa_UseShaderProgramEXT(GLenum type, GLuint program);
186
 
187
extern void GLAPIENTRY
188
_mesa_ActiveProgramEXT(GLuint program);
189
 
190
extern GLuint GLAPIENTRY
191
_mesa_CreateShaderProgramEXT(GLenum type, const GLchar *string);
192
 
193
#endif /* SHADERAPI_H */