1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // This file is auto-generated from 6 // gpu/command_buffer/build_gles2_cmd_buffer.py 7 // DO NOT EDIT! 8 9 // OpenGL ES interface. 10 #ifndef PPAPI_C_PPB_OPENGLES2_H_ 11 #define PPAPI_C_PPB_OPENGLES2_H_ 12 13 #include "ppapi/c/pp_resource.h" 14 15 #ifndef __gl2_h_ 16 typedef unsigned int GLenum; 17 typedef void GLvoid; 18 typedef long int GLintptr; 19 typedef int GLsizei; 20 typedef long int GLsizeiptr; 21 typedef int GLint; 22 typedef unsigned char GLboolean; 23 typedef unsigned int GLuint; 24 typedef unsigned int GLbitfield; 25 typedef short GLshort; 26 typedef float GLfloat; 27 typedef float GLclampf; 28 typedef signed char GLbyte; 29 typedef unsigned char GLubyte; 30 typedef int GLfixed; 31 typedef unsigned short GLushort; 32 typedef int GLclampx; 33 #endif // __gl2_h_ 34 35 #define PPB_OPENGLES2_INTERFACE_1_0 "PPB_OpenGLES2;1.0" 36 #define PPB_OPENGLES2_INTERFACE PPB_OPENGLES2_INTERFACE_1_0 37 38 struct PPB_OpenGLES2 { 39 void (*ActiveTexture)(PP_Resource context, GLenum texture); 40 void (*AttachShader)(PP_Resource context, GLuint program, GLuint shader); 41 void (*BindAttribLocation)( 42 PP_Resource context, GLuint program, GLuint index, const char* name); 43 void (*BindBuffer)(PP_Resource context, GLenum target, GLuint buffer); 44 void (*BindFramebuffer)( 45 PP_Resource context, GLenum target, GLuint framebuffer); 46 void (*BindRenderbuffer)( 47 PP_Resource context, GLenum target, GLuint renderbuffer); 48 void (*BindTexture)(PP_Resource context, GLenum target, GLuint texture); 49 void (*BlendColor)( 50 PP_Resource context, GLclampf red, GLclampf green, GLclampf blue, 51 GLclampf alpha); 52 void (*BlendEquation)(PP_Resource context, GLenum mode); 53 void (*BlendEquationSeparate)( 54 PP_Resource context, GLenum modeRGB, GLenum modeAlpha); 55 void (*BlendFunc)(PP_Resource context, GLenum sfactor, GLenum dfactor); 56 void (*BlendFuncSeparate)( 57 PP_Resource context, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, 58 GLenum dstAlpha); 59 void (*BufferData)( 60 PP_Resource context, GLenum target, GLsizeiptr size, const void* data, 61 GLenum usage); 62 void (*BufferSubData)( 63 PP_Resource context, GLenum target, GLintptr offset, GLsizeiptr size, 64 const void* data); 65 GLenum (*CheckFramebufferStatus)(PP_Resource context, GLenum target); 66 void (*Clear)(PP_Resource context, GLbitfield mask); 67 void (*ClearColor)( 68 PP_Resource context, GLclampf red, GLclampf green, GLclampf blue, 69 GLclampf alpha); 70 void (*ClearDepthf)(PP_Resource context, GLclampf depth); 71 void (*ClearStencil)(PP_Resource context, GLint s); 72 void (*ColorMask)( 73 PP_Resource context, GLboolean red, GLboolean green, GLboolean blue, 74 GLboolean alpha); 75 void (*CompileShader)(PP_Resource context, GLuint shader); 76 void (*CompressedTexImage2D)( 77 PP_Resource context, GLenum target, GLint level, GLenum internalformat, 78 GLsizei width, GLsizei height, GLint border, GLsizei imageSize, 79 const void* data); 80 void (*CompressedTexSubImage2D)( 81 PP_Resource context, GLenum target, GLint level, GLint xoffset, 82 GLint yoffset, GLsizei width, GLsizei height, GLenum format, 83 GLsizei imageSize, const void* data); 84 void (*CopyTexImage2D)( 85 PP_Resource context, GLenum target, GLint level, GLenum internalformat, 86 GLint x, GLint y, GLsizei width, GLsizei height, GLint border); 87 void (*CopyTexSubImage2D)( 88 PP_Resource context, GLenum target, GLint level, GLint xoffset, 89 GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); 90 GLuint (*CreateProgram)(PP_Resource context); 91 GLuint (*CreateShader)(PP_Resource context, GLenum type); 92 void (*CullFace)(PP_Resource context, GLenum mode); 93 void (*DeleteBuffers)(PP_Resource context, GLsizei n, const GLuint* buffers); 94 void (*DeleteFramebuffers)( 95 PP_Resource context, GLsizei n, const GLuint* framebuffers); 96 void (*DeleteProgram)(PP_Resource context, GLuint program); 97 void (*DeleteRenderbuffers)( 98 PP_Resource context, GLsizei n, const GLuint* renderbuffers); 99 void (*DeleteShader)(PP_Resource context, GLuint shader); 100 void (*DeleteTextures)( 101 PP_Resource context, GLsizei n, const GLuint* textures); 102 void (*DepthFunc)(PP_Resource context, GLenum func); 103 void (*DepthMask)(PP_Resource context, GLboolean flag); 104 void (*DepthRangef)(PP_Resource context, GLclampf zNear, GLclampf zFar); 105 void (*DetachShader)(PP_Resource context, GLuint program, GLuint shader); 106 void (*Disable)(PP_Resource context, GLenum cap); 107 void (*DisableVertexAttribArray)(PP_Resource context, GLuint index); 108 void (*DrawArrays)( 109 PP_Resource context, GLenum mode, GLint first, GLsizei count); 110 void (*DrawElements)( 111 PP_Resource context, GLenum mode, GLsizei count, GLenum type, 112 const void* indices); 113 void (*Enable)(PP_Resource context, GLenum cap); 114 void (*EnableVertexAttribArray)(PP_Resource context, GLuint index); 115 void (*Finish)(PP_Resource context); 116 void (*Flush)(PP_Resource context); 117 void (*FramebufferRenderbuffer)( 118 PP_Resource context, GLenum target, GLenum attachment, 119 GLenum renderbuffertarget, GLuint renderbuffer); 120 void (*FramebufferTexture2D)( 121 PP_Resource context, GLenum target, GLenum attachment, GLenum textarget, 122 GLuint texture, GLint level); 123 void (*FrontFace)(PP_Resource context, GLenum mode); 124 void (*GenBuffers)(PP_Resource context, GLsizei n, GLuint* buffers); 125 void (*GenerateMipmap)(PP_Resource context, GLenum target); 126 void (*GenFramebuffers)( 127 PP_Resource context, GLsizei n, GLuint* framebuffers); 128 void (*GenRenderbuffers)( 129 PP_Resource context, GLsizei n, GLuint* renderbuffers); 130 void (*GenTextures)(PP_Resource context, GLsizei n, GLuint* textures); 131 void (*GetActiveAttrib)( 132 PP_Resource context, GLuint program, GLuint index, GLsizei bufsize, 133 GLsizei* length, GLint* size, GLenum* type, char* name); 134 void (*GetActiveUniform)( 135 PP_Resource context, GLuint program, GLuint index, GLsizei bufsize, 136 GLsizei* length, GLint* size, GLenum* type, char* name); 137 void (*GetAttachedShaders)( 138 PP_Resource context, GLuint program, GLsizei maxcount, GLsizei* count, 139 GLuint* shaders); 140 GLint (*GetAttribLocation)( 141 PP_Resource context, GLuint program, const char* name); 142 void (*GetBooleanv)(PP_Resource context, GLenum pname, GLboolean* params); 143 void (*GetBufferParameteriv)( 144 PP_Resource context, GLenum target, GLenum pname, GLint* params); 145 GLenum (*GetError)(PP_Resource context); 146 void (*GetFloatv)(PP_Resource context, GLenum pname, GLfloat* params); 147 void (*GetFramebufferAttachmentParameteriv)( 148 PP_Resource context, GLenum target, GLenum attachment, GLenum pname, 149 GLint* params); 150 void (*GetIntegerv)(PP_Resource context, GLenum pname, GLint* params); 151 void (*GetProgramiv)( 152 PP_Resource context, GLuint program, GLenum pname, GLint* params); 153 void (*GetProgramInfoLog)( 154 PP_Resource context, GLuint program, GLsizei bufsize, GLsizei* length, 155 char* infolog); 156 void (*GetRenderbufferParameteriv)( 157 PP_Resource context, GLenum target, GLenum pname, GLint* params); 158 void (*GetShaderiv)( 159 PP_Resource context, GLuint shader, GLenum pname, GLint* params); 160 void (*GetShaderInfoLog)( 161 PP_Resource context, GLuint shader, GLsizei bufsize, GLsizei* length, 162 char* infolog); 163 void (*GetShaderPrecisionFormat)( 164 PP_Resource context, GLenum shadertype, GLenum precisiontype, 165 GLint* range, GLint* precision); 166 void (*GetShaderSource)( 167 PP_Resource context, GLuint shader, GLsizei bufsize, GLsizei* length, 168 char* source); 169 const GLubyte* (*GetString)(PP_Resource context, GLenum name); 170 void (*GetTexParameterfv)( 171 PP_Resource context, GLenum target, GLenum pname, GLfloat* params); 172 void (*GetTexParameteriv)( 173 PP_Resource context, GLenum target, GLenum pname, GLint* params); 174 void (*GetUniformfv)( 175 PP_Resource context, GLuint program, GLint location, GLfloat* params); 176 void (*GetUniformiv)( 177 PP_Resource context, GLuint program, GLint location, GLint* params); 178 GLint (*GetUniformLocation)( 179 PP_Resource context, GLuint program, const char* name); 180 void (*GetVertexAttribfv)( 181 PP_Resource context, GLuint index, GLenum pname, GLfloat* params); 182 void (*GetVertexAttribiv)( 183 PP_Resource context, GLuint index, GLenum pname, GLint* params); 184 void (*GetVertexAttribPointerv)( 185 PP_Resource context, GLuint index, GLenum pname, void** pointer); 186 void (*Hint)(PP_Resource context, GLenum target, GLenum mode); 187 GLboolean (*IsBuffer)(PP_Resource context, GLuint buffer); 188 GLboolean (*IsEnabled)(PP_Resource context, GLenum cap); 189 GLboolean (*IsFramebuffer)(PP_Resource context, GLuint framebuffer); 190 GLboolean (*IsProgram)(PP_Resource context, GLuint program); 191 GLboolean (*IsRenderbuffer)(PP_Resource context, GLuint renderbuffer); 192 GLboolean (*IsShader)(PP_Resource context, GLuint shader); 193 GLboolean (*IsTexture)(PP_Resource context, GLuint texture); 194 void (*LineWidth)(PP_Resource context, GLfloat width); 195 void (*LinkProgram)(PP_Resource context, GLuint program); 196 void (*PixelStorei)(PP_Resource context, GLenum pname, GLint param); 197 void (*PolygonOffset)(PP_Resource context, GLfloat factor, GLfloat units); 198 void (*ReadPixels)( 199 PP_Resource context, GLint x, GLint y, GLsizei width, GLsizei height, 200 GLenum format, GLenum type, void* pixels); 201 void (*ReleaseShaderCompiler)(PP_Resource context); 202 void (*RenderbufferStorage)( 203 PP_Resource context, GLenum target, GLenum internalformat, GLsizei width, 204 GLsizei height); 205 void (*SampleCoverage)( 206 PP_Resource context, GLclampf value, GLboolean invert); 207 void (*Scissor)( 208 PP_Resource context, GLint x, GLint y, GLsizei width, GLsizei height); 209 void (*ShaderBinary)( 210 PP_Resource context, GLsizei n, const GLuint* shaders, 211 GLenum binaryformat, const void* binary, GLsizei length); 212 void (*ShaderSource)( 213 PP_Resource context, GLuint shader, GLsizei count, const char** str, 214 const GLint* length); 215 void (*StencilFunc)( 216 PP_Resource context, GLenum func, GLint ref, GLuint mask); 217 void (*StencilFuncSeparate)( 218 PP_Resource context, GLenum face, GLenum func, GLint ref, GLuint mask); 219 void (*StencilMask)(PP_Resource context, GLuint mask); 220 void (*StencilMaskSeparate)(PP_Resource context, GLenum face, GLuint mask); 221 void (*StencilOp)( 222 PP_Resource context, GLenum fail, GLenum zfail, GLenum zpass); 223 void (*StencilOpSeparate)( 224 PP_Resource context, GLenum face, GLenum fail, GLenum zfail, 225 GLenum zpass); 226 void (*TexImage2D)( 227 PP_Resource context, GLenum target, GLint level, GLint internalformat, 228 GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, 229 const void* pixels); 230 void (*TexParameterf)( 231 PP_Resource context, GLenum target, GLenum pname, GLfloat param); 232 void (*TexParameterfv)( 233 PP_Resource context, GLenum target, GLenum pname, const GLfloat* params); 234 void (*TexParameteri)( 235 PP_Resource context, GLenum target, GLenum pname, GLint param); 236 void (*TexParameteriv)( 237 PP_Resource context, GLenum target, GLenum pname, const GLint* params); 238 void (*TexSubImage2D)( 239 PP_Resource context, GLenum target, GLint level, GLint xoffset, 240 GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, 241 const void* pixels); 242 void (*Uniform1f)(PP_Resource context, GLint location, GLfloat x); 243 void (*Uniform1fv)( 244 PP_Resource context, GLint location, GLsizei count, const GLfloat* v); 245 void (*Uniform1i)(PP_Resource context, GLint location, GLint x); 246 void (*Uniform1iv)( 247 PP_Resource context, GLint location, GLsizei count, const GLint* v); 248 void (*Uniform2f)(PP_Resource context, GLint location, GLfloat x, GLfloat y); 249 void (*Uniform2fv)( 250 PP_Resource context, GLint location, GLsizei count, const GLfloat* v); 251 void (*Uniform2i)(PP_Resource context, GLint location, GLint x, GLint y); 252 void (*Uniform2iv)( 253 PP_Resource context, GLint location, GLsizei count, const GLint* v); 254 void (*Uniform3f)( 255 PP_Resource context, GLint location, GLfloat x, GLfloat y, GLfloat z); 256 void (*Uniform3fv)( 257 PP_Resource context, GLint location, GLsizei count, const GLfloat* v); 258 void (*Uniform3i)( 259 PP_Resource context, GLint location, GLint x, GLint y, GLint z); 260 void (*Uniform3iv)( 261 PP_Resource context, GLint location, GLsizei count, const GLint* v); 262 void (*Uniform4f)( 263 PP_Resource context, GLint location, GLfloat x, GLfloat y, GLfloat z, 264 GLfloat w); 265 void (*Uniform4fv)( 266 PP_Resource context, GLint location, GLsizei count, const GLfloat* v); 267 void (*Uniform4i)( 268 PP_Resource context, GLint location, GLint x, GLint y, GLint z, GLint w); 269 void (*Uniform4iv)( 270 PP_Resource context, GLint location, GLsizei count, const GLint* v); 271 void (*UniformMatrix2fv)( 272 PP_Resource context, GLint location, GLsizei count, GLboolean transpose, 273 const GLfloat* value); 274 void (*UniformMatrix3fv)( 275 PP_Resource context, GLint location, GLsizei count, GLboolean transpose, 276 const GLfloat* value); 277 void (*UniformMatrix4fv)( 278 PP_Resource context, GLint location, GLsizei count, GLboolean transpose, 279 const GLfloat* value); 280 void (*UseProgram)(PP_Resource context, GLuint program); 281 void (*ValidateProgram)(PP_Resource context, GLuint program); 282 void (*VertexAttrib1f)(PP_Resource context, GLuint indx, GLfloat x); 283 void (*VertexAttrib1fv)( 284 PP_Resource context, GLuint indx, const GLfloat* values); 285 void (*VertexAttrib2f)( 286 PP_Resource context, GLuint indx, GLfloat x, GLfloat y); 287 void (*VertexAttrib2fv)( 288 PP_Resource context, GLuint indx, const GLfloat* values); 289 void (*VertexAttrib3f)( 290 PP_Resource context, GLuint indx, GLfloat x, GLfloat y, GLfloat z); 291 void (*VertexAttrib3fv)( 292 PP_Resource context, GLuint indx, const GLfloat* values); 293 void (*VertexAttrib4f)( 294 PP_Resource context, GLuint indx, GLfloat x, GLfloat y, GLfloat z, 295 GLfloat w); 296 void (*VertexAttrib4fv)( 297 PP_Resource context, GLuint indx, const GLfloat* values); 298 void (*VertexAttribPointer)( 299 PP_Resource context, GLuint indx, GLint size, GLenum type, 300 GLboolean normalized, GLsizei stride, const void* ptr); 301 void (*Viewport)( 302 PP_Resource context, GLint x, GLint y, GLsizei width, GLsizei height); 303 }; 304 305 #define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 "PPB_OpenGLES2InstancedArrays;1.0" // NOLINT 306 #define PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE_1_0 // NOLINT 307 308 struct PPB_OpenGLES2InstancedArrays { 309 void (*DrawArraysInstancedANGLE)( 310 PP_Resource context, GLenum mode, GLint first, GLsizei count, 311 GLsizei primcount); 312 void (*DrawElementsInstancedANGLE)( 313 PP_Resource context, GLenum mode, GLsizei count, GLenum type, 314 const void* indices, GLsizei primcount); 315 void (*VertexAttribDivisorANGLE)( 316 PP_Resource context, GLuint index, GLuint divisor); 317 }; 318 319 #define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 "PPB_OpenGLES2FramebufferBlit;1.0" // NOLINT 320 #define PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE_1_0 // NOLINT 321 322 struct PPB_OpenGLES2FramebufferBlit { 323 void (*BlitFramebufferEXT)( 324 PP_Resource context, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 325 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, 326 GLenum filter); 327 }; 328 329 #define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 "PPB_OpenGLES2FramebufferMultisample;1.0" // NOLINT 330 #define PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE_1_0 // NOLINT 331 332 struct PPB_OpenGLES2FramebufferMultisample { 333 void (*RenderbufferStorageMultisampleEXT)( 334 PP_Resource context, GLenum target, GLsizei samples, 335 GLenum internalformat, GLsizei width, GLsizei height); 336 }; 337 338 #define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 "PPB_OpenGLES2ChromiumEnableFeature;1.0" // NOLINT 339 #define PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE_1_0 // NOLINT 340 341 struct PPB_OpenGLES2ChromiumEnableFeature { 342 GLboolean (*EnableFeatureCHROMIUM)(PP_Resource context, const char* feature); 343 }; 344 345 #define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 "PPB_OpenGLES2ChromiumMapSub;1.0" // NOLINT 346 #define PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE_1_0 // NOLINT 347 348 struct PPB_OpenGLES2ChromiumMapSub { 349 void* (*MapBufferSubDataCHROMIUM)( 350 PP_Resource context, GLuint target, GLintptr offset, GLsizeiptr size, 351 GLenum access); 352 void (*UnmapBufferSubDataCHROMIUM)(PP_Resource context, const void* mem); 353 void* (*MapTexSubImage2DCHROMIUM)( 354 PP_Resource context, GLenum target, GLint level, GLint xoffset, 355 GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, 356 GLenum access); 357 void (*UnmapTexSubImage2DCHROMIUM)(PP_Resource context, const void* mem); 358 }; 359 360 #define PPB_OPENGLES2_QUERY_INTERFACE_1_0 "PPB_OpenGLES2Query;1.0" 361 #define PPB_OPENGLES2_QUERY_INTERFACE PPB_OPENGLES2_QUERY_INTERFACE_1_0 362 363 struct PPB_OpenGLES2Query { 364 void (*GenQueriesEXT)(PP_Resource context, GLsizei n, GLuint* queries); 365 void (*DeleteQueriesEXT)( 366 PP_Resource context, GLsizei n, const GLuint* queries); 367 GLboolean (*IsQueryEXT)(PP_Resource context, GLuint id); 368 void (*BeginQueryEXT)(PP_Resource context, GLenum target, GLuint id); 369 void (*EndQueryEXT)(PP_Resource context, GLenum target); 370 void (*GetQueryivEXT)( 371 PP_Resource context, GLenum target, GLenum pname, GLint* params); 372 void (*GetQueryObjectuivEXT)( 373 PP_Resource context, GLuint id, GLenum pname, GLuint* params); 374 }; 375 376 #endif // PPAPI_C_PPB_OPENGLES2_H_ 377 378