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 | 5 |
6 #include "ui/gl/gl_bindings_skia_in_process.h" | 6 #include "ui/gl/gl_bindings_skia_in_process.h" |
7 | 7 |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "third_party/skia/include/gpu/gl/GrGLInterface.h" | 9 #include "third_party/skia/include/gpu/gl/GrGLInterface.h" |
10 #include "ui/gl/gl_bindings.h" | 10 #include "ui/gl/gl_bindings.h" |
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
550 | 550 |
551 GLvoid StubGLViewport(GLint x, GLint y, GLsizei width, GLsizei height) { | 551 GLvoid StubGLViewport(GLint x, GLint y, GLsizei width, GLsizei height) { |
552 glViewport(x, y, width, height); | 552 glViewport(x, y, width, height); |
553 } | 553 } |
554 } // extern "C" | 554 } // extern "C" |
555 } // namespace | 555 } // namespace |
556 | 556 |
557 namespace gfx { | 557 namespace gfx { |
558 | 558 |
559 GrGLInterface* CreateInProcessSkiaGLBinding() { | 559 GrGLInterface* CreateInProcessSkiaGLBinding() { |
560 GrGLBinding binding; | 560 GrGLStandard standard; |
561 switch (gfx::GetGLImplementation()) { | 561 switch (gfx::GetGLImplementation()) { |
562 case gfx::kGLImplementationNone: | 562 case gfx::kGLImplementationNone: |
563 NOTREACHED(); | 563 NOTREACHED(); |
564 return NULL; | 564 return NULL; |
565 case gfx::kGLImplementationDesktopGL: | 565 case gfx::kGLImplementationDesktopGL: |
566 case gfx::kGLImplementationAppleGL: | 566 case gfx::kGLImplementationAppleGL: |
567 binding = kDesktop_GrGLBinding; | 567 standard = kGL_GrGLStandard; |
568 break; | 568 break; |
569 case gfx::kGLImplementationOSMesaGL: | 569 case gfx::kGLImplementationOSMesaGL: |
570 binding = kDesktop_GrGLBinding; | 570 standard = kGL_GrGLStandard; |
571 break; | 571 break; |
572 case gfx::kGLImplementationEGLGLES2: | 572 case gfx::kGLImplementationEGLGLES2: |
573 binding = kES2_GrGLBinding; | 573 standard = kGLES_GrGLStandard; |
574 break; | 574 break; |
575 case gfx::kGLImplementationMockGL: | 575 case gfx::kGLImplementationMockGL: |
576 NOTREACHED(); | 576 NOTREACHED(); |
577 return NULL; | 577 return NULL; |
578 default: | 578 default: |
579 NOTREACHED(); | 579 NOTREACHED(); |
580 return NULL; | 580 return NULL; |
581 } | 581 } |
582 | 582 |
583 GrGLInterface* interface = new GrGLInterface; | 583 GrGLInterface* interface = new GrGLInterface; |
| 584 interface->fStandard = standard; |
| 585 interface->fExtensions.init(standard, |
| 586 StubGLGetString, |
| 587 NULL, |
| 588 StubGLGetIntegerv); |
584 | 589 |
585 interface->fBindingsExported = binding; | 590 GrGLInterface::Functions* functions = &interface->fFunctions; |
586 interface->fActiveTexture = StubGLActiveTexture; | 591 functions->fActiveTexture = StubGLActiveTexture; |
587 interface->fAttachShader = StubGLAttachShader; | 592 functions->fAttachShader = StubGLAttachShader; |
588 interface->fBeginQuery = StubGLBeginQuery; | 593 functions->fBeginQuery = StubGLBeginQuery; |
589 interface->fBindAttribLocation = StubGLBindAttribLocation; | 594 functions->fBindAttribLocation = StubGLBindAttribLocation; |
590 interface->fBindBuffer = StubGLBindBuffer; | 595 functions->fBindBuffer = StubGLBindBuffer; |
591 interface->fBindFragDataLocation = StubGLBindFragDataLocation; | 596 functions->fBindFragDataLocation = StubGLBindFragDataLocation; |
592 interface->fBindTexture = StubGLBindTexture; | 597 functions->fBindTexture = StubGLBindTexture; |
593 interface->fBindVertexArray = StubGLBindVertexArray; | 598 functions->fBindVertexArray = StubGLBindVertexArray; |
594 interface->fBlendColor = StubGLBlendColor; | 599 functions->fBlendColor = StubGLBlendColor; |
595 interface->fBlendFunc = StubGLBlendFunc; | 600 functions->fBlendFunc = StubGLBlendFunc; |
596 interface->fBufferData = StubGLBufferData; | 601 functions->fBufferData = StubGLBufferData; |
597 interface->fBufferSubData = StubGLBufferSubData; | 602 functions->fBufferSubData = StubGLBufferSubData; |
598 interface->fClear = StubGLClear; | 603 functions->fClear = StubGLClear; |
599 interface->fClearColor = StubGLClearColor; | 604 functions->fClearColor = StubGLClearColor; |
600 interface->fClearStencil = StubGLClearStencil; | 605 functions->fClearStencil = StubGLClearStencil; |
601 interface->fColorMask = StubGLColorMask; | 606 functions->fColorMask = StubGLColorMask; |
602 interface->fCompileShader = StubGLCompileShader; | 607 functions->fCompileShader = StubGLCompileShader; |
603 interface->fCompressedTexImage2D = StubGLCompressedTexImage2D; | 608 functions->fCompressedTexImage2D = StubGLCompressedTexImage2D; |
604 interface->fCopyTexSubImage2D = StubGLCopyTexSubImage2D; | 609 functions->fCopyTexSubImage2D = StubGLCopyTexSubImage2D; |
605 interface->fCreateProgram = StubGLCreateProgram; | 610 functions->fCreateProgram = StubGLCreateProgram; |
606 interface->fCreateShader = StubGLCreateShader; | 611 functions->fCreateShader = StubGLCreateShader; |
607 interface->fCullFace = StubGLCullFace; | 612 functions->fCullFace = StubGLCullFace; |
608 interface->fDeleteBuffers = StubGLDeleteBuffers; | 613 functions->fDeleteBuffers = StubGLDeleteBuffers; |
609 interface->fDeleteProgram = StubGLDeleteProgram; | 614 functions->fDeleteProgram = StubGLDeleteProgram; |
610 interface->fDeleteQueries = StubGLDeleteQueries; | 615 functions->fDeleteQueries = StubGLDeleteQueries; |
611 interface->fDeleteShader = StubGLDeleteShader; | 616 functions->fDeleteShader = StubGLDeleteShader; |
612 interface->fDeleteTextures = StubGLDeleteTextures; | 617 functions->fDeleteTextures = StubGLDeleteTextures; |
613 interface->fDeleteVertexArrays = StubGLDeleteVertexArrays; | 618 functions->fDeleteVertexArrays = StubGLDeleteVertexArrays; |
614 interface->fDepthMask = StubGLDepthMask; | 619 functions->fDepthMask = StubGLDepthMask; |
615 interface->fDisable = StubGLDisable; | 620 functions->fDisable = StubGLDisable; |
616 interface->fDisableVertexAttribArray = StubGLDisableVertexAttribArray; | 621 functions->fDisableVertexAttribArray = StubGLDisableVertexAttribArray; |
617 interface->fDrawArrays = StubGLDrawArrays; | 622 functions->fDrawArrays = StubGLDrawArrays; |
618 interface->fDrawBuffer = StubGLDrawBuffer; | 623 functions->fDrawBuffer = StubGLDrawBuffer; |
619 interface->fDrawBuffers = StubGLDrawBuffers; | 624 functions->fDrawBuffers = StubGLDrawBuffers; |
620 interface->fDrawElements = StubGLDrawElements; | 625 functions->fDrawElements = StubGLDrawElements; |
621 interface->fEnable = StubGLEnable; | 626 functions->fEnable = StubGLEnable; |
622 interface->fEnableVertexAttribArray = StubGLEnableVertexAttribArray; | 627 functions->fEnableVertexAttribArray = StubGLEnableVertexAttribArray; |
623 interface->fEndQuery = StubGLEndQuery; | 628 functions->fEndQuery = StubGLEndQuery; |
624 interface->fFinish = StubGLFinish; | 629 functions->fFinish = StubGLFinish; |
625 interface->fFlush = StubGLFlush; | 630 functions->fFlush = StubGLFlush; |
626 interface->fFrontFace = StubGLFrontFace; | 631 functions->fFrontFace = StubGLFrontFace; |
627 interface->fGenBuffers = StubGLGenBuffers; | 632 functions->fGenBuffers = StubGLGenBuffers; |
628 interface->fGenQueries = StubGLGenQueries; | 633 functions->fGenQueries = StubGLGenQueries; |
629 interface->fGenTextures = StubGLGenTextures; | 634 functions->fGenTextures = StubGLGenTextures; |
630 interface->fGenVertexArrays = StubGLGenVertexArrays; | 635 functions->fGenVertexArrays = StubGLGenVertexArrays; |
631 interface->fGetBufferParameteriv = StubGLGetBufferParameteriv; | 636 functions->fGetBufferParameteriv = StubGLGetBufferParameteriv; |
632 interface->fGetError = StubGLGetError; | 637 functions->fGetError = StubGLGetError; |
633 interface->fGetIntegerv = StubGLGetIntegerv; | 638 functions->fGetIntegerv = StubGLGetIntegerv; |
634 interface->fGetQueryiv = StubGLGetQueryiv; | 639 functions->fGetQueryiv = StubGLGetQueryiv; |
635 interface->fGetQueryObjecti64v = StubGLGetQueryObjecti64v; | 640 functions->fGetQueryObjecti64v = StubGLGetQueryObjecti64v; |
636 interface->fGetQueryObjectiv = StubGLGetQueryObjectiv; | 641 functions->fGetQueryObjectiv = StubGLGetQueryObjectiv; |
637 interface->fGetQueryObjectui64v = StubGLGetQueryObjectui64v; | 642 functions->fGetQueryObjectui64v = StubGLGetQueryObjectui64v; |
638 interface->fGetQueryObjectuiv = StubGLGetQueryObjectuiv; | 643 functions->fGetQueryObjectuiv = StubGLGetQueryObjectuiv; |
639 interface->fGetProgramInfoLog = StubGLGetProgramInfoLog; | 644 functions->fGetProgramInfoLog = StubGLGetProgramInfoLog; |
640 interface->fGetProgramiv = StubGLGetProgramiv; | 645 functions->fGetProgramiv = StubGLGetProgramiv; |
641 interface->fGetShaderInfoLog = StubGLGetShaderInfoLog; | 646 functions->fGetShaderInfoLog = StubGLGetShaderInfoLog; |
642 interface->fGetShaderiv = StubGLGetShaderiv; | 647 functions->fGetShaderiv = StubGLGetShaderiv; |
643 interface->fGetString = StubGLGetString; | 648 functions->fGetString = StubGLGetString; |
644 interface->fGetTexLevelParameteriv = StubGLGetTexLevelParameteriv; | 649 functions->fGetTexLevelParameteriv = StubGLGetTexLevelParameteriv; |
645 interface->fGetUniformLocation = StubGLGetUniformLocation; | 650 functions->fGetUniformLocation = StubGLGetUniformLocation; |
646 interface->fLineWidth = StubGLLineWidth; | 651 functions->fLineWidth = StubGLLineWidth; |
647 interface->fLinkProgram = StubGLLinkProgram; | 652 functions->fLinkProgram = StubGLLinkProgram; |
648 interface->fPixelStorei = StubGLPixelStorei; | 653 functions->fPixelStorei = StubGLPixelStorei; |
649 interface->fQueryCounter = StubGLQueryCounter; | 654 functions->fQueryCounter = StubGLQueryCounter; |
650 interface->fReadBuffer = StubGLReadBuffer; | 655 functions->fReadBuffer = StubGLReadBuffer; |
651 interface->fReadPixels = StubGLReadPixels; | 656 functions->fReadPixels = StubGLReadPixels; |
652 interface->fScissor = StubGLScissor; | 657 functions->fScissor = StubGLScissor; |
653 interface->fShaderSource = StubGLShaderSource; | 658 functions->fShaderSource = StubGLShaderSource; |
654 interface->fStencilFunc = StubGLStencilFunc; | 659 functions->fStencilFunc = StubGLStencilFunc; |
655 interface->fStencilFuncSeparate = StubGLStencilFuncSeparate; | 660 functions->fStencilFuncSeparate = StubGLStencilFuncSeparate; |
656 interface->fStencilMask = StubGLStencilMask; | 661 functions->fStencilMask = StubGLStencilMask; |
657 interface->fStencilMaskSeparate = StubGLStencilMaskSeparate; | 662 functions->fStencilMaskSeparate = StubGLStencilMaskSeparate; |
658 interface->fStencilOp = StubGLStencilOp; | 663 functions->fStencilOp = StubGLStencilOp; |
659 interface->fStencilOpSeparate = StubGLStencilOpSeparate; | 664 functions->fStencilOpSeparate = StubGLStencilOpSeparate; |
660 interface->fTexImage2D = StubGLTexImage2D; | 665 functions->fTexImage2D = StubGLTexImage2D; |
661 interface->fTexParameteri = StubGLTexParameteri; | 666 functions->fTexParameteri = StubGLTexParameteri; |
662 interface->fTexParameteriv = StubGLTexParameteriv; | 667 functions->fTexParameteriv = StubGLTexParameteriv; |
663 interface->fTexSubImage2D = StubGLTexSubImage2D; | 668 functions->fTexSubImage2D = StubGLTexSubImage2D; |
664 interface->fTexStorage2D = StubGLTexStorage2D; | 669 functions->fTexStorage2D = StubGLTexStorage2D; |
665 interface->fUniform1f = StubGLUniform1f; | 670 functions->fUniform1f = StubGLUniform1f; |
666 interface->fUniform1i = StubGLUniform1i; | 671 functions->fUniform1i = StubGLUniform1i; |
667 interface->fUniform1fv = StubGLUniform1fv; | 672 functions->fUniform1fv = StubGLUniform1fv; |
668 interface->fUniform1iv = StubGLUniform1iv; | 673 functions->fUniform1iv = StubGLUniform1iv; |
669 interface->fUniform2f = StubGLUniform2f; | 674 functions->fUniform2f = StubGLUniform2f; |
670 interface->fUniform2i = StubGLUniform2i; | 675 functions->fUniform2i = StubGLUniform2i; |
671 interface->fUniform2fv = StubGLUniform2fv; | 676 functions->fUniform2fv = StubGLUniform2fv; |
672 interface->fUniform2iv = StubGLUniform2iv; | 677 functions->fUniform2iv = StubGLUniform2iv; |
673 interface->fUniform3f = StubGLUniform3f; | 678 functions->fUniform3f = StubGLUniform3f; |
674 interface->fUniform3i = StubGLUniform3i; | 679 functions->fUniform3i = StubGLUniform3i; |
675 interface->fUniform3fv = StubGLUniform3fv; | 680 functions->fUniform3fv = StubGLUniform3fv; |
676 interface->fUniform3iv = StubGLUniform3iv; | 681 functions->fUniform3iv = StubGLUniform3iv; |
677 interface->fUniform4f = StubGLUniform4f; | 682 functions->fUniform4f = StubGLUniform4f; |
678 interface->fUniform4i = StubGLUniform4i; | 683 functions->fUniform4i = StubGLUniform4i; |
679 interface->fUniform4fv = StubGLUniform4fv; | 684 functions->fUniform4fv = StubGLUniform4fv; |
680 interface->fUniform4iv = StubGLUniform4iv; | 685 functions->fUniform4iv = StubGLUniform4iv; |
681 interface->fUniformMatrix2fv = StubGLUniformMatrix2fv; | 686 functions->fUniformMatrix2fv = StubGLUniformMatrix2fv; |
682 interface->fUniformMatrix3fv = StubGLUniformMatrix3fv; | 687 functions->fUniformMatrix3fv = StubGLUniformMatrix3fv; |
683 interface->fUniformMatrix4fv = StubGLUniformMatrix4fv; | 688 functions->fUniformMatrix4fv = StubGLUniformMatrix4fv; |
684 interface->fUseProgram = StubGLUseProgram; | 689 functions->fUseProgram = StubGLUseProgram; |
685 interface->fVertexAttrib4fv = StubGLVertexAttrib4fv; | 690 functions->fVertexAttrib4fv = StubGLVertexAttrib4fv; |
686 interface->fVertexAttribPointer = StubGLVertexAttribPointer; | 691 functions->fVertexAttribPointer = StubGLVertexAttribPointer; |
687 interface->fViewport = StubGLViewport; | 692 functions->fViewport = StubGLViewport; |
688 interface->fBindFramebuffer = StubGLBindFramebuffer; | 693 functions->fBindFramebuffer = StubGLBindFramebuffer; |
689 interface->fBindRenderbuffer = StubGLBindRenderbuffer; | 694 functions->fBindRenderbuffer = StubGLBindRenderbuffer; |
690 interface->fCheckFramebufferStatus = StubGLCheckFramebufferStatus; | 695 functions->fCheckFramebufferStatus = StubGLCheckFramebufferStatus; |
691 interface->fDeleteFramebuffers = StubGLDeleteFramebuffers; | 696 functions->fDeleteFramebuffers = StubGLDeleteFramebuffers; |
692 interface->fDeleteRenderbuffers = StubGLDeleteRenderbuffers; | 697 functions->fDeleteRenderbuffers = StubGLDeleteRenderbuffers; |
693 interface->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer; | 698 functions->fFramebufferRenderbuffer = StubGLFramebufferRenderbuffer; |
694 interface->fFramebufferTexture2D = StubGLFramebufferTexture2D; | 699 functions->fFramebufferTexture2D = StubGLFramebufferTexture2D; |
695 interface->fFramebufferTexture2DMultisample = | 700 functions->fFramebufferTexture2DMultisample = |
696 StubGLFramebufferTexture2DMultisample; | 701 StubGLFramebufferTexture2DMultisample; |
697 interface->fGenFramebuffers = StubGLGenFramebuffers; | 702 functions->fGenFramebuffers = StubGLGenFramebuffers; |
698 interface->fGenRenderbuffers = StubGLGenRenderbuffers; | 703 functions->fGenRenderbuffers = StubGLGenRenderbuffers; |
699 interface->fGetFramebufferAttachmentParameteriv = | 704 functions->fGetFramebufferAttachmentParameteriv = |
700 StubGLGetFramebufferAttachmentParameteriv; | 705 StubGLGetFramebufferAttachmentParameteriv; |
701 interface->fGetRenderbufferParameteriv = StubGLGetRenderbufferParameteriv; | 706 functions->fGetRenderbufferParameteriv = StubGLGetRenderbufferParameteriv; |
702 interface->fRenderbufferStorage = StubGLRenderbufferStorage; | 707 functions->fRenderbufferStorage = StubGLRenderbufferStorage; |
703 interface->fRenderbufferStorageMultisample = | 708 functions->fRenderbufferStorageMultisample = |
704 StubGLRenderbufferStorageMultisample; | 709 StubGLRenderbufferStorageMultisample; |
705 interface->fBlitFramebuffer = StubGLBlitFramebuffer; | 710 functions->fBlitFramebuffer = StubGLBlitFramebuffer; |
706 interface->fMapBuffer = StubGLMapBuffer; | 711 functions->fMapBuffer = StubGLMapBuffer; |
707 interface->fUnmapBuffer = StubGLUnmapBuffer; | 712 functions->fUnmapBuffer = StubGLUnmapBuffer; |
708 interface->fBindFragDataLocationIndexed = | 713 functions->fBindFragDataLocationIndexed = |
709 StubGLBindFragDataLocationIndexed; | 714 StubGLBindFragDataLocationIndexed; |
| 715 |
710 return interface; | 716 return interface; |
711 } | 717 } |
712 | 718 |
713 } // namespace gfx | 719 } // namespace gfx |
OLD | NEW |