Home | History | Annotate | Download | only in api
      1 // Copyright 2014 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 // It's formatted by clang-format using chromium coding style:
      8 //    clang-format -i -style=chromium filename
      9 // DO NOT EDIT!
     10 
     11 label Chrome {
     12   M39 = 1.0
     13 };
     14 
     15 [version=1.0]
     16 describe {
     17   GLbitfield;
     18   GLbitfield_ptr_t;
     19   GLboolean;
     20   GLboolean_ptr_t;
     21   GLbyte;
     22   GLbyte_ptr_t;
     23   GLclampf;
     24   GLclampf_ptr_t;
     25   GLclampx;
     26   GLclampx_ptr_t;
     27   GLenum;
     28   GLenum_ptr_t;
     29   GLfixed;
     30   GLfixed_ptr_t;
     31   GLfloat;
     32   GLfloat_ptr_t;
     33   GLint;
     34   GLint_ptr_t;
     35   GLintptr;
     36   GLintptr_ptr_t;
     37   GLshort;
     38   GLshort_ptr_t;
     39   GLsizei;
     40   GLsizei_ptr_t;
     41   GLsizeiptr;
     42   GLsizeiptr_ptr_t;
     43   GLubyte;
     44   GLubyte_ptr_t;
     45   GLuint;
     46   GLuint_ptr_t;
     47   GLushort;
     48   GLushort_ptr_t;
     49 };
     50 
     51 #inline c
     52 #include "ppapi/c/pp_resource.h"
     53 
     54 #ifndef __gl2_h_
     55 typedef void GLvoid;
     56 typedef int GLsizei;
     57 typedef unsigned short GLushort;
     58 typedef short GLshort;
     59 typedef unsigned char GLubyte;
     60 typedef unsigned int GLenum;
     61 typedef int GLint;
     62 typedef unsigned char GLboolean;
     63 typedef unsigned int GLbitfield;
     64 typedef float GLfloat;
     65 typedef float GLclampf;
     66 typedef signed char GLbyte;
     67 typedef unsigned int GLuint;
     68 typedef int GLfixed;
     69 typedef int GLclampx;
     70 #ifdef _WIN64
     71 typedef long long int GLintptr;
     72 typedef long long int GLsizeiptr;
     73 #else
     74 typedef long int GLintptr;
     75 typedef long int GLsizeiptr;
     76 #endif  // _WIN64
     77 #endif  // __gl2_h_
     78 
     79 #endinl
     80 
     81 [macro="PPB_OPENGLES2_INTERFACE", force_struct_namespace]
     82 interface PPB_OpenGLES2 {
     83   void ActiveTexture([in] PP_Resource context,
     84                      [in] GLenum texture);
     85   void AttachShader([in] PP_Resource context,
     86                     [in] GLuint program,
     87                     [in] GLuint shader);
     88   void BindAttribLocation([in] PP_Resource context,
     89                           [in] GLuint program,
     90                           [in] GLuint index,
     91                           [in] cstr_t name);
     92   void BindBuffer([in] PP_Resource context,
     93                   [in] GLenum target,
     94                   [in] GLuint buffer);
     95   void BindFramebuffer([in] PP_Resource context,
     96                        [in] GLenum target,
     97                        [in] GLuint framebuffer);
     98   void BindRenderbuffer([in] PP_Resource context,
     99                         [in] GLenum target,
    100                         [in] GLuint renderbuffer);
    101   void BindTexture([in] PP_Resource context,
    102                    [in] GLenum target,
    103                    [in] GLuint texture);
    104   void BlendColor([in] PP_Resource context,
    105                   [in] GLclampf red,
    106                   [in] GLclampf green,
    107                   [in] GLclampf blue,
    108                   [in] GLclampf alpha);
    109   void BlendEquation([in] PP_Resource context,
    110                      [in] GLenum mode);
    111   void BlendEquationSeparate([in] PP_Resource context,
    112                              [in] GLenum modeRGB,
    113                              [in] GLenum modeAlpha);
    114   void BlendFunc([in] PP_Resource context,
    115                  [in] GLenum sfactor,
    116                  [in] GLenum dfactor);
    117   void BlendFuncSeparate([in] PP_Resource context,
    118                          [in] GLenum srcRGB,
    119                          [in] GLenum dstRGB,
    120                          [in] GLenum srcAlpha,
    121                          [in] GLenum dstAlpha);
    122   void BufferData([in] PP_Resource context,
    123                   [in] GLenum target,
    124                   [in] GLsizeiptr size,
    125                   [in] mem_t data,
    126                   [in] GLenum usage);
    127   void BufferSubData([in] PP_Resource context,
    128                      [in] GLenum target,
    129                      [in] GLintptr offset,
    130                      [in] GLsizeiptr size,
    131                      [in] mem_t data);
    132   GLenum CheckFramebufferStatus([in] PP_Resource context,
    133                                 [in] GLenum target);
    134   void Clear([in] PP_Resource context,
    135              [in] GLbitfield mask);
    136   void ClearColor([in] PP_Resource context,
    137                   [in] GLclampf red,
    138                   [in] GLclampf green,
    139                   [in] GLclampf blue,
    140                   [in] GLclampf alpha);
    141   void ClearDepthf([in] PP_Resource context,
    142                    [in] GLclampf depth);
    143   void ClearStencil([in] PP_Resource context,
    144                     [in] GLint s);
    145   void ColorMask([in] PP_Resource context,
    146                  [in] GLboolean red,
    147                  [in] GLboolean green,
    148                  [in] GLboolean blue,
    149                  [in] GLboolean alpha);
    150   void CompileShader([in] PP_Resource context,
    151                      [in] GLuint shader);
    152   void CompressedTexImage2D([in] PP_Resource context,
    153                             [in] GLenum target,
    154                             [in] GLint level,
    155                             [in] GLenum internalformat,
    156                             [in] GLsizei width,
    157                             [in] GLsizei height,
    158                             [in] GLint border,
    159                             [in] GLsizei imageSize,
    160                             [in] mem_t data);
    161   void CompressedTexSubImage2D([in] PP_Resource context,
    162                                [in] GLenum target,
    163                                [in] GLint level,
    164                                [in] GLint xoffset,
    165                                [in] GLint yoffset,
    166                                [in] GLsizei width,
    167                                [in] GLsizei height,
    168                                [in] GLenum format,
    169                                [in] GLsizei imageSize,
    170                                [in] mem_t data);
    171   void CopyTexImage2D([in] PP_Resource context,
    172                       [in] GLenum target,
    173                       [in] GLint level,
    174                       [in] GLenum internalformat,
    175                       [in] GLint x,
    176                       [in] GLint y,
    177                       [in] GLsizei width,
    178                       [in] GLsizei height,
    179                       [in] GLint border);
    180   void CopyTexSubImage2D([in] PP_Resource context,
    181                          [in] GLenum target,
    182                          [in] GLint level,
    183                          [in] GLint xoffset,
    184                          [in] GLint yoffset,
    185                          [in] GLint x,
    186                          [in] GLint y,
    187                          [in] GLsizei width,
    188                          [in] GLsizei height);
    189   GLuint CreateProgram([in] PP_Resource context);
    190   GLuint CreateShader([in] PP_Resource context,
    191                       [in] GLenum type);
    192   void CullFace([in] PP_Resource context,
    193                 [in] GLenum mode);
    194   void DeleteBuffers([in] PP_Resource context,
    195                      [in] GLsizei n,
    196                      [in] GLuint_ptr_t buffers);
    197   void DeleteFramebuffers([in] PP_Resource context,
    198                           [in] GLsizei n,
    199                           [in] GLuint_ptr_t framebuffers);
    200   void DeleteProgram([in] PP_Resource context,
    201                      [in] GLuint program);
    202   void DeleteRenderbuffers([in] PP_Resource context,
    203                            [in] GLsizei n,
    204                            [in] GLuint_ptr_t renderbuffers);
    205   void DeleteShader([in] PP_Resource context,
    206                     [in] GLuint shader);
    207   void DeleteTextures([in] PP_Resource context,
    208                       [in] GLsizei n,
    209                       [in] GLuint_ptr_t textures);
    210   void DepthFunc([in] PP_Resource context,
    211                  [in] GLenum func);
    212   void DepthMask([in] PP_Resource context,
    213                  [in] GLboolean flag);
    214   void DepthRangef([in] PP_Resource context,
    215                    [in] GLclampf zNear,
    216                    [in] GLclampf zFar);
    217   void DetachShader([in] PP_Resource context,
    218                     [in] GLuint program,
    219                     [in] GLuint shader);
    220   void Disable([in] PP_Resource context,
    221                [in] GLenum cap);
    222   void DisableVertexAttribArray([in] PP_Resource context,
    223                                 [in] GLuint index);
    224   void DrawArrays([in] PP_Resource context,
    225                   [in] GLenum mode,
    226                   [in] GLint first,
    227                   [in] GLsizei count);
    228   void DrawElements([in] PP_Resource context,
    229                     [in] GLenum mode,
    230                     [in] GLsizei count,
    231                     [in] GLenum type,
    232                     [in] mem_t indices);
    233   void Enable([in] PP_Resource context,
    234               [in] GLenum cap);
    235   void EnableVertexAttribArray([in] PP_Resource context,
    236                                [in] GLuint index);
    237   void Finish([in] PP_Resource context);
    238   void Flush([in] PP_Resource context);
    239   void FramebufferRenderbuffer([in] PP_Resource context,
    240                                [in] GLenum target,
    241                                [in] GLenum attachment,
    242                                [in] GLenum renderbuffertarget,
    243                                [in] GLuint renderbuffer);
    244   void FramebufferTexture2D([in] PP_Resource context,
    245                             [in] GLenum target,
    246                             [in] GLenum attachment,
    247                             [in] GLenum textarget,
    248                             [in] GLuint texture,
    249                             [in] GLint level);
    250   void FrontFace([in] PP_Resource context,
    251                  [in] GLenum mode);
    252   void GenBuffers([in] PP_Resource context,
    253                   [in] GLsizei n,
    254                   [out] GLuint_ptr_t buffers);
    255   void GenerateMipmap([in] PP_Resource context,
    256                       [in] GLenum target);
    257   void GenFramebuffers([in] PP_Resource context,
    258                        [in] GLsizei n,
    259                        [out] GLuint_ptr_t framebuffers);
    260   void GenRenderbuffers([in] PP_Resource context,
    261                         [in] GLsizei n,
    262                         [out] GLuint_ptr_t renderbuffers);
    263   void GenTextures([in] PP_Resource context,
    264                    [in] GLsizei n,
    265                    [out] GLuint_ptr_t textures);
    266   void GetActiveAttrib([in] PP_Resource context,
    267                        [in] GLuint program,
    268                        [in] GLuint index,
    269                        [in] GLsizei bufsize,
    270                        [out] GLsizei_ptr_t length,
    271                        [out] GLint_ptr_t size,
    272                        [out] GLenum_ptr_t type,
    273                        [out] str_t name);
    274   void GetActiveUniform([in] PP_Resource context,
    275                         [in] GLuint program,
    276                         [in] GLuint index,
    277                         [in] GLsizei bufsize,
    278                         [out] GLsizei_ptr_t length,
    279                         [out] GLint_ptr_t size,
    280                         [out] GLenum_ptr_t type,
    281                         [out] str_t name);
    282   void GetAttachedShaders([in] PP_Resource context,
    283                           [in] GLuint program,
    284                           [in] GLsizei maxcount,
    285                           [out] GLsizei_ptr_t count,
    286                           [out] GLuint_ptr_t shaders);
    287   GLint GetAttribLocation([in] PP_Resource context,
    288                           [in] GLuint program,
    289                           [in] cstr_t name);
    290   void GetBooleanv([in] PP_Resource context,
    291                    [in] GLenum pname,
    292                    [out] GLboolean_ptr_t params);
    293   void GetBufferParameteriv([in] PP_Resource context,
    294                             [in] GLenum target,
    295                             [in] GLenum pname,
    296                             [out] GLint_ptr_t params);
    297   GLenum GetError([in] PP_Resource context);
    298   void GetFloatv([in] PP_Resource context,
    299                  [in] GLenum pname,
    300                  [out] GLfloat_ptr_t params);
    301   void GetFramebufferAttachmentParameteriv([in] PP_Resource context,
    302                                            [in] GLenum target,
    303                                            [in] GLenum attachment,
    304                                            [in] GLenum pname,
    305                                            [out] GLint_ptr_t params);
    306   void GetIntegerv([in] PP_Resource context,
    307                    [in] GLenum pname,
    308                    [out] GLint_ptr_t params);
    309   void GetProgramiv([in] PP_Resource context,
    310                     [in] GLuint program,
    311                     [in] GLenum pname,
    312                     [out] GLint_ptr_t params);
    313   void GetProgramInfoLog([in] PP_Resource context,
    314                          [in] GLuint program,
    315                          [in] GLsizei bufsize,
    316                          [out] GLsizei_ptr_t length,
    317                          [out] str_t infolog);
    318   void GetRenderbufferParameteriv([in] PP_Resource context,
    319                                   [in] GLenum target,
    320                                   [in] GLenum pname,
    321                                   [out] GLint_ptr_t params);
    322   void GetShaderiv([in] PP_Resource context,
    323                    [in] GLuint shader,
    324                    [in] GLenum pname,
    325                    [out] GLint_ptr_t params);
    326   void GetShaderInfoLog([in] PP_Resource context,
    327                         [in] GLuint shader,
    328                         [in] GLsizei bufsize,
    329                         [out] GLsizei_ptr_t length,
    330                         [out] str_t infolog);
    331   void GetShaderPrecisionFormat([in] PP_Resource context,
    332                                 [in] GLenum shadertype,
    333                                 [in] GLenum precisiontype,
    334                                 [out] GLint_ptr_t range,
    335                                 [out] GLint_ptr_t precision);
    336   void GetShaderSource([in] PP_Resource context,
    337                        [in] GLuint shader,
    338                        [in] GLsizei bufsize,
    339                        [out] GLsizei_ptr_t length,
    340                        [out] str_t source);
    341   GLubyte_ptr_t GetString([in] PP_Resource context,
    342                           [in] GLenum name);
    343   void GetTexParameterfv([in] PP_Resource context,
    344                          [in] GLenum target,
    345                          [in] GLenum pname,
    346                          [out] GLfloat_ptr_t params);
    347   void GetTexParameteriv([in] PP_Resource context,
    348                          [in] GLenum target,
    349                          [in] GLenum pname,
    350                          [out] GLint_ptr_t params);
    351   void GetUniformfv([in] PP_Resource context,
    352                     [in] GLuint program,
    353                     [in] GLint location,
    354                     [out] GLfloat_ptr_t params);
    355   void GetUniformiv([in] PP_Resource context,
    356                     [in] GLuint program,
    357                     [in] GLint location,
    358                     [out] GLint_ptr_t params);
    359   GLint GetUniformLocation([in] PP_Resource context,
    360                            [in] GLuint program,
    361                            [in] cstr_t name);
    362   void GetVertexAttribfv([in] PP_Resource context,
    363                          [in] GLuint index,
    364                          [in] GLenum pname,
    365                          [out] GLfloat_ptr_t params);
    366   void GetVertexAttribiv([in] PP_Resource context,
    367                          [in] GLuint index,
    368                          [in] GLenum pname,
    369                          [out] GLint_ptr_t params);
    370   void GetVertexAttribPointerv([in] PP_Resource context,
    371                                [in] GLuint index,
    372                                [in] GLenum pname,
    373                                [out] mem_ptr_t pointer);
    374   void Hint([in] PP_Resource context,
    375             [in] GLenum target,
    376             [in] GLenum mode);
    377   GLboolean IsBuffer([in] PP_Resource context,
    378                      [in] GLuint buffer);
    379   GLboolean IsEnabled([in] PP_Resource context,
    380                       [in] GLenum cap);
    381   GLboolean IsFramebuffer([in] PP_Resource context,
    382                           [in] GLuint framebuffer);
    383   GLboolean IsProgram([in] PP_Resource context,
    384                       [in] GLuint program);
    385   GLboolean IsRenderbuffer([in] PP_Resource context,
    386                            [in] GLuint renderbuffer);
    387   GLboolean IsShader([in] PP_Resource context,
    388                      [in] GLuint shader);
    389   GLboolean IsTexture([in] PP_Resource context,
    390                       [in] GLuint texture);
    391   void LineWidth([in] PP_Resource context,
    392                  [in] GLfloat width);
    393   void LinkProgram([in] PP_Resource context,
    394                    [in] GLuint program);
    395   void PixelStorei([in] PP_Resource context,
    396                    [in] GLenum pname,
    397                    [in] GLint param);
    398   void PolygonOffset([in] PP_Resource context,
    399                      [in] GLfloat factor,
    400                      [in] GLfloat units);
    401   void ReadPixels([in] PP_Resource context,
    402                   [in] GLint x,
    403                   [in] GLint y,
    404                   [in] GLsizei width,
    405                   [in] GLsizei height,
    406                   [in] GLenum format,
    407                   [in] GLenum type,
    408                   [out] mem_t pixels);
    409   void ReleaseShaderCompiler([in] PP_Resource context);
    410   void RenderbufferStorage([in] PP_Resource context,
    411                            [in] GLenum target,
    412                            [in] GLenum internalformat,
    413                            [in] GLsizei width,
    414                            [in] GLsizei height);
    415   void SampleCoverage([in] PP_Resource context,
    416                       [in] GLclampf value,
    417                       [in] GLboolean invert);
    418   void Scissor([in] PP_Resource context,
    419                [in] GLint x,
    420                [in] GLint y,
    421                [in] GLsizei width,
    422                [in] GLsizei height);
    423   void ShaderBinary([in] PP_Resource context,
    424                     [in] GLsizei n,
    425                     [in] GLuint_ptr_t shaders,
    426                     [in] GLenum binaryformat,
    427                     [in] mem_t binary,
    428                     [in] GLsizei length);
    429   void ShaderSource([in] PP_Resource context,
    430                     [in] GLuint shader,
    431                     [in] GLsizei count,
    432                     [out] cstr_t str,
    433                     [in] GLint_ptr_t length);
    434   void StencilFunc([in] PP_Resource context,
    435                    [in] GLenum func,
    436                    [in] GLint ref,
    437                    [in] GLuint mask);
    438   void StencilFuncSeparate([in] PP_Resource context,
    439                            [in] GLenum face,
    440                            [in] GLenum func,
    441                            [in] GLint ref,
    442                            [in] GLuint mask);
    443   void StencilMask([in] PP_Resource context,
    444                    [in] GLuint mask);
    445   void StencilMaskSeparate([in] PP_Resource context,
    446                            [in] GLenum face,
    447                            [in] GLuint mask);
    448   void StencilOp([in] PP_Resource context,
    449                  [in] GLenum fail,
    450                  [in] GLenum zfail,
    451                  [in] GLenum zpass);
    452   void StencilOpSeparate([in] PP_Resource context,
    453                          [in] GLenum face,
    454                          [in] GLenum fail,
    455                          [in] GLenum zfail,
    456                          [in] GLenum zpass);
    457   void TexImage2D([in] PP_Resource context,
    458                   [in] GLenum target,
    459                   [in] GLint level,
    460                   [in] GLint internalformat,
    461                   [in] GLsizei width,
    462                   [in] GLsizei height,
    463                   [in] GLint border,
    464                   [in] GLenum format,
    465                   [in] GLenum type,
    466                   [in] mem_t pixels);
    467   void TexParameterf([in] PP_Resource context,
    468                      [in] GLenum target,
    469                      [in] GLenum pname,
    470                      [in] GLfloat param);
    471   void TexParameterfv([in] PP_Resource context,
    472                       [in] GLenum target,
    473                       [in] GLenum pname,
    474                       [in] GLfloat_ptr_t params);
    475   void TexParameteri([in] PP_Resource context,
    476                      [in] GLenum target,
    477                      [in] GLenum pname,
    478                      [in] GLint param);
    479   void TexParameteriv([in] PP_Resource context,
    480                       [in] GLenum target,
    481                       [in] GLenum pname,
    482                       [in] GLint_ptr_t params);
    483   void TexSubImage2D([in] PP_Resource context,
    484                      [in] GLenum target,
    485                      [in] GLint level,
    486                      [in] GLint xoffset,
    487                      [in] GLint yoffset,
    488                      [in] GLsizei width,
    489                      [in] GLsizei height,
    490                      [in] GLenum format,
    491                      [in] GLenum type,
    492                      [in] mem_t pixels);
    493   void Uniform1f([in] PP_Resource context,
    494                  [in] GLint location,
    495                  [in] GLfloat x);
    496   void Uniform1fv([in] PP_Resource context,
    497                   [in] GLint location,
    498                   [in] GLsizei count,
    499                   [in] GLfloat_ptr_t v);
    500   void Uniform1i([in] PP_Resource context,
    501                  [in] GLint location,
    502                  [in] GLint x);
    503   void Uniform1iv([in] PP_Resource context,
    504                   [in] GLint location,
    505                   [in] GLsizei count,
    506                   [in] GLint_ptr_t v);
    507   void Uniform2f([in] PP_Resource context,
    508                  [in] GLint location,
    509                  [in] GLfloat x,
    510                  [in] GLfloat y);
    511   void Uniform2fv([in] PP_Resource context,
    512                   [in] GLint location,
    513                   [in] GLsizei count,
    514                   [in] GLfloat_ptr_t v);
    515   void Uniform2i([in] PP_Resource context,
    516                  [in] GLint location,
    517                  [in] GLint x,
    518                  [in] GLint y);
    519   void Uniform2iv([in] PP_Resource context,
    520                   [in] GLint location,
    521                   [in] GLsizei count,
    522                   [in] GLint_ptr_t v);
    523   void Uniform3f([in] PP_Resource context,
    524                  [in] GLint location,
    525                  [in] GLfloat x,
    526                  [in] GLfloat y,
    527                  [in] GLfloat z);
    528   void Uniform3fv([in] PP_Resource context,
    529                   [in] GLint location,
    530                   [in] GLsizei count,
    531                   [in] GLfloat_ptr_t v);
    532   void Uniform3i([in] PP_Resource context,
    533                  [in] GLint location,
    534                  [in] GLint x,
    535                  [in] GLint y,
    536                  [in] GLint z);
    537   void Uniform3iv([in] PP_Resource context,
    538                   [in] GLint location,
    539                   [in] GLsizei count,
    540                   [in] GLint_ptr_t v);
    541   void Uniform4f([in] PP_Resource context,
    542                  [in] GLint location,
    543                  [in] GLfloat x,
    544                  [in] GLfloat y,
    545                  [in] GLfloat z,
    546                  [in] GLfloat w);
    547   void Uniform4fv([in] PP_Resource context,
    548                   [in] GLint location,
    549                   [in] GLsizei count,
    550                   [in] GLfloat_ptr_t v);
    551   void Uniform4i([in] PP_Resource context,
    552                  [in] GLint location,
    553                  [in] GLint x,
    554                  [in] GLint y,
    555                  [in] GLint z,
    556                  [in] GLint w);
    557   void Uniform4iv([in] PP_Resource context,
    558                   [in] GLint location,
    559                   [in] GLsizei count,
    560                   [in] GLint_ptr_t v);
    561   void UniformMatrix2fv([in] PP_Resource context,
    562                         [in] GLint location,
    563                         [in] GLsizei count,
    564                         [in] GLboolean transpose,
    565                         [in] GLfloat_ptr_t value);
    566   void UniformMatrix3fv([in] PP_Resource context,
    567                         [in] GLint location,
    568                         [in] GLsizei count,
    569                         [in] GLboolean transpose,
    570                         [in] GLfloat_ptr_t value);
    571   void UniformMatrix4fv([in] PP_Resource context,
    572                         [in] GLint location,
    573                         [in] GLsizei count,
    574                         [in] GLboolean transpose,
    575                         [in] GLfloat_ptr_t value);
    576   void UseProgram([in] PP_Resource context,
    577                   [in] GLuint program);
    578   void ValidateProgram([in] PP_Resource context,
    579                        [in] GLuint program);
    580   void VertexAttrib1f([in] PP_Resource context,
    581                       [in] GLuint indx,
    582                       [in] GLfloat x);
    583   void VertexAttrib1fv([in] PP_Resource context,
    584                        [in] GLuint indx,
    585                        [in] GLfloat_ptr_t values);
    586   void VertexAttrib2f([in] PP_Resource context,
    587                       [in] GLuint indx,
    588                       [in] GLfloat x,
    589                       [in] GLfloat y);
    590   void VertexAttrib2fv([in] PP_Resource context,
    591                        [in] GLuint indx,
    592                        [in] GLfloat_ptr_t values);
    593   void VertexAttrib3f([in] PP_Resource context,
    594                       [in] GLuint indx,
    595                       [in] GLfloat x,
    596                       [in] GLfloat y,
    597                       [in] GLfloat z);
    598   void VertexAttrib3fv([in] PP_Resource context,
    599                        [in] GLuint indx,
    600                        [in] GLfloat_ptr_t values);
    601   void VertexAttrib4f([in] PP_Resource context,
    602                       [in] GLuint indx,
    603                       [in] GLfloat x,
    604                       [in] GLfloat y,
    605                       [in] GLfloat z,
    606                       [in] GLfloat w);
    607   void VertexAttrib4fv([in] PP_Resource context,
    608                        [in] GLuint indx,
    609                        [in] GLfloat_ptr_t values);
    610   void VertexAttribPointer([in] PP_Resource context,
    611                            [in] GLuint indx,
    612                            [in] GLint size,
    613                            [in] GLenum type,
    614                            [in] GLboolean normalized,
    615                            [in] GLsizei stride,
    616                            [in] mem_t ptr);
    617   void Viewport([in] PP_Resource context,
    618                 [in] GLint x,
    619                 [in] GLint y,
    620                 [in] GLsizei width,
    621                 [in] GLsizei height);
    622 };
    623 
    624 
    625 [macro="PPB_OPENGLES2_INSTANCEDARRAYS_INTERFACE", force_struct_namespace]
    626 interface PPB_OpenGLES2InstancedArrays {
    627   void DrawArraysInstancedANGLE([in] PP_Resource context,
    628                                 [in] GLenum mode,
    629                                 [in] GLint first,
    630                                 [in] GLsizei count,
    631                                 [in] GLsizei primcount);
    632   void DrawElementsInstancedANGLE([in] PP_Resource context,
    633                                   [in] GLenum mode,
    634                                   [in] GLsizei count,
    635                                   [in] GLenum type,
    636                                   [in] mem_t indices,
    637                                   [in] GLsizei primcount);
    638   void VertexAttribDivisorANGLE([in] PP_Resource context,
    639                                 [in] GLuint index,
    640                                 [in] GLuint divisor);
    641 };
    642 
    643 
    644 [macro="PPB_OPENGLES2_FRAMEBUFFERBLIT_INTERFACE", force_struct_namespace]
    645 interface PPB_OpenGLES2FramebufferBlit {
    646   void BlitFramebufferEXT([in] PP_Resource context,
    647                           [in] GLint srcX0,
    648                           [in] GLint srcY0,
    649                           [in] GLint srcX1,
    650                           [in] GLint srcY1,
    651                           [in] GLint dstX0,
    652                           [in] GLint dstY0,
    653                           [in] GLint dstX1,
    654                           [in] GLint dstY1,
    655                           [in] GLbitfield mask,
    656                           [in] GLenum filter);
    657 };
    658 
    659 
    660 [macro="PPB_OPENGLES2_FRAMEBUFFERMULTISAMPLE_INTERFACE", force_struct_namespace]
    661 interface PPB_OpenGLES2FramebufferMultisample {
    662   void RenderbufferStorageMultisampleEXT([in] PP_Resource context,
    663                                          [in] GLenum target,
    664                                          [in] GLsizei samples,
    665                                          [in] GLenum internalformat,
    666                                          [in] GLsizei width,
    667                                          [in] GLsizei height);
    668 };
    669 
    670 
    671 [macro="PPB_OPENGLES2_CHROMIUMENABLEFEATURE_INTERFACE", force_struct_namespace]
    672 interface PPB_OpenGLES2ChromiumEnableFeature {
    673   GLboolean EnableFeatureCHROMIUM([in] PP_Resource context,
    674                                   [in] cstr_t feature);
    675 };
    676 
    677 
    678 [macro="PPB_OPENGLES2_CHROMIUMMAPSUB_INTERFACE", force_struct_namespace]
    679 interface PPB_OpenGLES2ChromiumMapSub {
    680   mem_t MapBufferSubDataCHROMIUM([in] PP_Resource context,
    681                                  [in] GLuint target,
    682                                  [in] GLintptr offset,
    683                                  [in] GLsizeiptr size,
    684                                  [in] GLenum access);
    685   void UnmapBufferSubDataCHROMIUM([in] PP_Resource context,
    686                                   [in] mem_t mem);
    687   mem_t MapTexSubImage2DCHROMIUM([in] PP_Resource context,
    688                                  [in] GLenum target,
    689                                  [in] GLint level,
    690                                  [in] GLint xoffset,
    691                                  [in] GLint yoffset,
    692                                  [in] GLsizei width,
    693                                  [in] GLsizei height,
    694                                  [in] GLenum format,
    695                                  [in] GLenum type,
    696                                  [in] GLenum access);
    697   void UnmapTexSubImage2DCHROMIUM([in] PP_Resource context,
    698                                   [in] mem_t mem);
    699 };
    700 
    701 
    702 [macro="PPB_OPENGLES2_QUERY_INTERFACE", force_struct_namespace]
    703 interface PPB_OpenGLES2Query {
    704   void GenQueriesEXT([in] PP_Resource context,
    705                      [in] GLsizei n,
    706                      [out] GLuint_ptr_t queries);
    707   void DeleteQueriesEXT([in] PP_Resource context,
    708                         [in] GLsizei n,
    709                         [in] GLuint_ptr_t queries);
    710   GLboolean IsQueryEXT([in] PP_Resource context,
    711                        [in] GLuint id);
    712   void BeginQueryEXT([in] PP_Resource context,
    713                      [in] GLenum target,
    714                      [in] GLuint id);
    715   void EndQueryEXT([in] PP_Resource context,
    716                    [in] GLenum target);
    717   void GetQueryivEXT([in] PP_Resource context,
    718                      [in] GLenum target,
    719                      [in] GLenum pname,
    720                      [out] GLint_ptr_t params);
    721   void GetQueryObjectuivEXT([in] PP_Resource context,
    722                             [in] GLuint id,
    723                             [in] GLenum pname,
    724                             [out] GLuint_ptr_t params);
    725 };
    726 
    727 
    728 [macro="PPB_OPENGLES2_VERTEXARRAYOBJECT_INTERFACE", force_struct_namespace]
    729 interface PPB_OpenGLES2VertexArrayObject {
    730   void GenVertexArraysOES([in] PP_Resource context,
    731                           [in] GLsizei n,
    732                           [out] GLuint_ptr_t arrays);
    733   void DeleteVertexArraysOES([in] PP_Resource context,
    734                              [in] GLsizei n,
    735                              [in] GLuint_ptr_t arrays);
    736   GLboolean IsVertexArrayOES([in] PP_Resource context,
    737                              [in] GLuint array);
    738   void BindVertexArrayOES([in] PP_Resource context,
    739                           [in] GLuint array);
    740 };
    741 
    742