| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2012 Google Inc. | 3 * Copyright 2012 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #include "gl/GrGLInterface.h" | 10 #include "gl/GrGLInterface.h" |
| (...skipping 604 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 615 GrBufferObj, | 615 GrBufferObj, |
| 616 GrDebugGL::kBuffer_ObjTypes); | 616 GrDebugGL::kBuffer_ObjTypes); |
| 617 GrAlwaysAssert(buffer); | 617 GrAlwaysAssert(buffer); |
| 618 | 618 |
| 619 GrAlwaysAssert(!buffer->getDeleted()); | 619 GrAlwaysAssert(!buffer->getDeleted()); |
| 620 buffer->deleteAction(); | 620 buffer->deleteAction(); |
| 621 } | 621 } |
| 622 } | 622 } |
| 623 | 623 |
| 624 // map a buffer to the caller's address space | 624 // map a buffer to the caller's address space |
| 625 GrGLvoid* GR_GL_FUNCTION_TYPE debugGLMapBuffer(GrGLenum target, GrGLenum access)
{ | 625 GrGLvoid* GR_GL_FUNCTION_TYPE debugGLMapBufferRange(GrGLenum target, GrGLintptr
offset, |
| 626 | 626 GrGLsizeiptr length, GrGLbit
field access) { |
| 627 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || | 627 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || |
| 628 GR_GL_ELEMENT_ARRAY_BUFFER == target); | 628 GR_GL_ELEMENT_ARRAY_BUFFER == target); |
| 629 // GR_GL_READ_ONLY == access || || GR_GL_READ_WRIT == access); | 629 |
| 630 GrAlwaysAssert(GR_GL_WRITE_ONLY == access); | 630 // We only expect read access and we expect that the buffer or range is alwa
ys invalidated. |
| 631 GrAlwaysAssert(!SkToBool(GR_GL_MAP_READ_BIT & access)); |
| 632 GrAlwaysAssert((GR_GL_MAP_INVALIDATE_BUFFER_BIT | GR_GL_MAP_INVALIDATE_RANGE
_BIT) & access); |
| 631 | 633 |
| 632 GrBufferObj *buffer = NULL; | 634 GrBufferObj *buffer = NULL; |
| 633 switch (target) { | 635 switch (target) { |
| 634 case GR_GL_ARRAY_BUFFER: | 636 case GR_GL_ARRAY_BUFFER: |
| 635 buffer = GrDebugGL::getInstance()->getArrayBuffer(); | 637 buffer = GrDebugGL::getInstance()->getArrayBuffer(); |
| 636 break; | 638 break; |
| 637 case GR_GL_ELEMENT_ARRAY_BUFFER: | 639 case GR_GL_ELEMENT_ARRAY_BUFFER: |
| 638 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); | 640 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); |
| 639 break; | 641 break; |
| 640 default: | 642 default: |
| 643 SkFAIL("Unexpected target to glMapBufferRange"); |
| 644 break; |
| 645 } |
| 646 |
| 647 if (NULL != buffer) { |
| 648 GrAlwaysAssert(offset >= 0 && offset + length <= buffer->getSize()); |
| 649 GrAlwaysAssert(!buffer->getMapped()); |
| 650 buffer->setMapped(offset, length); |
| 651 return buffer->getDataPtr() + offset; |
| 652 } |
| 653 |
| 654 GrAlwaysAssert(false); |
| 655 return NULL; // no buffer bound to the target |
| 656 } |
| 657 |
| 658 GrGLvoid* GR_GL_FUNCTION_TYPE debugGLMapBuffer(GrGLenum target, GrGLenum access)
{ |
| 659 GrAlwaysAssert(GR_GL_WRITE_ONLY == access); |
| 660 |
| 661 GrBufferObj *buffer = NULL; |
| 662 switch (target) { |
| 663 case GR_GL_ARRAY_BUFFER: |
| 664 buffer = GrDebugGL::getInstance()->getArrayBuffer(); |
| 665 break; |
| 666 case GR_GL_ELEMENT_ARRAY_BUFFER: |
| 667 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); |
| 668 break; |
| 669 default: |
| 641 SkFAIL("Unexpected target to glMapBuffer"); | 670 SkFAIL("Unexpected target to glMapBuffer"); |
| 642 break; | 671 break; |
| 643 } | 672 } |
| 644 | 673 |
| 645 if (buffer) { | 674 return debugGLMapBufferRange(target, 0, buffer->getSize(), |
| 646 GrAlwaysAssert(!buffer->getMapped()); | 675 GR_GL_MAP_WRITE_BIT | GR_GL_MAP_INVALIDATE_BUFF
ER_BIT); |
| 647 buffer->setMapped(); | |
| 648 return buffer->getDataPtr(); | |
| 649 } | |
| 650 | |
| 651 GrAlwaysAssert(false); | |
| 652 return NULL; // no buffer bound to the target | |
| 653 } | 676 } |
| 654 | 677 |
| 655 // remove a buffer from the caller's address space | 678 // remove a buffer from the caller's address space |
| 656 // TODO: check if the "access" method from "glMapBuffer" was honored | 679 // TODO: check if the "access" method from "glMapBuffer" was honored |
| 657 GrGLboolean GR_GL_FUNCTION_TYPE debugGLUnmapBuffer(GrGLenum target) { | 680 GrGLboolean GR_GL_FUNCTION_TYPE debugGLUnmapBuffer(GrGLenum target) { |
| 658 | 681 |
| 659 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || | 682 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || |
| 660 GR_GL_ELEMENT_ARRAY_BUFFER == target); | 683 GR_GL_ELEMENT_ARRAY_BUFFER == target); |
| 661 | 684 |
| 662 GrBufferObj *buffer = NULL; | 685 GrBufferObj *buffer = NULL; |
| 663 switch (target) { | 686 switch (target) { |
| 664 case GR_GL_ARRAY_BUFFER: | 687 case GR_GL_ARRAY_BUFFER: |
| 665 buffer = GrDebugGL::getInstance()->getArrayBuffer(); | 688 buffer = GrDebugGL::getInstance()->getArrayBuffer(); |
| 666 break; | 689 break; |
| 667 case GR_GL_ELEMENT_ARRAY_BUFFER: | 690 case GR_GL_ELEMENT_ARRAY_BUFFER: |
| 668 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); | 691 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); |
| 669 break; | 692 break; |
| 670 default: | 693 default: |
| 671 SkFAIL("Unexpected target to glUnmapBuffer"); | 694 SkFAIL("Unexpected target to glUnmapBuffer"); |
| 672 break; | 695 break; |
| 673 } | 696 } |
| 674 | 697 |
| 675 if (buffer) { | 698 if (NULL != buffer) { |
| 676 GrAlwaysAssert(buffer->getMapped()); | 699 GrAlwaysAssert(buffer->getMapped()); |
| 677 buffer->resetMapped(); | 700 buffer->resetMapped(); |
| 678 return GR_GL_TRUE; | 701 return GR_GL_TRUE; |
| 679 } | 702 } |
| 680 | 703 |
| 681 GrAlwaysAssert(false); | 704 GrAlwaysAssert(false); |
| 682 return GR_GL_FALSE; // GR_GL_INVALID_OPERATION; | 705 return GR_GL_FALSE; // GR_GL_INVALID_OPERATION; |
| 683 } | 706 } |
| 684 | 707 |
| 708 GrGLvoid GR_GL_FUNCTION_TYPE debugGLFlushMappedBufferRange(GrGLenum target, |
| 709 GrGLintptr offset, |
| 710 GrGLsizeiptr length)
{ |
| 711 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || |
| 712 GR_GL_ELEMENT_ARRAY_BUFFER == target); |
| 713 |
| 714 GrBufferObj *buffer = NULL; |
| 715 switch (target) { |
| 716 case GR_GL_ARRAY_BUFFER: |
| 717 buffer = GrDebugGL::getInstance()->getArrayBuffer(); |
| 718 break; |
| 719 case GR_GL_ELEMENT_ARRAY_BUFFER: |
| 720 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); |
| 721 break; |
| 722 default: |
| 723 SkFAIL("Unexpected target to glUnmapBuffer"); |
| 724 break; |
| 725 } |
| 726 |
| 727 if (NULL != buffer) { |
| 728 GrAlwaysAssert(buffer->getMapped()); |
| 729 GrAlwaysAssert(offset >= 0 && (offset + length) <= buffer->getMappedLeng
th()); |
| 730 } else { |
| 731 GrAlwaysAssert(false); |
| 732 } |
| 733 } |
| 734 |
| 735 |
| 685 GrGLvoid GR_GL_FUNCTION_TYPE debugGLGetBufferParameteriv(GrGLenum target, | 736 GrGLvoid GR_GL_FUNCTION_TYPE debugGLGetBufferParameteriv(GrGLenum target, |
| 686 GrGLenum value, | 737 GrGLenum value, |
| 687 GrGLint* params) { | 738 GrGLint* params) { |
| 688 | 739 |
| 689 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || | 740 GrAlwaysAssert(GR_GL_ARRAY_BUFFER == target || |
| 690 GR_GL_ELEMENT_ARRAY_BUFFER == target); | 741 GR_GL_ELEMENT_ARRAY_BUFFER == target); |
| 691 GrAlwaysAssert(GR_GL_BUFFER_SIZE == value || | 742 GrAlwaysAssert(GR_GL_BUFFER_SIZE == value || |
| 692 GR_GL_BUFFER_USAGE == value); | 743 GR_GL_BUFFER_USAGE == value); |
| 693 | 744 |
| 694 GrBufferObj *buffer = NULL; | 745 GrBufferObj *buffer = NULL; |
| 695 switch (target) { | 746 switch (target) { |
| 696 case GR_GL_ARRAY_BUFFER: | 747 case GR_GL_ARRAY_BUFFER: |
| 697 buffer = GrDebugGL::getInstance()->getArrayBuffer(); | 748 buffer = GrDebugGL::getInstance()->getArrayBuffer(); |
| 698 break; | 749 break; |
| 699 case GR_GL_ELEMENT_ARRAY_BUFFER: | 750 case GR_GL_ELEMENT_ARRAY_BUFFER: |
| 700 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); | 751 buffer = GrDebugGL::getInstance()->getElementArrayBuffer(); |
| 701 break; | 752 break; |
| 702 } | 753 } |
| 703 | 754 |
| 704 GrAlwaysAssert(buffer); | 755 GrAlwaysAssert(buffer); |
| 705 | 756 |
| 706 switch (value) { | 757 switch (value) { |
| 707 case GR_GL_BUFFER_MAPPED: | 758 case GR_GL_BUFFER_MAPPED: |
| 708 *params = GR_GL_FALSE; | 759 *params = GR_GL_FALSE; |
| 709 if (buffer) | 760 if (NULL != buffer) |
| 710 *params = buffer->getMapped() ? GR_GL_TRUE : GR_GL_FALSE; | 761 *params = buffer->getMapped() ? GR_GL_TRUE : GR_GL_FALSE; |
| 711 break; | 762 break; |
| 712 case GR_GL_BUFFER_SIZE: | 763 case GR_GL_BUFFER_SIZE: |
| 713 *params = 0; | 764 *params = 0; |
| 714 if (buffer) | 765 if (NULL != buffer) |
| 715 *params = SkToInt(buffer->getSize()); | 766 *params = SkToInt(buffer->getSize()); |
| 716 break; | 767 break; |
| 717 case GR_GL_BUFFER_USAGE: | 768 case GR_GL_BUFFER_USAGE: |
| 718 *params = GR_GL_STATIC_DRAW; | 769 *params = GR_GL_STATIC_DRAW; |
| 719 if (buffer) | 770 if (NULL != buffer) |
| 720 *params = buffer->getUsage(); | 771 *params = buffer->getUsage(); |
| 721 break; | 772 break; |
| 722 default: | 773 default: |
| 723 SkFAIL("Unexpected value to glGetBufferParamateriv"); | 774 SkFAIL("Unexpected value to glGetBufferParamateriv"); |
| 724 break; | 775 break; |
| 725 } | 776 } |
| 726 }; | 777 }; |
| 727 } // end of namespace | 778 } // end of namespace |
| 728 | 779 |
| 729 //////////////////////////////////////////////////////////////////////////////// | 780 //////////////////////////////////////////////////////////////////////////////// |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 functions->fDisableVertexAttribArray = noOpGLDisableVertexAttribArray; | 870 functions->fDisableVertexAttribArray = noOpGLDisableVertexAttribArray; |
| 820 functions->fDrawArrays = noOpGLDrawArrays; | 871 functions->fDrawArrays = noOpGLDrawArrays; |
| 821 functions->fDrawBuffer = noOpGLDrawBuffer; | 872 functions->fDrawBuffer = noOpGLDrawBuffer; |
| 822 functions->fDrawBuffers = noOpGLDrawBuffers; | 873 functions->fDrawBuffers = noOpGLDrawBuffers; |
| 823 functions->fDrawElements = noOpGLDrawElements; | 874 functions->fDrawElements = noOpGLDrawElements; |
| 824 functions->fEnable = noOpGLEnable; | 875 functions->fEnable = noOpGLEnable; |
| 825 functions->fEnableVertexAttribArray = noOpGLEnableVertexAttribArray; | 876 functions->fEnableVertexAttribArray = noOpGLEnableVertexAttribArray; |
| 826 functions->fEndQuery = noOpGLEndQuery; | 877 functions->fEndQuery = noOpGLEndQuery; |
| 827 functions->fFinish = noOpGLFinish; | 878 functions->fFinish = noOpGLFinish; |
| 828 functions->fFlush = noOpGLFlush; | 879 functions->fFlush = noOpGLFlush; |
| 880 functions->fFlushMappedBufferRange = debugGLFlushMappedBufferRange; |
| 829 functions->fFrontFace = noOpGLFrontFace; | 881 functions->fFrontFace = noOpGLFrontFace; |
| 830 functions->fGenerateMipmap = debugGLGenerateMipmap; | 882 functions->fGenerateMipmap = debugGLGenerateMipmap; |
| 831 functions->fGenBuffers = debugGLGenBuffers; | 883 functions->fGenBuffers = debugGLGenBuffers; |
| 832 functions->fGenQueries = noOpGLGenIds; | 884 functions->fGenQueries = noOpGLGenIds; |
| 833 functions->fGenTextures = debugGLGenTextures; | 885 functions->fGenTextures = debugGLGenTextures; |
| 834 functions->fGetBufferParameteriv = debugGLGetBufferParameteriv; | 886 functions->fGetBufferParameteriv = debugGLGetBufferParameteriv; |
| 835 functions->fGetError = noOpGLGetError; | 887 functions->fGetError = noOpGLGetError; |
| 836 functions->fGetIntegerv = noOpGLGetIntegerv; | 888 functions->fGetIntegerv = noOpGLGetIntegerv; |
| 837 functions->fGetQueryObjecti64v = noOpGLGetQueryObjecti64v; | 889 functions->fGetQueryObjecti64v = noOpGLGetQueryObjecti64v; |
| 838 functions->fGetQueryObjectiv = noOpGLGetQueryObjectiv; | 890 functions->fGetQueryObjectiv = noOpGLGetQueryObjectiv; |
| 839 functions->fGetQueryObjectui64v = noOpGLGetQueryObjectui64v; | 891 functions->fGetQueryObjectui64v = noOpGLGetQueryObjectui64v; |
| 840 functions->fGetQueryObjectuiv = noOpGLGetQueryObjectuiv; | 892 functions->fGetQueryObjectuiv = noOpGLGetQueryObjectuiv; |
| 841 functions->fGetQueryiv = noOpGLGetQueryiv; | 893 functions->fGetQueryiv = noOpGLGetQueryiv; |
| 842 functions->fGetProgramInfoLog = noOpGLGetInfoLog; | 894 functions->fGetProgramInfoLog = noOpGLGetInfoLog; |
| 843 functions->fGetProgramiv = noOpGLGetShaderOrProgramiv; | 895 functions->fGetProgramiv = noOpGLGetShaderOrProgramiv; |
| 844 functions->fGetShaderInfoLog = noOpGLGetInfoLog; | 896 functions->fGetShaderInfoLog = noOpGLGetInfoLog; |
| 845 functions->fGetShaderiv = noOpGLGetShaderOrProgramiv; | 897 functions->fGetShaderiv = noOpGLGetShaderOrProgramiv; |
| 846 functions->fGetString = noOpGLGetString; | 898 functions->fGetString = noOpGLGetString; |
| 847 functions->fGetStringi = noOpGLGetStringi; | 899 functions->fGetStringi = noOpGLGetStringi; |
| 848 functions->fGetTexLevelParameteriv = noOpGLGetTexLevelParameteriv; | 900 functions->fGetTexLevelParameteriv = noOpGLGetTexLevelParameteriv; |
| 849 functions->fGetUniformLocation = noOpGLGetUniformLocation; | 901 functions->fGetUniformLocation = noOpGLGetUniformLocation; |
| 850 functions->fGenVertexArrays = debugGLGenVertexArrays; | 902 functions->fGenVertexArrays = debugGLGenVertexArrays; |
| 851 functions->fLineWidth = noOpGLLineWidth; | 903 functions->fLineWidth = noOpGLLineWidth; |
| 852 functions->fLinkProgram = noOpGLLinkProgram; | 904 functions->fLinkProgram = noOpGLLinkProgram; |
| 905 functions->fMapBuffer = debugGLMapBuffer; |
| 906 functions->fMapBufferRange = debugGLMapBufferRange; |
| 853 functions->fPixelStorei = debugGLPixelStorei; | 907 functions->fPixelStorei = debugGLPixelStorei; |
| 854 functions->fQueryCounter = noOpGLQueryCounter; | 908 functions->fQueryCounter = noOpGLQueryCounter; |
| 855 functions->fReadBuffer = noOpGLReadBuffer; | 909 functions->fReadBuffer = noOpGLReadBuffer; |
| 856 functions->fReadPixels = debugGLReadPixels; | 910 functions->fReadPixels = debugGLReadPixels; |
| 857 functions->fScissor = noOpGLScissor; | 911 functions->fScissor = noOpGLScissor; |
| 858 functions->fShaderSource = noOpGLShaderSource; | 912 functions->fShaderSource = noOpGLShaderSource; |
| 859 functions->fStencilFunc = noOpGLStencilFunc; | 913 functions->fStencilFunc = noOpGLStencilFunc; |
| 860 functions->fStencilFuncSeparate = noOpGLStencilFuncSeparate; | 914 functions->fStencilFuncSeparate = noOpGLStencilFuncSeparate; |
| 861 functions->fStencilMask = noOpGLStencilMask; | 915 functions->fStencilMask = noOpGLStencilMask; |
| 862 functions->fStencilMaskSeparate = noOpGLStencilMaskSeparate; | 916 functions->fStencilMaskSeparate = noOpGLStencilMaskSeparate; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 880 functions->fUniform3i = noOpGLUniform3i; | 934 functions->fUniform3i = noOpGLUniform3i; |
| 881 functions->fUniform3fv = noOpGLUniform3fv; | 935 functions->fUniform3fv = noOpGLUniform3fv; |
| 882 functions->fUniform3iv = noOpGLUniform3iv; | 936 functions->fUniform3iv = noOpGLUniform3iv; |
| 883 functions->fUniform4f = noOpGLUniform4f; | 937 functions->fUniform4f = noOpGLUniform4f; |
| 884 functions->fUniform4i = noOpGLUniform4i; | 938 functions->fUniform4i = noOpGLUniform4i; |
| 885 functions->fUniform4fv = noOpGLUniform4fv; | 939 functions->fUniform4fv = noOpGLUniform4fv; |
| 886 functions->fUniform4iv = noOpGLUniform4iv; | 940 functions->fUniform4iv = noOpGLUniform4iv; |
| 887 functions->fUniformMatrix2fv = noOpGLUniformMatrix2fv; | 941 functions->fUniformMatrix2fv = noOpGLUniformMatrix2fv; |
| 888 functions->fUniformMatrix3fv = noOpGLUniformMatrix3fv; | 942 functions->fUniformMatrix3fv = noOpGLUniformMatrix3fv; |
| 889 functions->fUniformMatrix4fv = noOpGLUniformMatrix4fv; | 943 functions->fUniformMatrix4fv = noOpGLUniformMatrix4fv; |
| 944 functions->fUnmapBuffer = debugGLUnmapBuffer; |
| 890 functions->fUseProgram = debugGLUseProgram; | 945 functions->fUseProgram = debugGLUseProgram; |
| 891 functions->fVertexAttrib4fv = noOpGLVertexAttrib4fv; | 946 functions->fVertexAttrib4fv = noOpGLVertexAttrib4fv; |
| 892 functions->fVertexAttribPointer = noOpGLVertexAttribPointer; | 947 functions->fVertexAttribPointer = noOpGLVertexAttribPointer; |
| 893 functions->fViewport = noOpGLViewport; | 948 functions->fViewport = noOpGLViewport; |
| 894 functions->fBindFramebuffer = debugGLBindFramebuffer; | 949 functions->fBindFramebuffer = debugGLBindFramebuffer; |
| 895 functions->fBindRenderbuffer = debugGLBindRenderbuffer; | 950 functions->fBindRenderbuffer = debugGLBindRenderbuffer; |
| 896 functions->fCheckFramebufferStatus = noOpGLCheckFramebufferStatus; | 951 functions->fCheckFramebufferStatus = noOpGLCheckFramebufferStatus; |
| 897 functions->fDeleteFramebuffers = debugGLDeleteFramebuffers; | 952 functions->fDeleteFramebuffers = debugGLDeleteFramebuffers; |
| 898 functions->fDeleteRenderbuffers = debugGLDeleteRenderbuffers; | 953 functions->fDeleteRenderbuffers = debugGLDeleteRenderbuffers; |
| 899 functions->fFramebufferRenderbuffer = debugGLFramebufferRenderbuffer; | 954 functions->fFramebufferRenderbuffer = debugGLFramebufferRenderbuffer; |
| 900 functions->fFramebufferTexture2D = debugGLFramebufferTexture2D; | 955 functions->fFramebufferTexture2D = debugGLFramebufferTexture2D; |
| 901 functions->fGenFramebuffers = debugGLGenFramebuffers; | 956 functions->fGenFramebuffers = debugGLGenFramebuffers; |
| 902 functions->fGenRenderbuffers = debugGLGenRenderbuffers; | 957 functions->fGenRenderbuffers = debugGLGenRenderbuffers; |
| 903 functions->fGetFramebufferAttachmentParameteriv = | 958 functions->fGetFramebufferAttachmentParameteriv = |
| 904 noOpGLGetFramebufferAttachmentParameteriv; | 959 noOpGLGetFramebufferAttachmentParameteriv; |
| 905 functions->fGetRenderbufferParameteriv = noOpGLGetRenderbufferParameteriv; | 960 functions->fGetRenderbufferParameteriv = noOpGLGetRenderbufferParameteriv; |
| 906 functions->fRenderbufferStorage = noOpGLRenderbufferStorage; | 961 functions->fRenderbufferStorage = noOpGLRenderbufferStorage; |
| 907 functions->fRenderbufferStorageMultisample = | 962 functions->fRenderbufferStorageMultisample = |
| 908 noOpGLRenderbufferStorageMultisample; | 963 noOpGLRenderbufferStorageMultisample; |
| 909 functions->fBlitFramebuffer = noOpGLBlitFramebuffer; | 964 functions->fBlitFramebuffer = noOpGLBlitFramebuffer; |
| 910 functions->fResolveMultisampleFramebuffer = | 965 functions->fResolveMultisampleFramebuffer = |
| 911 noOpGLResolveMultisampleFramebuffer; | 966 noOpGLResolveMultisampleFramebuffer; |
| 912 functions->fMapBuffer = debugGLMapBuffer; | |
| 913 functions->fMatrixLoadf = noOpGLMatrixLoadf; | 967 functions->fMatrixLoadf = noOpGLMatrixLoadf; |
| 914 functions->fMatrixLoadIdentity = noOpGLMatrixLoadIdentity; | 968 functions->fMatrixLoadIdentity = noOpGLMatrixLoadIdentity; |
| 915 functions->fUnmapBuffer = debugGLUnmapBuffer; | 969 |
| 916 functions->fBindFragDataLocationIndexed = | 970 functions->fBindFragDataLocationIndexed = |
| 917 noOpGLBindFragDataLocationIndexed; | 971 noOpGLBindFragDataLocationIndexed; |
| 918 | 972 |
| 919 interface->fExtensions.init(kGL_GrGLStandard, functions->fGetString, functio
ns->fGetStringi, | 973 interface->fExtensions.init(kGL_GrGLStandard, functions->fGetString, functio
ns->fGetStringi, |
| 920 functions->fGetIntegerv); | 974 functions->fGetIntegerv); |
| 921 | 975 |
| 922 return interface; | 976 return interface; |
| 923 } | 977 } |
| OLD | NEW |