[webkit-qt] [webkit-dev] How to enable WebGL on WebKit QT port?

Won J Jeon wjjeon at gmail.com
Thu May 12 13:36:11 PDT 2011


The code seems broken for now. I got the following compilation error:

g++ -c -pipe -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wcast-align
-Wchar-subscripts -Wformat-security -Wreturn-type -Wno-unused-parameter
-Wno-sign-compare -Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn
-Winit-self -Werror -ffunction-sections -fdata-sections -O2 -fPIC
-D_REENTRANT -DENABLE_WEBGL=1 -DNDEBUG -DBUILDING_QT__=1 -DNDEBUG
-DQT_ASCII_CAST_WARNINGS -DENABLE_JAVASCRIPT_DEBUGGER=1 -DENABLE_DATABASE=1
-DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1
-DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1
-DENABLE_DIRECTORY_UPLOAD=0 -DENABLE_FILE_SYSTEM=0 -DENABLE_QUOTA=0
-DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=1
-DENABLE_XPATH=1 -DENABLE_WCSS=0 -DENABLE_SHARED_WORKERS=1
-DENABLE_WORKERS=1 -DENABLE_XHTMLMP=0 -DENABLE_DETAILS=1
-DENABLE_METER_TAG=1 -DENABLE_PROGRESS_TAG=1 -DENABLE_BLOB=1
-DENABLE_NOTIFICATIONS=1 -DENABLE_INPUT_SPEECH=0 -DENABLE_INSPECTOR=1
-DENABLE_3D_RENDERING=1 -DENABLE_WEB_AUDIO=0 -DENABLE_MEDIA_STATISTICS=0
-DENABLE_VIDEO_TRACK=0 -DENABLE_TOUCH_ICON_LOADING=0
-DENABLE_ANIMATION_API=0 -DENABLE_SVG=1 -DENABLE_SVG_FONTS=1
-DENABLE_SVG_FOREIGN_OBJECT=1 -DENABLE_SVG_ANIMATION=1
-DENABLE_SVG_AS_IMAGE=1 -DENABLE_SVG_USE=1 -DENABLE_DATALIST=1
-DENABLE_TILED_BACKING_STORE=1 -DENABLE_NETSCAPE_PLUGIN_API=1
-DENABLE_WEB_SOCKETS=1 -DENABLE_WEB_TIMING=1 -DENABLE_XSLT=1
-DWTF_USE_QT_BEARER=1 -DENABLE_TOUCH_EVENTS=1 -DENABLE_VIDEO=0 -DXP_UNIX
-DENABLE_NETSCAPE_PLUGIN_METADATA_CACHE=1 -DBUILDING_JavaScriptCore
-DBUILDING_WTF -DBUILDING_WEBKIT -DQT_MAKEDLL -DQT_NO_DEBUG
-DQT_XMLPATTERNS_LIB -DQT_OPENGL_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB
-DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++
-I../../../Source/WebCore -I/usr/include/qt4/QtCore
-I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui
-I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtXmlPatterns
-I/usr/include/qt4 -I../../../Source/JavaScriptCore -I../../../Source
-I../../../Source/ThirdParty -I../../../Source/JavaScriptCore/assembler
-I../../../Source/JavaScriptCore/bytecode
-I../../../Source/JavaScriptCore/bytecompiler
-I../../../Source/JavaScriptCore/heap -I../../../Source/JavaScriptCore/dfg
-I../../../Source/JavaScriptCore/debugger
-I../../../Source/JavaScriptCore/interpreter
-I../../../Source/JavaScriptCore/jit -I../../../Source/JavaScriptCore/parser
-I../../../Source/JavaScriptCore/profiler
-I../../../Source/JavaScriptCore/runtime
-I../../../Source/JavaScriptCore/wtf
-I../../../Source/JavaScriptCore/wtf/gobject
-I/home/wonjeon/webkit-qt/WebKit/Source/JavaScriptCore/wtf/symbian
-I../../../Source/JavaScriptCore/wtf/unicode
-I../../../Source/JavaScriptCore/yarr -I../../../Source/JavaScriptCore/API
-I../../../Source/JavaScriptCore/ForwardingHeaders
-I../JavaScriptCore/generated -I../../../Source/WebCore/bridge/qt
-I../../../Source/WebCore/page/qt
-I../../../Source/WebCore/platform/graphics/qt
-I../../../Source/WebCore/platform/network/qt
-I../../../Source/WebCore/platform/qt -I../../../Source/WebKit/qt/Api
-I../../../Source/WebKit/qt/WebCoreSupport -I../../../Source/WebCore
-I../../../Source/WebCore/accessibility -I../../../Source/WebCore/bindings
-I../../../Source/WebCore/bindings/generic -I../../../Source/WebCore/bridge
-I../../../Source/WebCore/css -I../../../Source/WebCore/dom
-I../../../Source/WebCore/dom/default -I../../../Source/WebCore/editing
-I../../../Source/WebCore/fileapi -I../../../Source/WebCore/history
-I../../../Source/WebCore/html -I../../../Source/WebCore/html/canvas
-I../../../Source/WebCore/html/parser -I../../../Source/WebCore/html/shadow
-I../../../Source/WebCore/inspector -I../../../Source/WebCore/loader
-I../../../Source/WebCore/loader/appcache
-I../../../Source/WebCore/loader/archive
-I../../../Source/WebCore/loader/cache -I../../../Source/WebCore/loader/icon
-I../../../Source/WebCore/mathml -I../../../Source/WebCore/notifications
-I../../../Source/WebCore/page -I../../../Source/WebCore/page/animation
-I../../../Source/WebCore/platform
-I../../../Source/WebCore/platform/animation
-I../../../Source/WebCore/platform/audio
-I../../../Source/WebCore/platform/graphics
-I../../../Source/WebCore/platform/graphics/filters
-I../../../Source/WebCore/platform/graphics/filters/arm
-I../../../Source/WebCore/platform/graphics/texmap
-I../../../Source/WebCore/platform/graphics/transforms
-I../../../Source/WebCore/platform/image-decoders
-I../../../Source/WebCore/platform/leveldb
-I../../../Source/WebCore/platform/mock
-I../../../Source/WebCore/platform/network
-I../../../Source/WebCore/platform/sql
-I../../../Source/WebCore/platform/text
-I../../../Source/WebCore/platform/text/transcoder
-I../../../Source/WebCore/plugins -I../../../Source/WebCore/rendering
-I../../../Source/WebCore/rendering/mathml
-I../../../Source/WebCore/rendering/style
-I../../../Source/WebCore/rendering/svg -I../../../Source/WebCore/storage
-I../../../Source/WebCore/svg -I../../../Source/WebCore/svg/animation
-I../../../Source/WebCore/svg/graphics
-I../../../Source/WebCore/svg/graphics/filters
-I../../../Source/WebCore/svg/properties -I../../../Source/WebCore/webaudio
-I../../../Source/WebCore/websockets -I../../../Source/WebCore/workers
-I../../../Source/WebCore/xml -I../../../Source/WebCore/bridge/jsc
-I../../../Source/WebCore/bindings/js
-I/home/wonjeon/webkit-qt/WebKit/Source/WebCore/bindings/js/specialization
-I../../../Source/WebCore/bridge/c -Igenerated -I../../../Source
-I../include/QtWebKit -I../include -I/usr/src/3rdparty/sqlite/
-I../../../Source/WebCore/platform/graphics/gpu -I/usr/X11R6/include
-I/usr/X11R6/include -I. -I../../../Source/WebCore -I. -o
obj/release/GraphicsContext3DQt.o
../../../Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
cc1plus: warnings being treated as errors
../../../Source/WebCore/platform/graphics/GraphicsContext3D.h: In
constructor
‘WebCore::GraphicsContext3D::GraphicsContext3D(WebCore::GraphicsContext3D::Attributes,
WebCore::HostWindow*, bool)’:
../../../Source/WebCore/platform/graphics/GraphicsContext3D.h:935: error:
‘WebCore::GraphicsContext3D::m_internal’ will be initialized after
../../../Source/WebCore/platform/graphics/GraphicsContext3D.h:889: error:
‘bool WebCore::GraphicsContext3D::m_isResourceSafe’
../../../Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp:688:
error:   when initialized here
make[1]: *** [obj/release/GraphicsContext3DQt.o] Error 1

Won


On Wed, May 11, 2011 at 9:46 AM, Jarkko Sakkinen <jarkko.sakkinen at iki.fi>wrote:

> On Wed, May 11, 2011 at 4:42 PM, Joseph Tsai <mgtsai at gmail.com> wrote:
> > I think this issue is just a design choice. In Chromium's port, if
> > certain GL functions are not supported natively, it uses the software
> > emulated part to fill out the unsupported part.
> >
> > I can understand that mixing native GL functions and emulated ones is
> > more complex, and developers may decide that it is not worse to spend
> > lots of time to implement such a mixing infrastructure in the current
> > stage. But it cannot be claimed that supporting partial set of GL
> > function is not achievable. We just can say that the mixing mechanism
> > would not supported currently since we don't want to incorporate more
> > architectural complexity.
>
> That sounds reasonable. I think this can be considered later on.
>
> > Sincerely,
> > Joseph
>
> /Jarkko
> _______________________________________________
> webkit-qt mailing list
> webkit-qt at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-qt/attachments/20110512/f2212786/attachment.html>


More information about the webkit-qt mailing list