| OLD | NEW |
| (Empty) |
| 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 #include "base/logging.h" | |
| 6 #include "mojo/examples/pepper_container_app/graphics_3d_resource.h" | |
| 7 #include "mojo/examples/pepper_container_app/thunk.h" | |
| 8 #include "mojo/public/c/gles2/gles2.h" | |
| 9 #include "ppapi/thunk/enter.h" | |
| 10 #include "ppapi/thunk/ppb_graphics_3d_api.h" | |
| 11 | |
| 12 namespace mojo { | |
| 13 namespace examples { | |
| 14 | |
| 15 namespace { | |
| 16 | |
| 17 typedef ppapi::thunk::EnterResource<ppapi::thunk::PPB_Graphics3D_API> Enter3D; | |
| 18 | |
| 19 bool IsBoundGraphics(Enter3D* enter) { | |
| 20 return enter->succeeded() && | |
| 21 static_cast<Graphics3DResource*>(enter->object())->IsBoundGraphics(); | |
| 22 } | |
| 23 | |
| 24 void ActiveTexture(PP_Resource context_id, GLenum texture) { | |
| 25 Enter3D enter(context_id, true); | |
| 26 if (IsBoundGraphics(&enter)) { | |
| 27 glActiveTexture(texture); | |
| 28 } | |
| 29 } | |
| 30 | |
| 31 void AttachShader(PP_Resource context_id, GLuint program, GLuint shader) { | |
| 32 Enter3D enter(context_id, true); | |
| 33 if (IsBoundGraphics(&enter)) { | |
| 34 glAttachShader(program, shader); | |
| 35 } | |
| 36 } | |
| 37 | |
| 38 void BindAttribLocation(PP_Resource context_id, | |
| 39 GLuint program, | |
| 40 GLuint index, | |
| 41 const char* name) { | |
| 42 Enter3D enter(context_id, true); | |
| 43 if (IsBoundGraphics(&enter)) { | |
| 44 glBindAttribLocation(program, index, name); | |
| 45 } | |
| 46 } | |
| 47 | |
| 48 void BindBuffer(PP_Resource context_id, GLenum target, GLuint buffer) { | |
| 49 Enter3D enter(context_id, true); | |
| 50 if (IsBoundGraphics(&enter)) { | |
| 51 glBindBuffer(target, buffer); | |
| 52 } | |
| 53 } | |
| 54 | |
| 55 void BindFramebuffer(PP_Resource context_id, | |
| 56 GLenum target, | |
| 57 GLuint framebuffer) { | |
| 58 Enter3D enter(context_id, true); | |
| 59 if (IsBoundGraphics(&enter)) { | |
| 60 glBindFramebuffer(target, framebuffer); | |
| 61 } | |
| 62 } | |
| 63 | |
| 64 void BindRenderbuffer(PP_Resource context_id, | |
| 65 GLenum target, | |
| 66 GLuint renderbuffer) { | |
| 67 Enter3D enter(context_id, true); | |
| 68 if (IsBoundGraphics(&enter)) { | |
| 69 glBindRenderbuffer(target, renderbuffer); | |
| 70 } | |
| 71 } | |
| 72 | |
| 73 void BindTexture(PP_Resource context_id, GLenum target, GLuint texture) { | |
| 74 Enter3D enter(context_id, true); | |
| 75 if (IsBoundGraphics(&enter)) { | |
| 76 glBindTexture(target, texture); | |
| 77 } | |
| 78 } | |
| 79 | |
| 80 void BlendColor(PP_Resource context_id, | |
| 81 GLclampf red, | |
| 82 GLclampf green, | |
| 83 GLclampf blue, | |
| 84 GLclampf alpha) { | |
| 85 Enter3D enter(context_id, true); | |
| 86 if (IsBoundGraphics(&enter)) { | |
| 87 glBlendColor(red, green, blue, alpha); | |
| 88 } | |
| 89 } | |
| 90 | |
| 91 void BlendEquation(PP_Resource context_id, GLenum mode) { | |
| 92 Enter3D enter(context_id, true); | |
| 93 if (IsBoundGraphics(&enter)) { | |
| 94 glBlendEquation(mode); | |
| 95 } | |
| 96 } | |
| 97 | |
| 98 void BlendEquationSeparate(PP_Resource context_id, | |
| 99 GLenum modeRGB, | |
| 100 GLenum modeAlpha) { | |
| 101 Enter3D enter(context_id, true); | |
| 102 if (IsBoundGraphics(&enter)) { | |
| 103 glBlendEquationSeparate(modeRGB, modeAlpha); | |
| 104 } | |
| 105 } | |
| 106 | |
| 107 void BlendFunc(PP_Resource context_id, GLenum sfactor, GLenum dfactor) { | |
| 108 Enter3D enter(context_id, true); | |
| 109 if (IsBoundGraphics(&enter)) { | |
| 110 glBlendFunc(sfactor, dfactor); | |
| 111 } | |
| 112 } | |
| 113 | |
| 114 void BlendFuncSeparate(PP_Resource context_id, | |
| 115 GLenum srcRGB, | |
| 116 GLenum dstRGB, | |
| 117 GLenum srcAlpha, | |
| 118 GLenum dstAlpha) { | |
| 119 Enter3D enter(context_id, true); | |
| 120 if (IsBoundGraphics(&enter)) { | |
| 121 glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); | |
| 122 } | |
| 123 } | |
| 124 | |
| 125 void BufferData(PP_Resource context_id, | |
| 126 GLenum target, | |
| 127 GLsizeiptr size, | |
| 128 const void* data, | |
| 129 GLenum usage) { | |
| 130 Enter3D enter(context_id, true); | |
| 131 if (IsBoundGraphics(&enter)) { | |
| 132 glBufferData(target, size, data, usage); | |
| 133 } | |
| 134 } | |
| 135 | |
| 136 void BufferSubData(PP_Resource context_id, | |
| 137 GLenum target, | |
| 138 GLintptr offset, | |
| 139 GLsizeiptr size, | |
| 140 const void* data) { | |
| 141 Enter3D enter(context_id, true); | |
| 142 if (IsBoundGraphics(&enter)) { | |
| 143 glBufferSubData(target, offset, size, data); | |
| 144 } | |
| 145 } | |
| 146 | |
| 147 GLenum CheckFramebufferStatus(PP_Resource context_id, GLenum target) { | |
| 148 Enter3D enter(context_id, true); | |
| 149 if (IsBoundGraphics(&enter)) { | |
| 150 return glCheckFramebufferStatus(target); | |
| 151 } else { | |
| 152 return 0; | |
| 153 } | |
| 154 } | |
| 155 | |
| 156 void Clear(PP_Resource context_id, GLbitfield mask) { | |
| 157 Enter3D enter(context_id, true); | |
| 158 if (IsBoundGraphics(&enter)) { | |
| 159 glClear(mask); | |
| 160 } | |
| 161 } | |
| 162 | |
| 163 void ClearColor(PP_Resource context_id, | |
| 164 GLclampf red, | |
| 165 GLclampf green, | |
| 166 GLclampf blue, | |
| 167 GLclampf alpha) { | |
| 168 Enter3D enter(context_id, true); | |
| 169 if (IsBoundGraphics(&enter)) { | |
| 170 glClearColor(red, green, blue, alpha); | |
| 171 } | |
| 172 } | |
| 173 | |
| 174 void ClearDepthf(PP_Resource context_id, GLclampf depth) { | |
| 175 Enter3D enter(context_id, true); | |
| 176 if (IsBoundGraphics(&enter)) { | |
| 177 glClearDepthf(depth); | |
| 178 } | |
| 179 } | |
| 180 | |
| 181 void ClearStencil(PP_Resource context_id, GLint s) { | |
| 182 Enter3D enter(context_id, true); | |
| 183 if (IsBoundGraphics(&enter)) { | |
| 184 glClearStencil(s); | |
| 185 } | |
| 186 } | |
| 187 | |
| 188 void ColorMask(PP_Resource context_id, | |
| 189 GLboolean red, | |
| 190 GLboolean green, | |
| 191 GLboolean blue, | |
| 192 GLboolean alpha) { | |
| 193 Enter3D enter(context_id, true); | |
| 194 if (IsBoundGraphics(&enter)) { | |
| 195 glColorMask(red, green, blue, alpha); | |
| 196 } | |
| 197 } | |
| 198 | |
| 199 void CompileShader(PP_Resource context_id, GLuint shader) { | |
| 200 Enter3D enter(context_id, true); | |
| 201 if (IsBoundGraphics(&enter)) { | |
| 202 glCompileShader(shader); | |
| 203 } | |
| 204 } | |
| 205 | |
| 206 void CompressedTexImage2D(PP_Resource context_id, | |
| 207 GLenum target, | |
| 208 GLint level, | |
| 209 GLenum internalformat, | |
| 210 GLsizei width, | |
| 211 GLsizei height, | |
| 212 GLint border, | |
| 213 GLsizei imageSize, | |
| 214 const void* data) { | |
| 215 Enter3D enter(context_id, true); | |
| 216 if (IsBoundGraphics(&enter)) { | |
| 217 glCompressedTexImage2D( | |
| 218 target, level, internalformat, width, height, border, imageSize, data); | |
| 219 } | |
| 220 } | |
| 221 | |
| 222 void CompressedTexSubImage2D(PP_Resource context_id, | |
| 223 GLenum target, | |
| 224 GLint level, | |
| 225 GLint xoffset, | |
| 226 GLint yoffset, | |
| 227 GLsizei width, | |
| 228 GLsizei height, | |
| 229 GLenum format, | |
| 230 GLsizei imageSize, | |
| 231 const void* data) { | |
| 232 Enter3D enter(context_id, true); | |
| 233 if (IsBoundGraphics(&enter)) { | |
| 234 glCompressedTexSubImage2D(target, | |
| 235 level, | |
| 236 xoffset, | |
| 237 yoffset, | |
| 238 width, | |
| 239 height, | |
| 240 format, | |
| 241 imageSize, | |
| 242 data); | |
| 243 } | |
| 244 } | |
| 245 | |
| 246 void CopyTexImage2D(PP_Resource context_id, | |
| 247 GLenum target, | |
| 248 GLint level, | |
| 249 GLenum internalformat, | |
| 250 GLint x, | |
| 251 GLint y, | |
| 252 GLsizei width, | |
| 253 GLsizei height, | |
| 254 GLint border) { | |
| 255 Enter3D enter(context_id, true); | |
| 256 if (IsBoundGraphics(&enter)) { | |
| 257 glCopyTexImage2D( | |
| 258 target, level, internalformat, x, y, width, height, border); | |
| 259 } | |
| 260 } | |
| 261 | |
| 262 void CopyTexSubImage2D(PP_Resource context_id, | |
| 263 GLenum target, | |
| 264 GLint level, | |
| 265 GLint xoffset, | |
| 266 GLint yoffset, | |
| 267 GLint x, | |
| 268 GLint y, | |
| 269 GLsizei width, | |
| 270 GLsizei height) { | |
| 271 Enter3D enter(context_id, true); | |
| 272 if (IsBoundGraphics(&enter)) { | |
| 273 glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); | |
| 274 } | |
| 275 } | |
| 276 | |
| 277 GLuint CreateProgram(PP_Resource context_id) { | |
| 278 Enter3D enter(context_id, true); | |
| 279 if (IsBoundGraphics(&enter)) { | |
| 280 return glCreateProgram(); | |
| 281 } else { | |
| 282 return 0; | |
| 283 } | |
| 284 } | |
| 285 | |
| 286 GLuint CreateShader(PP_Resource context_id, GLenum type) { | |
| 287 Enter3D enter(context_id, true); | |
| 288 if (IsBoundGraphics(&enter)) { | |
| 289 return glCreateShader(type); | |
| 290 } else { | |
| 291 return 0; | |
| 292 } | |
| 293 } | |
| 294 | |
| 295 void CullFace(PP_Resource context_id, GLenum mode) { | |
| 296 Enter3D enter(context_id, true); | |
| 297 if (IsBoundGraphics(&enter)) { | |
| 298 glCullFace(mode); | |
| 299 } | |
| 300 } | |
| 301 | |
| 302 void DeleteBuffers(PP_Resource context_id, GLsizei n, const GLuint* buffers) { | |
| 303 Enter3D enter(context_id, true); | |
| 304 if (IsBoundGraphics(&enter)) { | |
| 305 glDeleteBuffers(n, buffers); | |
| 306 } | |
| 307 } | |
| 308 | |
| 309 void DeleteFramebuffers(PP_Resource context_id, | |
| 310 GLsizei n, | |
| 311 const GLuint* framebuffers) { | |
| 312 Enter3D enter(context_id, true); | |
| 313 if (IsBoundGraphics(&enter)) { | |
| 314 glDeleteFramebuffers(n, framebuffers); | |
| 315 } | |
| 316 } | |
| 317 | |
| 318 void DeleteProgram(PP_Resource context_id, GLuint program) { | |
| 319 Enter3D enter(context_id, true); | |
| 320 if (IsBoundGraphics(&enter)) { | |
| 321 glDeleteProgram(program); | |
| 322 } | |
| 323 } | |
| 324 | |
| 325 void DeleteRenderbuffers(PP_Resource context_id, | |
| 326 GLsizei n, | |
| 327 const GLuint* renderbuffers) { | |
| 328 Enter3D enter(context_id, true); | |
| 329 if (IsBoundGraphics(&enter)) { | |
| 330 glDeleteRenderbuffers(n, renderbuffers); | |
| 331 } | |
| 332 } | |
| 333 | |
| 334 void DeleteShader(PP_Resource context_id, GLuint shader) { | |
| 335 Enter3D enter(context_id, true); | |
| 336 if (IsBoundGraphics(&enter)) { | |
| 337 glDeleteShader(shader); | |
| 338 } | |
| 339 } | |
| 340 | |
| 341 void DeleteTextures(PP_Resource context_id, GLsizei n, const GLuint* textures) { | |
| 342 Enter3D enter(context_id, true); | |
| 343 if (IsBoundGraphics(&enter)) { | |
| 344 glDeleteTextures(n, textures); | |
| 345 } | |
| 346 } | |
| 347 | |
| 348 void DepthFunc(PP_Resource context_id, GLenum func) { | |
| 349 Enter3D enter(context_id, true); | |
| 350 if (IsBoundGraphics(&enter)) { | |
| 351 glDepthFunc(func); | |
| 352 } | |
| 353 } | |
| 354 | |
| 355 void DepthMask(PP_Resource context_id, GLboolean flag) { | |
| 356 Enter3D enter(context_id, true); | |
| 357 if (IsBoundGraphics(&enter)) { | |
| 358 glDepthMask(flag); | |
| 359 } | |
| 360 } | |
| 361 | |
| 362 void DepthRangef(PP_Resource context_id, GLclampf zNear, GLclampf zFar) { | |
| 363 Enter3D enter(context_id, true); | |
| 364 if (IsBoundGraphics(&enter)) { | |
| 365 glDepthRangef(zNear, zFar); | |
| 366 } | |
| 367 } | |
| 368 | |
| 369 void DetachShader(PP_Resource context_id, GLuint program, GLuint shader) { | |
| 370 Enter3D enter(context_id, true); | |
| 371 if (IsBoundGraphics(&enter)) { | |
| 372 glDetachShader(program, shader); | |
| 373 } | |
| 374 } | |
| 375 | |
| 376 void Disable(PP_Resource context_id, GLenum cap) { | |
| 377 Enter3D enter(context_id, true); | |
| 378 if (IsBoundGraphics(&enter)) { | |
| 379 glDisable(cap); | |
| 380 } | |
| 381 } | |
| 382 | |
| 383 void DisableVertexAttribArray(PP_Resource context_id, GLuint index) { | |
| 384 Enter3D enter(context_id, true); | |
| 385 if (IsBoundGraphics(&enter)) { | |
| 386 glDisableVertexAttribArray(index); | |
| 387 } | |
| 388 } | |
| 389 | |
| 390 void DrawArrays(PP_Resource context_id, | |
| 391 GLenum mode, | |
| 392 GLint first, | |
| 393 GLsizei count) { | |
| 394 Enter3D enter(context_id, true); | |
| 395 if (IsBoundGraphics(&enter)) { | |
| 396 glDrawArrays(mode, first, count); | |
| 397 } | |
| 398 } | |
| 399 | |
| 400 void DrawElements(PP_Resource context_id, | |
| 401 GLenum mode, | |
| 402 GLsizei count, | |
| 403 GLenum type, | |
| 404 const void* indices) { | |
| 405 Enter3D enter(context_id, true); | |
| 406 if (IsBoundGraphics(&enter)) { | |
| 407 glDrawElements(mode, count, type, indices); | |
| 408 } | |
| 409 } | |
| 410 | |
| 411 void Enable(PP_Resource context_id, GLenum cap) { | |
| 412 Enter3D enter(context_id, true); | |
| 413 if (IsBoundGraphics(&enter)) { | |
| 414 glEnable(cap); | |
| 415 } | |
| 416 } | |
| 417 | |
| 418 void EnableVertexAttribArray(PP_Resource context_id, GLuint index) { | |
| 419 Enter3D enter(context_id, true); | |
| 420 if (IsBoundGraphics(&enter)) { | |
| 421 glEnableVertexAttribArray(index); | |
| 422 } | |
| 423 } | |
| 424 | |
| 425 void Finish(PP_Resource context_id) { | |
| 426 Enter3D enter(context_id, true); | |
| 427 if (IsBoundGraphics(&enter)) { | |
| 428 glFinish(); | |
| 429 } | |
| 430 } | |
| 431 | |
| 432 void Flush(PP_Resource context_id) { | |
| 433 Enter3D enter(context_id, true); | |
| 434 if (IsBoundGraphics(&enter)) { | |
| 435 glFlush(); | |
| 436 } | |
| 437 } | |
| 438 | |
| 439 void FramebufferRenderbuffer(PP_Resource context_id, | |
| 440 GLenum target, | |
| 441 GLenum attachment, | |
| 442 GLenum renderbuffertarget, | |
| 443 GLuint renderbuffer) { | |
| 444 Enter3D enter(context_id, true); | |
| 445 if (IsBoundGraphics(&enter)) { | |
| 446 glFramebufferRenderbuffer( | |
| 447 target, attachment, renderbuffertarget, renderbuffer); | |
| 448 } | |
| 449 } | |
| 450 | |
| 451 void FramebufferTexture2D(PP_Resource context_id, | |
| 452 GLenum target, | |
| 453 GLenum attachment, | |
| 454 GLenum textarget, | |
| 455 GLuint texture, | |
| 456 GLint level) { | |
| 457 Enter3D enter(context_id, true); | |
| 458 if (IsBoundGraphics(&enter)) { | |
| 459 glFramebufferTexture2D(target, attachment, textarget, texture, level); | |
| 460 } | |
| 461 } | |
| 462 | |
| 463 void FrontFace(PP_Resource context_id, GLenum mode) { | |
| 464 Enter3D enter(context_id, true); | |
| 465 if (IsBoundGraphics(&enter)) { | |
| 466 glFrontFace(mode); | |
| 467 } | |
| 468 } | |
| 469 | |
| 470 void GenBuffers(PP_Resource context_id, GLsizei n, GLuint* buffers) { | |
| 471 Enter3D enter(context_id, true); | |
| 472 if (IsBoundGraphics(&enter)) { | |
| 473 glGenBuffers(n, buffers); | |
| 474 } | |
| 475 } | |
| 476 | |
| 477 void GenerateMipmap(PP_Resource context_id, GLenum target) { | |
| 478 Enter3D enter(context_id, true); | |
| 479 if (IsBoundGraphics(&enter)) { | |
| 480 glGenerateMipmap(target); | |
| 481 } | |
| 482 } | |
| 483 | |
| 484 void GenFramebuffers(PP_Resource context_id, GLsizei n, GLuint* framebuffers) { | |
| 485 Enter3D enter(context_id, true); | |
| 486 if (IsBoundGraphics(&enter)) { | |
| 487 glGenFramebuffers(n, framebuffers); | |
| 488 } | |
| 489 } | |
| 490 | |
| 491 void GenRenderbuffers(PP_Resource context_id, | |
| 492 GLsizei n, | |
| 493 GLuint* renderbuffers) { | |
| 494 Enter3D enter(context_id, true); | |
| 495 if (IsBoundGraphics(&enter)) { | |
| 496 glGenRenderbuffers(n, renderbuffers); | |
| 497 } | |
| 498 } | |
| 499 | |
| 500 void GenTextures(PP_Resource context_id, GLsizei n, GLuint* textures) { | |
| 501 Enter3D enter(context_id, true); | |
| 502 if (IsBoundGraphics(&enter)) { | |
| 503 glGenTextures(n, textures); | |
| 504 } | |
| 505 } | |
| 506 | |
| 507 void GetActiveAttrib(PP_Resource context_id, | |
| 508 GLuint program, | |
| 509 GLuint index, | |
| 510 GLsizei bufsize, | |
| 511 GLsizei* length, | |
| 512 GLint* size, | |
| 513 GLenum* type, | |
| 514 char* name) { | |
| 515 Enter3D enter(context_id, true); | |
| 516 if (IsBoundGraphics(&enter)) { | |
| 517 glGetActiveAttrib(program, index, bufsize, length, size, type, name); | |
| 518 } | |
| 519 } | |
| 520 | |
| 521 void GetActiveUniform(PP_Resource context_id, | |
| 522 GLuint program, | |
| 523 GLuint index, | |
| 524 GLsizei bufsize, | |
| 525 GLsizei* length, | |
| 526 GLint* size, | |
| 527 GLenum* type, | |
| 528 char* name) { | |
| 529 Enter3D enter(context_id, true); | |
| 530 if (IsBoundGraphics(&enter)) { | |
| 531 glGetActiveUniform(program, index, bufsize, length, size, type, name); | |
| 532 } | |
| 533 } | |
| 534 | |
| 535 void GetAttachedShaders(PP_Resource context_id, | |
| 536 GLuint program, | |
| 537 GLsizei maxcount, | |
| 538 GLsizei* count, | |
| 539 GLuint* shaders) { | |
| 540 Enter3D enter(context_id, true); | |
| 541 if (IsBoundGraphics(&enter)) { | |
| 542 glGetAttachedShaders(program, maxcount, count, shaders); | |
| 543 } | |
| 544 } | |
| 545 | |
| 546 GLint GetAttribLocation(PP_Resource context_id, | |
| 547 GLuint program, | |
| 548 const char* name) { | |
| 549 Enter3D enter(context_id, true); | |
| 550 if (IsBoundGraphics(&enter)) { | |
| 551 return glGetAttribLocation(program, name); | |
| 552 } else { | |
| 553 return -1; | |
| 554 } | |
| 555 } | |
| 556 | |
| 557 void GetBooleanv(PP_Resource context_id, GLenum pname, GLboolean* params) { | |
| 558 Enter3D enter(context_id, true); | |
| 559 if (IsBoundGraphics(&enter)) { | |
| 560 glGetBooleanv(pname, params); | |
| 561 } | |
| 562 } | |
| 563 | |
| 564 void GetBufferParameteriv(PP_Resource context_id, | |
| 565 GLenum target, | |
| 566 GLenum pname, | |
| 567 GLint* params) { | |
| 568 Enter3D enter(context_id, true); | |
| 569 if (IsBoundGraphics(&enter)) { | |
| 570 glGetBufferParameteriv(target, pname, params); | |
| 571 } | |
| 572 } | |
| 573 | |
| 574 GLenum GetError(PP_Resource context_id) { | |
| 575 Enter3D enter(context_id, true); | |
| 576 if (IsBoundGraphics(&enter)) { | |
| 577 return glGetError(); | |
| 578 } else { | |
| 579 return 0; | |
| 580 } | |
| 581 } | |
| 582 | |
| 583 void GetFloatv(PP_Resource context_id, GLenum pname, GLfloat* params) { | |
| 584 Enter3D enter(context_id, true); | |
| 585 if (IsBoundGraphics(&enter)) { | |
| 586 glGetFloatv(pname, params); | |
| 587 } | |
| 588 } | |
| 589 | |
| 590 void GetFramebufferAttachmentParameteriv(PP_Resource context_id, | |
| 591 GLenum target, | |
| 592 GLenum attachment, | |
| 593 GLenum pname, | |
| 594 GLint* params) { | |
| 595 Enter3D enter(context_id, true); | |
| 596 if (IsBoundGraphics(&enter)) { | |
| 597 glGetFramebufferAttachmentParameteriv(target, attachment, pname, params); | |
| 598 } | |
| 599 } | |
| 600 | |
| 601 void GetIntegerv(PP_Resource context_id, GLenum pname, GLint* params) { | |
| 602 Enter3D enter(context_id, true); | |
| 603 if (IsBoundGraphics(&enter)) { | |
| 604 glGetIntegerv(pname, params); | |
| 605 } | |
| 606 } | |
| 607 | |
| 608 void GetProgramiv(PP_Resource context_id, | |
| 609 GLuint program, | |
| 610 GLenum pname, | |
| 611 GLint* params) { | |
| 612 Enter3D enter(context_id, true); | |
| 613 if (IsBoundGraphics(&enter)) { | |
| 614 glGetProgramiv(program, pname, params); | |
| 615 } | |
| 616 } | |
| 617 | |
| 618 void GetProgramInfoLog(PP_Resource context_id, | |
| 619 GLuint program, | |
| 620 GLsizei bufsize, | |
| 621 GLsizei* length, | |
| 622 char* infolog) { | |
| 623 Enter3D enter(context_id, true); | |
| 624 if (IsBoundGraphics(&enter)) { | |
| 625 glGetProgramInfoLog(program, bufsize, length, infolog); | |
| 626 } | |
| 627 } | |
| 628 | |
| 629 void GetRenderbufferParameteriv(PP_Resource context_id, | |
| 630 GLenum target, | |
| 631 GLenum pname, | |
| 632 GLint* params) { | |
| 633 Enter3D enter(context_id, true); | |
| 634 if (IsBoundGraphics(&enter)) { | |
| 635 glGetRenderbufferParameteriv(target, pname, params); | |
| 636 } | |
| 637 } | |
| 638 | |
| 639 void GetShaderiv(PP_Resource context_id, | |
| 640 GLuint shader, | |
| 641 GLenum pname, | |
| 642 GLint* params) { | |
| 643 Enter3D enter(context_id, true); | |
| 644 if (IsBoundGraphics(&enter)) { | |
| 645 glGetShaderiv(shader, pname, params); | |
| 646 } | |
| 647 } | |
| 648 | |
| 649 void GetShaderInfoLog(PP_Resource context_id, | |
| 650 GLuint shader, | |
| 651 GLsizei bufsize, | |
| 652 GLsizei* length, | |
| 653 char* infolog) { | |
| 654 Enter3D enter(context_id, true); | |
| 655 if (IsBoundGraphics(&enter)) { | |
| 656 glGetShaderInfoLog(shader, bufsize, length, infolog); | |
| 657 } | |
| 658 } | |
| 659 | |
| 660 void GetShaderPrecisionFormat(PP_Resource context_id, | |
| 661 GLenum shadertype, | |
| 662 GLenum precisiontype, | |
| 663 GLint* range, | |
| 664 GLint* precision) { | |
| 665 Enter3D enter(context_id, true); | |
| 666 if (IsBoundGraphics(&enter)) { | |
| 667 glGetShaderPrecisionFormat(shadertype, precisiontype, range, precision); | |
| 668 } | |
| 669 } | |
| 670 | |
| 671 void GetShaderSource(PP_Resource context_id, | |
| 672 GLuint shader, | |
| 673 GLsizei bufsize, | |
| 674 GLsizei* length, | |
| 675 char* source) { | |
| 676 Enter3D enter(context_id, true); | |
| 677 if (IsBoundGraphics(&enter)) { | |
| 678 glGetShaderSource(shader, bufsize, length, source); | |
| 679 } | |
| 680 } | |
| 681 | |
| 682 const GLubyte* GetString(PP_Resource context_id, GLenum name) { | |
| 683 Enter3D enter(context_id, true); | |
| 684 if (IsBoundGraphics(&enter)) { | |
| 685 return glGetString(name); | |
| 686 } else { | |
| 687 return NULL; | |
| 688 } | |
| 689 } | |
| 690 | |
| 691 void GetTexParameterfv(PP_Resource context_id, | |
| 692 GLenum target, | |
| 693 GLenum pname, | |
| 694 GLfloat* params) { | |
| 695 Enter3D enter(context_id, true); | |
| 696 if (IsBoundGraphics(&enter)) { | |
| 697 glGetTexParameterfv(target, pname, params); | |
| 698 } | |
| 699 } | |
| 700 | |
| 701 void GetTexParameteriv(PP_Resource context_id, | |
| 702 GLenum target, | |
| 703 GLenum pname, | |
| 704 GLint* params) { | |
| 705 Enter3D enter(context_id, true); | |
| 706 if (IsBoundGraphics(&enter)) { | |
| 707 glGetTexParameteriv(target, pname, params); | |
| 708 } | |
| 709 } | |
| 710 | |
| 711 void GetUniformfv(PP_Resource context_id, | |
| 712 GLuint program, | |
| 713 GLint location, | |
| 714 GLfloat* params) { | |
| 715 Enter3D enter(context_id, true); | |
| 716 if (IsBoundGraphics(&enter)) { | |
| 717 glGetUniformfv(program, location, params); | |
| 718 } | |
| 719 } | |
| 720 | |
| 721 void GetUniformiv(PP_Resource context_id, | |
| 722 GLuint program, | |
| 723 GLint location, | |
| 724 GLint* params) { | |
| 725 Enter3D enter(context_id, true); | |
| 726 if (IsBoundGraphics(&enter)) { | |
| 727 glGetUniformiv(program, location, params); | |
| 728 } | |
| 729 } | |
| 730 | |
| 731 GLint GetUniformLocation(PP_Resource context_id, | |
| 732 GLuint program, | |
| 733 const char* name) { | |
| 734 Enter3D enter(context_id, true); | |
| 735 if (IsBoundGraphics(&enter)) { | |
| 736 return glGetUniformLocation(program, name); | |
| 737 } else { | |
| 738 return -1; | |
| 739 } | |
| 740 } | |
| 741 | |
| 742 void GetVertexAttribfv(PP_Resource context_id, | |
| 743 GLuint index, | |
| 744 GLenum pname, | |
| 745 GLfloat* params) { | |
| 746 Enter3D enter(context_id, true); | |
| 747 if (IsBoundGraphics(&enter)) { | |
| 748 glGetVertexAttribfv(index, pname, params); | |
| 749 } | |
| 750 } | |
| 751 | |
| 752 void GetVertexAttribiv(PP_Resource context_id, | |
| 753 GLuint index, | |
| 754 GLenum pname, | |
| 755 GLint* params) { | |
| 756 Enter3D enter(context_id, true); | |
| 757 if (IsBoundGraphics(&enter)) { | |
| 758 glGetVertexAttribiv(index, pname, params); | |
| 759 } | |
| 760 } | |
| 761 | |
| 762 void GetVertexAttribPointerv(PP_Resource context_id, | |
| 763 GLuint index, | |
| 764 GLenum pname, | |
| 765 void** pointer) { | |
| 766 Enter3D enter(context_id, true); | |
| 767 if (IsBoundGraphics(&enter)) { | |
| 768 glGetVertexAttribPointerv(index, pname, pointer); | |
| 769 } | |
| 770 } | |
| 771 | |
| 772 void Hint(PP_Resource context_id, GLenum target, GLenum mode) { | |
| 773 Enter3D enter(context_id, true); | |
| 774 if (IsBoundGraphics(&enter)) { | |
| 775 glHint(target, mode); | |
| 776 } | |
| 777 } | |
| 778 | |
| 779 GLboolean IsBuffer(PP_Resource context_id, GLuint buffer) { | |
| 780 Enter3D enter(context_id, true); | |
| 781 if (IsBoundGraphics(&enter)) { | |
| 782 return glIsBuffer(buffer); | |
| 783 } else { | |
| 784 return GL_FALSE; | |
| 785 } | |
| 786 } | |
| 787 | |
| 788 GLboolean IsEnabled(PP_Resource context_id, GLenum cap) { | |
| 789 Enter3D enter(context_id, true); | |
| 790 if (IsBoundGraphics(&enter)) { | |
| 791 return glIsEnabled(cap); | |
| 792 } else { | |
| 793 return GL_FALSE; | |
| 794 } | |
| 795 } | |
| 796 | |
| 797 GLboolean IsFramebuffer(PP_Resource context_id, GLuint framebuffer) { | |
| 798 Enter3D enter(context_id, true); | |
| 799 if (IsBoundGraphics(&enter)) { | |
| 800 return glIsFramebuffer(framebuffer); | |
| 801 } else { | |
| 802 return GL_FALSE; | |
| 803 } | |
| 804 } | |
| 805 | |
| 806 GLboolean IsProgram(PP_Resource context_id, GLuint program) { | |
| 807 Enter3D enter(context_id, true); | |
| 808 if (IsBoundGraphics(&enter)) { | |
| 809 return glIsProgram(program); | |
| 810 } else { | |
| 811 return GL_FALSE; | |
| 812 } | |
| 813 } | |
| 814 | |
| 815 GLboolean IsRenderbuffer(PP_Resource context_id, GLuint renderbuffer) { | |
| 816 Enter3D enter(context_id, true); | |
| 817 if (IsBoundGraphics(&enter)) { | |
| 818 return glIsRenderbuffer(renderbuffer); | |
| 819 } else { | |
| 820 return GL_FALSE; | |
| 821 } | |
| 822 } | |
| 823 | |
| 824 GLboolean IsShader(PP_Resource context_id, GLuint shader) { | |
| 825 Enter3D enter(context_id, true); | |
| 826 if (IsBoundGraphics(&enter)) { | |
| 827 return glIsShader(shader); | |
| 828 } else { | |
| 829 return GL_FALSE; | |
| 830 } | |
| 831 } | |
| 832 | |
| 833 GLboolean IsTexture(PP_Resource context_id, GLuint texture) { | |
| 834 Enter3D enter(context_id, true); | |
| 835 if (IsBoundGraphics(&enter)) { | |
| 836 return glIsTexture(texture); | |
| 837 } else { | |
| 838 return GL_FALSE; | |
| 839 } | |
| 840 } | |
| 841 | |
| 842 void LineWidth(PP_Resource context_id, GLfloat width) { | |
| 843 Enter3D enter(context_id, true); | |
| 844 if (IsBoundGraphics(&enter)) { | |
| 845 glLineWidth(width); | |
| 846 } | |
| 847 } | |
| 848 | |
| 849 void LinkProgram(PP_Resource context_id, GLuint program) { | |
| 850 Enter3D enter(context_id, true); | |
| 851 if (IsBoundGraphics(&enter)) { | |
| 852 glLinkProgram(program); | |
| 853 } | |
| 854 } | |
| 855 | |
| 856 void PixelStorei(PP_Resource context_id, GLenum pname, GLint param) { | |
| 857 Enter3D enter(context_id, true); | |
| 858 if (IsBoundGraphics(&enter)) { | |
| 859 glPixelStorei(pname, param); | |
| 860 } | |
| 861 } | |
| 862 | |
| 863 void PolygonOffset(PP_Resource context_id, GLfloat factor, GLfloat units) { | |
| 864 Enter3D enter(context_id, true); | |
| 865 if (IsBoundGraphics(&enter)) { | |
| 866 glPolygonOffset(factor, units); | |
| 867 } | |
| 868 } | |
| 869 | |
| 870 void ReadPixels(PP_Resource context_id, | |
| 871 GLint x, | |
| 872 GLint y, | |
| 873 GLsizei width, | |
| 874 GLsizei height, | |
| 875 GLenum format, | |
| 876 GLenum type, | |
| 877 void* pixels) { | |
| 878 Enter3D enter(context_id, true); | |
| 879 if (IsBoundGraphics(&enter)) { | |
| 880 glReadPixels(x, y, width, height, format, type, pixels); | |
| 881 } | |
| 882 } | |
| 883 | |
| 884 void ReleaseShaderCompiler(PP_Resource context_id) { | |
| 885 Enter3D enter(context_id, true); | |
| 886 if (IsBoundGraphics(&enter)) { | |
| 887 glReleaseShaderCompiler(); | |
| 888 } | |
| 889 } | |
| 890 | |
| 891 void RenderbufferStorage(PP_Resource context_id, | |
| 892 GLenum target, | |
| 893 GLenum internalformat, | |
| 894 GLsizei width, | |
| 895 GLsizei height) { | |
| 896 Enter3D enter(context_id, true); | |
| 897 if (IsBoundGraphics(&enter)) { | |
| 898 glRenderbufferStorage(target, internalformat, width, height); | |
| 899 } | |
| 900 } | |
| 901 | |
| 902 void SampleCoverage(PP_Resource context_id, GLclampf value, GLboolean invert) { | |
| 903 Enter3D enter(context_id, true); | |
| 904 if (IsBoundGraphics(&enter)) { | |
| 905 glSampleCoverage(value, invert); | |
| 906 } | |
| 907 } | |
| 908 | |
| 909 void Scissor(PP_Resource context_id, | |
| 910 GLint x, | |
| 911 GLint y, | |
| 912 GLsizei width, | |
| 913 GLsizei height) { | |
| 914 Enter3D enter(context_id, true); | |
| 915 if (IsBoundGraphics(&enter)) { | |
| 916 glScissor(x, y, width, height); | |
| 917 } | |
| 918 } | |
| 919 | |
| 920 void ShaderBinary(PP_Resource context_id, | |
| 921 GLsizei n, | |
| 922 const GLuint* shaders, | |
| 923 GLenum binaryformat, | |
| 924 const void* binary, | |
| 925 GLsizei length) { | |
| 926 Enter3D enter(context_id, true); | |
| 927 if (IsBoundGraphics(&enter)) { | |
| 928 glShaderBinary(n, shaders, binaryformat, binary, length); | |
| 929 } | |
| 930 } | |
| 931 | |
| 932 void ShaderSource(PP_Resource context_id, | |
| 933 GLuint shader, | |
| 934 GLsizei count, | |
| 935 const char** str, | |
| 936 const GLint* length) { | |
| 937 Enter3D enter(context_id, true); | |
| 938 if (IsBoundGraphics(&enter)) { | |
| 939 glShaderSource(shader, count, str, length); | |
| 940 } | |
| 941 } | |
| 942 | |
| 943 void StencilFunc(PP_Resource context_id, GLenum func, GLint ref, GLuint mask) { | |
| 944 Enter3D enter(context_id, true); | |
| 945 if (IsBoundGraphics(&enter)) { | |
| 946 glStencilFunc(func, ref, mask); | |
| 947 } | |
| 948 } | |
| 949 | |
| 950 void StencilFuncSeparate(PP_Resource context_id, | |
| 951 GLenum face, | |
| 952 GLenum func, | |
| 953 GLint ref, | |
| 954 GLuint mask) { | |
| 955 Enter3D enter(context_id, true); | |
| 956 if (IsBoundGraphics(&enter)) { | |
| 957 glStencilFuncSeparate(face, func, ref, mask); | |
| 958 } | |
| 959 } | |
| 960 | |
| 961 void StencilMask(PP_Resource context_id, GLuint mask) { | |
| 962 Enter3D enter(context_id, true); | |
| 963 if (IsBoundGraphics(&enter)) { | |
| 964 glStencilMask(mask); | |
| 965 } | |
| 966 } | |
| 967 | |
| 968 void StencilMaskSeparate(PP_Resource context_id, GLenum face, GLuint mask) { | |
| 969 Enter3D enter(context_id, true); | |
| 970 if (IsBoundGraphics(&enter)) { | |
| 971 glStencilMaskSeparate(face, mask); | |
| 972 } | |
| 973 } | |
| 974 | |
| 975 void StencilOp(PP_Resource context_id, | |
| 976 GLenum fail, | |
| 977 GLenum zfail, | |
| 978 GLenum zpass) { | |
| 979 Enter3D enter(context_id, true); | |
| 980 if (IsBoundGraphics(&enter)) { | |
| 981 glStencilOp(fail, zfail, zpass); | |
| 982 } | |
| 983 } | |
| 984 | |
| 985 void StencilOpSeparate(PP_Resource context_id, | |
| 986 GLenum face, | |
| 987 GLenum fail, | |
| 988 GLenum zfail, | |
| 989 GLenum zpass) { | |
| 990 Enter3D enter(context_id, true); | |
| 991 if (IsBoundGraphics(&enter)) { | |
| 992 glStencilOpSeparate(face, fail, zfail, zpass); | |
| 993 } | |
| 994 } | |
| 995 | |
| 996 void TexImage2D(PP_Resource context_id, | |
| 997 GLenum target, | |
| 998 GLint level, | |
| 999 GLint internalformat, | |
| 1000 GLsizei width, | |
| 1001 GLsizei height, | |
| 1002 GLint border, | |
| 1003 GLenum format, | |
| 1004 GLenum type, | |
| 1005 const void* pixels) { | |
| 1006 Enter3D enter(context_id, true); | |
| 1007 if (IsBoundGraphics(&enter)) { | |
| 1008 glTexImage2D(target, | |
| 1009 level, | |
| 1010 internalformat, | |
| 1011 width, | |
| 1012 height, | |
| 1013 border, | |
| 1014 format, | |
| 1015 type, | |
| 1016 pixels); | |
| 1017 } | |
| 1018 } | |
| 1019 | |
| 1020 void TexParameterf(PP_Resource context_id, | |
| 1021 GLenum target, | |
| 1022 GLenum pname, | |
| 1023 GLfloat param) { | |
| 1024 Enter3D enter(context_id, true); | |
| 1025 if (IsBoundGraphics(&enter)) { | |
| 1026 glTexParameterf(target, pname, param); | |
| 1027 } | |
| 1028 } | |
| 1029 | |
| 1030 void TexParameterfv(PP_Resource context_id, | |
| 1031 GLenum target, | |
| 1032 GLenum pname, | |
| 1033 const GLfloat* params) { | |
| 1034 Enter3D enter(context_id, true); | |
| 1035 if (IsBoundGraphics(&enter)) { | |
| 1036 glTexParameterfv(target, pname, params); | |
| 1037 } | |
| 1038 } | |
| 1039 | |
| 1040 void TexParameteri(PP_Resource context_id, | |
| 1041 GLenum target, | |
| 1042 GLenum pname, | |
| 1043 GLint param) { | |
| 1044 Enter3D enter(context_id, true); | |
| 1045 if (IsBoundGraphics(&enter)) { | |
| 1046 glTexParameteri(target, pname, param); | |
| 1047 } | |
| 1048 } | |
| 1049 | |
| 1050 void TexParameteriv(PP_Resource context_id, | |
| 1051 GLenum target, | |
| 1052 GLenum pname, | |
| 1053 const GLint* params) { | |
| 1054 Enter3D enter(context_id, true); | |
| 1055 if (IsBoundGraphics(&enter)) { | |
| 1056 glTexParameteriv(target, pname, params); | |
| 1057 } | |
| 1058 } | |
| 1059 | |
| 1060 void TexSubImage2D(PP_Resource context_id, | |
| 1061 GLenum target, | |
| 1062 GLint level, | |
| 1063 GLint xoffset, | |
| 1064 GLint yoffset, | |
| 1065 GLsizei width, | |
| 1066 GLsizei height, | |
| 1067 GLenum format, | |
| 1068 GLenum type, | |
| 1069 const void* pixels) { | |
| 1070 Enter3D enter(context_id, true); | |
| 1071 if (IsBoundGraphics(&enter)) { | |
| 1072 glTexSubImage2D( | |
| 1073 target, level, xoffset, yoffset, width, height, format, type, pixels); | |
| 1074 } | |
| 1075 } | |
| 1076 | |
| 1077 void Uniform1f(PP_Resource context_id, GLint location, GLfloat x) { | |
| 1078 Enter3D enter(context_id, true); | |
| 1079 if (IsBoundGraphics(&enter)) { | |
| 1080 glUniform1f(location, x); | |
| 1081 } | |
| 1082 } | |
| 1083 | |
| 1084 void Uniform1fv(PP_Resource context_id, | |
| 1085 GLint location, | |
| 1086 GLsizei count, | |
| 1087 const GLfloat* v) { | |
| 1088 Enter3D enter(context_id, true); | |
| 1089 if (IsBoundGraphics(&enter)) { | |
| 1090 glUniform1fv(location, count, v); | |
| 1091 } | |
| 1092 } | |
| 1093 | |
| 1094 void Uniform1i(PP_Resource context_id, GLint location, GLint x) { | |
| 1095 Enter3D enter(context_id, true); | |
| 1096 if (IsBoundGraphics(&enter)) { | |
| 1097 glUniform1i(location, x); | |
| 1098 } | |
| 1099 } | |
| 1100 | |
| 1101 void Uniform1iv(PP_Resource context_id, | |
| 1102 GLint location, | |
| 1103 GLsizei count, | |
| 1104 const GLint* v) { | |
| 1105 Enter3D enter(context_id, true); | |
| 1106 if (IsBoundGraphics(&enter)) { | |
| 1107 glUniform1iv(location, count, v); | |
| 1108 } | |
| 1109 } | |
| 1110 | |
| 1111 void Uniform2f(PP_Resource context_id, GLint location, GLfloat x, GLfloat y) { | |
| 1112 Enter3D enter(context_id, true); | |
| 1113 if (IsBoundGraphics(&enter)) { | |
| 1114 glUniform2f(location, x, y); | |
| 1115 } | |
| 1116 } | |
| 1117 | |
| 1118 void Uniform2fv(PP_Resource context_id, | |
| 1119 GLint location, | |
| 1120 GLsizei count, | |
| 1121 const GLfloat* v) { | |
| 1122 Enter3D enter(context_id, true); | |
| 1123 if (IsBoundGraphics(&enter)) { | |
| 1124 glUniform2fv(location, count, v); | |
| 1125 } | |
| 1126 } | |
| 1127 | |
| 1128 void Uniform2i(PP_Resource context_id, GLint location, GLint x, GLint y) { | |
| 1129 Enter3D enter(context_id, true); | |
| 1130 if (IsBoundGraphics(&enter)) { | |
| 1131 glUniform2i(location, x, y); | |
| 1132 } | |
| 1133 } | |
| 1134 | |
| 1135 void Uniform2iv(PP_Resource context_id, | |
| 1136 GLint location, | |
| 1137 GLsizei count, | |
| 1138 const GLint* v) { | |
| 1139 Enter3D enter(context_id, true); | |
| 1140 if (IsBoundGraphics(&enter)) { | |
| 1141 glUniform2iv(location, count, v); | |
| 1142 } | |
| 1143 } | |
| 1144 | |
| 1145 void Uniform3f(PP_Resource context_id, | |
| 1146 GLint location, | |
| 1147 GLfloat x, | |
| 1148 GLfloat y, | |
| 1149 GLfloat z) { | |
| 1150 Enter3D enter(context_id, true); | |
| 1151 if (IsBoundGraphics(&enter)) { | |
| 1152 glUniform3f(location, x, y, z); | |
| 1153 } | |
| 1154 } | |
| 1155 | |
| 1156 void Uniform3fv(PP_Resource context_id, | |
| 1157 GLint location, | |
| 1158 GLsizei count, | |
| 1159 const GLfloat* v) { | |
| 1160 Enter3D enter(context_id, true); | |
| 1161 if (IsBoundGraphics(&enter)) { | |
| 1162 glUniform3fv(location, count, v); | |
| 1163 } | |
| 1164 } | |
| 1165 | |
| 1166 void Uniform3i(PP_Resource context_id, | |
| 1167 GLint location, | |
| 1168 GLint x, | |
| 1169 GLint y, | |
| 1170 GLint z) { | |
| 1171 Enter3D enter(context_id, true); | |
| 1172 if (IsBoundGraphics(&enter)) { | |
| 1173 glUniform3i(location, x, y, z); | |
| 1174 } | |
| 1175 } | |
| 1176 | |
| 1177 void Uniform3iv(PP_Resource context_id, | |
| 1178 GLint location, | |
| 1179 GLsizei count, | |
| 1180 const GLint* v) { | |
| 1181 Enter3D enter(context_id, true); | |
| 1182 if (IsBoundGraphics(&enter)) { | |
| 1183 glUniform3iv(location, count, v); | |
| 1184 } | |
| 1185 } | |
| 1186 | |
| 1187 void Uniform4f(PP_Resource context_id, | |
| 1188 GLint location, | |
| 1189 GLfloat x, | |
| 1190 GLfloat y, | |
| 1191 GLfloat z, | |
| 1192 GLfloat w) { | |
| 1193 Enter3D enter(context_id, true); | |
| 1194 if (IsBoundGraphics(&enter)) { | |
| 1195 glUniform4f(location, x, y, z, w); | |
| 1196 } | |
| 1197 } | |
| 1198 | |
| 1199 void Uniform4fv(PP_Resource context_id, | |
| 1200 GLint location, | |
| 1201 GLsizei count, | |
| 1202 const GLfloat* v) { | |
| 1203 Enter3D enter(context_id, true); | |
| 1204 if (IsBoundGraphics(&enter)) { | |
| 1205 glUniform4fv(location, count, v); | |
| 1206 } | |
| 1207 } | |
| 1208 | |
| 1209 void Uniform4i(PP_Resource context_id, | |
| 1210 GLint location, | |
| 1211 GLint x, | |
| 1212 GLint y, | |
| 1213 GLint z, | |
| 1214 GLint w) { | |
| 1215 Enter3D enter(context_id, true); | |
| 1216 if (IsBoundGraphics(&enter)) { | |
| 1217 glUniform4i(location, x, y, z, w); | |
| 1218 } | |
| 1219 } | |
| 1220 | |
| 1221 void Uniform4iv(PP_Resource context_id, | |
| 1222 GLint location, | |
| 1223 GLsizei count, | |
| 1224 const GLint* v) { | |
| 1225 Enter3D enter(context_id, true); | |
| 1226 if (IsBoundGraphics(&enter)) { | |
| 1227 glUniform4iv(location, count, v); | |
| 1228 } | |
| 1229 } | |
| 1230 | |
| 1231 void UniformMatrix2fv(PP_Resource context_id, | |
| 1232 GLint location, | |
| 1233 GLsizei count, | |
| 1234 GLboolean transpose, | |
| 1235 const GLfloat* value) { | |
| 1236 Enter3D enter(context_id, true); | |
| 1237 if (IsBoundGraphics(&enter)) { | |
| 1238 glUniformMatrix2fv(location, count, transpose, value); | |
| 1239 } | |
| 1240 } | |
| 1241 | |
| 1242 void UniformMatrix3fv(PP_Resource context_id, | |
| 1243 GLint location, | |
| 1244 GLsizei count, | |
| 1245 GLboolean transpose, | |
| 1246 const GLfloat* value) { | |
| 1247 Enter3D enter(context_id, true); | |
| 1248 if (IsBoundGraphics(&enter)) { | |
| 1249 glUniformMatrix3fv(location, count, transpose, value); | |
| 1250 } | |
| 1251 } | |
| 1252 | |
| 1253 void UniformMatrix4fv(PP_Resource context_id, | |
| 1254 GLint location, | |
| 1255 GLsizei count, | |
| 1256 GLboolean transpose, | |
| 1257 const GLfloat* value) { | |
| 1258 Enter3D enter(context_id, true); | |
| 1259 if (IsBoundGraphics(&enter)) { | |
| 1260 glUniformMatrix4fv(location, count, transpose, value); | |
| 1261 } | |
| 1262 } | |
| 1263 | |
| 1264 void UseProgram(PP_Resource context_id, GLuint program) { | |
| 1265 Enter3D enter(context_id, true); | |
| 1266 if (IsBoundGraphics(&enter)) { | |
| 1267 glUseProgram(program); | |
| 1268 } | |
| 1269 } | |
| 1270 | |
| 1271 void ValidateProgram(PP_Resource context_id, GLuint program) { | |
| 1272 Enter3D enter(context_id, true); | |
| 1273 if (IsBoundGraphics(&enter)) { | |
| 1274 glValidateProgram(program); | |
| 1275 } | |
| 1276 } | |
| 1277 | |
| 1278 void VertexAttrib1f(PP_Resource context_id, GLuint indx, GLfloat x) { | |
| 1279 Enter3D enter(context_id, true); | |
| 1280 if (IsBoundGraphics(&enter)) { | |
| 1281 glVertexAttrib1f(indx, x); | |
| 1282 } | |
| 1283 } | |
| 1284 | |
| 1285 void VertexAttrib1fv(PP_Resource context_id, | |
| 1286 GLuint indx, | |
| 1287 const GLfloat* values) { | |
| 1288 Enter3D enter(context_id, true); | |
| 1289 if (IsBoundGraphics(&enter)) { | |
| 1290 glVertexAttrib1fv(indx, values); | |
| 1291 } | |
| 1292 } | |
| 1293 | |
| 1294 void VertexAttrib2f(PP_Resource context_id, GLuint indx, GLfloat x, GLfloat y) { | |
| 1295 Enter3D enter(context_id, true); | |
| 1296 if (IsBoundGraphics(&enter)) { | |
| 1297 glVertexAttrib2f(indx, x, y); | |
| 1298 } | |
| 1299 } | |
| 1300 | |
| 1301 void VertexAttrib2fv(PP_Resource context_id, | |
| 1302 GLuint indx, | |
| 1303 const GLfloat* values) { | |
| 1304 Enter3D enter(context_id, true); | |
| 1305 if (IsBoundGraphics(&enter)) { | |
| 1306 glVertexAttrib2fv(indx, values); | |
| 1307 } | |
| 1308 } | |
| 1309 | |
| 1310 void VertexAttrib3f(PP_Resource context_id, | |
| 1311 GLuint indx, | |
| 1312 GLfloat x, | |
| 1313 GLfloat y, | |
| 1314 GLfloat z) { | |
| 1315 Enter3D enter(context_id, true); | |
| 1316 if (IsBoundGraphics(&enter)) { | |
| 1317 glVertexAttrib3f(indx, x, y, z); | |
| 1318 } | |
| 1319 } | |
| 1320 | |
| 1321 void VertexAttrib3fv(PP_Resource context_id, | |
| 1322 GLuint indx, | |
| 1323 const GLfloat* values) { | |
| 1324 Enter3D enter(context_id, true); | |
| 1325 if (IsBoundGraphics(&enter)) { | |
| 1326 glVertexAttrib3fv(indx, values); | |
| 1327 } | |
| 1328 } | |
| 1329 | |
| 1330 void VertexAttrib4f(PP_Resource context_id, | |
| 1331 GLuint indx, | |
| 1332 GLfloat x, | |
| 1333 GLfloat y, | |
| 1334 GLfloat z, | |
| 1335 GLfloat w) { | |
| 1336 Enter3D enter(context_id, true); | |
| 1337 if (IsBoundGraphics(&enter)) { | |
| 1338 glVertexAttrib4f(indx, x, y, z, w); | |
| 1339 } | |
| 1340 } | |
| 1341 | |
| 1342 void VertexAttrib4fv(PP_Resource context_id, | |
| 1343 GLuint indx, | |
| 1344 const GLfloat* values) { | |
| 1345 Enter3D enter(context_id, true); | |
| 1346 if (IsBoundGraphics(&enter)) { | |
| 1347 glVertexAttrib4fv(indx, values); | |
| 1348 } | |
| 1349 } | |
| 1350 | |
| 1351 void VertexAttribPointer(PP_Resource context_id, | |
| 1352 GLuint indx, | |
| 1353 GLint size, | |
| 1354 GLenum type, | |
| 1355 GLboolean normalized, | |
| 1356 GLsizei stride, | |
| 1357 const void* ptr) { | |
| 1358 Enter3D enter(context_id, true); | |
| 1359 if (IsBoundGraphics(&enter)) { | |
| 1360 glVertexAttribPointer(indx, size, type, normalized, stride, ptr); | |
| 1361 } | |
| 1362 } | |
| 1363 | |
| 1364 void Viewport(PP_Resource context_id, | |
| 1365 GLint x, | |
| 1366 GLint y, | |
| 1367 GLsizei width, | |
| 1368 GLsizei height) { | |
| 1369 Enter3D enter(context_id, true); | |
| 1370 if (IsBoundGraphics(&enter)) { | |
| 1371 glViewport(x, y, width, height); | |
| 1372 } | |
| 1373 } | |
| 1374 | |
| 1375 } // namespace | |
| 1376 | |
| 1377 const PPB_OpenGLES2* GetPPB_OpenGLES2_Thunk() { | |
| 1378 static const struct PPB_OpenGLES2 ppb_opengles2 = { | |
| 1379 &ActiveTexture, &AttachShader, | |
| 1380 &BindAttribLocation, &BindBuffer, | |
| 1381 &BindFramebuffer, &BindRenderbuffer, | |
| 1382 &BindTexture, &BlendColor, | |
| 1383 &BlendEquation, &BlendEquationSeparate, | |
| 1384 &BlendFunc, &BlendFuncSeparate, | |
| 1385 &BufferData, &BufferSubData, | |
| 1386 &CheckFramebufferStatus, &Clear, | |
| 1387 &ClearColor, &ClearDepthf, | |
| 1388 &ClearStencil, &ColorMask, | |
| 1389 &CompileShader, &CompressedTexImage2D, | |
| 1390 &CompressedTexSubImage2D, &CopyTexImage2D, | |
| 1391 &CopyTexSubImage2D, &CreateProgram, | |
| 1392 &CreateShader, &CullFace, | |
| 1393 &DeleteBuffers, &DeleteFramebuffers, | |
| 1394 &DeleteProgram, &DeleteRenderbuffers, | |
| 1395 &DeleteShader, &DeleteTextures, | |
| 1396 &DepthFunc, &DepthMask, | |
| 1397 &DepthRangef, &DetachShader, | |
| 1398 &Disable, &DisableVertexAttribArray, | |
| 1399 &DrawArrays, &DrawElements, | |
| 1400 &Enable, &EnableVertexAttribArray, | |
| 1401 &Finish, &Flush, | |
| 1402 &FramebufferRenderbuffer, &FramebufferTexture2D, | |
| 1403 &FrontFace, &GenBuffers, | |
| 1404 &GenerateMipmap, &GenFramebuffers, | |
| 1405 &GenRenderbuffers, &GenTextures, | |
| 1406 &GetActiveAttrib, &GetActiveUniform, | |
| 1407 &GetAttachedShaders, &GetAttribLocation, | |
| 1408 &GetBooleanv, &GetBufferParameteriv, | |
| 1409 &GetError, &GetFloatv, | |
| 1410 &GetFramebufferAttachmentParameteriv, &GetIntegerv, | |
| 1411 &GetProgramiv, &GetProgramInfoLog, | |
| 1412 &GetRenderbufferParameteriv, &GetShaderiv, | |
| 1413 &GetShaderInfoLog, &GetShaderPrecisionFormat, | |
| 1414 &GetShaderSource, &GetString, | |
| 1415 &GetTexParameterfv, &GetTexParameteriv, | |
| 1416 &GetUniformfv, &GetUniformiv, | |
| 1417 &GetUniformLocation, &GetVertexAttribfv, | |
| 1418 &GetVertexAttribiv, &GetVertexAttribPointerv, | |
| 1419 &Hint, &IsBuffer, | |
| 1420 &IsEnabled, &IsFramebuffer, | |
| 1421 &IsProgram, &IsRenderbuffer, | |
| 1422 &IsShader, &IsTexture, | |
| 1423 &LineWidth, &LinkProgram, | |
| 1424 &PixelStorei, &PolygonOffset, | |
| 1425 &ReadPixels, &ReleaseShaderCompiler, | |
| 1426 &RenderbufferStorage, &SampleCoverage, | |
| 1427 &Scissor, &ShaderBinary, | |
| 1428 &ShaderSource, &StencilFunc, | |
| 1429 &StencilFuncSeparate, &StencilMask, | |
| 1430 &StencilMaskSeparate, &StencilOp, | |
| 1431 &StencilOpSeparate, &TexImage2D, | |
| 1432 &TexParameterf, &TexParameterfv, | |
| 1433 &TexParameteri, &TexParameteriv, | |
| 1434 &TexSubImage2D, &Uniform1f, | |
| 1435 &Uniform1fv, &Uniform1i, | |
| 1436 &Uniform1iv, &Uniform2f, | |
| 1437 &Uniform2fv, &Uniform2i, | |
| 1438 &Uniform2iv, &Uniform3f, | |
| 1439 &Uniform3fv, &Uniform3i, | |
| 1440 &Uniform3iv, &Uniform4f, | |
| 1441 &Uniform4fv, &Uniform4i, | |
| 1442 &Uniform4iv, &UniformMatrix2fv, | |
| 1443 &UniformMatrix3fv, &UniformMatrix4fv, | |
| 1444 &UseProgram, &ValidateProgram, | |
| 1445 &VertexAttrib1f, &VertexAttrib1fv, | |
| 1446 &VertexAttrib2f, &VertexAttrib2fv, | |
| 1447 &VertexAttrib3f, &VertexAttrib3fv, | |
| 1448 &VertexAttrib4f, &VertexAttrib4fv, | |
| 1449 &VertexAttribPointer, &Viewport}; | |
| 1450 return &ppb_opengles2; | |
| 1451 } | |
| 1452 | |
| 1453 } // namespace examples | |
| 1454 } // namespace mojo | |
| OLD | NEW |