Changeset 75209 in webkit


Ignore:
Timestamp:
Jan 6, 2011 4:24:05 PM (13 years ago)
Author:
Martin Robinson
Message:

2011-01-06 Martin Robinson <mrobinson@igalia.com>

Reviewed by Eric Seidel.

[GTK] Initial build support for WebGL
https://bugs.webkit.org/show_bug.cgi?id=51716

  • configure.ac: Add a configure option for WebGL.

2011-01-06 Martin Robinson <mrobinson@igalia.com>

Reviewed by Eric Seidel.

[GTK] Initial build support for WebGL
https://bugs.webkit.org/show_bug.cgi?id=51716

Add initial build support for WebGL and insert bits of implementation
necessary for clean compilation into GraphicsContext3D.

No new tests. This is just a build change.

  • GNUmakefile.am: Add missing files to the source lists.
  • platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below. Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the same across different platforms. X11 headers define the VERSION symbol, so it's necessary to undefine it, since it's used as an enum value.
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r75208 r75209  
     12011-01-06  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [GTK] Initial build support for WebGL
     6        https://bugs.webkit.org/show_bug.cgi?id=51716
     7
     8        * configure.ac: Add a configure option for WebGL.
     9
    1102011-01-06  Michael Saboff  <msaboff@apple.com>
    211
  • trunk/WebCore/ChangeLog

    r75207 r75209  
     12011-01-06  Martin Robinson  <mrobinson@igalia.com>
     2
     3        Reviewed by Eric Seidel.
     4
     5        [GTK] Initial build support for WebGL
     6        https://bugs.webkit.org/show_bug.cgi?id=51716
     7
     8        Add initial build support for WebGL and insert bits of implementation
     9        necessary for clean compilation into GraphicsContext3D.
     10
     11        No new tests. This is just a build change.
     12
     13        * GNUmakefile.am: Add missing files to the source lists.
     14        * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
     15        Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
     16        same across different platforms. X11 headers define the VERSION symbol, so it's
     17        necessary to undefine it, since it's used as an enum value.
     18
    1192011-01-06  Helder Correia  <helder@sencha.com>
    220
  • trunk/WebCore/GNUmakefile.am

    r75202 r75209  
    569569        DerivedSources/WebCore/JSWebGLContextAttributes.cpp \
    570570        DerivedSources/WebCore/JSWebGLContextAttributes.h \
     571        DerivedSources/WebCore/JSWebGLContextEvent.cpp \
     572        DerivedSources/WebCore/JSWebGLContextEvent.h \
    571573        DerivedSources/WebCore/JSWebGLFramebuffer.cpp \
    572574        DerivedSources/WebCore/JSWebGLFramebuffer.h \
     
    697699        WebCore/bindings/js/IDBBindingUtilities.h \
    698700        WebCore/bindings/js/JSArrayBufferCustom.cpp \
     701        WebCore/bindings/js/JSArrayBufferViewHelper.h \
    699702        WebCore/bindings/js/JSAttrCustom.cpp \
    700703        WebCore/bindings/js/JSAudioConstructor.cpp \
     
    846849        WebCore/bindings/js/JSTouchListCustom.cpp \
    847850        WebCore/bindings/js/JSTreeWalkerCustom.cpp \
    848         WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
    849         WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
    850851        WebCore/bindings/js/JSUint16ArrayCustom.cpp \
    851852        WebCore/bindings/js/JSUint32ArrayCustom.cpp \
    852853        WebCore/bindings/js/JSUint8ArrayCustom.cpp \
     854        WebCore/bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp \
     855        WebCore/bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp \
     856        WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp \
    853857        WebCore/bindings/js/JSWebKitCSSMatrixCustom.cpp \
    854858        WebCore/bindings/js/JSWebKitPointCustom.cpp \
     
    15421546        WebCore/html/canvas/ArrayBufferView.cpp \
    15431547        WebCore/html/canvas/ArrayBufferView.h \
     1548        WebCore/html/canvas/CanvasContextAttributes.cpp \
    15441549        WebCore/html/canvas/CanvasContextAttributes.h \
    15451550        WebCore/html/canvas/CanvasGradient.cpp \
     
    46434648endif  # END ENABLE_BLOB
    46444649
     4650# ---
     4651# 3D canvas (WebGL) support
     4652# ---
     4653if ENABLE_3D_CANVAS
     4654FEATURE_DEFINES += ENABLE_3D_CANVAS=1
     4655webcore_cppflags += -DENABLE_3D_CANVAS=1
     4656webcore_sources += \
     4657        WebCore/html/canvas/WebGLActiveInfo.h \
     4658        WebCore/html/canvas/WebGLBuffer.cpp \
     4659        WebCore/html/canvas/WebGLBuffer.h \
     4660        WebCore/html/canvas/WebGLContextAttributes.cpp \
     4661        WebCore/html/canvas/WebGLContextAttributes.h \
     4662        WebCore/html/canvas/WebGLContextEvent.cpp \
     4663        WebCore/html/canvas/WebGLContextEvent.h \
     4664        WebCore/html/canvas/WebGLFramebuffer.cpp \
     4665        WebCore/html/canvas/WebGLFramebuffer.h \
     4666        WebCore/html/canvas/WebGLGetInfo.cpp \
     4667        WebCore/html/canvas/WebGLGetInfo.h \
     4668        WebCore/html/canvas/WebGLObject.cpp \
     4669        WebCore/html/canvas/WebGLObject.h \
     4670        WebCore/html/canvas/WebGLProgram.cpp \
     4671        WebCore/html/canvas/WebGLProgram.h \
     4672        WebCore/html/canvas/WebGLRenderbuffer.cpp \
     4673        WebCore/html/canvas/WebGLRenderbuffer.h \
     4674        WebCore/html/canvas/WebGLRenderingContext.cpp \
     4675        WebCore/html/canvas/WebGLRenderingContext.h \
     4676        WebCore/html/canvas/WebGLShader.cpp \
     4677        WebCore/html/canvas/WebGLShader.h \
     4678        WebCore/html/canvas/WebGLTexture.cpp \
     4679        WebCore/html/canvas/WebGLTexture.h \
     4680        WebCore/html/canvas/WebGLUniformLocation.cpp \
     4681        WebCore/html/canvas/WebGLUniformLocation.h
     4682endif  # END ENABLE_3D_CANVAS
     4683
    46454684DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
    46464685DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
  • trunk/WebCore/platform/graphics/GraphicsContext3D.h

    r74741 r75209  
    2727#define GraphicsContext3D_h
    2828
     29#include "IntSize.h"
    2930#include "GraphicsLayer.h"
    3031#include "PlatformString.h"
     
    3738#if ((PLATFORM(CHROMIUM) && OS(WINDOWS)) || PLATFORM(WIN) || (PLATFORM(QT) && OS(WINDOWS)))
    3839#undef NO_ERROR
     40#elif PLATFORM(GTK)
     41// This define is from the X11 headers, but it's used below, so we must undefine it.
     42#undef VERSION
    3943#endif
    4044
     
    4347#include <OpenGL/OpenGL.h>
    4448#include <wtf/RetainPtr.h>
    45 
    46 typedef CGLContextObj PlatformGraphicsContext3D;
    47 const PlatformGraphicsContext3D NullPlatformGraphicsContext3D = 0;
    48 typedef GLuint Platform3DObject;
    49 const Platform3DObject NullPlatform3DObject = 0;
    50 
    5149#ifdef __OBJC__
    5250@class CALayer;
     
    6159class QRect;
    6260QT_END_NAMESPACE
    63 typedef void* PlatformGraphicsContext3D;
    64 const PlatformGraphicsContext3D NullPlatformGraphicsContext3D = 0;
    65 typedef int Platform3DObject;
    66 const Platform3DObject NullPlatform3DObject = 0;
     61#elif PLATFORM(GTK)
     62typedef unsigned int GLuint;
     63#endif
     64
     65#if PLATFORM(MAC)
     66typedef CGLContextObj PlatformGraphicsContext3D;
    6767#else
    6868typedef void* PlatformGraphicsContext3D;
     69#endif
     70
     71#if PLATFORM(MAC) || PLATFORM(GTK)
     72typedef GLuint Platform3DObject;
     73#else
     74typedef int Platform3DObject;
     75#endif
     76
     77// These are currently the same among all implementations.
    6978const PlatformGraphicsContext3D NullPlatformGraphicsContext3D = 0;
    70 typedef int Platform3DObject;
    7179const Platform3DObject NullPlatform3DObject = 0;
    72 #endif
    7380
    7481#if PLATFORM(CG)
  • trunk/configure.ac

    r75165 r75209  
    365365              [],[enable_3D_transforms="no"])
    366366AC_MSG_RESULT([$enable_3D_transforms])
     367
     368# check whether to enable 3D canvas (WebGL) support
     369AC_MSG_CHECKING([whether to enable 3D canvas (WebGL) support])
     370AC_ARG_ENABLE(3D_canvas,
     371              AC_HELP_STRING([--enable-3D-canvas],
     372                             [enable support for 3D canvas (WebGL) [default=yes]]),
     373              [], [enable_3D_canvas="no"])
     374AC_MSG_RESULT([$enable_3D_canvas])
    367375
    368376# check whether to enable channel messaging support
     
    956964AM_CONDITIONAL([ENABLE_DEBUG],[test "$enable_debug" = "yes"])
    957965AM_CONDITIONAL([ENABLE_3D_TRANSFORMS],[test "$enable_3D_transforms" = "yes"])
     966AM_CONDITIONAL([ENABLE_3D_CANVAS],[test "$enable_3D_canvas" = "yes"])
    958967AM_CONDITIONAL([ENABLE_BLOB],[test "$enable_blob" = "yes"])
    959968AM_CONDITIONAL([ENABLE_CHANNEL_MESSAGING],[test "$enable_channel_messaging" = "yes"])
     
    10441053Features:
    10451054 3D Transforms                                            : $enable_3D_transforms
     1055 3D Canvas (WebGL)                                        : $enable_3D_canvas
    10461056 Blob support                                             : $enable_blob
    10471057 Directory upload                                         : $enable_directory_upload
Note: See TracChangeset for help on using the changeset viewer.