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 #include "ppapi/shared_impl/ppb_opengles2_shared.h" 10 11 #include "base/logging.h" 12 #include "gpu/command_buffer/client/gles2_implementation.h" 13 #include "ppapi/shared_impl/ppb_graphics_3d_shared.h" 14 #include "ppapi/thunk/enter.h" 15 16 namespace ppapi { 17 18 namespace { 19 20 gpu::gles2::GLES2Implementation* GetGLES(PP_Resource context) { 21 thunk::EnterResource<thunk::PPB_Graphics3D_API> enter_g3d(context, false); 22 DCHECK(enter_g3d.succeeded()); 23 return static_cast<PPB_Graphics3D_Shared*>(enter_g3d.object())->gles2_impl(); 24 } 25 26 void ActiveTexture(PP_Resource context_id, GLenum texture) { 27 GetGLES(context_id)->ActiveTexture(texture); 28 } 29 30 void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) { 31 GetGLES(context_id)->AttachShader(program, shader); 32 } 33 34 void BindAttribLocation( 35 PP_Resource context_id, GLuint program, GLuint index, const char* name) { 36 GetGLES(context_id)->BindAttribLocation(program, index, name); 37 } 38 39 void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) { 40 GetGLES(context_id)->BindBuffer(target, buffer); 41 } 42 43 void BindFramebuffer( 44 PP_Resource context_id, GLenum target, GLuint framebuffer) { 45 GetGLES(context_id)->BindFramebuffer(target, framebuffer); 46 } 47 48 void BindRenderbuffer( 49 PP_Resource context_id, GLenum target, GLuint renderbuffer) { 50 GetGLES(context_id)->BindRenderbuffer(target, renderbuffer); 51 } 52 53 void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) { 54 GetGLES(context_id)->BindTexture(target, texture); 55 } 56 57 void BlendColor( 58 PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue, 59 GLclampf alpha) { 60 GetGLES(context_id)->BlendColor(red, green, blue, alpha); 61 } 62 63 void BlendEquation(PP_Resource context_id, GLenum mode) { 64 GetGLES(context_id)->BlendEquation(mode); 65 } 66 67 void BlendEquationSeparate( 68 PP_Resource context_id, GLenum modeRGB, GLenum modeAlpha) { 69 GetGLES(context_id)->BlendEquationSeparate(modeRGB, modeAlpha); 70 } 71 72 void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) { 73 GetGLES(context_id)->BlendFunc(sfactor, dfactor); 74 } 75 76 void BlendFuncSeparate( 77 PP_Resource context_id, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, 78 GLenum dstAlpha) { 79 GetGLES(context_id)->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); 80 } 81 82 void BufferData( 83 PP_Resource context_id, GLenum target, GLsizeiptr size, const void* data, 84 GLenum usage) { 85 GetGLES(context_id)->BufferData(target, size, data, usage); 86 } 87 88 void BufferSubData( 89 PP_Resource context_id, GLenum target, GLintptr offset, GLsizeiptr size, 90 const void* data) { 91 GetGLES(context_id)->BufferSubData(target, offset, size, data); 92 } 93 94 GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) { 95 return GetGLES(context_id)->CheckFramebufferStatus(target); 96 } 97 98 void Clear(PP_Resource context_id, GLbitfield mask) { 99 GetGLES(context_id)->Clear(mask); 100 } 101 102 void ClearColor( 103 PP_Resource context_id, GLclampf red, GLclampf green, GLclampf blue, 104 GLclampf alpha) { 105 GetGLES(context_id)->ClearColor(red, green, blue, alpha); 106 } 107 108 void ClearDepthf(PP_Resource context_id, GLclampf depth) { 109 GetGLES(context_id)->ClearDepthf(depth); 110 } 111 112 void ClearStencil(PP_Resource context_id, GLint s) { 113 GetGLES(context_id)->ClearStencil(s); 114 } 115 116 void ColorMask( 117 PP_Resource context_id, GLboolean red, GLboolean green, GLboolean blue, 118 GLboolean alpha) { 119 GetGLES(context_id)->ColorMask(red, green, blue, alpha); 120 } 121 122 void CompileShader(PP_Resource context_id, GLuint shader) { 123 GetGLES(context_id)->CompileShader(shader); 124 } 125 126 void CompressedTexImage2D( 127 PP_Resource context_id, GLenum target, GLint level, GLenum internalformat, 128 GLsizei width, GLsizei height, GLint border, GLsizei imageSize, 129 const void* data) { 130 GetGLES( 131 context_id)->CompressedTexImage2D( 132 target, level, internalformat, width, height, border, imageSize, 133 data); 134 } 135 136 void CompressedTexSubImage2D( 137 PP_Resource context_id, GLenum target, GLint level, GLint xoffset, 138 GLint yoffset, GLsizei width, GLsizei height, GLenum format, 139 GLsizei imageSize, const void* data) { 140 GetGLES( 141 context_id)->CompressedTexSubImage2D( 142 target, level, xoffset, yoffset, width, height, format, imageSize, 143 data); 144 } 145 146 void CopyTexImage2D( 147 PP_Resource context_id, GLenum target, GLint level, GLenum internalformat, 148 GLint x, GLint y, GLsizei width, GLsizei height, GLint border) { 149 GetGLES( 150 context_id)->CopyTexImage2D( 151 target, level, internalformat, x, y, width, height, border); 152 } 153 154 void CopyTexSubImage2D( 155 PP_Resource context_id, GLenum target, GLint level, GLint xoffset, 156 GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height) { 157 GetGLES( 158 context_id)->CopyTexSubImage2D( 159 target, level, xoffset, yoffset, x, y, width, height); 160 } 161 162 GLuint CreateProgram(PP_Resource context_id) { 163 return GetGLES(context_id)->CreateProgram(); 164 } 165 166 GLuint CreateShader(PP_Resource context_id, GLenum type) { 167 return GetGLES(context_id)->CreateShader(type); 168 } 169 170 void CullFace(PP_Resource context_id, GLenum mode) { 171 GetGLES(context_id)->CullFace(mode); 172 } 173 174 void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) { 175 GetGLES(context_id)->DeleteBuffers(n, buffers); 176 } 177 178 void DeleteFramebuffers( 179 PP_Resource context_id, GLsizei n, const GLuint* framebuffers) { 180 GetGLES(context_id)->DeleteFramebuffers(n, framebuffers); 181 } 182 183 void DeleteProgram(PP_Resource context_id, GLuint program) { 184 GetGLES(context_id)->DeleteProgram(program); 185 } 186 187 void DeleteRenderbuffers( 188 PP_Resource context_id, GLsizei n, const GLuint* renderbuffers) { 189 GetGLES(context_id)->DeleteRenderbuffers(n, renderbuffers); 190 } 191 192 void DeleteShader(PP_Resource context_id, GLuint shader) { 193 GetGLES(context_id)->DeleteShader(shader); 194 } 195 196 void DeleteTextures( 197 PP_Resource context_id, GLsizei n, const GLuint* textures) { 198 GetGLES(context_id)->DeleteTextures(n, textures); 199 } 200 201 void DepthFunc(PP_Resource context_id, GLenum func) { 202 GetGLES(context_id)->DepthFunc(func); 203 } 204 205 void DepthMask(PP_Resource context_id, GLboolean flag) { 206 GetGLES(context_id)->DepthMask(flag); 207 } 208 209 void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) { 210 GetGLES(context_id)->DepthRangef(zNear, zFar); 211 } 212 213 void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) { 214 GetGLES(context_id)->DetachShader(program, shader); 215 } 216 217 void Disable(PP_Resource context_id, GLenum cap) { 218 GetGLES(context_id)->Disable(cap); 219 } 220 221 void DisableVertexAttribArray(PP_Resource context_id, GLuint index) { 222 GetGLES(context_id)->DisableVertexAttribArray(index); 223 } 224 225 void DrawArrays( 226 PP_Resource context_id, GLenum mode, GLint first, GLsizei count) { 227 GetGLES(context_id)->DrawArrays(mode, first, count); 228 } 229 230 void DrawElements( 231 PP_Resource context_id, GLenum mode, GLsizei count, GLenum type, 232 const void* indices) { 233 GetGLES(context_id)->DrawElements(mode, count, type, indices); 234 } 235 236 void Enable(PP_Resource context_id, GLenum cap) { 237 GetGLES(context_id)->Enable(cap); 238 } 239 240 void EnableVertexAttribArray(PP_Resource context_id, GLuint index) { 241 GetGLES(context_id)->EnableVertexAttribArray(index); 242 } 243 244 void Finish(PP_Resource context_id) { 245 GetGLES(context_id)->Finish(); 246 } 247 248 void Flush(PP_Resource context_id) { 249 GetGLES(context_id)->Flush(); 250 } 251 252 void FramebufferRenderbuffer( 253 PP_Resource context_id, GLenum target, GLenum attachment, 254 GLenum renderbuffertarget, GLuint renderbuffer) { 255 GetGLES( 256 context_id)->FramebufferRenderbuffer( 257 target, attachment, renderbuffertarget, renderbuffer); 258 } 259 260 void FramebufferTexture2D( 261 PP_Resource context_id, GLenum target, GLenum attachment, GLenum textarget, 262 GLuint texture, GLint level) { 263 GetGLES( 264 context_id)->FramebufferTexture2D( 265 target, attachment, textarget, texture, level); 266 } 267 268 void FrontFace(PP_Resource context_id, GLenum mode) { 269 GetGLES(context_id)->FrontFace(mode); 270 } 271 272 void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) { 273 GetGLES(context_id)->GenBuffers(n, buffers); 274 } 275 276 void GenerateMipmap(PP_Resource context_id, GLenum target) { 277 GetGLES(context_id)->GenerateMipmap(target); 278 } 279 280 void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) { 281 GetGLES(context_id)->GenFramebuffers(n, framebuffers); 282 } 283 284 void GenRenderbuffers( 285 PP_Resource context_id, GLsizei n, GLuint* renderbuffers) { 286 GetGLES(context_id)->GenRenderbuffers(n, renderbuffers); 287 } 288 289 void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) { 290 GetGLES(context_id)->GenTextures(n, textures); 291 } 292 293 void GetActiveAttrib( 294 PP_Resource context_id, GLuint program, GLuint index, GLsizei bufsize, 295 GLsizei* length, GLint* size, GLenum* type, char* name) { 296 GetGLES( 297 context_id)->GetActiveAttrib( 298 program, index, bufsize, length, size, type, name); 299 } 300 301 void GetActiveUniform( 302 PP_Resource context_id, GLuint program, GLuint index, GLsizei bufsize, 303 GLsizei* length, GLint* size, GLenum* type, char* name) { 304 GetGLES( 305 context_id)->GetActiveUniform( 306 program, index, bufsize, length, size, type, name); 307 } 308 309 void GetAttachedShaders( 310 PP_Resource context_id, GLuint program, GLsizei maxcount, GLsizei* count, 311 GLuint* shaders) { 312 GetGLES(context_id)->GetAttachedShaders(program, maxcount, count, shaders); 313 } 314 315 GLint GetAttribLocation( 316 PP_Resource context_id, GLuint program, const char* name) { 317 return GetGLES(context_id)->GetAttribLocation(program, name); 318 } 319 320 void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) { 321 GetGLES(context_id)->GetBooleanv(pname, params); 322 } 323 324 void GetBufferParameteriv( 325 PP_Resource context_id, GLenum target, GLenum pname, GLint* params) { 326 GetGLES(context_id)->GetBufferParameteriv(target, pname, params); 327 } 328 329 GLenum GetError(PP_Resource context_id) { 330 return GetGLES(context_id)->GetError(); 331 } 332 333 void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) { 334 GetGLES(context_id)->GetFloatv(pname, params); 335 } 336 337 void GetFramebufferAttachmentParameteriv( 338 PP_Resource context_id, GLenum target, GLenum attachment, GLenum pname, 339 GLint* params) { 340 GetGLES( 341 context_id)->GetFramebufferAttachmentParameteriv( 342 target, attachment, pname, params); 343 } 344 345 void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) { 346 GetGLES(context_id)->GetIntegerv(pname, params); 347 } 348 349 void GetProgramiv( 350 PP_Resource context_id, GLuint program, GLenum pname, GLint* params) { 351 GetGLES(context_id)->GetProgramiv(program, pname, params); 352 } 353 354 void GetProgramInfoLog( 355 PP_Resource context_id, GLuint program, GLsizei bufsize, GLsizei* length, 356 char* infolog) { 357 GetGLES(context_id)->GetProgramInfoLog(program, bufsize, length, infolog); 358 } 359 360 void GetRenderbufferParameteriv( 361 PP_Resource context_id, GLenum target, GLenum pname, GLint* params) { 362 GetGLES(context_id)->GetRenderbufferParameteriv(target, pname, params); 363 } 364 365 void GetShaderiv( 366 PP_Resource context_id, GLuint shader, GLenum pname, GLint* params) { 367 GetGLES(context_id)->GetShaderiv(shader, pname, params); 368 } 369 370 void GetShaderInfoLog( 371 PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length, 372 char* infolog) { 373 GetGLES(context_id)->GetShaderInfoLog(shader, bufsize, length, infolog); 374 } 375 376 void GetShaderPrecisionFormat( 377 PP_Resource context_id, GLenum shadertype, GLenum precisiontype, 378 GLint* range, GLint* precision) { 379 GetGLES( 380 context_id)->GetShaderPrecisionFormat( 381 shadertype, precisiontype, range, precision); 382 } 383 384 void GetShaderSource( 385 PP_Resource context_id, GLuint shader, GLsizei bufsize, GLsizei* length, 386 char* source) { 387 GetGLES(context_id)->GetShaderSource(shader, bufsize, length, source); 388 } 389 390 const GLubyte* GetString(PP_Resource context_id, GLenum name) { 391 return GetGLES(context_id)->GetString(name); 392 } 393 394 void GetTexParameterfv( 395 PP_Resource context_id, GLenum target, GLenum pname, GLfloat* params) { 396 GetGLES(context_id)->GetTexParameterfv(target, pname, params); 397 } 398 399 void GetTexParameteriv( 400 PP_Resource context_id, GLenum target, GLenum pname, GLint* params) { 401 GetGLES(context_id)->GetTexParameteriv(target, pname, params); 402 } 403 404 void GetUniformfv( 405 PP_Resource context_id, GLuint program, GLint location, GLfloat* params) { 406 GetGLES(context_id)->GetUniformfv(program, location, params); 407 } 408 409 void GetUniformiv( 410 PP_Resource context_id, GLuint program, GLint location, GLint* params) { 411 GetGLES(context_id)->GetUniformiv(program, location, params); 412 } 413 414 GLint GetUniformLocation( 415 PP_Resource context_id, GLuint program, const char* name) { 416 return GetGLES(context_id)->GetUniformLocation(program, name); 417 } 418 419 void GetVertexAttribfv( 420 PP_Resource context_id, GLuint index, GLenum pname, GLfloat* params) { 421 GetGLES(context_id)->GetVertexAttribfv(index, pname, params); 422 } 423 424 void GetVertexAttribiv( 425 PP_Resource context_id, GLuint index, GLenum pname, GLint* params) { 426 GetGLES(context_id)->GetVertexAttribiv(index, pname, params); 427 } 428 429 void GetVertexAttribPointerv( 430 PP_Resource context_id, GLuint index, GLenum pname, void** pointer) { 431 GetGLES(context_id)->GetVertexAttribPointerv(index, pname, pointer); 432 } 433 434 void Hint(PP_Resource context_id, GLenum target, GLenum mode) { 435 GetGLES(context_id)->Hint(target, mode); 436 } 437 438 GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) { 439 return GetGLES(context_id)->IsBuffer(buffer); 440 } 441 442 GLboolean IsEnabled(PP_Resource context_id, GLenum cap) { 443 return GetGLES(context_id)->IsEnabled(cap); 444 } 445 446 GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) { 447 return GetGLES(context_id)->IsFramebuffer(framebuffer); 448 } 449 450 GLboolean IsProgram(PP_Resource context_id, GLuint program) { 451 return GetGLES(context_id)->IsProgram(program); 452 } 453 454 GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) { 455 return GetGLES(context_id)->IsRenderbuffer(renderbuffer); 456 } 457 458 GLboolean IsShader(PP_Resource context_id, GLuint shader) { 459 return GetGLES(context_id)->IsShader(shader); 460 } 461 462 GLboolean IsTexture(PP_Resource context_id, GLuint texture) { 463 return GetGLES(context_id)->IsTexture(texture); 464 } 465 466 void LineWidth(PP_Resource context_id, GLfloat width) { 467 GetGLES(context_id)->LineWidth(width); 468 } 469 470 void LinkProgram(PP_Resource context_id, GLuint program) { 471 GetGLES(context_id)->LinkProgram(program); 472 } 473 474 void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) { 475 GetGLES(context_id)->PixelStorei(pname, param); 476 } 477 478 void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) { 479 GetGLES(context_id)->PolygonOffset(factor, units); 480 } 481 482 void ReadPixels( 483 PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height, 484 GLenum format, GLenum type, void* pixels) { 485 GetGLES(context_id)->ReadPixels(x, y, width, height, format, type, pixels); 486 } 487 488 void ReleaseShaderCompiler(PP_Resource context_id) { 489 GetGLES(context_id)->ReleaseShaderCompiler(); 490 } 491 492 void RenderbufferStorage( 493 PP_Resource context_id, GLenum target, GLenum internalformat, GLsizei width, 494 GLsizei height) { 495 GetGLES( 496 context_id)->RenderbufferStorage(target, internalformat, width, height); 497 } 498 499 void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) { 500 GetGLES(context_id)->SampleCoverage(value, invert); 501 } 502 503 void Scissor( 504 PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) { 505 GetGLES(context_id)->Scissor(x, y, width, height); 506 } 507 508 void ShaderBinary( 509 PP_Resource context_id, GLsizei n, const GLuint* shaders, 510 GLenum binaryformat, const void* binary, GLsizei length) { 511 GetGLES(context_id)->ShaderBinary(n, shaders, binaryformat, binary, length); 512 } 513 514 void ShaderSource( 515 PP_Resource context_id, GLuint shader, GLsizei count, const char** str, 516 const GLint* length) { 517 GetGLES(context_id)->ShaderSource(shader, count, str, length); 518 } 519 520 void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) { 521 GetGLES(context_id)->StencilFunc(func, ref, mask); 522 } 523 524 void StencilFuncSeparate( 525 PP_Resource context_id, GLenum face, GLenum func, GLint ref, GLuint mask) { 526 GetGLES(context_id)->StencilFuncSeparate(face, func, ref, mask); 527 } 528 529 void StencilMask(PP_Resource context_id, GLuint mask) { 530 GetGLES(context_id)->StencilMask(mask); 531 } 532 533 void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) { 534 GetGLES(context_id)->StencilMaskSeparate(face, mask); 535 } 536 537 void StencilOp( 538 PP_Resource context_id, GLenum fail, GLenum zfail, GLenum zpass) { 539 GetGLES(context_id)->StencilOp(fail, zfail, zpass); 540 } 541 542 void StencilOpSeparate( 543 PP_Resource context_id, GLenum face, GLenum fail, GLenum zfail, 544 GLenum zpass) { 545 GetGLES(context_id)->StencilOpSeparate(face, fail, zfail, zpass); 546 } 547 548 void TexImage2D( 549 PP_Resource context_id, GLenum target, GLint level, GLint internalformat, 550 GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, 551 const void* pixels) { 552 GetGLES( 553 context_id)->TexImage2D( 554 target, level, internalformat, width, height, border, format, type, 555 pixels); 556 } 557 558 void TexParameterf( 559 PP_Resource context_id, GLenum target, GLenum pname, GLfloat param) { 560 GetGLES(context_id)->TexParameterf(target, pname, param); 561 } 562 563 void TexParameterfv( 564 PP_Resource context_id, GLenum target, GLenum pname, 565 const GLfloat* params) { 566 GetGLES(context_id)->TexParameterfv(target, pname, params); 567 } 568 569 void TexParameteri( 570 PP_Resource context_id, GLenum target, GLenum pname, GLint param) { 571 GetGLES(context_id)->TexParameteri(target, pname, param); 572 } 573 574 void TexParameteriv( 575 PP_Resource context_id, GLenum target, GLenum pname, const GLint* params) { 576 GetGLES(context_id)->TexParameteriv(target, pname, params); 577 } 578 579 void TexSubImage2D( 580 PP_Resource context_id, GLenum target, GLint level, GLint xoffset, 581 GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, 582 const void* pixels) { 583 GetGLES( 584 context_id)->TexSubImage2D( 585 target, level, xoffset, yoffset, width, height, format, type, 586 pixels); 587 } 588 589 void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) { 590 GetGLES(context_id)->Uniform1f(location, x); 591 } 592 593 void Uniform1fv( 594 PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) { 595 GetGLES(context_id)->Uniform1fv(location, count, v); 596 } 597 598 void Uniform1i(PP_Resource context_id, GLint location, GLint x) { 599 GetGLES(context_id)->Uniform1i(location, x); 600 } 601 602 void Uniform1iv( 603 PP_Resource context_id, GLint location, GLsizei count, const GLint* v) { 604 GetGLES(context_id)->Uniform1iv(location, count, v); 605 } 606 607 void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) { 608 GetGLES(context_id)->Uniform2f(location, x, y); 609 } 610 611 void Uniform2fv( 612 PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) { 613 GetGLES(context_id)->Uniform2fv(location, count, v); 614 } 615 616 void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) { 617 GetGLES(context_id)->Uniform2i(location, x, y); 618 } 619 620 void Uniform2iv( 621 PP_Resource context_id, GLint location, GLsizei count, const GLint* v) { 622 GetGLES(context_id)->Uniform2iv(location, count, v); 623 } 624 625 void Uniform3f( 626 PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z) { 627 GetGLES(context_id)->Uniform3f(location, x, y, z); 628 } 629 630 void Uniform3fv( 631 PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) { 632 GetGLES(context_id)->Uniform3fv(location, count, v); 633 } 634 635 void Uniform3i( 636 PP_Resource context_id, GLint location, GLint x, GLint y, GLint z) { 637 GetGLES(context_id)->Uniform3i(location, x, y, z); 638 } 639 640 void Uniform3iv( 641 PP_Resource context_id, GLint location, GLsizei count, const GLint* v) { 642 GetGLES(context_id)->Uniform3iv(location, count, v); 643 } 644 645 void Uniform4f( 646 PP_Resource context_id, GLint location, GLfloat x, GLfloat y, GLfloat z, 647 GLfloat w) { 648 GetGLES(context_id)->Uniform4f(location, x, y, z, w); 649 } 650 651 void Uniform4fv( 652 PP_Resource context_id, GLint location, GLsizei count, const GLfloat* v) { 653 GetGLES(context_id)->Uniform4fv(location, count, v); 654 } 655 656 void Uniform4i( 657 PP_Resource context_id, GLint location, GLint x, GLint y, GLint z, 658 GLint w) { 659 GetGLES(context_id)->Uniform4i(location, x, y, z, w); 660 } 661 662 void Uniform4iv( 663 PP_Resource context_id, GLint location, GLsizei count, const GLint* v) { 664 GetGLES(context_id)->Uniform4iv(location, count, v); 665 } 666 667 void UniformMatrix2fv( 668 PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose, 669 const GLfloat* value) { 670 GetGLES(context_id)->UniformMatrix2fv(location, count, transpose, value); 671 } 672 673 void UniformMatrix3fv( 674 PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose, 675 const GLfloat* value) { 676 GetGLES(context_id)->UniformMatrix3fv(location, count, transpose, value); 677 } 678 679 void UniformMatrix4fv( 680 PP_Resource context_id, GLint location, GLsizei count, GLboolean transpose, 681 const GLfloat* value) { 682 GetGLES(context_id)->UniformMatrix4fv(location, count, transpose, value); 683 } 684 685 void UseProgram(PP_Resource context_id, GLuint program) { 686 GetGLES(context_id)->UseProgram(program); 687 } 688 689 void ValidateProgram(PP_Resource context_id, GLuint program) { 690 GetGLES(context_id)->ValidateProgram(program); 691 } 692 693 void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) { 694 GetGLES(context_id)->VertexAttrib1f(indx, x); 695 } 696 697 void VertexAttrib1fv( 698 PP_Resource context_id, GLuint indx, const GLfloat* values) { 699 GetGLES(context_id)->VertexAttrib1fv(indx, values); 700 } 701 702 void VertexAttrib2f( 703 PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) { 704 GetGLES(context_id)->VertexAttrib2f(indx, x, y); 705 } 706 707 void VertexAttrib2fv( 708 PP_Resource context_id, GLuint indx, const GLfloat* values) { 709 GetGLES(context_id)->VertexAttrib2fv(indx, values); 710 } 711 712 void VertexAttrib3f( 713 PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z) { 714 GetGLES(context_id)->VertexAttrib3f(indx, x, y, z); 715 } 716 717 void VertexAttrib3fv( 718 PP_Resource context_id, GLuint indx, const GLfloat* values) { 719 GetGLES(context_id)->VertexAttrib3fv(indx, values); 720 } 721 722 void VertexAttrib4f( 723 PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y, GLfloat z, 724 GLfloat w) { 725 GetGLES(context_id)->VertexAttrib4f(indx, x, y, z, w); 726 } 727 728 void VertexAttrib4fv( 729 PP_Resource context_id, GLuint indx, const GLfloat* values) { 730 GetGLES(context_id)->VertexAttrib4fv(indx, values); 731 } 732 733 void VertexAttribPointer( 734 PP_Resource context_id, GLuint indx, GLint size, GLenum type, 735 GLboolean normalized, GLsizei stride, const void* ptr) { 736 GetGLES( 737 context_id)->VertexAttribPointer( 738 indx, size, type, normalized, stride, ptr); 739 } 740 741 void Viewport( 742 PP_Resource context_id, GLint x, GLint y, GLsizei width, GLsizei height) { 743 GetGLES(context_id)->Viewport(x, y, width, height); 744 } 745 746 void BlitFramebufferEXT( 747 PP_Resource context_id, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, 748 GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, 749 GLenum filter) { 750 GetGLES( 751 context_id)->BlitFramebufferEXT( 752 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, 753 filter); 754 } 755 756 void RenderbufferStorageMultisampleEXT( 757 PP_Resource context_id, GLenum target, GLsizei samples, 758 GLenum internalformat, GLsizei width, GLsizei height) { 759 GetGLES( 760 context_id)->RenderbufferStorageMultisampleEXT( 761 target, samples, internalformat, width, height); 762 } 763 764 void GenQueriesEXT(PP_Resource context_id, GLsizei n, GLuint* queries) { 765 GetGLES(context_id)->GenQueriesEXT(n, queries); 766 } 767 768 void DeleteQueriesEXT( 769 PP_Resource context_id, GLsizei n, const GLuint* queries) { 770 GetGLES(context_id)->DeleteQueriesEXT(n, queries); 771 } 772 773 GLboolean IsQueryEXT(PP_Resource context_id, GLuint id) { 774 return GetGLES(context_id)->IsQueryEXT(id); 775 } 776 777 void BeginQueryEXT(PP_Resource context_id, GLenum target, GLuint id) { 778 GetGLES(context_id)->BeginQueryEXT(target, id); 779 } 780 781 void EndQueryEXT(PP_Resource context_id, GLenum target) { 782 GetGLES(context_id)->EndQueryEXT(target); 783 } 784 785 void GetQueryivEXT( 786 PP_Resource context_id, GLenum target, GLenum pname, GLint* params) { 787 GetGLES(context_id)->GetQueryivEXT(target, pname, params); 788 } 789 790 void GetQueryObjectuivEXT( 791 PP_Resource context_id, GLuint id, GLenum pname, GLuint* params) { 792 GetGLES(context_id)->GetQueryObjectuivEXT(id, pname, params); 793 } 794 795 GLboolean EnableFeatureCHROMIUM(PP_Resource context_id, const char* feature) { 796 return GetGLES(context_id)->EnableFeatureCHROMIUM(feature); 797 } 798 799 void* MapBufferSubDataCHROMIUM( 800 PP_Resource context_id, GLuint target, GLintptr offset, GLsizeiptr size, 801 GLenum access) { 802 return GetGLES( 803 context_id)->MapBufferSubDataCHROMIUM(target, offset, size, access); 804 } 805 806 void UnmapBufferSubDataCHROMIUM(PP_Resource context_id, const void* mem) { 807 GetGLES(context_id)->UnmapBufferSubDataCHROMIUM(mem); 808 } 809 810 void* MapTexSubImage2DCHROMIUM( 811 PP_Resource context_id, GLenum target, GLint level, GLint xoffset, 812 GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, 813 GLenum access) { 814 return GetGLES( 815 context_id)->MapTexSubImage2DCHROMIUM( 816 target, level, xoffset, yoffset, width, height, format, type, 817 access); 818 } 819 820 void UnmapTexSubImage2DCHROMIUM(PP_Resource context_id, const void* mem) { 821 GetGLES(context_id)->UnmapTexSubImage2DCHROMIUM(mem); 822 } 823 824 void DrawArraysInstancedANGLE( 825 PP_Resource context_id, GLenum mode, GLint first, GLsizei count, 826 GLsizei primcount) { 827 GetGLES(context_id)->DrawArraysInstancedANGLE(mode, first, count, primcount); 828 } 829 830 void DrawElementsInstancedANGLE( 831 PP_Resource context_id, GLenum mode, GLsizei count, GLenum type, 832 const void* indices, GLsizei primcount) { 833 GetGLES( 834 context_id)->DrawElementsInstancedANGLE( 835 mode, count, type, indices, primcount); 836 } 837 838 void VertexAttribDivisorANGLE( 839 PP_Resource context_id, GLuint index, GLuint divisor) { 840 GetGLES(context_id)->VertexAttribDivisorANGLE(index, divisor); 841 } 842 843 } // namespace 844 const PPB_OpenGLES2* PPB_OpenGLES2_Shared::GetInterface() { 845 static const struct PPB_OpenGLES2 ppb_opengles2 = { 846 &ActiveTexture, 847 &AttachShader, 848 &BindAttribLocation, 849 &BindBuffer, 850 &BindFramebuffer, 851 &BindRenderbuffer, 852 &BindTexture, 853 &BlendColor, 854 &BlendEquation, 855 &BlendEquationSeparate, 856 &BlendFunc, 857 &BlendFuncSeparate, 858 &BufferData, 859 &BufferSubData, 860 &CheckFramebufferStatus, 861 &Clear, 862 &ClearColor, 863 &ClearDepthf, 864 &ClearStencil, 865 &ColorMask, 866 &CompileShader, 867 &CompressedTexImage2D, 868 &CompressedTexSubImage2D, 869 &CopyTexImage2D, 870 &CopyTexSubImage2D, 871 &CreateProgram, 872 &CreateShader, 873 &CullFace, 874 &DeleteBuffers, 875 &DeleteFramebuffers, 876 &DeleteProgram, 877 &DeleteRenderbuffers, 878 &DeleteShader, 879 &DeleteTextures, 880 &DepthFunc, 881 &DepthMask, 882 &DepthRangef, 883 &DetachShader, 884 &Disable, 885 &DisableVertexAttribArray, 886 &DrawArrays, 887 &DrawElements, 888 &Enable, 889 &EnableVertexAttribArray, 890 &Finish, 891 &Flush, 892 &FramebufferRenderbuffer, 893 &FramebufferTexture2D, 894 &FrontFace, 895 &GenBuffers, 896 &GenerateMipmap, 897 &GenFramebuffers, 898 &GenRenderbuffers, 899 &GenTextures, 900 &GetActiveAttrib, 901 &GetActiveUniform, 902 &GetAttachedShaders, 903 &GetAttribLocation, 904 &GetBooleanv, 905 &GetBufferParameteriv, 906 &GetError, 907 &GetFloatv, 908 &GetFramebufferAttachmentParameteriv, 909 &GetIntegerv, 910 &GetProgramiv, 911 &GetProgramInfoLog, 912 &GetRenderbufferParameteriv, 913 &GetShaderiv, 914 &GetShaderInfoLog, 915 &GetShaderPrecisionFormat, 916 &GetShaderSource, 917 &GetString, 918 &GetTexParameterfv, 919 &GetTexParameteriv, 920 &GetUniformfv, 921 &GetUniformiv, 922 &GetUniformLocation, 923 &GetVertexAttribfv, 924 &GetVertexAttribiv, 925 &GetVertexAttribPointerv, 926 &Hint, 927 &IsBuffer, 928 &IsEnabled, 929 &IsFramebuffer, 930 &IsProgram, 931 &IsRenderbuffer, 932 &IsShader, 933 &IsTexture, 934 &LineWidth, 935 &LinkProgram, 936 &PixelStorei, 937 &PolygonOffset, 938 &ReadPixels, 939 &ReleaseShaderCompiler, 940 &RenderbufferStorage, 941 &SampleCoverage, 942 &Scissor, 943 &ShaderBinary, 944 &ShaderSource, 945 &StencilFunc, 946 &StencilFuncSeparate, 947 &StencilMask, 948 &StencilMaskSeparate, 949 &StencilOp, 950 &StencilOpSeparate, 951 &TexImage2D, 952 &TexParameterf, 953 &TexParameterfv, 954 &TexParameteri, 955 &TexParameteriv, 956 &TexSubImage2D, 957 &Uniform1f, 958 &Uniform1fv, 959 &Uniform1i, 960 &Uniform1iv, 961 &Uniform2f, 962 &Uniform2fv, 963 &Uniform2i, 964 &Uniform2iv, 965 &Uniform3f, 966 &Uniform3fv, 967 &Uniform3i, 968 &Uniform3iv, 969 &Uniform4f, 970 &Uniform4fv, 971 &Uniform4i, 972 &Uniform4iv, 973 &UniformMatrix2fv, 974 &UniformMatrix3fv, 975 &UniformMatrix4fv, 976 &UseProgram, 977 &ValidateProgram, 978 &VertexAttrib1f, 979 &VertexAttrib1fv, 980 &VertexAttrib2f, 981 &VertexAttrib2fv, 982 &VertexAttrib3f, 983 &VertexAttrib3fv, 984 &VertexAttrib4f, 985 &VertexAttrib4fv, 986 &VertexAttribPointer, 987 &Viewport 988 }; 989 return &ppb_opengles2; 990 } 991 const PPB_OpenGLES2InstancedArrays* PPB_OpenGLES2_Shared::GetInstancedArraysInterface() { // NOLINT 992 static const struct PPB_OpenGLES2InstancedArrays ppb_opengles2 = { 993 &DrawArraysInstancedANGLE, 994 &DrawElementsInstancedANGLE, 995 &VertexAttribDivisorANGLE 996 }; 997 return &ppb_opengles2; 998 } 999 const PPB_OpenGLES2FramebufferBlit* PPB_OpenGLES2_Shared::GetFramebufferBlitInterface() { // NOLINT 1000 static const struct PPB_OpenGLES2FramebufferBlit ppb_opengles2 = { 1001 &BlitFramebufferEXT 1002 }; 1003 return &ppb_opengles2; 1004 } 1005 const PPB_OpenGLES2FramebufferMultisample* PPB_OpenGLES2_Shared::GetFramebufferMultisampleInterface() { // NOLINT 1006 static const struct PPB_OpenGLES2FramebufferMultisample ppb_opengles2 = { 1007 &RenderbufferStorageMultisampleEXT 1008 }; 1009 return &ppb_opengles2; 1010 } 1011 const PPB_OpenGLES2ChromiumEnableFeature* PPB_OpenGLES2_Shared::GetChromiumEnableFeatureInterface() { // NOLINT 1012 static const struct PPB_OpenGLES2ChromiumEnableFeature ppb_opengles2 = { 1013 &EnableFeatureCHROMIUM 1014 }; 1015 return &ppb_opengles2; 1016 } 1017 const PPB_OpenGLES2ChromiumMapSub* PPB_OpenGLES2_Shared::GetChromiumMapSubInterface() { // NOLINT 1018 static const struct PPB_OpenGLES2ChromiumMapSub ppb_opengles2 = { 1019 &MapBufferSubDataCHROMIUM, 1020 &UnmapBufferSubDataCHROMIUM, 1021 &MapTexSubImage2DCHROMIUM, 1022 &UnmapTexSubImage2DCHROMIUM 1023 }; 1024 return &ppb_opengles2; 1025 } 1026 const PPB_OpenGLES2Query* PPB_OpenGLES2_Shared::GetQueryInterface() { 1027 static const struct PPB_OpenGLES2Query ppb_opengles2 = { 1028 &GenQueriesEXT, 1029 &DeleteQueriesEXT, 1030 &IsQueryEXT, 1031 &BeginQueryEXT, 1032 &EndQueryEXT, 1033 &GetQueryivEXT, 1034 &GetQueryObjectuivEXT 1035 }; 1036 return &ppb_opengles2; 1037 } 1038 } // namespace ppapi 1039