Changeset 254350 in webkit


Ignore:
Timestamp:
Jan 10, 2020 10:50:35 AM (4 years ago)
Author:
dino@apple.com
Message:

[WebGL] Add all remaining WebGL2 implementation functions to GraphicsContextGL
https://bugs.webkit.org/show_bug.cgi?id=206038
<rdar://problem/58459051>

Reviewed by Simon Fraser.

Add stubs for all the GraphicsContextGL methods that will be
necessary to implement WebGL2.

While here, rearrange the header file to mirror the way
WebGL2RenderingContext orders the methods, and mark all the
GraphicsContextGLOpenGL methods as final (rather than override).

  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::bufferData):
(WebCore::GraphicsContextGLOpenGL::bufferSubData):
(WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getBufferSubData):
(WebCore::GraphicsContextGLOpenGL::mapBufferRange):
(WebCore::GraphicsContextGLOpenGL::unmapBuffer):
(WebCore::GraphicsContextGLOpenGL::blitFramebuffer):
(WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer):
(WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
(WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
(WebCore::GraphicsContextGLOpenGL::readBuffer):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
(WebCore::GraphicsContextGLOpenGL::texStorage2D):
(WebCore::GraphicsContextGLOpenGL::texStorage3D):
(WebCore::GraphicsContextGLOpenGL::texImage3D):
(WebCore::GraphicsContextGLOpenGL::texSubImage3D):
(WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage3D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage3D):
(WebCore::GraphicsContextGLOpenGL::getFragDataLocation):
(WebCore::GraphicsContextGLOpenGL::uniform1ui):
(WebCore::GraphicsContextGLOpenGL::uniform2ui):
(WebCore::GraphicsContextGLOpenGL::uniform3ui):
(WebCore::GraphicsContextGLOpenGL::uniform4ui):
(WebCore::GraphicsContextGLOpenGL::uniform1uiv):
(WebCore::GraphicsContextGLOpenGL::uniform2uiv):
(WebCore::GraphicsContextGLOpenGL::uniform3uiv):
(WebCore::GraphicsContextGLOpenGL::uniform4uiv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4i):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui):
(WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
(WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer):
(WebCore::GraphicsContextGLOpenGL::drawRangeElements):
(WebCore::GraphicsContextGLOpenGL::drawBuffers):
(WebCore::GraphicsContextGLOpenGL::clearBufferiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfv):
(WebCore::GraphicsContextGLOpenGL::clearBufferfi):
(WebCore::GraphicsContextGLOpenGL::createQuery):
(WebCore::GraphicsContextGLOpenGL::deleteQuery):
(WebCore::GraphicsContextGLOpenGL::isQuery):
(WebCore::GraphicsContextGLOpenGL::beginQuery):
(WebCore::GraphicsContextGLOpenGL::endQuery):
(WebCore::GraphicsContextGLOpenGL::getQuery):
(WebCore::GraphicsContextGLOpenGL::glGetQueryObjectuiv):
(WebCore::GraphicsContextGLOpenGL::createSampler):
(WebCore::GraphicsContextGLOpenGL::deleteSampler):
(WebCore::GraphicsContextGLOpenGL::isSampler):
(WebCore::GraphicsContextGLOpenGL::bindSampler):
(WebCore::GraphicsContextGLOpenGL::samplerParameteri):
(WebCore::GraphicsContextGLOpenGL::samplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterfv):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteriv):
(WebCore::GraphicsContextGLOpenGL::fenceSync):
(WebCore::GraphicsContextGLOpenGL::isSync):
(WebCore::GraphicsContextGLOpenGL::deleteSync):
(WebCore::GraphicsContextGLOpenGL::clientWaitSync):
(WebCore::GraphicsContextGLOpenGL::waitSync):
(WebCore::GraphicsContextGLOpenGL::getSynciv):
(WebCore::GraphicsContextGLOpenGL::createTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::isTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::beginTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::endTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings):
(WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying):
(WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback):
(WebCore::GraphicsContextGLOpenGL::bindBufferBase):
(WebCore::GraphicsContextGLOpenGL::bindBufferRange):
(WebCore::GraphicsContextGLOpenGL::getUniformIndices):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
(WebCore::GraphicsContextGLOpenGL::texImage2D):
(WebCore::GraphicsContextGLOpenGL::texSubImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexImage2D):
(WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D):
(WebCore::GraphicsContextGLOpenGL::uniform1fv):
(WebCore::GraphicsContextGLOpenGL::uniform2fv):
(WebCore::GraphicsContextGLOpenGL::uniform3fv):
(WebCore::GraphicsContextGLOpenGL::uniform4fv):
(WebCore::GraphicsContextGLOpenGL::uniform1iv):
(WebCore::GraphicsContextGLOpenGL::uniform2iv):
(WebCore::GraphicsContextGLOpenGL::uniform3iv):
(WebCore::GraphicsContextGLOpenGL::uniform4iv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
(WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
(WebCore::GraphicsContextGLOpenGL::readPixels):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r254339 r254350  
     12020-01-10  Dean Jackson  <dino@apple.com>
     2
     3        [WebGL] Add all remaining WebGL2 implementation functions to GraphicsContextGL
     4        https://bugs.webkit.org/show_bug.cgi?id=206038
     5        <rdar://problem/58459051>
     6
     7        Reviewed by Simon Fraser.
     8
     9        Add stubs for all the GraphicsContextGL methods that will be
     10        necessary to implement WebGL2.
     11
     12        While here, rearrange the header file to mirror the way
     13        WebGL2RenderingContext orders the methods, and mark all the
     14        GraphicsContextGLOpenGL methods as final (rather than override).
     15
     16        * platform/graphics/GraphicsContextGL.h:
     17        * platform/graphics/opengl/GraphicsContextGLOpenGL.h:
     18        * platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:
     19        (WebCore::GraphicsContextGLOpenGL::bufferData):
     20        (WebCore::GraphicsContextGLOpenGL::bufferSubData):
     21        (WebCore::GraphicsContextGLOpenGL::copyBufferSubData):
     22        (WebCore::GraphicsContextGLOpenGL::getBufferSubData):
     23        (WebCore::GraphicsContextGLOpenGL::mapBufferRange):
     24        (WebCore::GraphicsContextGLOpenGL::unmapBuffer):
     25        (WebCore::GraphicsContextGLOpenGL::blitFramebuffer):
     26        (WebCore::GraphicsContextGLOpenGL::framebufferTextureLayer):
     27        (WebCore::GraphicsContextGLOpenGL::invalidateFramebuffer):
     28        (WebCore::GraphicsContextGLOpenGL::invalidateSubFramebuffer):
     29        (WebCore::GraphicsContextGLOpenGL::readBuffer):
     30        (WebCore::GraphicsContextGLOpenGL::getInternalformativ):
     31        (WebCore::GraphicsContextGLOpenGL::renderbufferStorageMultisample):
     32        (WebCore::GraphicsContextGLOpenGL::texStorage2D):
     33        (WebCore::GraphicsContextGLOpenGL::texStorage3D):
     34        (WebCore::GraphicsContextGLOpenGL::texImage3D):
     35        (WebCore::GraphicsContextGLOpenGL::texSubImage3D):
     36        (WebCore::GraphicsContextGLOpenGL::copyTexSubImage3D):
     37        (WebCore::GraphicsContextGLOpenGL::compressedTexImage3D):
     38        (WebCore::GraphicsContextGLOpenGL::compressedTexSubImage3D):
     39        (WebCore::GraphicsContextGLOpenGL::getFragDataLocation):
     40        (WebCore::GraphicsContextGLOpenGL::uniform1ui):
     41        (WebCore::GraphicsContextGLOpenGL::uniform2ui):
     42        (WebCore::GraphicsContextGLOpenGL::uniform3ui):
     43        (WebCore::GraphicsContextGLOpenGL::uniform4ui):
     44        (WebCore::GraphicsContextGLOpenGL::uniform1uiv):
     45        (WebCore::GraphicsContextGLOpenGL::uniform2uiv):
     46        (WebCore::GraphicsContextGLOpenGL::uniform3uiv):
     47        (WebCore::GraphicsContextGLOpenGL::uniform4uiv):
     48        (WebCore::GraphicsContextGLOpenGL::uniformMatrix2x3fv):
     49        (WebCore::GraphicsContextGLOpenGL::uniformMatrix3x2fv):
     50        (WebCore::GraphicsContextGLOpenGL::uniformMatrix2x4fv):
     51        (WebCore::GraphicsContextGLOpenGL::uniformMatrix4x2fv):
     52        (WebCore::GraphicsContextGLOpenGL::uniformMatrix3x4fv):
     53        (WebCore::GraphicsContextGLOpenGL::uniformMatrix4x3fv):
     54        (WebCore::GraphicsContextGLOpenGL::vertexAttribI4i):
     55        (WebCore::GraphicsContextGLOpenGL::vertexAttribI4iv):
     56        (WebCore::GraphicsContextGLOpenGL::vertexAttribI4ui):
     57        (WebCore::GraphicsContextGLOpenGL::vertexAttribI4uiv):
     58        (WebCore::GraphicsContextGLOpenGL::vertexAttribIPointer):
     59        (WebCore::GraphicsContextGLOpenGL::drawRangeElements):
     60        (WebCore::GraphicsContextGLOpenGL::drawBuffers):
     61        (WebCore::GraphicsContextGLOpenGL::clearBufferiv):
     62        (WebCore::GraphicsContextGLOpenGL::clearBufferuiv):
     63        (WebCore::GraphicsContextGLOpenGL::clearBufferfv):
     64        (WebCore::GraphicsContextGLOpenGL::clearBufferfi):
     65        (WebCore::GraphicsContextGLOpenGL::createQuery):
     66        (WebCore::GraphicsContextGLOpenGL::deleteQuery):
     67        (WebCore::GraphicsContextGLOpenGL::isQuery):
     68        (WebCore::GraphicsContextGLOpenGL::beginQuery):
     69        (WebCore::GraphicsContextGLOpenGL::endQuery):
     70        (WebCore::GraphicsContextGLOpenGL::getQuery):
     71        (WebCore::GraphicsContextGLOpenGL::glGetQueryObjectuiv):
     72        (WebCore::GraphicsContextGLOpenGL::createSampler):
     73        (WebCore::GraphicsContextGLOpenGL::deleteSampler):
     74        (WebCore::GraphicsContextGLOpenGL::isSampler):
     75        (WebCore::GraphicsContextGLOpenGL::bindSampler):
     76        (WebCore::GraphicsContextGLOpenGL::samplerParameteri):
     77        (WebCore::GraphicsContextGLOpenGL::samplerParameterf):
     78        (WebCore::GraphicsContextGLOpenGL::getSamplerParameterfv):
     79        (WebCore::GraphicsContextGLOpenGL::getSamplerParameteriv):
     80        (WebCore::GraphicsContextGLOpenGL::fenceSync):
     81        (WebCore::GraphicsContextGLOpenGL::isSync):
     82        (WebCore::GraphicsContextGLOpenGL::deleteSync):
     83        (WebCore::GraphicsContextGLOpenGL::clientWaitSync):
     84        (WebCore::GraphicsContextGLOpenGL::waitSync):
     85        (WebCore::GraphicsContextGLOpenGL::getSynciv):
     86        (WebCore::GraphicsContextGLOpenGL::createTransformFeedback):
     87        (WebCore::GraphicsContextGLOpenGL::deleteTransformFeedback):
     88        (WebCore::GraphicsContextGLOpenGL::isTransformFeedback):
     89        (WebCore::GraphicsContextGLOpenGL::bindTransformFeedback):
     90        (WebCore::GraphicsContextGLOpenGL::beginTransformFeedback):
     91        (WebCore::GraphicsContextGLOpenGL::endTransformFeedback):
     92        (WebCore::GraphicsContextGLOpenGL::transformFeedbackVaryings):
     93        (WebCore::GraphicsContextGLOpenGL::getTransformFeedbackVarying):
     94        (WebCore::GraphicsContextGLOpenGL::pauseTransformFeedback):
     95        (WebCore::GraphicsContextGLOpenGL::resumeTransformFeedback):
     96        (WebCore::GraphicsContextGLOpenGL::bindBufferBase):
     97        (WebCore::GraphicsContextGLOpenGL::bindBufferRange):
     98        (WebCore::GraphicsContextGLOpenGL::getUniformIndices):
     99        (WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
     100        (WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
     101        (WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockiv):
     102        (WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
     103        (WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
     104        (WebCore::GraphicsContextGLOpenGL::texImage2D):
     105        (WebCore::GraphicsContextGLOpenGL::texSubImage2D):
     106        (WebCore::GraphicsContextGLOpenGL::compressedTexImage2D):
     107        (WebCore::GraphicsContextGLOpenGL::compressedTexSubImage2D):
     108        (WebCore::GraphicsContextGLOpenGL::uniform1fv):
     109        (WebCore::GraphicsContextGLOpenGL::uniform2fv):
     110        (WebCore::GraphicsContextGLOpenGL::uniform3fv):
     111        (WebCore::GraphicsContextGLOpenGL::uniform4fv):
     112        (WebCore::GraphicsContextGLOpenGL::uniform1iv):
     113        (WebCore::GraphicsContextGLOpenGL::uniform2iv):
     114        (WebCore::GraphicsContextGLOpenGL::uniform3iv):
     115        (WebCore::GraphicsContextGLOpenGL::uniform4iv):
     116        (WebCore::GraphicsContextGLOpenGL::uniformMatrix2fv):
     117        (WebCore::GraphicsContextGLOpenGL::uniformMatrix3fv):
     118        (WebCore::GraphicsContextGLOpenGL::uniformMatrix4fv):
     119        (WebCore::GraphicsContextGLOpenGL::readPixels):
     120
    11212020-01-10  Antti Koivisto  <antti@apple.com>
    2122
  • trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h

    r254214 r254350  
    662662        MAP_READ_BIT = 0x0001,
    663663
     664        // WebGL-specific.
     665        MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 0x9247,
     666
    664667        // Necessary desktop OpenGL constants.
    665668        TEXTURE_RECTANGLE_ARB = 0x84F5
     
    10591062    // ========== WebGL 2 entry points.
    10601063
     1064    virtual void bufferData(GCGLenum target, const void* data, GCGLenum usage, GCGLuint srcOffset, GCGLuint length) = 0;
     1065    virtual void bufferSubData(GCGLenum target, GCGLintptr dstByteOffset, const void* srcData, GCGLuint srcOffset, GCGLuint length) = 0;
     1066
     1067    virtual void copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr size) = 0;
     1068    virtual void getBufferSubData(GCGLenum target, GCGLintptr srcByteOffset, const void* dstData, GCGLuint dstOffset, GCGLuint length) = 0;
    10611069    virtual void* mapBufferRange(GCGLenum target, GCGLintptr offset, GCGLsizeiptr length, GCGLbitfield access) = 0;
    10621070    virtual GCGLboolean unmapBuffer(GCGLenum target) = 0;
    1063     virtual void copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr) = 0;
     1071
     1072    virtual void blitFramebuffer(GCGLint srcX0, GCGLint srcY0, GCGLint srcX1, GCGLint srcY1, GCGLint dstX0, GCGLint dstY0, GCGLint dstX1, GCGLint dstY1, GCGLbitfield mask, GCGLenum filter) = 0;
     1073    virtual void framebufferTextureLayer(GCGLenum target, GCGLenum attachment, PlatformGLObject texture, GCGLint level, GCGLint layer) = 0;
     1074    virtual void invalidateFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments) = 0;
     1075    virtual void invalidateSubFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) = 0;
     1076    virtual void readBuffer(GCGLenum src) = 0;
    10641077
    10651078    // getInternalFormatParameter
    10661079    virtual void getInternalformativ(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLint* params) = 0;
    1067 
    10681080    virtual void renderbufferStorageMultisample(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) = 0;
    10691081
     
    10711083    virtual void texStorage3D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth) = 0;
    10721084
     1085    virtual void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) = 0;
     1086    virtual void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* pixels) = 0;
     1087    virtual void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) = 0;
     1088
     1089    virtual void texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) = 0;
     1090    virtual void texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) = 0;
     1091
     1092    virtual void copyTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) = 0;
     1093
     1094    virtual void compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLsizei imageSize, GCGLintptr offset) = 0;
     1095    virtual void compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) = 0;
     1096    virtual void compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset) = 0;
     1097    virtual void compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) = 0;
     1098
     1099    virtual GCGLint getFragDataLocation(PlatformGLObject program, const String& name) = 0;
     1100
     1101    virtual void uniform1ui(GCGLint location, GCGLuint v0) = 0;
     1102    virtual void uniform2ui(GCGLint location, GCGLuint v0, GCGLuint v1) = 0;
     1103    virtual void uniform3ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2) = 0;
     1104    virtual void uniform4ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2, GCGLuint v3) = 0;
     1105    virtual void uniform1uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1106    virtual void uniform2uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1107    virtual void uniform3uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1108    virtual void uniform4uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1109    virtual void uniformMatrix2x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1110    virtual void uniformMatrix3x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1111    virtual void uniformMatrix2x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1112    virtual void uniformMatrix4x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1113    virtual void uniformMatrix3x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1114    virtual void uniformMatrix4x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1115    virtual void vertexAttribI4i(GCGLuint index, GCGLint x, GCGLint y, GCGLint z, GCGLint w) = 0;
     1116    virtual void vertexAttribI4iv(GCGLuint index, const GCGLint* values) = 0;
     1117    virtual void vertexAttribI4ui(GCGLuint index, GCGLuint x, GCGLuint y, GCGLuint z, GCGLuint w) = 0;
     1118    virtual void vertexAttribI4uiv(GCGLuint index, const GCGLuint* values) = 0;
     1119    virtual void vertexAttribIPointer(GCGLuint index, GCGLint size, GCGLenum type, GCGLsizei stride, GCGLintptr offset) = 0;
     1120
     1121    virtual void drawRangeElements(GCGLenum mode, GCGLuint start, GCGLuint end, GCGLsizei count, GCGLenum type, GCGLintptr offset) = 0;
     1122
     1123    virtual void drawBuffers(const Vector<GCGLenum>& buffers) = 0;
     1124    virtual void clearBufferiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLint* values, GCGLuint srcOffset) = 0;
     1125    virtual void clearBufferuiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLuint* values, GCGLuint srcOffset) = 0;
     1126    virtual void clearBufferfv(GCGLenum buffer, GCGLint drawbuffer, const GCGLfloat* values, GCGLuint srcOffset) = 0;
     1127    virtual void clearBufferfi(GCGLenum buffer, GCGLint drawbuffer, GCGLfloat depth, GCGLint stencil) = 0;
     1128
     1129    virtual PlatformGLObject createQuery() = 0;
     1130    virtual void deleteQuery(PlatformGLObject query) = 0;
     1131    virtual GCGLboolean isQuery(PlatformGLObject query) = 0;
     1132    virtual void beginQuery(GCGLenum target, PlatformGLObject query) = 0;
     1133    virtual void endQuery(GCGLenum target) = 0;
     1134    virtual PlatformGLObject getQuery(GCGLenum target, GCGLenum pname) = 0;
     1135    // getQueryParameter
     1136    virtual void glGetQueryObjectuiv(PlatformGLObject query, GCGLenum pname, GCGLuint* value) = 0;
     1137
     1138    virtual PlatformGLObject createSampler() = 0;
     1139    virtual void deleteSampler(PlatformGLObject sampler) = 0;
     1140    virtual GCGLboolean isSampler(PlatformGLObject sampler) = 0;
     1141    virtual void bindSampler(GCGLuint unit, PlatformGLObject sampler) = 0;
     1142    virtual void samplerParameteri(PlatformGLObject sampler, GCGLenum pname, GCGLint param) = 0;
     1143    virtual void samplerParameterf(PlatformGLObject sampler, GCGLenum pname, GCGLfloat param) = 0;
     1144    // getSamplerParameter
     1145    virtual void getSamplerParameterfv(PlatformGLObject sampler, GCGLenum pname, GCGLfloat* value) = 0;
     1146    virtual void getSamplerParameteriv(PlatformGLObject sampler, GCGLenum pname, GCGLint* value) = 0;
     1147
     1148    virtual PlatformGLObject fenceSync(GCGLenum condition, GCGLbitfield flags) = 0;
     1149    virtual GCGLboolean isSync(PlatformGLObject sync) = 0;
     1150    virtual void deleteSync(PlatformGLObject sync) = 0;
     1151    virtual GCGLenum clientWaitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLuint64 timeout) = 0;
     1152    virtual void waitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLint64 timeout) = 0;
     1153    // getSyncParameter
     1154    virtual void getSynciv(PlatformGLObject sync, GCGLenum pname, GCGLsizei bufSize, GCGLint* value) = 0;
     1155
     1156    virtual PlatformGLObject createTransformFeedback() = 0;
     1157    virtual void deleteTransformFeedback(PlatformGLObject id) = 0;
     1158    virtual GCGLboolean isTransformFeedback(PlatformGLObject id) = 0;
     1159    virtual void bindTransformFeedback(GCGLenum target, PlatformGLObject id) = 0;
     1160    virtual void beginTransformFeedback(GCGLenum primitiveMode) = 0;
     1161    virtual void endTransformFeedback() = 0;
     1162    virtual void transformFeedbackVaryings(PlatformGLObject program, const Vector<String>& varyings, GCGLenum bufferMode) = 0;
     1163    virtual PlatformGLObject getTransformFeedbackVarying(PlatformGLObject program, GCGLuint index) = 0;
     1164    virtual void pauseTransformFeedback() = 0;
     1165    virtual void resumeTransformFeedback() = 0;
     1166
     1167    virtual void bindBufferBase(GCGLenum target, GCGLuint index, PlatformGLObject buffer) = 0;
     1168    virtual void bindBufferRange(GCGLenum target, GCGLuint index, PlatformGLObject buffer, GCGLintptr offset, GCGLsizeiptr size) = 0;
     1169    // getIndexedParameter -> use getParameter calls above.
     1170    virtual Vector<GCGLuint> getUniformIndices(PlatformGLObject program, const Vector<String>& uniformNames) = 0;
    10731171    virtual void getActiveUniforms(PlatformGLObject program, const Vector<GCGLuint>& uniformIndices, GCGLenum pname, Vector<GCGLint>& params) = 0;
     1172
     1173    virtual GCGLuint getUniformBlockIndex(PlatformGLObject program, const String& uniformBlockName) = 0;
     1174    // getActiveUniformBlockParameter
     1175    virtual void getActiveUniformBlockiv(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLenum pname, GCGLint* params) = 0;
     1176    virtual String getActiveUniformBlockName(PlatformGLObject program, GCGLuint uniformBlockIndex) = 0;
     1177    virtual void uniformBlockBinding(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLuint uniformBlockBinding) = 0;
     1178
     1179    virtual void texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) = 0;
     1180    virtual void texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) = 0;
     1181
     1182    virtual void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) = 0;
     1183    virtual void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) = 0;
     1184
     1185    virtual void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLsizei imageSize, GCGLintptr offset) = 0;
     1186    virtual void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) = 0;
     1187
     1188    virtual void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset) = 0;
     1189    virtual void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) = 0;
     1190
     1191    virtual void uniform1fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1192    virtual void uniform2fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1193    virtual void uniform3fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1194    virtual void uniform4fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1195
     1196    virtual void uniform1iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1197    virtual void uniform2iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1198    virtual void uniform3iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1199    virtual void uniform4iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1200
     1201    virtual void uniformMatrix2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1202    virtual void uniformMatrix3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1203    virtual void uniformMatrix4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) = 0;
     1204
     1205    virtual void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr offset) = 0;
     1206    virtual void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* dstData, GCGLuint dstOffset) = 0;
    10741207
    10751208    // ========== Non-WebGL based entry points.
  • trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h

    r254214 r254350  
    114114#endif // USE(ANGLE)
    115115#else
    116     PlatformGraphicsContextGL platformGraphicsContextGL() const override;
    117     PlatformGLObject platformTexture() const override;
    118     PlatformLayer* platformLayer() const override;
     116    PlatformGraphicsContextGL platformGraphicsContextGL() const final;
     117    PlatformGLObject platformTexture() const final;
     118    PlatformLayer* platformLayer() const final;
    119119#endif
    120120
     
    197197    //
    198198
    199     void activeTexture(GCGLenum texture) override;
    200     void attachShader(PlatformGLObject program, PlatformGLObject shader) override;
    201     void bindAttribLocation(PlatformGLObject, GCGLuint index, const String& name) override;
    202     void bindBuffer(GCGLenum target, PlatformGLObject) override;
    203     void bindFramebuffer(GCGLenum target, PlatformGLObject) override;
    204     void bindRenderbuffer(GCGLenum target, PlatformGLObject) override;
    205     void bindTexture(GCGLenum target, PlatformGLObject) override;
    206     void blendColor(GCGLclampf red, GCGLclampf green, GCGLclampf blue, GCGLclampf alpha) override;
    207     void blendEquation(GCGLenum mode) override;
    208     void blendEquationSeparate(GCGLenum modeRGB, GCGLenum modeAlpha) override;
    209     void blendFunc(GCGLenum sfactor, GCGLenum dfactor) override;
    210     void blendFuncSeparate(GCGLenum srcRGB, GCGLenum dstRGB, GCGLenum srcAlpha, GCGLenum dstAlpha) override;
    211 
    212     void bufferData(GCGLenum target, GCGLsizeiptr size, GCGLenum usage) override;
    213     void bufferData(GCGLenum target, GCGLsizeiptr size, const void* data, GCGLenum usage) override;
    214     void bufferSubData(GCGLenum target, GCGLintptr offset, GCGLsizeiptr size, const void* data) override;
    215 
    216     void* mapBufferRange(GCGLenum target, GCGLintptr offset, GCGLsizeiptr length, GCGLbitfield access) override;
    217     GCGLboolean unmapBuffer(GCGLenum target) override;
    218     void copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr) override;
    219 
    220     void getInternalformativ(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLint* params) override;
    221     void renderbufferStorageMultisample(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) override;
    222 
    223     void texStorage2D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) override;
    224     void texStorage3D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth) override;
    225 
    226     void getActiveUniforms(PlatformGLObject program, const Vector<GCGLuint>& uniformIndices, GCGLenum pname, Vector<GCGLint>& params) override;
    227 
    228     GCGLenum checkFramebufferStatus(GCGLenum target) override;
    229     void clear(GCGLbitfield mask) override;
    230     void clearColor(GCGLclampf red, GCGLclampf green, GCGLclampf blue, GCGLclampf alpha) override;
    231     void clearDepth(GCGLclampf depth) override;
    232     void clearStencil(GCGLint s) override;
    233     void colorMask(GCGLboolean red, GCGLboolean green, GCGLboolean blue, GCGLboolean alpha) override;
    234     void compileShader(PlatformGLObject) override;
    235 
    236     void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLsizei imageSize, const void* data) override;
    237     void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, const void* data) override;
    238     void copyTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLint border) override;
    239     void copyTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) override;
    240     void cullFace(GCGLenum mode) override;
    241     void depthFunc(GCGLenum func) override;
    242     void depthMask(GCGLboolean flag) override;
    243     void depthRange(GCGLclampf zNear, GCGLclampf zFar) override;
    244     void detachShader(PlatformGLObject, PlatformGLObject) override;
    245     void disable(GCGLenum cap) override;
    246     void disableVertexAttribArray(GCGLuint index) override;
    247     void drawArrays(GCGLenum mode, GCGLint first, GCGLsizei count) override;
    248     void drawElements(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLintptr offset) override;
    249 
    250     void enable(GCGLenum cap) override;
    251     void enableVertexAttribArray(GCGLuint index) override;
    252     void finish() override;
    253     void flush() override;
    254     void framebufferRenderbuffer(GCGLenum target, GCGLenum attachment, GCGLenum renderbuffertarget, PlatformGLObject) override;
    255     void framebufferTexture2D(GCGLenum target, GCGLenum attachment, GCGLenum textarget, PlatformGLObject, GCGLint level) override;
    256     void frontFace(GCGLenum mode) override;
    257     void generateMipmap(GCGLenum target) override;
    258 
    259     bool getActiveAttrib(PlatformGLObject program, GCGLuint index, ActiveInfo&) override;
     199    void activeTexture(GCGLenum texture) final;
     200    void attachShader(PlatformGLObject program, PlatformGLObject shader) final;
     201    void bindAttribLocation(PlatformGLObject, GCGLuint index, const String& name) final;
     202    void bindBuffer(GCGLenum target, PlatformGLObject) final;
     203    void bindFramebuffer(GCGLenum target, PlatformGLObject) final;
     204    void bindRenderbuffer(GCGLenum target, PlatformGLObject) final;
     205    void bindTexture(GCGLenum target, PlatformGLObject) final;
     206    void blendColor(GCGLclampf red, GCGLclampf green, GCGLclampf blue, GCGLclampf alpha) final;
     207    void blendEquation(GCGLenum mode) final;
     208    void blendEquationSeparate(GCGLenum modeRGB, GCGLenum modeAlpha) final;
     209    void blendFunc(GCGLenum sfactor, GCGLenum dfactor) final;
     210    void blendFuncSeparate(GCGLenum srcRGB, GCGLenum dstRGB, GCGLenum srcAlpha, GCGLenum dstAlpha) final;
     211
     212    void bufferData(GCGLenum target, GCGLsizeiptr size, GCGLenum usage) final;
     213    void bufferData(GCGLenum target, GCGLsizeiptr size, const void* data, GCGLenum usage) final;
     214    void bufferSubData(GCGLenum target, GCGLintptr offset, GCGLsizeiptr size, const void* data) final;
     215
     216    GCGLenum checkFramebufferStatus(GCGLenum target) final;
     217    void clear(GCGLbitfield mask) final;
     218    void clearColor(GCGLclampf red, GCGLclampf green, GCGLclampf blue, GCGLclampf alpha) final;
     219    void clearDepth(GCGLclampf depth) final;
     220    void clearStencil(GCGLint s) final;
     221    void colorMask(GCGLboolean red, GCGLboolean green, GCGLboolean blue, GCGLboolean alpha) final;
     222    void compileShader(PlatformGLObject) final;
     223
     224    void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLsizei imageSize, const void* data) final;
     225    void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, const void* data) final;
     226    void copyTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLint border) final;
     227    void copyTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) final;
     228    void cullFace(GCGLenum mode) final;
     229    void depthFunc(GCGLenum func) final;
     230    void depthMask(GCGLboolean flag) final;
     231    void depthRange(GCGLclampf zNear, GCGLclampf zFar) final;
     232    void detachShader(PlatformGLObject, PlatformGLObject) final;
     233    void disable(GCGLenum cap) final;
     234    void disableVertexAttribArray(GCGLuint index) final;
     235    void drawArrays(GCGLenum mode, GCGLint first, GCGLsizei count) final;
     236    void drawElements(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLintptr offset) final;
     237
     238    void enable(GCGLenum cap) final;
     239    void enableVertexAttribArray(GCGLuint index) final;
     240    void finish() final;
     241    void flush() final;
     242    void framebufferRenderbuffer(GCGLenum target, GCGLenum attachment, GCGLenum renderbuffertarget, PlatformGLObject) final;
     243    void framebufferTexture2D(GCGLenum target, GCGLenum attachment, GCGLenum textarget, PlatformGLObject, GCGLint level) final;
     244    void frontFace(GCGLenum mode) final;
     245    void generateMipmap(GCGLenum target) final;
     246
     247    bool getActiveAttrib(PlatformGLObject program, GCGLuint index, ActiveInfo&) final;
    260248    bool getActiveAttribImpl(PlatformGLObject program, GCGLuint index, ActiveInfo&);
    261     bool getActiveUniform(PlatformGLObject program, GCGLuint index, ActiveInfo&) override;
     249    bool getActiveUniform(PlatformGLObject program, GCGLuint index, ActiveInfo&) final;
    262250    bool getActiveUniformImpl(PlatformGLObject program, GCGLuint index, ActiveInfo&);
    263     void getAttachedShaders(PlatformGLObject program, GCGLsizei maxCount, GCGLsizei* count, PlatformGLObject* shaders) override;
    264     GCGLint getAttribLocation(PlatformGLObject, const String& name) override;
    265     void getBooleanv(GCGLenum pname, GCGLboolean* value) override;
    266     void getBufferParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) override;
    267     GCGLenum getError() override;
    268     void getFloatv(GCGLenum pname, GCGLfloat* value) override;
    269     void getFramebufferAttachmentParameteriv(GCGLenum target, GCGLenum attachment, GCGLenum pname, GCGLint* value) override;
    270     void getIntegerv(GCGLenum pname, GCGLint* value) override;
    271     void getInteger64v(GCGLenum pname, GCGLint64* value) override;
    272     void getProgramiv(PlatformGLObject program, GCGLenum pname, GCGLint* value) override;
     251    void getAttachedShaders(PlatformGLObject program, GCGLsizei maxCount, GCGLsizei* count, PlatformGLObject* shaders) final;
     252    GCGLint getAttribLocation(PlatformGLObject, const String& name) final;
     253    void getBooleanv(GCGLenum pname, GCGLboolean* value) final;
     254    void getBufferParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) final;
     255    GCGLenum getError() final;
     256    void getFloatv(GCGLenum pname, GCGLfloat* value) final;
     257    void getFramebufferAttachmentParameteriv(GCGLenum target, GCGLenum attachment, GCGLenum pname, GCGLint* value) final;
     258    void getIntegerv(GCGLenum pname, GCGLint* value) final;
     259    void getInteger64v(GCGLenum pname, GCGLint64* value) final;
     260    void getProgramiv(PlatformGLObject program, GCGLenum pname, GCGLint* value) final;
    273261#if !USE(ANGLE)
    274262    void getNonBuiltInActiveSymbolCount(PlatformGLObject program, GCGLenum pname, GCGLint* value);
    275263#endif // !USE(ANGLE)
    276     String getProgramInfoLog(PlatformGLObject) override;
     264    String getProgramInfoLog(PlatformGLObject) final;
    277265    String getUnmangledInfoLog(PlatformGLObject[2], GCGLsizei, const String&);
    278     void getRenderbufferParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) override;
    279     void getShaderiv(PlatformGLObject, GCGLenum pname, GCGLint* value) override;
    280     String getShaderInfoLog(PlatformGLObject) override;
    281     void getShaderPrecisionFormat(GCGLenum shaderType, GCGLenum precisionType, GCGLint* range, GCGLint* precision) override;
    282     String getShaderSource(PlatformGLObject) override;
    283     String getString(GCGLenum name) override;
    284     void getTexParameterfv(GCGLenum target, GCGLenum pname, GCGLfloat* value) override;
    285     void getTexParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) override;
    286     void getUniformfv(PlatformGLObject program, GCGLint location, GCGLfloat* value) override;
    287     void getUniformiv(PlatformGLObject program, GCGLint location, GCGLint* value) override;
    288     GCGLint getUniformLocation(PlatformGLObject, const String& name) override;
    289     void getVertexAttribfv(GCGLuint index, GCGLenum pname, GCGLfloat* value) override;
    290     void getVertexAttribiv(GCGLuint index, GCGLenum pname, GCGLint* value) override;
    291     GCGLsizeiptr getVertexAttribOffset(GCGLuint index, GCGLenum pname) override;
    292 
    293     void hint(GCGLenum target, GCGLenum mode) override;
    294     GCGLboolean isBuffer(PlatformGLObject) override;
    295     GCGLboolean isEnabled(GCGLenum cap) override;
    296     GCGLboolean isFramebuffer(PlatformGLObject) override;
    297     GCGLboolean isProgram(PlatformGLObject) override;
    298     GCGLboolean isRenderbuffer(PlatformGLObject) override;
    299     GCGLboolean isShader(PlatformGLObject) override;
    300     GCGLboolean isTexture(PlatformGLObject) override;
    301     void lineWidth(GCGLfloat) override;
    302     void linkProgram(PlatformGLObject) override;
    303     void pixelStorei(GCGLenum pname, GCGLint param) override;
    304     void polygonOffset(GCGLfloat factor, GCGLfloat units) override;
    305 
    306     void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, void* data) override;
     266    void getRenderbufferParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) final;
     267    void getShaderiv(PlatformGLObject, GCGLenum pname, GCGLint* value) final;
     268    String getShaderInfoLog(PlatformGLObject) final;
     269    void getShaderPrecisionFormat(GCGLenum shaderType, GCGLenum precisionType, GCGLint* range, GCGLint* precision) final;
     270    String getShaderSource(PlatformGLObject) final;
     271    String getString(GCGLenum name) final;
     272    void getTexParameterfv(GCGLenum target, GCGLenum pname, GCGLfloat* value) final;
     273    void getTexParameteriv(GCGLenum target, GCGLenum pname, GCGLint* value) final;
     274    void getUniformfv(PlatformGLObject program, GCGLint location, GCGLfloat* value) final;
     275    void getUniformiv(PlatformGLObject program, GCGLint location, GCGLint* value) final;
     276    GCGLint getUniformLocation(PlatformGLObject, const String& name) final;
     277    void getVertexAttribfv(GCGLuint index, GCGLenum pname, GCGLfloat* value) final;
     278    void getVertexAttribiv(GCGLuint index, GCGLenum pname, GCGLint* value) final;
     279    GCGLsizeiptr getVertexAttribOffset(GCGLuint index, GCGLenum pname) final;
     280
     281    void hint(GCGLenum target, GCGLenum mode) final;
     282    GCGLboolean isBuffer(PlatformGLObject) final;
     283    GCGLboolean isEnabled(GCGLenum cap) final;
     284    GCGLboolean isFramebuffer(PlatformGLObject) final;
     285    GCGLboolean isProgram(PlatformGLObject) final;
     286    GCGLboolean isRenderbuffer(PlatformGLObject) final;
     287    GCGLboolean isShader(PlatformGLObject) final;
     288    GCGLboolean isTexture(PlatformGLObject) final;
     289    void lineWidth(GCGLfloat) final;
     290    void linkProgram(PlatformGLObject) final;
     291    void pixelStorei(GCGLenum pname, GCGLint param) final;
     292    void polygonOffset(GCGLfloat factor, GCGLfloat units) final;
     293
     294    void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, void* data) final;
    307295
    308296    void releaseShaderCompiler();
    309297
    310     void renderbufferStorage(GCGLenum target, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) override;
    311     void sampleCoverage(GCGLclampf value, GCGLboolean invert) override;
    312     void scissor(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) override;
    313     void shaderSource(PlatformGLObject, const String& string) override;
    314     void stencilFunc(GCGLenum func, GCGLint ref, GCGLuint mask) override;
    315     void stencilFuncSeparate(GCGLenum face, GCGLenum func, GCGLint ref, GCGLuint mask) override;
    316     void stencilMask(GCGLuint mask) override;
    317     void stencilMaskSeparate(GCGLenum face, GCGLuint mask) override;
    318     void stencilOp(GCGLenum fail, GCGLenum zfail, GCGLenum zpass) override;
    319     void stencilOpSeparate(GCGLenum face, GCGLenum fail, GCGLenum zfail, GCGLenum zpass) override;
    320 
    321     bool texImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, const void* pixels) override;
    322     void texParameterf(GCGLenum target, GCGLenum pname, GCGLfloat param) override;
    323     void texParameteri(GCGLenum target, GCGLenum pname, GCGLint param) override;
    324     void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* pixels) override;
    325 
    326     void uniform1f(GCGLint location, GCGLfloat x) override;
    327     void uniform1fv(GCGLint location, GCGLsizei, const GCGLfloat* v) override;
    328     void uniform1i(GCGLint location, GCGLint x) override;
    329     void uniform1iv(GCGLint location, GCGLsizei, const GCGLint* v) override;
    330     void uniform2f(GCGLint location, GCGLfloat x, GCGLfloat y) override;
    331     void uniform2fv(GCGLint location, GCGLsizei, const GCGLfloat* v) override;
    332     void uniform2i(GCGLint location, GCGLint x, GCGLint y) override;
    333     void uniform2iv(GCGLint location, GCGLsizei, const GCGLint* v) override;
    334     void uniform3f(GCGLint location, GCGLfloat x, GCGLfloat y, GCGLfloat z) override;
    335     void uniform3fv(GCGLint location, GCGLsizei, const GCGLfloat* v) override;
    336     void uniform3i(GCGLint location, GCGLint x, GCGLint y, GCGLint z) override;
    337     void uniform3iv(GCGLint location, GCGLsizei, const GCGLint* v) override;
    338     void uniform4f(GCGLint location, GCGLfloat x, GCGLfloat y, GCGLfloat z, GCGLfloat w) override;
    339     void uniform4fv(GCGLint location, GCGLsizei, const GCGLfloat* v) override;
    340     void uniform4i(GCGLint location, GCGLint x, GCGLint y, GCGLint z, GCGLint w) override;
    341     void uniform4iv(GCGLint location, GCGLsizei, const GCGLint* v) override;
    342     void uniformMatrix2fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) override;
    343     void uniformMatrix3fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) override;
    344     void uniformMatrix4fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) override;
    345 
    346     void useProgram(PlatformGLObject) override;
    347     void validateProgram(PlatformGLObject) override;
     298    void renderbufferStorage(GCGLenum target, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) final;
     299    void sampleCoverage(GCGLclampf value, GCGLboolean invert) final;
     300    void scissor(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) final;
     301    void shaderSource(PlatformGLObject, const String& string) final;
     302    void stencilFunc(GCGLenum func, GCGLint ref, GCGLuint mask) final;
     303    void stencilFuncSeparate(GCGLenum face, GCGLenum func, GCGLint ref, GCGLuint mask) final;
     304    void stencilMask(GCGLuint mask) final;
     305    void stencilMaskSeparate(GCGLenum face, GCGLuint mask) final;
     306    void stencilOp(GCGLenum fail, GCGLenum zfail, GCGLenum zpass) final;
     307    void stencilOpSeparate(GCGLenum face, GCGLenum fail, GCGLenum zfail, GCGLenum zpass) final;
     308
     309    bool texImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, const void* pixels) final;
     310    void texParameterf(GCGLenum target, GCGLenum pname, GCGLfloat param) final;
     311    void texParameteri(GCGLenum target, GCGLenum pname, GCGLint param) final;
     312    void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* pixels) final;
     313
     314    void uniform1f(GCGLint location, GCGLfloat x) final;
     315    void uniform1fv(GCGLint location, GCGLsizei, const GCGLfloat* v) final;
     316    void uniform1i(GCGLint location, GCGLint x) final;
     317    void uniform1iv(GCGLint location, GCGLsizei, const GCGLint* v) final;
     318    void uniform2f(GCGLint location, GCGLfloat x, GCGLfloat y) final;
     319    void uniform2fv(GCGLint location, GCGLsizei, const GCGLfloat* v) final;
     320    void uniform2i(GCGLint location, GCGLint x, GCGLint y) final;
     321    void uniform2iv(GCGLint location, GCGLsizei, const GCGLint* v) final;
     322    void uniform3f(GCGLint location, GCGLfloat x, GCGLfloat y, GCGLfloat z) final;
     323    void uniform3fv(GCGLint location, GCGLsizei, const GCGLfloat* v) final;
     324    void uniform3i(GCGLint location, GCGLint x, GCGLint y, GCGLint z) final;
     325    void uniform3iv(GCGLint location, GCGLsizei, const GCGLint* v) final;
     326    void uniform4f(GCGLint location, GCGLfloat x, GCGLfloat y, GCGLfloat z, GCGLfloat w) final;
     327    void uniform4fv(GCGLint location, GCGLsizei, const GCGLfloat* v) final;
     328    void uniform4i(GCGLint location, GCGLint x, GCGLint y, GCGLint z, GCGLint w) final;
     329    void uniform4iv(GCGLint location, GCGLsizei, const GCGLint* v) final;
     330    void uniformMatrix2fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) final;
     331    void uniformMatrix3fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) final;
     332    void uniformMatrix4fv(GCGLint location, GCGLsizei, GCGLboolean transpose, const GCGLfloat* value) final;
     333
     334    void useProgram(PlatformGLObject) final;
     335    void validateProgram(PlatformGLObject) final;
    348336#if !USE(ANGLE)
    349337    bool checkVaryingsPacking(PlatformGLObject vertexShader, PlatformGLObject fragmentShader) const;
     
    351339#endif
    352340
    353     void vertexAttrib1f(GCGLuint index, GCGLfloat x) override;
    354     void vertexAttrib1fv(GCGLuint index, const GCGLfloat* values) override;
    355     void vertexAttrib2f(GCGLuint index, GCGLfloat x, GCGLfloat y) override;
    356     void vertexAttrib2fv(GCGLuint index, const GCGLfloat* values) override;
    357     void vertexAttrib3f(GCGLuint index, GCGLfloat x, GCGLfloat y, GCGLfloat z) override;
    358     void vertexAttrib3fv(GCGLuint index, const GCGLfloat* values) override;
    359     void vertexAttrib4f(GCGLuint index, GCGLfloat x, GCGLfloat y, GCGLfloat z, GCGLfloat w) override;
    360     void vertexAttrib4fv(GCGLuint index, const GCGLfloat* values) override;
    361     void vertexAttribPointer(GCGLuint index, GCGLint size, GCGLenum type, GCGLboolean normalized, GCGLsizei stride, GCGLintptr offset) override;
    362 
    363     void viewport(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) override;
     341    void vertexAttrib1f(GCGLuint index, GCGLfloat x) final;
     342    void vertexAttrib1fv(GCGLuint index, const GCGLfloat* values) final;
     343    void vertexAttrib2f(GCGLuint index, GCGLfloat x, GCGLfloat y) final;
     344    void vertexAttrib2fv(GCGLuint index, const GCGLfloat* values) final;
     345    void vertexAttrib3f(GCGLuint index, GCGLfloat x, GCGLfloat y, GCGLfloat z) final;
     346    void vertexAttrib3fv(GCGLuint index, const GCGLfloat* values) final;
     347    void vertexAttrib4f(GCGLuint index, GCGLfloat x, GCGLfloat y, GCGLfloat z, GCGLfloat w) final;
     348    void vertexAttrib4fv(GCGLuint index, const GCGLfloat* values) final;
     349    void vertexAttribPointer(GCGLuint index, GCGLint size, GCGLenum type, GCGLboolean normalized, GCGLsizei stride, GCGLintptr offset) final;
     350
     351    void viewport(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) final;
    364352
    365353    void reshape(int width, int height);
    366354
    367     void drawArraysInstanced(GCGLenum mode, GCGLint first, GCGLsizei count, GCGLsizei primcount) override;
    368     void drawElementsInstanced(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLintptr offset, GCGLsizei primcount) override;
    369     void vertexAttribDivisor(GCGLuint index, GCGLuint divisor) override;
     355    void drawArraysInstanced(GCGLenum mode, GCGLint first, GCGLsizei count, GCGLsizei primcount) final;
     356    void drawElementsInstanced(GCGLenum mode, GCGLsizei count, GCGLenum type, GCGLintptr offset, GCGLsizei primcount) final;
     357    void vertexAttribDivisor(GCGLuint index, GCGLuint divisor) final;
    370358
    371359    // VertexArrayOject calls
    372     PlatformGLObject createVertexArray() override;
    373     void deleteVertexArray(PlatformGLObject) override;
    374     GCGLboolean isVertexArray(PlatformGLObject) override;
    375     void bindVertexArray(PlatformGLObject) override;
     360    PlatformGLObject createVertexArray() final;
     361    void deleteVertexArray(PlatformGLObject) final;
     362    GCGLboolean isVertexArray(PlatformGLObject) final;
     363    void bindVertexArray(PlatformGLObject) final;
     364
     365    // ========== WebGL2 entry points.
     366
     367    void bufferData(GCGLenum target, const void* data, GCGLenum usage, GCGLuint srcOffset, GCGLuint length) final;
     368    void bufferSubData(GCGLenum target, GCGLintptr dstByteOffset, const void* srcData, GCGLuint srcOffset, GCGLuint length) final;
     369
     370    void copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr size) final;
     371    void getBufferSubData(GCGLenum target, GCGLintptr srcByteOffset, const void* dstData, GCGLuint dstOffset, GCGLuint length) final;
     372    void* mapBufferRange(GCGLenum target, GCGLintptr offset, GCGLsizeiptr length, GCGLbitfield access) final;
     373    GCGLboolean unmapBuffer(GCGLenum target) final;
     374
     375    void blitFramebuffer(GCGLint srcX0, GCGLint srcY0, GCGLint srcX1, GCGLint srcY1, GCGLint dstX0, GCGLint dstY0, GCGLint dstX1, GCGLint dstY1, GCGLbitfield mask, GCGLenum filter) final;
     376    void framebufferTextureLayer(GCGLenum target, GCGLenum attachment, PlatformGLObject texture, GCGLint level, GCGLint layer) final;
     377    void invalidateFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments) final;
     378    void invalidateSubFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) final;
     379    void readBuffer(GCGLenum src) final;
     380
     381    // getInternalFormatParameter
     382    void getInternalformativ(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLint* params) final;
     383    void renderbufferStorageMultisample(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) final;
     384
     385    void texStorage2D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height) final;
     386    void texStorage3D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth) final;
     387
     388    void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) final;
     389    void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* pixels) final;
     390    void texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) final;
     391
     392    void texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) final;
     393    void texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) final;
     394
     395    void copyTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height) final;
     396
     397    void compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLsizei imageSize, GCGLintptr offset) final;
     398    void compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) final;
     399    void compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset) final;
     400    void compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) final;
     401
     402    GCGLint getFragDataLocation(PlatformGLObject program, const String& name) final;
     403
     404    void uniform1ui(GCGLint location, GCGLuint v0) final;
     405    void uniform2ui(GCGLint location, GCGLuint v0, GCGLuint v1) final;
     406    void uniform3ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2) final;
     407    void uniform4ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2, GCGLuint v3) final;
     408    void uniform1uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     409    void uniform2uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     410    void uniform3uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     411    void uniform4uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     412    void uniformMatrix2x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     413    void uniformMatrix3x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     414    void uniformMatrix2x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     415    void uniformMatrix4x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     416    void uniformMatrix3x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     417    void uniformMatrix4x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     418    void vertexAttribI4i(GCGLuint index, GCGLint x, GCGLint y, GCGLint z, GCGLint w) final;
     419    void vertexAttribI4iv(GCGLuint index, const GCGLint* values) final;
     420    void vertexAttribI4ui(GCGLuint index, GCGLuint x, GCGLuint y, GCGLuint z, GCGLuint w) final;
     421    void vertexAttribI4uiv(GCGLuint index, const GCGLuint* values) final;
     422    void vertexAttribIPointer(GCGLuint index, GCGLint size, GCGLenum type, GCGLsizei stride, GCGLintptr offset) final;
     423
     424    void drawRangeElements(GCGLenum mode, GCGLuint start, GCGLuint end, GCGLsizei count, GCGLenum type, GCGLintptr offset) final;
     425
     426    void drawBuffers(const Vector<GCGLenum>& buffers) final;
     427    void clearBufferiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLint* values, GCGLuint srcOffset) final;
     428    void clearBufferuiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLuint* values, GCGLuint srcOffset) final;
     429    void clearBufferfv(GCGLenum buffer, GCGLint drawbuffer, const GCGLfloat* values, GCGLuint srcOffset) final;
     430    void clearBufferfi(GCGLenum buffer, GCGLint drawbuffer, GCGLfloat depth, GCGLint stencil) final;
     431
     432    PlatformGLObject createQuery() final;
     433    void deleteQuery(PlatformGLObject query) final;
     434    GCGLboolean isQuery(PlatformGLObject query) final;
     435    void beginQuery(GCGLenum target, PlatformGLObject query) final;
     436    void endQuery(GCGLenum target) final;
     437    PlatformGLObject getQuery(GCGLenum target, GCGLenum pname) final;
     438    // getQueryParameter
     439    void glGetQueryObjectuiv(PlatformGLObject query, GCGLenum pname, GCGLuint* value) final;
     440
     441    PlatformGLObject createSampler() final;
     442    void deleteSampler(PlatformGLObject sampler) final;
     443    GCGLboolean isSampler(PlatformGLObject sampler) final;
     444    void bindSampler(GCGLuint unit, PlatformGLObject sampler) final;
     445    void samplerParameteri(PlatformGLObject sampler, GCGLenum pname, GCGLint param) final;
     446    void samplerParameterf(PlatformGLObject sampler, GCGLenum pname, GCGLfloat param) final;
     447    // getSamplerParameter
     448    void getSamplerParameterfv(PlatformGLObject sampler, GCGLenum pname, GCGLfloat* value) final;
     449    void getSamplerParameteriv(PlatformGLObject sampler, GCGLenum pname, GCGLint* value) final;
     450
     451    PlatformGLObject fenceSync(GCGLenum condition, GCGLbitfield flags) final;
     452    GCGLboolean isSync(PlatformGLObject sync) final;
     453    void deleteSync(PlatformGLObject sync) final;
     454    GCGLenum clientWaitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLuint64 timeout) final;
     455    void waitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLint64 timeout) final;
     456    // getSyncParameter
     457    // FIXME - this can be implemented at the WebGL level if we signal the WebGLSync object.
     458    void getSynciv(PlatformGLObject sync, GCGLenum pname, GCGLsizei bufSize, GCGLint *value) final;
     459
     460    PlatformGLObject createTransformFeedback() final;
     461    void deleteTransformFeedback(PlatformGLObject id) final;
     462    GCGLboolean isTransformFeedback(PlatformGLObject id) final;
     463    void bindTransformFeedback(GCGLenum target, PlatformGLObject id) final;
     464    void beginTransformFeedback(GCGLenum primitiveMode) final;
     465    void endTransformFeedback() final;
     466    void transformFeedbackVaryings(PlatformGLObject program, const Vector<String>& varyings, GCGLenum bufferMode) final;
     467    PlatformGLObject getTransformFeedbackVarying(PlatformGLObject program, GCGLuint index) final;
     468    void pauseTransformFeedback() final;
     469    void resumeTransformFeedback() final;
     470
     471    void bindBufferBase(GCGLenum target, GCGLuint index, PlatformGLObject buffer) final;
     472    void bindBufferRange(GCGLenum target, GCGLuint index, PlatformGLObject buffer, GCGLintptr offset, GCGLsizeiptr size) final;
     473    // getIndexedParameter -> use getParameter calls above.
     474    Vector<GCGLuint> getUniformIndices(PlatformGLObject program, const Vector<String>& uniformNames) final;
     475    void getActiveUniforms(PlatformGLObject program, const Vector<GCGLuint>& uniformIndices, GCGLenum pname, Vector<GCGLint>& params) final;
     476
     477    GCGLuint getUniformBlockIndex(PlatformGLObject program, const String& uniformBlockName) final;
     478    // getActiveUniformBlockParameter
     479    void getActiveUniformBlockiv(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLenum pname, GCGLint* params) final;
     480    String getActiveUniformBlockName(PlatformGLObject program, GCGLuint uniformBlockIndex) final;
     481    void uniformBlockBinding(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLuint uniformBlockBinding) final;
     482
     483    void texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) final;
     484    void texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) final;
     485
     486    void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr pboOffset) final;
     487    void texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset) final;
     488
     489    void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLsizei imageSize, GCGLintptr offset) final;
     490    void compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) final;
     491
     492    void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset) final;
     493    void compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride) final;
     494
     495    void uniform1fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     496    void uniform2fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     497    void uniform3fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     498    void uniform4fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     499
     500    void uniform1iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     501    void uniform2iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     502    void uniform3iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     503    void uniform4iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     504
     505    void uniformMatrix2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     506    void uniformMatrix3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     507    void uniformMatrix4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength) final;
     508
     509    void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr offset) final;
     510    void readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* dstData, GCGLuint dstOffset) final;
     511
     512    // Helper methods.
    376513
    377514    void paintToCanvas(const unsigned char* imagePixels, const IntSize& imageSize, const IntSize& canvasSize, GraphicsContext&);
     
    391528
    392529#if USE(OPENGL) && ENABLE(WEBGL2)
    393     void primitiveRestartIndex(GCGLuint) override;
     530    void primitiveRestartIndex(GCGLuint) final;
    394531#endif
    395532
     
    415552
    416553    // Support for buffer creation and deletion
    417     PlatformGLObject createBuffer() override;
    418     PlatformGLObject createFramebuffer() override;
    419     PlatformGLObject createProgram() override;
    420     PlatformGLObject createRenderbuffer() override;
    421     PlatformGLObject createShader(GCGLenum) override;
    422     PlatformGLObject createTexture() override;
    423 
    424     void deleteBuffer(PlatformGLObject) override;
    425     void deleteFramebuffer(PlatformGLObject) override;
    426     void deleteProgram(PlatformGLObject) override;
    427     void deleteRenderbuffer(PlatformGLObject) override;
    428     void deleteShader(PlatformGLObject) override;
    429     void deleteTexture(PlatformGLObject) override;
     554    PlatformGLObject createBuffer() final;
     555    PlatformGLObject createFramebuffer() final;
     556    PlatformGLObject createProgram() final;
     557    PlatformGLObject createRenderbuffer() final;
     558    PlatformGLObject createShader(GCGLenum) final;
     559    PlatformGLObject createTexture() final;
     560
     561    void deleteBuffer(PlatformGLObject) final;
     562    void deleteFramebuffer(PlatformGLObject) final;
     563    void deleteProgram(PlatformGLObject) final;
     564    void deleteRenderbuffer(PlatformGLObject) final;
     565    void deleteShader(PlatformGLObject) final;
     566    void deleteTexture(PlatformGLObject) final;
    430567
    431568    // Synthesizes an OpenGL error which will be returned from a
     
    447584    // current hardware. Must call ExtensionsGL::supports() to
    448585    // determine this.
    449     ExtensionsGL& getExtensions() override;
     586    ExtensionsGL& getExtensions() final;
    450587
    451588    IntSize getInternalFramebufferSize() const;
  • trunk/Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp

    r254214 r254350  
    559559}
    560560
    561 #if USE(OPENGL_3) || USE(OPENGL_ES_3)
    562 void* GraphicsContextGLOpenGL::mapBufferRange(GCGLenum target, GCGLintptr offset, GCGLsizeiptr length, GCGLbitfield access)
    563 {
    564     makeContextCurrent();
    565     return ::glMapBufferRange(target, offset, length, access);
    566 }
    567 
    568 GCGLboolean GraphicsContextGLOpenGL::unmapBuffer(GCGLenum target)
    569 {
    570     makeContextCurrent();
    571     return ::glUnmapBuffer(target);
    572 }
    573 
    574 void GraphicsContextGLOpenGL::copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr size)
    575 {
    576     makeContextCurrent();
    577     ::glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
    578 }
    579 
    580 void GraphicsContextGLOpenGL::getInternalformativ(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLint* params)
    581 {
    582 #if USE(OPENGL_ES)
    583     makeContextCurrent();
    584     ::glGetInternalformativ(target, internalformat, pname, bufSize, params);
    585 #else
    586     UNUSED_PARAM(target);
    587     UNUSED_PARAM(internalformat);
    588     UNUSED_PARAM(pname);
    589     UNUSED_PARAM(bufSize);
    590     UNUSED_PARAM(params);
    591 #endif
    592 }
    593 
    594 void GraphicsContextGLOpenGL::renderbufferStorageMultisample(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height)
    595 {
    596     makeContextCurrent();
    597     ::glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
    598 }
    599 
    600 void GraphicsContextGLOpenGL::texStorage2D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height)
    601 {
    602     makeContextCurrent();
    603     ::glTexStorage2D(target, levels, internalformat, width, height);
    604     m_state.textureSeedCount.add(m_state.currentBoundTexture());
    605 }
    606 
    607 void GraphicsContextGLOpenGL::texStorage3D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth)
    608 {
    609     makeContextCurrent();
    610     ::glTexStorage3D(target, levels, internalformat, width, height, depth);
    611     m_state.textureSeedCount.add(m_state.currentBoundTexture());
    612 }
    613 
    614 void GraphicsContextGLOpenGL::getActiveUniforms(PlatformGLObject program, const Vector<GCGLuint>& uniformIndices, GCGLenum pname, Vector<GCGLint>& params)
    615 {
    616     ASSERT(program);
    617     makeContextCurrent();
    618 
    619     ::glGetActiveUniformsiv(program, uniformIndices.size(), uniformIndices.data(), pname, params.data());
    620 }
    621 #else
    622 void* GraphicsContextGLOpenGL::mapBufferRange(GCGLenum, GCGLintptr, GCGLsizeiptr, GCGLbitfield)
    623 {
    624     return nullptr;
    625 }
    626 
    627 GCGLboolean GraphicsContextGLOpenGL::unmapBuffer(GCGLenum)
    628 {
    629     return 0;
    630 }
    631 
    632 void GraphicsContextGLOpenGL::copyBufferSubData(GCGLenum, GCGLenum, GCGLintptr, GCGLintptr, GCGLsizeiptr)
    633 {
    634 }
    635 
    636 void GraphicsContextGLOpenGL::getInternalformativ(GCGLenum, GCGLenum, GCGLenum, GCGLsizei, GCGLint*)
    637 {
    638 }
    639 
    640 void GraphicsContextGLOpenGL::renderbufferStorageMultisample(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei)
    641 {
    642 }
    643 
    644 void GraphicsContextGLOpenGL::texStorage2D(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei)
    645 {
    646 }
    647 
    648 void GraphicsContextGLOpenGL::texStorage3D(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei, GCGLsizei)
    649 {
    650 }
    651 
    652 void GraphicsContextGLOpenGL::getActiveUniforms(PlatformGLObject, const Vector<GCGLuint>&, GCGLenum, Vector<GCGLint>&)
    653 {
    654 }
    655 #endif // USE(OPENGL_3) || USE(OPENGL_ES_3)
    656 
    657561GCGLenum GraphicsContextGLOpenGL::checkFramebufferStatus(GCGLenum target)
    658562{
     
    21142018#endif
    21152019
     2020void GraphicsContextGLOpenGL::bufferData(GCGLenum target, const void* data, GCGLenum usage, GCGLuint srcOffset, GCGLuint length)
     2021{
     2022    UNUSED_PARAM(target);
     2023    UNUSED_PARAM(data);
     2024    UNUSED_PARAM(usage);
     2025    UNUSED_PARAM(srcOffset);
     2026    UNUSED_PARAM(length);
     2027}
     2028
     2029void GraphicsContextGLOpenGL::bufferSubData(GCGLenum target, GCGLintptr dstByteOffset, const void* srcData, GCGLuint srcOffset, GCGLuint length)
     2030{
     2031    UNUSED_PARAM(target);
     2032    UNUSED_PARAM(dstByteOffset);
     2033    UNUSED_PARAM(srcData);
     2034    UNUSED_PARAM(srcOffset);
     2035    UNUSED_PARAM(length);
     2036}
     2037
     2038#if USE(OPENGL_3) || USE(OPENGL_ES_3)
     2039void GraphicsContextGLOpenGL::copyBufferSubData(GCGLenum readTarget, GCGLenum writeTarget, GCGLintptr readOffset, GCGLintptr writeOffset, GCGLsizeiptr size)
     2040{
     2041    makeContextCurrent();
     2042    ::glCopyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
     2043}
     2044#else
     2045void GraphicsContextGLOpenGL::copyBufferSubData(GCGLenum, GCGLenum, GCGLintptr, GCGLintptr, GCGLsizeiptr)
     2046{
     2047}
     2048#endif
     2049
     2050void GraphicsContextGLOpenGL::getBufferSubData(GCGLenum target, GCGLintptr srcByteOffset, const void* dstData, GCGLuint dstOffset, GCGLuint length)
     2051{
     2052    UNUSED_PARAM(target);
     2053    UNUSED_PARAM(srcByteOffset);
     2054    UNUSED_PARAM(dstData);
     2055    UNUSED_PARAM(dstOffset);
     2056    UNUSED_PARAM(length);
     2057}
     2058
     2059#if USE(OPENGL_3) || USE(OPENGL_ES_3)
     2060void* GraphicsContextGLOpenGL::mapBufferRange(GCGLenum target, GCGLintptr offset, GCGLsizeiptr length, GCGLbitfield access)
     2061{
     2062    makeContextCurrent();
     2063    return ::glMapBufferRange(target, offset, length, access);
     2064}
     2065
     2066GCGLboolean GraphicsContextGLOpenGL::unmapBuffer(GCGLenum target)
     2067{
     2068    makeContextCurrent();
     2069    return ::glUnmapBuffer(target);
     2070}
     2071#else
     2072void* GraphicsContextGLOpenGL::mapBufferRange(GCGLenum, GCGLintptr, GCGLsizeiptr, GCGLbitfield)
     2073{
     2074    return nullptr;
     2075}
     2076
     2077GCGLboolean GraphicsContextGLOpenGL::unmapBuffer(GCGLenum)
     2078{
     2079    return false;
     2080}
     2081#endif
     2082
     2083void GraphicsContextGLOpenGL::blitFramebuffer(GCGLint srcX0, GCGLint srcY0, GCGLint srcX1, GCGLint srcY1, GCGLint dstX0, GCGLint dstY0, GCGLint dstX1, GCGLint dstY1, GCGLbitfield mask, GCGLenum filter)
     2084{
     2085    UNUSED_PARAM(srcX0);
     2086    UNUSED_PARAM(srcY0);
     2087    UNUSED_PARAM(srcX1);
     2088    UNUSED_PARAM(srcY1);
     2089    UNUSED_PARAM(dstX0);
     2090    UNUSED_PARAM(dstY0);
     2091    UNUSED_PARAM(dstX1);
     2092    UNUSED_PARAM(dstY1);
     2093    UNUSED_PARAM(mask);
     2094    UNUSED_PARAM(filter);
     2095}
     2096
     2097void GraphicsContextGLOpenGL::framebufferTextureLayer(GCGLenum target, GCGLenum attachment, PlatformGLObject texture, GCGLint level, GCGLint layer)
     2098{
     2099    UNUSED_PARAM(target);
     2100    UNUSED_PARAM(attachment);
     2101    UNUSED_PARAM(texture);
     2102    UNUSED_PARAM(level);
     2103    UNUSED_PARAM(layer);
     2104}
     2105
     2106void GraphicsContextGLOpenGL::invalidateFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments)
     2107{
     2108    UNUSED_PARAM(target);
     2109    UNUSED_PARAM(attachments);
     2110}
     2111
     2112void GraphicsContextGLOpenGL::invalidateSubFramebuffer(GCGLenum target, const Vector<GCGLenum>& attachments, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height)
     2113{
     2114    UNUSED_PARAM(target);
     2115    UNUSED_PARAM(attachments);
     2116    UNUSED_PARAM(x);
     2117    UNUSED_PARAM(y);
     2118    UNUSED_PARAM(width);
     2119    UNUSED_PARAM(height);
     2120}
     2121
     2122void GraphicsContextGLOpenGL::readBuffer(GCGLenum src)
     2123{
     2124    UNUSED_PARAM(src);
     2125}
     2126
     2127#if USE(OPENGL_3) || USE(OPENGL_ES_3)
     2128void GraphicsContextGLOpenGL::getInternalformativ(GCGLenum target, GCGLenum internalformat, GCGLenum pname, GCGLsizei bufSize, GCGLint* params)
     2129{
     2130#if USE(OPENGL_ES)
     2131    makeContextCurrent();
     2132    ::glGetInternalformativ(target, internalformat, pname, bufSize, params);
     2133#else
     2134    UNUSED_PARAM(target);
     2135    UNUSED_PARAM(internalformat);
     2136    UNUSED_PARAM(pname);
     2137    UNUSED_PARAM(bufSize);
     2138    UNUSED_PARAM(params);
     2139#endif
     2140}
     2141
     2142void GraphicsContextGLOpenGL::renderbufferStorageMultisample(GCGLenum target, GCGLsizei samples, GCGLenum internalformat, GCGLsizei width, GCGLsizei height)
     2143{
     2144    makeContextCurrent();
     2145    ::glRenderbufferStorageMultisample(target, samples, internalformat, width, height);
     2146}
     2147
     2148void GraphicsContextGLOpenGL::texStorage2D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height)
     2149{
     2150    makeContextCurrent();
     2151    ::glTexStorage2D(target, levels, internalformat, width, height);
     2152    m_state.textureSeedCount.add(m_state.currentBoundTexture());
     2153}
     2154
     2155void GraphicsContextGLOpenGL::texStorage3D(GCGLenum target, GCGLsizei levels, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth)
     2156{
     2157    makeContextCurrent();
     2158    ::glTexStorage3D(target, levels, internalformat, width, height, depth);
     2159    m_state.textureSeedCount.add(m_state.currentBoundTexture());
     2160}
     2161#else
     2162void GraphicsContextGLOpenGL::getInternalformativ(GCGLenum, GCGLenum, GCGLenum, GCGLsizei, GCGLint*)
     2163{
     2164}
     2165
     2166void GraphicsContextGLOpenGL::renderbufferStorageMultisample(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei)
     2167{
     2168}
     2169
     2170void GraphicsContextGLOpenGL::texStorage2D(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei)
     2171{
     2172}
     2173
     2174void GraphicsContextGLOpenGL::texStorage3D(GCGLenum, GCGLsizei, GCGLenum, GCGLsizei, GCGLsizei, GCGLsizei)
     2175{
     2176}
     2177#endif
     2178
     2179void GraphicsContextGLOpenGL::texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset)
     2180{
     2181    UNUSED_PARAM(target);
     2182    UNUSED_PARAM(level);
     2183    UNUSED_PARAM(internalformat);
     2184    UNUSED_PARAM(width);
     2185    UNUSED_PARAM(height);
     2186    UNUSED_PARAM(depth);
     2187    UNUSED_PARAM(border);
     2188    UNUSED_PARAM(format);
     2189    UNUSED_PARAM(type);
     2190    UNUSED_PARAM(pboOffset);
     2191}
     2192
     2193void GraphicsContextGLOpenGL::texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* pixels)
     2194{
     2195    UNUSED_PARAM(target);
     2196    UNUSED_PARAM(level);
     2197    UNUSED_PARAM(internalformat);
     2198    UNUSED_PARAM(width);
     2199    UNUSED_PARAM(height);
     2200    UNUSED_PARAM(depth);
     2201    UNUSED_PARAM(border);
     2202    UNUSED_PARAM(format);
     2203    UNUSED_PARAM(type);
     2204    UNUSED_PARAM(pixels);
     2205}
     2206
     2207void GraphicsContextGLOpenGL::texImage3D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset)
     2208{
     2209    UNUSED_PARAM(target);
     2210    UNUSED_PARAM(level);
     2211    UNUSED_PARAM(internalformat);
     2212    UNUSED_PARAM(width);
     2213    UNUSED_PARAM(height);
     2214    UNUSED_PARAM(depth);
     2215    UNUSED_PARAM(border);
     2216    UNUSED_PARAM(format);
     2217    UNUSED_PARAM(type);
     2218    UNUSED_PARAM(srcData);
     2219    UNUSED_PARAM(srcOffset);
     2220}
     2221
     2222void GraphicsContextGLOpenGL::texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, GCGLintptr pboOffset)
     2223{
     2224    UNUSED_PARAM(target);
     2225    UNUSED_PARAM(level);
     2226    UNUSED_PARAM(xoffset);
     2227    UNUSED_PARAM(yoffset);
     2228    UNUSED_PARAM(zoffset);
     2229    UNUSED_PARAM(width);
     2230    UNUSED_PARAM(height);
     2231    UNUSED_PARAM(depth);
     2232    UNUSED_PARAM(format);
     2233    UNUSED_PARAM(type);
     2234    UNUSED_PARAM(pboOffset);
     2235}
     2236
     2237void GraphicsContextGLOpenGL::texSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset)
     2238{
     2239    UNUSED_PARAM(target);
     2240    UNUSED_PARAM(level);
     2241    UNUSED_PARAM(xoffset);
     2242    UNUSED_PARAM(yoffset);
     2243    UNUSED_PARAM(zoffset);
     2244    UNUSED_PARAM(width);
     2245    UNUSED_PARAM(height);
     2246    UNUSED_PARAM(depth);
     2247    UNUSED_PARAM(format);
     2248    UNUSED_PARAM(type);
     2249    UNUSED_PARAM(srcData);
     2250    UNUSED_PARAM(srcOffset);
     2251}
     2252
     2253void GraphicsContextGLOpenGL::copyTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height)
     2254{
     2255    UNUSED_PARAM(target);
     2256    UNUSED_PARAM(level);
     2257    UNUSED_PARAM(xoffset);
     2258    UNUSED_PARAM(yoffset);
     2259    UNUSED_PARAM(zoffset);
     2260    UNUSED_PARAM(x);
     2261    UNUSED_PARAM(y);
     2262    UNUSED_PARAM(width);
     2263    UNUSED_PARAM(height);
     2264}
     2265
     2266void GraphicsContextGLOpenGL::compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, GCGLsizei imageSize, GCGLintptr offset)
     2267{
     2268    UNUSED_PARAM(target);
     2269    UNUSED_PARAM(level);
     2270    UNUSED_PARAM(internalformat);
     2271    UNUSED_PARAM(width);
     2272    UNUSED_PARAM(height);
     2273    UNUSED_PARAM(depth);
     2274    UNUSED_PARAM(border);
     2275    UNUSED_PARAM(imageSize);
     2276    UNUSED_PARAM(offset);
     2277}
     2278
     2279void GraphicsContextGLOpenGL::compressedTexImage3D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride)
     2280{
     2281    UNUSED_PARAM(target);
     2282    UNUSED_PARAM(level);
     2283    UNUSED_PARAM(internalformat);
     2284    UNUSED_PARAM(width);
     2285    UNUSED_PARAM(height);
     2286    UNUSED_PARAM(depth);
     2287    UNUSED_PARAM(border);
     2288    UNUSED_PARAM(srcData);
     2289    UNUSED_PARAM(srcOffset);
     2290    UNUSED_PARAM(srcLengthOverride);
     2291}
     2292
     2293void GraphicsContextGLOpenGL::compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset)
     2294{
     2295    UNUSED_PARAM(target);
     2296    UNUSED_PARAM(level);
     2297    UNUSED_PARAM(xoffset);
     2298    UNUSED_PARAM(yoffset);
     2299    UNUSED_PARAM(zoffset);
     2300    UNUSED_PARAM(width);
     2301    UNUSED_PARAM(height);
     2302    UNUSED_PARAM(depth);
     2303    UNUSED_PARAM(format);
     2304    UNUSED_PARAM(imageSize);
     2305    UNUSED_PARAM(offset);
     2306}
     2307
     2308void GraphicsContextGLOpenGL::compressedTexSubImage3D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLint zoffset, GCGLsizei width, GCGLsizei height, GCGLsizei depth, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride)
     2309{
     2310    UNUSED_PARAM(target);
     2311    UNUSED_PARAM(level);
     2312    UNUSED_PARAM(xoffset);
     2313    UNUSED_PARAM(yoffset);
     2314    UNUSED_PARAM(zoffset);
     2315    UNUSED_PARAM(width);
     2316    UNUSED_PARAM(height);
     2317    UNUSED_PARAM(depth);
     2318    UNUSED_PARAM(format);
     2319    UNUSED_PARAM(srcData);
     2320    UNUSED_PARAM(srcOffset);
     2321    UNUSED_PARAM(srcLengthOverride);
     2322}
     2323
     2324GCGLint GraphicsContextGLOpenGL::getFragDataLocation(PlatformGLObject program, const String& name)
     2325{
     2326    UNUSED_PARAM(program);
     2327    UNUSED_PARAM(name);
     2328
     2329    return 0;
     2330}
     2331
     2332void GraphicsContextGLOpenGL::uniform1ui(GCGLint location, GCGLuint v0)
     2333{
     2334    UNUSED_PARAM(location);
     2335    UNUSED_PARAM(v0);
     2336}
     2337
     2338void GraphicsContextGLOpenGL::uniform2ui(GCGLint location, GCGLuint v0, GCGLuint v1)
     2339{
     2340    UNUSED_PARAM(location);
     2341    UNUSED_PARAM(v0);
     2342    UNUSED_PARAM(v1);
     2343}
     2344
     2345void GraphicsContextGLOpenGL::uniform3ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2)
     2346{
     2347    UNUSED_PARAM(location);
     2348    UNUSED_PARAM(v0);
     2349    UNUSED_PARAM(v1);
     2350    UNUSED_PARAM(v2);
     2351}
     2352
     2353void GraphicsContextGLOpenGL::uniform4ui(GCGLint location, GCGLuint v0, GCGLuint v1, GCGLuint v2, GCGLuint v3)
     2354{
     2355    UNUSED_PARAM(location);
     2356    UNUSED_PARAM(v0);
     2357    UNUSED_PARAM(v1);
     2358    UNUSED_PARAM(v2);
     2359    UNUSED_PARAM(v3);
     2360}
     2361
     2362void GraphicsContextGLOpenGL::uniform1uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2363{
     2364    UNUSED_PARAM(location);
     2365    UNUSED_PARAM(data);
     2366    UNUSED_PARAM(srcOffset);
     2367    UNUSED_PARAM(srcLength);
     2368}
     2369
     2370void GraphicsContextGLOpenGL::uniform2uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2371{
     2372    UNUSED_PARAM(location);
     2373    UNUSED_PARAM(data);
     2374    UNUSED_PARAM(srcOffset);
     2375    UNUSED_PARAM(srcLength);
     2376}
     2377
     2378void GraphicsContextGLOpenGL::uniform3uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2379{
     2380    UNUSED_PARAM(location);
     2381    UNUSED_PARAM(data);
     2382    UNUSED_PARAM(srcOffset);
     2383    UNUSED_PARAM(srcLength);
     2384}
     2385
     2386void GraphicsContextGLOpenGL::uniform4uiv(GCGLint location, const GCGLuint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2387{
     2388    UNUSED_PARAM(location);
     2389    UNUSED_PARAM(data);
     2390    UNUSED_PARAM(srcOffset);
     2391    UNUSED_PARAM(srcLength);
     2392}
     2393
     2394void GraphicsContextGLOpenGL::uniformMatrix2x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2395{
     2396    UNUSED_PARAM(location);
     2397    UNUSED_PARAM(transpose);
     2398    UNUSED_PARAM(data);
     2399    UNUSED_PARAM(srcOffset);
     2400    UNUSED_PARAM(srcLength);
     2401}
     2402
     2403void GraphicsContextGLOpenGL::uniformMatrix3x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2404{
     2405    UNUSED_PARAM(location);
     2406    UNUSED_PARAM(transpose);
     2407    UNUSED_PARAM(data);
     2408    UNUSED_PARAM(srcOffset);
     2409    UNUSED_PARAM(srcLength);
     2410}
     2411
     2412void GraphicsContextGLOpenGL::uniformMatrix2x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2413{
     2414    UNUSED_PARAM(location);
     2415    UNUSED_PARAM(transpose);
     2416    UNUSED_PARAM(data);
     2417    UNUSED_PARAM(srcOffset);
     2418    UNUSED_PARAM(srcLength);
     2419}
     2420
     2421void GraphicsContextGLOpenGL::uniformMatrix4x2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2422{
     2423    UNUSED_PARAM(location);
     2424    UNUSED_PARAM(transpose);
     2425    UNUSED_PARAM(data);
     2426    UNUSED_PARAM(srcOffset);
     2427    UNUSED_PARAM(srcLength);
     2428}
     2429
     2430void GraphicsContextGLOpenGL::uniformMatrix3x4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2431{
     2432    UNUSED_PARAM(location);
     2433    UNUSED_PARAM(transpose);
     2434    UNUSED_PARAM(data);
     2435    UNUSED_PARAM(srcOffset);
     2436    UNUSED_PARAM(srcLength);
     2437}
     2438
     2439void GraphicsContextGLOpenGL::uniformMatrix4x3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2440{
     2441    UNUSED_PARAM(location);
     2442    UNUSED_PARAM(transpose);
     2443    UNUSED_PARAM(data);
     2444    UNUSED_PARAM(srcOffset);
     2445    UNUSED_PARAM(srcLength);
     2446}
     2447
     2448void GraphicsContextGLOpenGL::vertexAttribI4i(GCGLuint index, GCGLint x, GCGLint y, GCGLint z, GCGLint w)
     2449{
     2450    UNUSED_PARAM(index);
     2451    UNUSED_PARAM(x);
     2452    UNUSED_PARAM(y);
     2453    UNUSED_PARAM(z);
     2454    UNUSED_PARAM(w);
     2455}
     2456
     2457void GraphicsContextGLOpenGL::vertexAttribI4iv(GCGLuint index, const GCGLint* values)
     2458{
     2459    UNUSED_PARAM(index);
     2460    UNUSED_PARAM(values);
     2461}
     2462
     2463void GraphicsContextGLOpenGL::vertexAttribI4ui(GCGLuint index, GCGLuint x, GCGLuint y, GCGLuint z, GCGLuint w)
     2464{
     2465    UNUSED_PARAM(index);
     2466    UNUSED_PARAM(x);
     2467    UNUSED_PARAM(y);
     2468    UNUSED_PARAM(z);
     2469    UNUSED_PARAM(w);
     2470}
     2471
     2472void GraphicsContextGLOpenGL::vertexAttribI4uiv(GCGLuint index, const GCGLuint* values)
     2473{
     2474    UNUSED_PARAM(index);
     2475    UNUSED_PARAM(values);
     2476}
     2477
     2478void GraphicsContextGLOpenGL::vertexAttribIPointer(GCGLuint index, GCGLint size, GCGLenum type, GCGLsizei stride, GCGLintptr offset)
     2479{
     2480    UNUSED_PARAM(index);
     2481    UNUSED_PARAM(size);
     2482    UNUSED_PARAM(type);
     2483    UNUSED_PARAM(stride);
     2484    UNUSED_PARAM(offset);
     2485}
     2486
     2487void GraphicsContextGLOpenGL::drawRangeElements(GCGLenum mode, GCGLuint start, GCGLuint end, GCGLsizei count, GCGLenum type, GCGLintptr offset)
     2488{
     2489    UNUSED_PARAM(mode);
     2490    UNUSED_PARAM(start);
     2491    UNUSED_PARAM(end);
     2492    UNUSED_PARAM(count);
     2493    UNUSED_PARAM(type);
     2494    UNUSED_PARAM(offset);
     2495}
     2496
     2497void GraphicsContextGLOpenGL::drawBuffers(const Vector<GCGLenum>& buffers)
     2498{
     2499    UNUSED_PARAM(buffers);
     2500}
     2501
     2502void GraphicsContextGLOpenGL::clearBufferiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLint* values, GCGLuint srcOffset)
     2503{
     2504    UNUSED_PARAM(buffer);
     2505    UNUSED_PARAM(drawbuffer);
     2506    UNUSED_PARAM(values);
     2507    UNUSED_PARAM(srcOffset);
     2508}
     2509
     2510void GraphicsContextGLOpenGL::clearBufferuiv(GCGLenum buffer, GCGLint drawbuffer, const GCGLuint* values, GCGLuint srcOffset)
     2511{
     2512    UNUSED_PARAM(buffer);
     2513    UNUSED_PARAM(drawbuffer);
     2514    UNUSED_PARAM(values);
     2515    UNUSED_PARAM(srcOffset);
     2516}
     2517
     2518void GraphicsContextGLOpenGL::clearBufferfv(GCGLenum buffer, GCGLint drawbuffer, const GCGLfloat* values, GCGLuint srcOffset)
     2519{
     2520    UNUSED_PARAM(buffer);
     2521    UNUSED_PARAM(drawbuffer);
     2522    UNUSED_PARAM(values);
     2523    UNUSED_PARAM(srcOffset);
     2524}
     2525
     2526void GraphicsContextGLOpenGL::clearBufferfi(GCGLenum buffer, GCGLint drawbuffer, GCGLfloat depth, GCGLint stencil)
     2527{
     2528    UNUSED_PARAM(buffer);
     2529    UNUSED_PARAM(drawbuffer);
     2530    UNUSED_PARAM(depth);
     2531    UNUSED_PARAM(stencil);
     2532}
     2533
     2534PlatformGLObject GraphicsContextGLOpenGL::createQuery()
     2535{
     2536    return 0;
     2537}
     2538
     2539void GraphicsContextGLOpenGL::deleteQuery(PlatformGLObject query)
     2540{
     2541    UNUSED_PARAM(query);
     2542}
     2543
     2544GCGLboolean GraphicsContextGLOpenGL::isQuery(PlatformGLObject query)
     2545{
     2546    UNUSED_PARAM(query);
     2547
     2548    return false;
     2549}
     2550
     2551void GraphicsContextGLOpenGL::beginQuery(GCGLenum target, PlatformGLObject query)
     2552{
     2553    UNUSED_PARAM(target);
     2554    UNUSED_PARAM(query);
     2555}
     2556
     2557void GraphicsContextGLOpenGL::endQuery(GCGLenum target)
     2558{
     2559    UNUSED_PARAM(target);
     2560}
     2561
     2562PlatformGLObject GraphicsContextGLOpenGL::getQuery(GCGLenum target, GCGLenum pname)
     2563{
     2564    UNUSED_PARAM(target);
     2565    UNUSED_PARAM(pname);
     2566
     2567    return 0;
     2568}
     2569
     2570void GraphicsContextGLOpenGL::glGetQueryObjectuiv(PlatformGLObject query, GCGLenum pname, GCGLuint* value)
     2571{
     2572    UNUSED_PARAM(query);
     2573    UNUSED_PARAM(pname);
     2574    UNUSED_PARAM(value);
     2575}
     2576
     2577PlatformGLObject GraphicsContextGLOpenGL::createSampler()
     2578{
     2579    return 0;
     2580}
     2581
     2582void GraphicsContextGLOpenGL::deleteSampler(PlatformGLObject sampler)
     2583{
     2584    UNUSED_PARAM(sampler);
     2585}
     2586
     2587GCGLboolean GraphicsContextGLOpenGL::isSampler(PlatformGLObject sampler)
     2588{
     2589    UNUSED_PARAM(sampler);
     2590
     2591    return false;
     2592}
     2593
     2594void GraphicsContextGLOpenGL::bindSampler(GCGLuint unit, PlatformGLObject sampler)
     2595{
     2596    UNUSED_PARAM(unit);
     2597    UNUSED_PARAM(sampler);
     2598}
     2599
     2600void GraphicsContextGLOpenGL::samplerParameteri(PlatformGLObject sampler, GCGLenum pname, GCGLint param)
     2601{
     2602    UNUSED_PARAM(sampler);
     2603    UNUSED_PARAM(pname);
     2604    UNUSED_PARAM(param);
     2605}
     2606
     2607void GraphicsContextGLOpenGL::samplerParameterf(PlatformGLObject sampler, GCGLenum pname, GCGLfloat param)
     2608{
     2609    UNUSED_PARAM(sampler);
     2610    UNUSED_PARAM(pname);
     2611    UNUSED_PARAM(param);
     2612}
     2613
     2614void GraphicsContextGLOpenGL::getSamplerParameterfv(PlatformGLObject sampler, GCGLenum pname, GCGLfloat* value)
     2615{
     2616    UNUSED_PARAM(sampler);
     2617    UNUSED_PARAM(pname);
     2618    UNUSED_PARAM(value);
     2619}
     2620
     2621void GraphicsContextGLOpenGL::getSamplerParameteriv(PlatformGLObject sampler, GCGLenum pname, GCGLint* value)
     2622{
     2623    UNUSED_PARAM(sampler);
     2624    UNUSED_PARAM(pname);
     2625    UNUSED_PARAM(value);
     2626}
     2627
     2628PlatformGLObject GraphicsContextGLOpenGL::fenceSync(GCGLenum condition, GCGLbitfield flags)
     2629{
     2630    UNUSED_PARAM(condition);
     2631    UNUSED_PARAM(flags);
     2632
     2633    return 0;
     2634}
     2635
     2636GCGLboolean GraphicsContextGLOpenGL::isSync(PlatformGLObject sync)
     2637{
     2638    UNUSED_PARAM(sync);
     2639
     2640    return false;
     2641}
     2642
     2643void GraphicsContextGLOpenGL::deleteSync(PlatformGLObject sync)
     2644{
     2645    UNUSED_PARAM(sync);
     2646}
     2647
     2648GCGLenum GraphicsContextGLOpenGL::clientWaitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLuint64 timeout)
     2649{
     2650    UNUSED_PARAM(sync);
     2651    UNUSED_PARAM(flags);
     2652    UNUSED_PARAM(timeout);
     2653
     2654    return 0;
     2655}
     2656
     2657void GraphicsContextGLOpenGL::waitSync(PlatformGLObject sync, GCGLbitfield flags, GCGLint64 timeout)
     2658{
     2659    UNUSED_PARAM(sync);
     2660    UNUSED_PARAM(flags);
     2661    UNUSED_PARAM(timeout);
     2662}
     2663
     2664void GraphicsContextGLOpenGL::getSynciv(PlatformGLObject sync, GCGLenum pname, GCGLsizei bufSize, GCGLint *value)
     2665{
     2666    UNUSED_PARAM(sync);
     2667    UNUSED_PARAM(pname);
     2668    UNUSED_PARAM(bufSize);
     2669    UNUSED_PARAM(value);
     2670}
     2671
     2672PlatformGLObject GraphicsContextGLOpenGL::createTransformFeedback()
     2673{
     2674    return 0;
     2675}
     2676
     2677void GraphicsContextGLOpenGL::deleteTransformFeedback(PlatformGLObject id)
     2678{
     2679    UNUSED_PARAM(id);
     2680}
     2681
     2682GCGLboolean GraphicsContextGLOpenGL::isTransformFeedback(PlatformGLObject id)
     2683{
     2684    UNUSED_PARAM(id);
     2685
     2686    return false;
     2687}
     2688
     2689void GraphicsContextGLOpenGL::bindTransformFeedback(GCGLenum target, PlatformGLObject id)
     2690{
     2691    UNUSED_PARAM(target);
     2692    UNUSED_PARAM(id);
     2693}
     2694
     2695void GraphicsContextGLOpenGL::beginTransformFeedback(GCGLenum primitiveMode)
     2696{
     2697    UNUSED_PARAM(primitiveMode);
     2698}
     2699
     2700void GraphicsContextGLOpenGL::endTransformFeedback()
     2701{
     2702}
     2703
     2704void GraphicsContextGLOpenGL::transformFeedbackVaryings(PlatformGLObject program, const Vector<String>& varyings, GCGLenum bufferMode)
     2705{
     2706    UNUSED_PARAM(program);
     2707    UNUSED_PARAM(varyings);
     2708    UNUSED_PARAM(bufferMode);
     2709}
     2710
     2711PlatformGLObject GraphicsContextGLOpenGL::getTransformFeedbackVarying(PlatformGLObject program, GCGLuint index)
     2712{
     2713    UNUSED_PARAM(program);
     2714    UNUSED_PARAM(index);
     2715
     2716    return 0;
     2717}
     2718
     2719void GraphicsContextGLOpenGL::pauseTransformFeedback()
     2720{
     2721}
     2722
     2723void GraphicsContextGLOpenGL::resumeTransformFeedback()
     2724{
     2725}
     2726
     2727void GraphicsContextGLOpenGL::bindBufferBase(GCGLenum target, GCGLuint index, PlatformGLObject buffer)
     2728{
     2729    UNUSED_PARAM(target);
     2730    UNUSED_PARAM(index);
     2731    UNUSED_PARAM(buffer);
     2732}
     2733
     2734void GraphicsContextGLOpenGL::bindBufferRange(GCGLenum target, GCGLuint index, PlatformGLObject buffer, GCGLintptr offset, GCGLsizeiptr size)
     2735{
     2736    UNUSED_PARAM(target);
     2737    UNUSED_PARAM(index);
     2738    UNUSED_PARAM(buffer);
     2739    UNUSED_PARAM(offset);
     2740    UNUSED_PARAM(size);
     2741}
     2742
     2743Vector<GCGLuint> GraphicsContextGLOpenGL::getUniformIndices(PlatformGLObject program, const Vector<String>& uniformNames)
     2744{
     2745    UNUSED_PARAM(program);
     2746    UNUSED_PARAM(uniformNames);
     2747
     2748    return { };
     2749}
     2750
     2751#if USE(OPENGL_3) || USE(OPENGL_ES_3)
     2752void GraphicsContextGLOpenGL::getActiveUniforms(PlatformGLObject program, const Vector<GCGLuint>& uniformIndices, GCGLenum pname, Vector<GCGLint>& params)
     2753{
     2754    ASSERT(program);
     2755    makeContextCurrent();
     2756
     2757    ::glGetActiveUniformsiv(program, uniformIndices.size(), uniformIndices.data(), pname, params.data());
     2758}
     2759
     2760GCGLuint GraphicsContextGLOpenGL::getUniformBlockIndex(PlatformGLObject program, const String& uniformBlockName)
     2761{
     2762    UNUSED_PARAM(program);
     2763    UNUSED_PARAM(uniformBlockName);
     2764
     2765    return 0;
     2766}
     2767
     2768void GraphicsContextGLOpenGL::getActiveUniformBlockiv(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLenum pname, GCGLint* params)
     2769{
     2770    UNUSED_PARAM(program);
     2771    UNUSED_PARAM(uniformBlockIndex);
     2772    UNUSED_PARAM(pname);
     2773    UNUSED_PARAM(params);
     2774}
     2775
     2776String GraphicsContextGLOpenGL::getActiveUniformBlockName(PlatformGLObject program, GCGLuint uniformBlockIndex)
     2777{
     2778    UNUSED_PARAM(program);
     2779    UNUSED_PARAM(uniformBlockIndex);
     2780
     2781    return emptyString();
     2782}
     2783
     2784void GraphicsContextGLOpenGL::uniformBlockBinding(PlatformGLObject program, GCGLuint uniformBlockIndex, GCGLuint uniformBlockBinding)
     2785{
     2786    UNUSED_PARAM(program);
     2787    UNUSED_PARAM(uniformBlockIndex);
     2788    UNUSED_PARAM(uniformBlockBinding);
     2789}
     2790#else
     2791void GraphicsContextGLOpenGL::getActiveUniforms(PlatformGLObject, const Vector<GCGLuint>&, GCGLenum, Vector<GCGLint>&)
     2792{
     2793}
     2794
     2795GCGLuint GraphicsContextGLOpenGL::getUniformBlockIndex(PlatformGLObject, const String&)
     2796{
     2797    return 0;
     2798}
     2799
     2800void GraphicsContextGLOpenGL::getActiveUniformBlockiv(PlatformGLObject, GCGLuint, GCGLenum, GCGLint*)
     2801{
     2802}
     2803
     2804String GraphicsContextGLOpenGL::getActiveUniformBlockName(PlatformGLObject, GCGLuint)
     2805{
     2806    return emptyString();
     2807}
     2808
     2809void GraphicsContextGLOpenGL::uniformBlockBinding(PlatformGLObject, GCGLuint, GCGLuint)
     2810{
     2811}
     2812#endif
     2813
     2814void GraphicsContextGLOpenGL::texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, GCGLintptr pboOffset)
     2815{
     2816    UNUSED_PARAM(target);
     2817    UNUSED_PARAM(level);
     2818    UNUSED_PARAM(internalformat);
     2819    UNUSED_PARAM(width);
     2820    UNUSED_PARAM(height);
     2821    UNUSED_PARAM(border);
     2822    UNUSED_PARAM(format);
     2823    UNUSED_PARAM(type);
     2824    UNUSED_PARAM(pboOffset);
     2825}
     2826
     2827void GraphicsContextGLOpenGL::texImage2D(GCGLenum target, GCGLint level, GCGLint internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset)
     2828{
     2829    UNUSED_PARAM(target);
     2830    UNUSED_PARAM(level);
     2831    UNUSED_PARAM(internalformat);
     2832    UNUSED_PARAM(width);
     2833    UNUSED_PARAM(height);
     2834    UNUSED_PARAM(border);
     2835    UNUSED_PARAM(format);
     2836    UNUSED_PARAM(type);
     2837    UNUSED_PARAM(srcData);
     2838    UNUSED_PARAM(srcOffset);
     2839}
     2840
     2841void GraphicsContextGLOpenGL::texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr pboOffset)
     2842{
     2843    UNUSED_PARAM(target);
     2844    UNUSED_PARAM(level);
     2845    UNUSED_PARAM(xoffset);
     2846    UNUSED_PARAM(yoffset);
     2847    UNUSED_PARAM(width);
     2848    UNUSED_PARAM(height);
     2849    UNUSED_PARAM(format);
     2850    UNUSED_PARAM(type);
     2851    UNUSED_PARAM(pboOffset);
     2852}
     2853
     2854void GraphicsContextGLOpenGL::texSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* srcData, GCGLuint srcOffset)
     2855{
     2856    UNUSED_PARAM(target);
     2857    UNUSED_PARAM(level);
     2858    UNUSED_PARAM(xoffset);
     2859    UNUSED_PARAM(yoffset);
     2860    UNUSED_PARAM(width);
     2861    UNUSED_PARAM(height);
     2862    UNUSED_PARAM(format);
     2863    UNUSED_PARAM(type);
     2864    UNUSED_PARAM(srcData);
     2865    UNUSED_PARAM(srcOffset);
     2866}
     2867
     2868void GraphicsContextGLOpenGL::compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, GCGLsizei imageSize, GCGLintptr offset)
     2869{
     2870    UNUSED_PARAM(target);
     2871    UNUSED_PARAM(level);
     2872    UNUSED_PARAM(internalformat);
     2873    UNUSED_PARAM(width);
     2874    UNUSED_PARAM(height);
     2875    UNUSED_PARAM(border);
     2876    UNUSED_PARAM(imageSize);
     2877    UNUSED_PARAM(offset);
     2878}
     2879
     2880void GraphicsContextGLOpenGL::compressedTexImage2D(GCGLenum target, GCGLint level, GCGLenum internalformat, GCGLsizei width, GCGLsizei height, GCGLint border, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride)
     2881{
     2882    UNUSED_PARAM(target);
     2883    UNUSED_PARAM(level);
     2884    UNUSED_PARAM(internalformat);
     2885    UNUSED_PARAM(width);
     2886    UNUSED_PARAM(height);
     2887    UNUSED_PARAM(border);
     2888    UNUSED_PARAM(srcData);
     2889    UNUSED_PARAM(srcOffset);
     2890    UNUSED_PARAM(srcLengthOverride);
     2891}
     2892
     2893void GraphicsContextGLOpenGL::compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLsizei imageSize, GCGLintptr offset)
     2894{
     2895    UNUSED_PARAM(target);
     2896    UNUSED_PARAM(level);
     2897    UNUSED_PARAM(xoffset);
     2898    UNUSED_PARAM(yoffset);
     2899    UNUSED_PARAM(width);
     2900    UNUSED_PARAM(height);
     2901    UNUSED_PARAM(format);
     2902    UNUSED_PARAM(imageSize);
     2903    UNUSED_PARAM(offset);
     2904}
     2905
     2906void GraphicsContextGLOpenGL::compressedTexSubImage2D(GCGLenum target, GCGLint level, GCGLint xoffset, GCGLint yoffset, GCGLsizei width, GCGLsizei height, GCGLenum format, const void* srcData, GCGLuint srcOffset, GCGLuint srcLengthOverride)
     2907{
     2908    UNUSED_PARAM(target);
     2909    UNUSED_PARAM(level);
     2910    UNUSED_PARAM(xoffset);
     2911    UNUSED_PARAM(yoffset);
     2912    UNUSED_PARAM(width);
     2913    UNUSED_PARAM(height);
     2914    UNUSED_PARAM(format);
     2915    UNUSED_PARAM(srcData);
     2916    UNUSED_PARAM(srcOffset);
     2917    UNUSED_PARAM(srcLengthOverride);
     2918}
     2919
     2920void GraphicsContextGLOpenGL::uniform1fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2921{
     2922    UNUSED_PARAM(location);
     2923    UNUSED_PARAM(data);
     2924    UNUSED_PARAM(srcOffset);
     2925    UNUSED_PARAM(srcLength);
     2926}
     2927
     2928void GraphicsContextGLOpenGL::uniform2fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2929{
     2930    UNUSED_PARAM(location);
     2931    UNUSED_PARAM(data);
     2932    UNUSED_PARAM(srcOffset);
     2933    UNUSED_PARAM(srcLength);
     2934}
     2935
     2936void GraphicsContextGLOpenGL::uniform3fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2937{
     2938    UNUSED_PARAM(location);
     2939    UNUSED_PARAM(data);
     2940    UNUSED_PARAM(srcOffset);
     2941    UNUSED_PARAM(srcLength);
     2942}
     2943
     2944void GraphicsContextGLOpenGL::uniform4fv(GCGLint location, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2945{
     2946    UNUSED_PARAM(location);
     2947    UNUSED_PARAM(data);
     2948    UNUSED_PARAM(srcOffset);
     2949    UNUSED_PARAM(srcLength);
     2950}
     2951
     2952void GraphicsContextGLOpenGL::uniform1iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2953{
     2954    UNUSED_PARAM(location);
     2955    UNUSED_PARAM(data);
     2956    UNUSED_PARAM(srcOffset);
     2957    UNUSED_PARAM(srcLength);
     2958}
     2959
     2960void GraphicsContextGLOpenGL::uniform2iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2961{
     2962    UNUSED_PARAM(location);
     2963    UNUSED_PARAM(data);
     2964    UNUSED_PARAM(srcOffset);
     2965    UNUSED_PARAM(srcLength);
     2966}
     2967
     2968void GraphicsContextGLOpenGL::uniform3iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2969{
     2970    UNUSED_PARAM(location);
     2971    UNUSED_PARAM(data);
     2972    UNUSED_PARAM(srcOffset);
     2973    UNUSED_PARAM(srcLength);
     2974}
     2975
     2976void GraphicsContextGLOpenGL::uniform4iv(GCGLint location, const GCGLint* data, GCGLuint srcOffset, GCGLuint srcLength)
     2977{
     2978    UNUSED_PARAM(location);
     2979    UNUSED_PARAM(data);
     2980    UNUSED_PARAM(srcOffset);
     2981    UNUSED_PARAM(srcLength);
     2982}
     2983
     2984void GraphicsContextGLOpenGL::uniformMatrix2fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2985{
     2986    UNUSED_PARAM(location);
     2987    UNUSED_PARAM(transpose);
     2988    UNUSED_PARAM(data);
     2989    UNUSED_PARAM(srcOffset);
     2990    UNUSED_PARAM(srcLength);
     2991}
     2992
     2993void GraphicsContextGLOpenGL::uniformMatrix3fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     2994{
     2995    UNUSED_PARAM(location);
     2996    UNUSED_PARAM(transpose);
     2997    UNUSED_PARAM(data);
     2998    UNUSED_PARAM(srcOffset);
     2999    UNUSED_PARAM(srcLength);
     3000}
     3001
     3002void GraphicsContextGLOpenGL::uniformMatrix4fv(GCGLint location, GCGLboolean transpose, const GCGLfloat* data, GCGLuint srcOffset, GCGLuint srcLength)
     3003{
     3004    UNUSED_PARAM(location);
     3005    UNUSED_PARAM(transpose);
     3006    UNUSED_PARAM(data);
     3007    UNUSED_PARAM(srcOffset);
     3008    UNUSED_PARAM(srcLength);
     3009}
     3010
     3011void GraphicsContextGLOpenGL::readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, GCGLintptr offset)
     3012{
     3013    UNUSED_PARAM(x);
     3014    UNUSED_PARAM(y);
     3015    UNUSED_PARAM(width);
     3016    UNUSED_PARAM(height);
     3017    UNUSED_PARAM(format);
     3018    UNUSED_PARAM(type);
     3019    UNUSED_PARAM(offset);
     3020}
     3021
     3022void GraphicsContextGLOpenGL::readPixels(GCGLint x, GCGLint y, GCGLsizei width, GCGLsizei height, GCGLenum format, GCGLenum type, const void* dstData, GCGLuint dstOffset)
     3023{
     3024    UNUSED_PARAM(x);
     3025    UNUSED_PARAM(y);
     3026    UNUSED_PARAM(width);
     3027    UNUSED_PARAM(height);
     3028    UNUSED_PARAM(format);
     3029    UNUSED_PARAM(type);
     3030    UNUSED_PARAM(dstData);
     3031    UNUSED_PARAM(dstOffset);
     3032}
     3033
     3034
    21163035}
    21173036
Note: See TracChangeset for help on using the changeset viewer.