| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "gpu/blink/webgraphicscontext3d_impl.h" | 5 #include "gpu/blink/webgraphicscontext3d_impl.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/atomicops.h" | 9 #include "base/atomicops.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 using blink::WGC3Denum; | 31 using blink::WGC3Denum; |
| 32 using blink::WGC3Dfloat; | 32 using blink::WGC3Dfloat; |
| 33 using blink::WGC3Dint; | 33 using blink::WGC3Dint; |
| 34 using blink::WGC3Dintptr; | 34 using blink::WGC3Dintptr; |
| 35 using blink::WGC3Dsizei; | 35 using blink::WGC3Dsizei; |
| 36 using blink::WGC3Dsizeiptr; | 36 using blink::WGC3Dsizeiptr; |
| 37 using blink::WGC3Dint64; | 37 using blink::WGC3Dint64; |
| 38 using blink::WGC3Duint64; | 38 using blink::WGC3Duint64; |
| 39 using blink::WGC3Duint; | 39 using blink::WGC3Duint; |
| 40 using blink::WebGLId; | 40 using blink::WebGLId; |
| 41 using blink::WGC3Dsync; | |
| 42 | 41 |
| 43 namespace gpu_blink { | 42 namespace gpu_blink { |
| 44 | 43 |
| 45 class WebGraphicsContext3DErrorMessageCallback | 44 class WebGraphicsContext3DErrorMessageCallback |
| 46 : public ::gpu::gles2::GLES2ImplementationErrorMessageCallback { | 45 : public ::gpu::gles2::GLES2ImplementationErrorMessageCallback { |
| 47 public: | 46 public: |
| 48 WebGraphicsContext3DErrorMessageCallback( | 47 WebGraphicsContext3DErrorMessageCallback( |
| 49 WebGraphicsContext3DImpl* context) | 48 WebGraphicsContext3DImpl* context) |
| 50 : graphics_context_(context) { | 49 : graphics_context_(context) { |
| 51 } | 50 } |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 198 synthetic_errors_.push_back(error); | 197 synthetic_errors_.push_back(error); |
| 199 } | 198 } |
| 200 } | 199 } |
| 201 | 200 |
| 202 blink::WebString WebGraphicsContext3DImpl:: | 201 blink::WebString WebGraphicsContext3DImpl:: |
| 203 getRequestableExtensionsCHROMIUM() { | 202 getRequestableExtensionsCHROMIUM() { |
| 204 return blink::WebString::fromUTF8( | 203 return blink::WebString::fromUTF8( |
| 205 gl_->GetRequestableExtensionsCHROMIUM()); | 204 gl_->GetRequestableExtensionsCHROMIUM()); |
| 206 } | 205 } |
| 207 | 206 |
| 208 void WebGraphicsContext3DImpl::blitFramebufferCHROMIUM( | |
| 209 WGC3Dint srcX0, WGC3Dint srcY0, WGC3Dint srcX1, WGC3Dint srcY1, | |
| 210 WGC3Dint dstX0, WGC3Dint dstY0, WGC3Dint dstX1, WGC3Dint dstY1, | |
| 211 WGC3Dbitfield mask, WGC3Denum filter) { | |
| 212 gl_->BlitFramebufferCHROMIUM( | |
| 213 srcX0, srcY0, srcX1, srcY1, | |
| 214 dstX0, dstY0, dstX1, dstY1, | |
| 215 mask, filter); | |
| 216 } | |
| 217 | |
| 218 void WebGraphicsContext3DImpl::drawElements(WGC3Denum mode, | |
| 219 WGC3Dsizei count, | |
| 220 WGC3Denum type, | |
| 221 WGC3Dintptr offset) { | |
| 222 gl_->DrawElements( | |
| 223 mode, count, type, | |
| 224 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); | |
| 225 } | |
| 226 | |
| 227 bool WebGraphicsContext3DImpl::getActiveAttrib( | 207 bool WebGraphicsContext3DImpl::getActiveAttrib( |
| 228 WebGLId program, WGC3Duint index, ActiveInfo& info) { | 208 WebGLId program, WGC3Duint index, ActiveInfo& info) { |
| 229 if (!program) { | 209 if (!program) { |
| 230 synthesizeGLError(GL_INVALID_VALUE); | 210 synthesizeGLError(GL_INVALID_VALUE); |
| 231 return false; | 211 return false; |
| 232 } | 212 } |
| 233 GLint max_name_length = -1; | 213 GLint max_name_length = -1; |
| 234 gl_->GetProgramiv( | 214 gl_->GetProgramiv( |
| 235 program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &max_name_length); | 215 program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &max_name_length); |
| 236 if (max_name_length < 0) | 216 if (max_name_length < 0) |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 369 blink::WebString::fromUTF8(log.get(), returnedLogLength); | 349 blink::WebString::fromUTF8(log.get(), returnedLogLength); |
| 370 return res; | 350 return res; |
| 371 } | 351 } |
| 372 | 352 |
| 373 blink::WebString WebGraphicsContext3DImpl::getString( | 353 blink::WebString WebGraphicsContext3DImpl::getString( |
| 374 WGC3Denum name) { | 354 WGC3Denum name) { |
| 375 return blink::WebString::fromUTF8( | 355 return blink::WebString::fromUTF8( |
| 376 reinterpret_cast<const char*>(gl_->GetString(name))); | 356 reinterpret_cast<const char*>(gl_->GetString(name))); |
| 377 } | 357 } |
| 378 | 358 |
| 379 void WebGraphicsContext3DImpl::getSynciv(blink::WGC3Dsync sync, | |
| 380 blink::WGC3Denum pname, | |
| 381 blink::WGC3Dsizei bufSize, | |
| 382 blink::WGC3Dsizei *length, | |
| 383 blink::WGC3Dint *params) { | |
| 384 return gl_->GetSynciv( | |
| 385 reinterpret_cast<GLsync>(sync), pname, bufSize, length, params); | |
| 386 } | |
| 387 | |
| 388 WGC3Dsizeiptr WebGraphicsContext3DImpl::getVertexAttribOffset( | |
| 389 WGC3Duint index, WGC3Denum pname) { | |
| 390 GLvoid* value = NULL; | |
| 391 // NOTE: If pname is ever a value that returns more then 1 element | |
| 392 // this will corrupt memory. | |
| 393 gl_->GetVertexAttribPointerv(index, pname, &value); | |
| 394 return static_cast<WGC3Dsizeiptr>(reinterpret_cast<intptr_t>(value)); | |
| 395 } | |
| 396 | |
| 397 void WebGraphicsContext3DImpl::shaderSource( | 359 void WebGraphicsContext3DImpl::shaderSource( |
| 398 WebGLId shader, const WGC3Dchar* string) { | 360 WebGLId shader, const WGC3Dchar* string) { |
| 399 GLint length = strlen(string); | 361 GLint length = strlen(string); |
| 400 gl_->ShaderSource(shader, 1, &string, &length); | 362 gl_->ShaderSource(shader, 1, &string, &length); |
| 401 } | 363 } |
| 402 | 364 |
| 403 void WebGraphicsContext3DImpl::vertexAttribPointer( | |
| 404 WGC3Duint index, WGC3Dint size, WGC3Denum type, WGC3Dboolean normalized, | |
| 405 WGC3Dsizei stride, WGC3Dintptr offset) { | |
| 406 gl_->VertexAttribPointer( | |
| 407 index, size, type, normalized, stride, | |
| 408 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); | |
| 409 } | |
| 410 | |
| 411 WebGLId WebGraphicsContext3DImpl::createBuffer() { | 365 WebGLId WebGraphicsContext3DImpl::createBuffer() { |
| 412 GLuint o; | 366 GLuint o; |
| 413 gl_->GenBuffers(1, &o); | 367 gl_->GenBuffers(1, &o); |
| 414 return o; | 368 return o; |
| 415 } | 369 } |
| 416 | 370 |
| 417 WebGLId WebGraphicsContext3DImpl::createFramebuffer() { | 371 WebGLId WebGraphicsContext3DImpl::createFramebuffer() { |
| 418 GLuint o = 0; | 372 GLuint o = 0; |
| 419 gl_->GenFramebuffers(1, &o); | 373 gl_->GenFramebuffers(1, &o); |
| 420 return o; | 374 return o; |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 506 DELEGATE_TO_GL_2(bindTransformFeedback, BindTransformFeedback, WGC3Denum, | 460 DELEGATE_TO_GL_2(bindTransformFeedback, BindTransformFeedback, WGC3Denum, |
| 507 WebGLId) | 461 WebGLId) |
| 508 DELEGATE_TO_GL_4(clearBufferfi, ClearBufferfi, WGC3Denum, WGC3Dint, WGC3Dfloat, | 462 DELEGATE_TO_GL_4(clearBufferfi, ClearBufferfi, WGC3Denum, WGC3Dint, WGC3Dfloat, |
| 509 WGC3Dint) | 463 WGC3Dint) |
| 510 DELEGATE_TO_GL_3(clearBufferfv, ClearBufferfv, WGC3Denum, WGC3Dint, | 464 DELEGATE_TO_GL_3(clearBufferfv, ClearBufferfv, WGC3Denum, WGC3Dint, |
| 511 const WGC3Dfloat *) | 465 const WGC3Dfloat *) |
| 512 DELEGATE_TO_GL_3(clearBufferiv, ClearBufferiv, WGC3Denum, WGC3Dint, | 466 DELEGATE_TO_GL_3(clearBufferiv, ClearBufferiv, WGC3Denum, WGC3Dint, |
| 513 const WGC3Dint *) | 467 const WGC3Dint *) |
| 514 DELEGATE_TO_GL_3(clearBufferuiv, ClearBufferuiv, WGC3Denum, WGC3Dint, | 468 DELEGATE_TO_GL_3(clearBufferuiv, ClearBufferuiv, WGC3Denum, WGC3Dint, |
| 515 const WGC3Duint *) | 469 const WGC3Duint *) |
| 516 WGC3Denum WebGraphicsContext3DImpl::clientWaitSync(WGC3Dsync sync, | |
| 517 WGC3Dbitfield flags, | |
| 518 WGC3Duint64 timeout) { | |
| 519 return gl_->ClientWaitSync(reinterpret_cast<GLsync>(sync), flags, timeout); | |
| 520 } | |
| 521 DELEGATE_TO_GL_9(compressedTexImage3D, CompressedTexImage3D, WGC3Denum, | 470 DELEGATE_TO_GL_9(compressedTexImage3D, CompressedTexImage3D, WGC3Denum, |
| 522 WGC3Dint, WGC3Denum, WGC3Dsizei, WGC3Dsizei, WGC3Dsizei, | 471 WGC3Dint, WGC3Denum, WGC3Dsizei, WGC3Dsizei, WGC3Dsizei, |
| 523 WGC3Dint, WGC3Dsizei, const void *) | 472 WGC3Dint, WGC3Dsizei, const void *) |
| 524 DELEGATE_TO_GL_11(compressedTexSubImage3D, CompressedTexSubImage3D, WGC3Denum, | 473 DELEGATE_TO_GL_11(compressedTexSubImage3D, CompressedTexSubImage3D, WGC3Denum, |
| 525 WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, | 474 WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, |
| 526 WGC3Dsizei, WGC3Dsizei, WGC3Denum, WGC3Dsizei, const void *) | 475 WGC3Dsizei, WGC3Dsizei, WGC3Denum, WGC3Dsizei, const void *) |
| 527 DELEGATE_TO_GL_5(copyBufferSubData, CopyBufferSubData, WGC3Denum, WGC3Denum, | 476 DELEGATE_TO_GL_5(copyBufferSubData, CopyBufferSubData, WGC3Denum, WGC3Denum, |
| 528 WGC3Dintptr, WGC3Dintptr, WGC3Dsizeiptr) | 477 WGC3Dintptr, WGC3Dintptr, WGC3Dsizeiptr) |
| 529 DELEGATE_TO_GL_9(copyTexSubImage3D, CopyTexSubImage3D, WGC3Denum, WGC3Dint, | 478 DELEGATE_TO_GL_9(copyTexSubImage3D, CopyTexSubImage3D, WGC3Denum, WGC3Dint, |
| 530 WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, | 479 WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dint, WGC3Dsizei, |
| 531 WGC3Dsizei) | 480 WGC3Dsizei) |
| 532 WebGLId WebGraphicsContext3DImpl::createSampler() { | 481 WebGLId WebGraphicsContext3DImpl::createSampler() { |
| 533 GLuint sampler; | 482 GLuint sampler; |
| 534 gl_->GenSamplers(1, &sampler); | 483 gl_->GenSamplers(1, &sampler); |
| 535 return sampler; | 484 return sampler; |
| 536 } | 485 } |
| 537 WebGLId WebGraphicsContext3DImpl::createTransformFeedback() { | 486 WebGLId WebGraphicsContext3DImpl::createTransformFeedback() { |
| 538 GLuint tf; | 487 GLuint tf; |
| 539 gl_->GenTransformFeedbacks(1, &tf); | 488 gl_->GenTransformFeedbacks(1, &tf); |
| 540 return tf; | 489 return tf; |
| 541 } | 490 } |
| 542 void WebGraphicsContext3DImpl::deleteSampler(WebGLId sampler) { | 491 void WebGraphicsContext3DImpl::deleteSampler(WebGLId sampler) { |
| 543 gl_->DeleteSamplers(1, &sampler); | 492 gl_->DeleteSamplers(1, &sampler); |
| 544 } | 493 } |
| 545 void WebGraphicsContext3DImpl::deleteSync(WGC3Dsync sync) { | |
| 546 gl_->DeleteSync(reinterpret_cast<GLsync>(sync)); | |
| 547 } | |
| 548 void WebGraphicsContext3DImpl::deleteTransformFeedback(WebGLId tf) { | 494 void WebGraphicsContext3DImpl::deleteTransformFeedback(WebGLId tf) { |
| 549 gl_->DeleteTransformFeedbacks(1, &tf); | 495 gl_->DeleteTransformFeedbacks(1, &tf); |
| 550 } | 496 } |
| 551 void WebGraphicsContext3DImpl::drawRangeElements( | |
| 552 WGC3Denum mode, WGC3Duint start, WGC3Duint end, WGC3Dsizei count, | |
| 553 WGC3Denum type, WGC3Dintptr offset) { | |
| 554 gl_->DrawRangeElements(mode, start, end, count, type, | |
| 555 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); | |
| 556 } | |
| 557 DELEGATE_TO_GL(endTransformFeedback, EndTransformFeedback) | 497 DELEGATE_TO_GL(endTransformFeedback, EndTransformFeedback) |
| 558 WGC3Dsync WebGraphicsContext3DImpl::fenceSync(WGC3Denum condition, | |
| 559 WGC3Dbitfield flags) { | |
| 560 return reinterpret_cast<WGC3Dsync>(gl_->FenceSync(condition, flags)); | |
| 561 } | |
| 562 DELEGATE_TO_GL_5(getActiveUniformBlockName, GetActiveUniformBlockName, | 498 DELEGATE_TO_GL_5(getActiveUniformBlockName, GetActiveUniformBlockName, |
| 563 WGC3Duint, WGC3Duint, WGC3Dsizei, WGC3Dsizei *, WGC3Dchar *) | 499 WGC3Duint, WGC3Duint, WGC3Dsizei, WGC3Dsizei *, WGC3Dchar *) |
| 564 DELEGATE_TO_GL_4(getActiveUniformBlockiv, GetActiveUniformBlockiv, WGC3Duint, | 500 DELEGATE_TO_GL_4(getActiveUniformBlockiv, GetActiveUniformBlockiv, WGC3Duint, |
| 565 WGC3Duint, WGC3Denum, WGC3Dint *) | 501 WGC3Duint, WGC3Denum, WGC3Dint *) |
| 566 DELEGATE_TO_GL_5(getActiveUniformsiv, GetActiveUniformsiv, WGC3Duint, | 502 DELEGATE_TO_GL_5(getActiveUniformsiv, GetActiveUniformsiv, WGC3Duint, |
| 567 WGC3Dsizei, const WGC3Duint *, WGC3Denum, WGC3Dint *) | 503 WGC3Dsizei, const WGC3Duint *, WGC3Denum, WGC3Dint *) |
| 568 DELEGATE_TO_GL_2R(getFragDataLocation, GetFragDataLocation, WGC3Duint, | 504 DELEGATE_TO_GL_2R(getFragDataLocation, GetFragDataLocation, WGC3Duint, |
| 569 const WGC3Dchar *, WGC3Dint) | 505 const WGC3Dchar *, WGC3Dint) |
| 570 DELEGATE_TO_GL_5(getInternalformativ, GetInternalformativ, WGC3Denum, WGC3Denum, | 506 DELEGATE_TO_GL_5(getInternalformativ, GetInternalformativ, WGC3Denum, WGC3Denum, |
| 571 WGC3Denum, WGC3Dsizei, WGC3Dint *) | 507 WGC3Denum, WGC3Dsizei, WGC3Dint *) |
| 572 DELEGATE_TO_GL_3(getSamplerParameterfv, GetSamplerParameterfv, WGC3Duint, | 508 DELEGATE_TO_GL_3(getSamplerParameterfv, GetSamplerParameterfv, WGC3Duint, |
| 573 WGC3Denum, WGC3Dfloat *) | 509 WGC3Denum, WGC3Dfloat *) |
| 574 DELEGATE_TO_GL_3(getSamplerParameteriv, GetSamplerParameteriv, WGC3Duint, | 510 DELEGATE_TO_GL_3(getSamplerParameteriv, GetSamplerParameteriv, WGC3Duint, |
| 575 WGC3Denum, WGC3Dint *) | 511 WGC3Denum, WGC3Dint *) |
| 576 DELEGATE_TO_GL_7(getTransformFeedbackVarying, GetTransformFeedbackVarying, | 512 DELEGATE_TO_GL_7(getTransformFeedbackVarying, GetTransformFeedbackVarying, |
| 577 WGC3Duint, WGC3Duint, WGC3Dsizei, WGC3Dsizei *, WGC3Dsizei *, | 513 WGC3Duint, WGC3Duint, WGC3Dsizei, WGC3Dsizei *, WGC3Dsizei *, |
| 578 WGC3Denum *, WGC3Dchar *) | 514 WGC3Denum *, WGC3Dchar *) |
| 579 DELEGATE_TO_GL_2R(getUniformBlockIndex, GetUniformBlockIndex, WGC3Duint, | 515 DELEGATE_TO_GL_2R(getUniformBlockIndex, GetUniformBlockIndex, WGC3Duint, |
| 580 const WGC3Dchar *, WGC3Duint) | 516 const WGC3Dchar *, WGC3Duint) |
| 581 DELEGATE_TO_GL_4(getUniformIndices, GetUniformIndices, WGC3Duint, WGC3Dsizei, | 517 DELEGATE_TO_GL_4(getUniformIndices, GetUniformIndices, WGC3Duint, WGC3Dsizei, |
| 582 const WGC3Dchar *const*, WGC3Duint *) | 518 const WGC3Dchar *const*, WGC3Duint *) |
| 583 DELEGATE_TO_GL_3(getUniformuiv, GetUniformuiv, WGC3Duint, WGC3Dint, | 519 DELEGATE_TO_GL_3(getUniformuiv, GetUniformuiv, WGC3Duint, WGC3Dint, |
| 584 WGC3Duint *) | 520 WGC3Duint *) |
| 585 DELEGATE_TO_GL_3(invalidateFramebuffer, InvalidateFramebuffer, WGC3Denum, | 521 DELEGATE_TO_GL_3(invalidateFramebuffer, InvalidateFramebuffer, WGC3Denum, |
| 586 WGC3Dsizei, const WGC3Denum *) | 522 WGC3Dsizei, const WGC3Denum *) |
| 587 DELEGATE_TO_GL_7(invalidateSubFramebuffer, InvalidateSubFramebuffer, WGC3Denum, | 523 DELEGATE_TO_GL_7(invalidateSubFramebuffer, InvalidateSubFramebuffer, WGC3Denum, |
| 588 WGC3Dsizei, const WGC3Denum *, WGC3Dint, WGC3Dint, WGC3Dsizei, | 524 WGC3Dsizei, const WGC3Denum *, WGC3Dint, WGC3Dint, WGC3Dsizei, |
| 589 WGC3Dsizei) | 525 WGC3Dsizei) |
| 590 DELEGATE_TO_GL_1R(isSampler, IsSampler, WebGLId, WGC3Dboolean) | 526 DELEGATE_TO_GL_1R(isSampler, IsSampler, WebGLId, WGC3Dboolean) |
| 591 WGC3Dboolean WebGraphicsContext3DImpl::isSync(WGC3Dsync sync) { | |
| 592 return gl_->IsSync(reinterpret_cast<GLsync>(sync)); | |
| 593 } | |
| 594 DELEGATE_TO_GL_1R(isTransformFeedback, IsTransformFeedback, WGC3Duint, | 527 DELEGATE_TO_GL_1R(isTransformFeedback, IsTransformFeedback, WGC3Duint, |
| 595 WGC3Dboolean) | 528 WGC3Dboolean) |
| 596 DELEGATE_TO_GL_4R(mapBufferRange, MapBufferRange, WGC3Denum, WGC3Dintptr, | 529 DELEGATE_TO_GL_4R(mapBufferRange, MapBufferRange, WGC3Denum, WGC3Dintptr, |
| 597 WGC3Dsizeiptr, WGC3Dbitfield, void*); | 530 WGC3Dsizeiptr, WGC3Dbitfield, void*); |
| 598 DELEGATE_TO_GL(pauseTransformFeedback, PauseTransformFeedback) | 531 DELEGATE_TO_GL(pauseTransformFeedback, PauseTransformFeedback) |
| 599 //DELEGATE_TO_GL_3(programParameteri, ProgramParameteri, WGC3Duint, WGC3Denum, | 532 //DELEGATE_TO_GL_3(programParameteri, ProgramParameteri, WGC3Duint, WGC3Denum, |
| 600 // WGC3Dint) | 533 // WGC3Dint) |
| 601 DELEGATE_TO_GL_1(readBuffer, ReadBuffer, WGC3Denum) | 534 DELEGATE_TO_GL_1(readBuffer, ReadBuffer, WGC3Denum) |
| 602 DELEGATE_TO_GL(resumeTransformFeedback, ResumeTransformFeedback) | 535 DELEGATE_TO_GL(resumeTransformFeedback, ResumeTransformFeedback) |
| 603 DELEGATE_TO_GL_3(samplerParameterf, SamplerParameterf, WGC3Duint, WGC3Denum, | 536 DELEGATE_TO_GL_3(samplerParameterf, SamplerParameterf, WGC3Duint, WGC3Denum, |
| 604 WGC3Dfloat) | 537 WGC3Dfloat) |
| 605 DELEGATE_TO_GL_3(samplerParameterfv, SamplerParameterfv, WGC3Duint, WGC3Denum, | 538 DELEGATE_TO_GL_3(samplerParameterfv, SamplerParameterfv, WGC3Duint, WGC3Denum, |
| 606 const WGC3Dfloat *) | 539 const WGC3Dfloat *) |
| 607 DELEGATE_TO_GL_3(samplerParameteri, SamplerParameteri, WGC3Duint, WGC3Denum, | 540 DELEGATE_TO_GL_3(samplerParameteri, SamplerParameteri, WGC3Duint, WGC3Denum, |
| 608 WGC3Dint) | 541 WGC3Dint) |
| 609 DELEGATE_TO_GL_3(samplerParameteriv, SamplerParameteriv, WGC3Duint, WGC3Denum, | 542 DELEGATE_TO_GL_3(samplerParameteriv, SamplerParameteriv, WGC3Duint, WGC3Denum, |
| 610 const WGC3Dint *) | 543 const WGC3Dint *) |
| 611 DELEGATE_TO_GL_4(transformFeedbackVaryings, TransformFeedbackVaryings, | 544 DELEGATE_TO_GL_4(transformFeedbackVaryings, TransformFeedbackVaryings, |
| 612 WGC3Duint, WGC3Dsizei, const WGC3Dchar *const*, WGC3Denum) | 545 WGC3Duint, WGC3Dsizei, const WGC3Dchar *const*, WGC3Denum) |
| 613 DELEGATE_TO_GL_1R(unmapBuffer, UnmapBuffer, WGC3Denum, WGC3Dboolean); | 546 DELEGATE_TO_GL_1R(unmapBuffer, UnmapBuffer, WGC3Denum, WGC3Dboolean); |
| 614 void WebGraphicsContext3DImpl::vertexAttribIPointer( | |
| 615 WGC3Duint index, WGC3Dint size, WGC3Denum type, WGC3Dsizei stride, | |
| 616 WGC3Dintptr offset) { | |
| 617 gl_->VertexAttribIPointer( | |
| 618 index, size, type, stride, | |
| 619 reinterpret_cast<void*>(static_cast<intptr_t>(offset))); | |
| 620 } | |
| 621 void WebGraphicsContext3DImpl::waitSync(WGC3Dsync sync, | |
| 622 WGC3Dbitfield flags, | |
| 623 WGC3Duint64 timeout) { | |
| 624 gl_->WaitSync(reinterpret_cast<GLsync>(sync), flags, timeout); | |
| 625 } | |
| 626 | 547 |
| 627 ::gpu::gles2::GLES2Interface* WebGraphicsContext3DImpl::getGLES2Interface() { | 548 ::gpu::gles2::GLES2Interface* WebGraphicsContext3DImpl::getGLES2Interface() { |
| 628 return gl_; | 549 return gl_; |
| 629 } | 550 } |
| 630 | 551 |
| 631 ::gpu::gles2::GLES2ImplementationErrorMessageCallback* | 552 ::gpu::gles2::GLES2ImplementationErrorMessageCallback* |
| 632 WebGraphicsContext3DImpl::getErrorMessageCallback() { | 553 WebGraphicsContext3DImpl::getErrorMessageCallback() { |
| 633 if (!client_error_message_callback_) { | 554 if (!client_error_message_callback_) { |
| 634 client_error_message_callback_.reset( | 555 client_error_message_callback_.reset( |
| 635 new WebGraphicsContext3DErrorMessageCallback(this)); | 556 new WebGraphicsContext3DErrorMessageCallback(this)); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_WEBGL2; | 603 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_WEBGL2; |
| 683 break; | 604 break; |
| 684 default: | 605 default: |
| 685 NOTREACHED(); | 606 NOTREACHED(); |
| 686 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_OPENGLES2; | 607 output_attribs->context_type = ::gpu::gles2::CONTEXT_TYPE_OPENGLES2; |
| 687 break; | 608 break; |
| 688 } | 609 } |
| 689 } | 610 } |
| 690 | 611 |
| 691 } // namespace gpu_blink | 612 } // namespace gpu_blink |
| OLD | NEW |