1 #ifndef __gl2_h_
2 #define __gl2_h_
3 
4 /* $Revision: 16803 $ on $Date:: 2012-02-02 09:49:18 -0800 #$ */
5 
6 #include <GLES2/gl2platform.h>
7 #include <cogl/cogl-gles2-types.h>
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 /*
14  * This document is licensed under the SGI Free Software B License Version
15  * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
16  */
17 
18 /*-------------------------------------------------------------------------
19  * GL core functions.
20  *-----------------------------------------------------------------------*/
21 
22 GL_APICALL void         GL_APIENTRY glActiveTexture (GLenum texture);
23 GL_APICALL void         GL_APIENTRY glAttachShader (GLuint program, GLuint shader);
24 GL_APICALL void         GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name);
25 GL_APICALL void         GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
26 GL_APICALL void         GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer);
27 GL_APICALL void         GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer);
28 GL_APICALL void         GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
29 GL_APICALL void         GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
30 GL_APICALL void         GL_APIENTRY glBlendEquation ( GLenum mode );
31 GL_APICALL void         GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha);
32 GL_APICALL void         GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
33 GL_APICALL void         GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
34 GL_APICALL void         GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage);
35 GL_APICALL void         GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data);
36 GL_APICALL GLenum       GL_APIENTRY glCheckFramebufferStatus (GLenum target);
37 GL_APICALL void         GL_APIENTRY glClear (GLbitfield mask);
38 GL_APICALL void         GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
39 GL_APICALL void         GL_APIENTRY glClearDepthf (GLclampf depth);
40 GL_APICALL void         GL_APIENTRY glClearStencil (GLint s);
41 GL_APICALL void         GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
42 GL_APICALL void         GL_APIENTRY glCompileShader (GLuint shader);
43 GL_APICALL void         GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data);
44 GL_APICALL void         GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data);
45 GL_APICALL void         GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
46 GL_APICALL void         GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
47 GL_APICALL GLuint       GL_APIENTRY glCreateProgram (void);
48 GL_APICALL GLuint       GL_APIENTRY glCreateShader (GLenum type);
49 GL_APICALL void         GL_APIENTRY glCullFace (GLenum mode);
50 GL_APICALL void         GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers);
51 GL_APICALL void         GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers);
52 GL_APICALL void         GL_APIENTRY glDeleteProgram (GLuint program);
53 GL_APICALL void         GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers);
54 GL_APICALL void         GL_APIENTRY glDeleteShader (GLuint shader);
55 GL_APICALL void         GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures);
56 GL_APICALL void         GL_APIENTRY glDepthFunc (GLenum func);
57 GL_APICALL void         GL_APIENTRY glDepthMask (GLboolean flag);
58 GL_APICALL void         GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
59 GL_APICALL void         GL_APIENTRY glDetachShader (GLuint program, GLuint shader);
60 GL_APICALL void         GL_APIENTRY glDisable (GLenum cap);
61 GL_APICALL void         GL_APIENTRY glDisableVertexAttribArray (GLuint index);
62 GL_APICALL void         GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
63 GL_APICALL void         GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
64 GL_APICALL void         GL_APIENTRY glEnable (GLenum cap);
65 GL_APICALL void         GL_APIENTRY glEnableVertexAttribArray (GLuint index);
66 GL_APICALL void         GL_APIENTRY glFinish (void);
67 GL_APICALL void         GL_APIENTRY glFlush (void);
68 GL_APICALL void         GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
69 GL_APICALL void         GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
70 GL_APICALL void         GL_APIENTRY glFrontFace (GLenum mode);
71 GL_APICALL void         GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers);
72 GL_APICALL void         GL_APIENTRY glGenerateMipmap (GLenum target);
73 GL_APICALL void         GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers);
74 GL_APICALL void         GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers);
75 GL_APICALL void         GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures);
76 GL_APICALL void         GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
77 GL_APICALL void         GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name);
78 GL_APICALL void         GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders);
79 GL_APICALL int          GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name);
80 GL_APICALL void         GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params);
81 GL_APICALL void         GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params);
82 GL_APICALL GLenum       GL_APIENTRY glGetError (void);
83 GL_APICALL void         GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params);
84 GL_APICALL void         GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params);
85 GL_APICALL void         GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params);
86 GL_APICALL void         GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params);
87 GL_APICALL void         GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog);
88 GL_APICALL void         GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params);
89 GL_APICALL void         GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params);
90 GL_APICALL void         GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog);
91 GL_APICALL void         GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision);
92 GL_APICALL void         GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source);
93 GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name);
94 GL_APICALL void         GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params);
95 GL_APICALL void         GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params);
96 GL_APICALL void         GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params);
97 GL_APICALL void         GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params);
98 GL_APICALL int          GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name);
99 GL_APICALL void         GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params);
100 GL_APICALL void         GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params);
101 GL_APICALL void         GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer);
102 GL_APICALL void         GL_APIENTRY glHint (GLenum target, GLenum mode);
103 GL_APICALL GLboolean    GL_APIENTRY glIsBuffer (GLuint buffer);
104 GL_APICALL GLboolean    GL_APIENTRY glIsEnabled (GLenum cap);
105 GL_APICALL GLboolean    GL_APIENTRY glIsFramebuffer (GLuint framebuffer);
106 GL_APICALL GLboolean    GL_APIENTRY glIsProgram (GLuint program);
107 GL_APICALL GLboolean    GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer);
108 GL_APICALL GLboolean    GL_APIENTRY glIsShader (GLuint shader);
109 GL_APICALL GLboolean    GL_APIENTRY glIsTexture (GLuint texture);
110 GL_APICALL void         GL_APIENTRY glLineWidth (GLfloat width);
111 GL_APICALL void         GL_APIENTRY glLinkProgram (GLuint program);
112 GL_APICALL void         GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
113 GL_APICALL void         GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
114 GL_APICALL void         GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
115 GL_APICALL void         GL_APIENTRY glReleaseShaderCompiler (void);
116 GL_APICALL void         GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
117 GL_APICALL void         GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
118 GL_APICALL void         GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
119 GL_APICALL void         GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length);
120 GL_APICALL void         GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length);
121 GL_APICALL void         GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
122 GL_APICALL void         GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask);
123 GL_APICALL void         GL_APIENTRY glStencilMask (GLuint mask);
124 GL_APICALL void         GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask);
125 GL_APICALL void         GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
126 GL_APICALL void         GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass);
127 GL_APICALL void         GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
128 GL_APICALL void         GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
129 GL_APICALL void         GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params);
130 GL_APICALL void         GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
131 GL_APICALL void         GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params);
132 GL_APICALL void         GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
133 GL_APICALL void         GL_APIENTRY glUniform1f (GLint location, GLfloat x);
134 GL_APICALL void         GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v);
135 GL_APICALL void         GL_APIENTRY glUniform1i (GLint location, GLint x);
136 GL_APICALL void         GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v);
137 GL_APICALL void         GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y);
138 GL_APICALL void         GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v);
139 GL_APICALL void         GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y);
140 GL_APICALL void         GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v);
141 GL_APICALL void         GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z);
142 GL_APICALL void         GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v);
143 GL_APICALL void         GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z);
144 GL_APICALL void         GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v);
145 GL_APICALL void         GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
146 GL_APICALL void         GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v);
147 GL_APICALL void         GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w);
148 GL_APICALL void         GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v);
149 GL_APICALL void         GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
150 GL_APICALL void         GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
151 GL_APICALL void         GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value);
152 GL_APICALL void         GL_APIENTRY glUseProgram (GLuint program);
153 GL_APICALL void         GL_APIENTRY glValidateProgram (GLuint program);
154 GL_APICALL void         GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x);
155 GL_APICALL void         GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values);
156 GL_APICALL void         GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y);
157 GL_APICALL void         GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values);
158 GL_APICALL void         GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z);
159 GL_APICALL void         GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values);
160 GL_APICALL void         GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
161 GL_APICALL void         GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values);
162 GL_APICALL void         GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr);
163 GL_APICALL void         GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
164 
165 #ifdef __cplusplus
166 }
167 #endif
168 
169 #endif /* __gl2_h_ */
170