Skip to content
  • nayankk@motorola.com's avatar
    [WebGL] Support for texImage2D of type HALF_FLOAT_OES with ArrayBufferView. · 35ed6a60
    nayankk@motorola.com authored
    https://bugs.webkit.org/show_bug.cgi?id=110818
    
    Reviewed by Kenneth Russell.
    
    As per OES_texture_half_float specification texImage2D and texSubImage2D entry
    points taking ArrayBufferView should extended to accept null with the pixel type
    HALF_FLOAT_OES.
    
    Source/WebCore:
    
    Tests: fast/canvas/webgl/oes-texture-half-float-not-supported.html
           fast/canvas/webgl/oes-texture-half-float.html
    
    * CMakeLists.txt:
    * DerivedSources.make:
    * DerivedSources.pri:
    * GNUmakefile.list.am:
    * Target.pri:
    * WebCore.gypi:
    * WebCore.xcodeproj/project.pbxproj:
    * bindings/js/JSWebGLRenderingContextCustom.cpp:
    (WebCore::toJS):
    * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
    (WebCore::toV8Object):
    * html/canvas/OESTextureHalfFloat.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
    (WebCore):
    (WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
    (WebCore::OESTextureHalfFloat::~OESTextureHalfFloat):
    (WebCore::OESTextureHalfFloat::getName):
    (WebCore::OESTextureHalfFloat::create):
    * html/canvas/OESTextureHalfFloat.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
    (WebCore):
    (OESTextureHalfFloat):
    * html/canvas/OESTextureHalfFloat.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
    * html/canvas/WebGLExtension.h:
    * html/canvas/WebGLRenderingContext.cpp:
    (WebCore):
    (WebCore::WebGLRenderingContext::getExtension):
    (WebCore::WebGLRenderingContext::texImage2D):
    (WebCore::WebGLRenderingContext::texSubImage2D):
    (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
    (WebCore::WebGLRenderingContext::validateTexFuncData):
    * html/canvas/WebGLRenderingContext.h:
    (WebCore):
    (WebGLRenderingContext):
    * html/canvas/WebGLRenderingContext.idl:
    * platform/graphics/Extensions3D.h:
    (Extensions3D):
    * platform/graphics/GraphicsContext3D.cpp:
    (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
    * platform/graphics/GraphicsContext3D.h:
    * platform/graphics/GraphicsTypes3D.h:
    * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
    (WebCore::GraphicsContext3D::texImage2D):
    
    LayoutTests:
    
    * fast/canvas/webgl/constants.html:
    * fast/canvas/webgl/oes-texture-half-float-expected.txt: Added.
    * fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Added.
    * fast/canvas/webgl/oes-texture-half-float-not-supported.html: Added.
    * fast/canvas/webgl/oes-texture-half-float.html: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@144535 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    35ed6a60