Skip to content
  • commit-queue@webkit.org's avatar
    [EFL] Implementation of GraphicsContext3D for EFL port · bd513e3d
    commit-queue@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=79452
    
    Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2012-02-26
    Reviewed by Noam Rosenthal.
    
    Evas_GL is used to do OpenGL rendering on Evas, in which
    a structure 'Evas_GL_API' contains all the OpenGL functions.
    
    GraphicsContext3D in EFL port should call OpenGL functions indirectly
    through the Evas_GL_API, and not use GraphicsContext3DOpenGL(Common).
    
    So, we use the GraphicsContext3DPrivate to delegate all OpenGL function calls,
    and it will be implemented to use Evas_GL (bug 62961).
    
    No new tests. No behavior change.
    
    * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
    (WebCore):
    (WebCore::GraphicsContext3D::create):
    (WebCore::GraphicsContext3D::GraphicsContext3D):
    (WebCore::GraphicsContext3D::~GraphicsContext3D):
    (WebCore::GraphicsContext3D::platformGraphicsContext3D):
    (WebCore::GraphicsContext3D::platformLayer):
    (WebCore::GraphicsContext3D::makeContextCurrent):
    (WebCore::GraphicsContext3D::isGLES2Compliant):
    (WebCore::GraphicsContext3D::activeTexture):
    (WebCore::GraphicsContext3D::attachShader):
    (WebCore::GraphicsContext3D::bindAttribLocation):
    (WebCore::GraphicsContext3D::bindBuffer):
    (WebCore::GraphicsContext3D::bindFramebuffer):
    (WebCore::GraphicsContext3D::bindRenderbuffer):
    (WebCore::GraphicsContext3D::bindTexture):
    (WebCore::GraphicsContext3D::blendColor):
    (WebCore::GraphicsContext3D::blendEquation):
    (WebCore::GraphicsContext3D::blendEquationSeparate):
    (WebCore::GraphicsContext3D::blendFunc):
    (WebCore::GraphicsContext3D::blendFuncSeparate):
    (WebCore::GraphicsContext3D::bufferData):
    (WebCore::GraphicsContext3D::bufferSubData):
    (WebCore::GraphicsContext3D::checkFramebufferStatus):
    (WebCore::GraphicsContext3D::clear):
    (WebCore::GraphicsContext3D::clearColor):
    (WebCore::GraphicsContext3D::clearDepth):
    (WebCore::GraphicsContext3D::clearStencil):
    (WebCore::GraphicsContext3D::colorMask):
    (WebCore::GraphicsContext3D::compileShader):
    (WebCore::GraphicsContext3D::copyTexImage2D):
    (WebCore::GraphicsContext3D::copyTexSubImage2D):
    (WebCore::GraphicsContext3D::cullFace):
    (WebCore::GraphicsContext3D::depthFunc):
    (WebCore::GraphicsContext3D::depthMask):
    (WebCore::GraphicsContext3D::depthRange):
    (WebCore::GraphicsContext3D::detachShader):
    (WebCore::GraphicsContext3D::disable):
    (WebCore::GraphicsContext3D::disableVertexAttribArray):
    (WebCore::GraphicsContext3D::drawArrays):
    (WebCore::GraphicsContext3D::drawElements):
    (WebCore::GraphicsContext3D::enable):
    (WebCore::GraphicsContext3D::enableVertexAttribArray):
    (WebCore::GraphicsContext3D::finish):
    (WebCore::GraphicsContext3D::flush):
    (WebCore::GraphicsContext3D::framebufferRenderbuffer):
    (WebCore::GraphicsContext3D::framebufferTexture2D):
    (WebCore::GraphicsContext3D::frontFace):
    (WebCore::GraphicsContext3D::generateMipmap):
    (WebCore::GraphicsContext3D::getActiveAttrib):
    (WebCore::GraphicsContext3D::getActiveUniform):
    (WebCore::GraphicsContext3D::getAttachedShaders):
    (WebCore::GraphicsContext3D::getAttribLocation):
    (WebCore::GraphicsContext3D::getBooleanv):
    (WebCore::GraphicsContext3D::getBufferParameteriv):
    (WebCore::GraphicsContext3D::getContextAttributes):
    (WebCore::GraphicsContext3D::getError):
    (WebCore::GraphicsContext3D::getFloatv):
    (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
    (WebCore::GraphicsContext3D::getIntegerv):
    (WebCore::GraphicsContext3D::getProgramiv):
    (WebCore::GraphicsContext3D::getProgramInfoLog):
    (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
    (WebCore::GraphicsContext3D::getShaderiv):
    (WebCore::GraphicsContext3D::getShaderInfoLog):
    (WebCore::GraphicsContext3D::getShaderSource):
    (WebCore::GraphicsContext3D::getString):
    (WebCore::GraphicsContext3D::getTexParameterfv):
    (WebCore::GraphicsContext3D::getTexParameteriv):
    (WebCore::GraphicsContext3D::getUniformfv):
    (WebCore::GraphicsContext3D::getUniformiv):
    (WebCore::GraphicsContext3D::getUniformLocation):
    (WebCore::GraphicsContext3D::getVertexAttribfv):
    (WebCore::GraphicsContext3D::getVertexAttribiv):
    (WebCore::GraphicsContext3D::getVertexAttribOffset):
    (WebCore::GraphicsContext3D::hint):
    (WebCore::GraphicsContext3D::isBuffer):
    (WebCore::GraphicsContext3D::isEnabled):
    (WebCore::GraphicsContext3D::isFramebuffer):
    (WebCore::GraphicsContext3D::isProgram):
    (WebCore::GraphicsContext3D::isRenderbuffer):
    (WebCore::GraphicsContext3D::isShader):
    (WebCore::GraphicsContext3D::isTexture):
    (WebCore::GraphicsContext3D::lineWidth):
    (WebCore::GraphicsContext3D::linkProgram):
    (WebCore::GraphicsContext3D::pixelStorei):
    (WebCore::GraphicsContext3D::polygonOffset):
    (WebCore::GraphicsContext3D::readPixels):
    (WebCore::GraphicsContext3D::releaseShaderCompiler):
    (WebCore::GraphicsContext3D::renderbufferStorage):
    (WebCore::GraphicsContext3D::sampleCoverage):
    (WebCore::GraphicsContext3D::scissor):
    (WebCore::GraphicsContext3D::shaderSource):
    (WebCore::GraphicsContext3D::stencilFunc):
    (WebCore::GraphicsContext3D::stencilFuncSeparate):
    (WebCore::GraphicsContext3D::stencilMask):
    (WebCore::GraphicsContext3D::stencilMaskSeparate):
    (WebCore::GraphicsContext3D::stencilOp):
    (WebCore::GraphicsContext3D::stencilOpSeparate):
    (WebCore::GraphicsContext3D::texImage2D):
    (WebCore::GraphicsContext3D::texParameterf):
    (WebCore::GraphicsContext3D::texParameteri):
    (WebCore::GraphicsContext3D::texSubImage2D):
    (WebCore::GraphicsContext3D::uniform1f):
    (WebCore::GraphicsContext3D::uniform1fv):
    (WebCore::GraphicsContext3D::uniform1i):
    (WebCore::GraphicsContext3D::uniform1iv):
    (WebCore::GraphicsContext3D::uniform2f):
    (WebCore::GraphicsContext3D::uniform2fv):
    (WebCore::GraphicsContext3D::uniform2i):
    (WebCore::GraphicsContext3D::uniform2iv):
    (WebCore::GraphicsContext3D::uniform3f):
    (WebCore::GraphicsContext3D::uniform3fv):
    (WebCore::GraphicsContext3D::uniform3i):
    (WebCore::GraphicsContext3D::uniform3iv):
    (WebCore::GraphicsContext3D::uniform4f):
    (WebCore::GraphicsContext3D::uniform4fv):
    (WebCore::GraphicsContext3D::uniform4i):
    (WebCore::GraphicsContext3D::uniform4iv):
    (WebCore::GraphicsContext3D::uniformMatrix2fv):
    (WebCore::GraphicsContext3D::uniformMatrix3fv):
    (WebCore::GraphicsContext3D::uniformMatrix4fv):
    (WebCore::GraphicsContext3D::useProgram):
    (WebCore::GraphicsContext3D::validateProgram):
    (WebCore::GraphicsContext3D::vertexAttrib1f):
    (WebCore::GraphicsContext3D::vertexAttrib1fv):
    (WebCore::GraphicsContext3D::vertexAttrib2f):
    (WebCore::GraphicsContext3D::vertexAttrib2fv):
    (WebCore::GraphicsContext3D::vertexAttrib3f):
    (WebCore::GraphicsContext3D::vertexAttrib3fv):
    (WebCore::GraphicsContext3D::vertexAttrib4f):
    (WebCore::GraphicsContext3D::vertexAttrib4fv):
    (WebCore::GraphicsContext3D::vertexAttribPointer):
    (WebCore::GraphicsContext3D::viewport):
    (WebCore::GraphicsContext3D::reshape):
    (WebCore::GraphicsContext3D::markContextChanged):
    (WebCore::GraphicsContext3D::markLayerComposited):
    (WebCore::GraphicsContext3D::layerComposited):
    (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
    (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
    (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
    (WebCore::GraphicsContext3D::createBuffer):
    (WebCore::GraphicsContext3D::createFramebuffer):
    (WebCore::GraphicsContext3D::createProgram):
    (WebCore::GraphicsContext3D::createRenderbuffer):
    (WebCore::GraphicsContext3D::createShader):
    (WebCore::GraphicsContext3D::createTexture):
    (WebCore::GraphicsContext3D::deleteBuffer):
    (WebCore::GraphicsContext3D::deleteFramebuffer):
    (WebCore::GraphicsContext3D::deleteProgram):
    (WebCore::GraphicsContext3D::deleteRenderbuffer):
    (WebCore::GraphicsContext3D::deleteShader):
    (WebCore::GraphicsContext3D::deleteTexture):
    (WebCore::GraphicsContext3D::synthesizeGLError):
    (WebCore::GraphicsContext3D::getExtensions):
    (WebCore::GraphicsContext3D::getInternalFramebufferSize):
    (WebCore::GraphicsContext3D::setContextLostCallback):
    (WebCore::GraphicsContext3D::getImageData):
    (WebCore::GraphicsContext3D::validateAttributes):
    (WebCore::GraphicsContext3D::readRenderingResults):
    (WebCore::GraphicsContext3D::reshapeFBOs):
    (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
    (WebCore::GraphicsContext3D::isResourceSafe):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    bd513e3d