WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
patchv2
x11helperreview.patch (text/plain), 5.12 KB, created by
Kalyan
on 2013-02-28 21:21:16 PST
(
hide
)
Description:
patchv2
Filename:
MIME Type:
Creator:
Kalyan
Created:
2013-02-28 21:21:16 PST
Size:
5.12 KB
patch
obsolete
>diff --git Source/WebCore/ChangeLog Source/WebCore/ChangeLog >index 56999df..6752e10 100644 >--- Source/WebCore/ChangeLog >+++ Source/WebCore/ChangeLog >@@ -1,3 +1,26 @@ >+2013-02-28 Kondapally Kalyan <kalyan.kondapally@intel.com> >+ >+ [EFL][WebGL] Add proper checks to enable GraphicsSurface usage on EGL without XCompositeWindow. >+ https://bugs.webkit.org/show_bug.cgi?id=108034 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Covered by existing WebGL tests. >+ >+ Currently, we set GRAPHICS_SURFACE to true if support for XCompositeWindow >+ is identified during compile time. This is ok, when using GLX. We might not >+ have support for XCompositeWindow when using EGL and GLES2.0. This patch >+ makes changes so that GRAPHICS_SURFACE is always enabled with EGL and adds >+ GLX guard to the parts of code dependent on XCompositeWindow support. >+ >+ * platform/graphics/opengl/GLPlatformSurface.cpp: >+ * platform/graphics/surfaces/glx/GLXConfigSelector.h: >+ (WebCore::GLXConfigSelector::findMatchingConfig): >+ * platform/graphics/surfaces/glx/X11Helper.cpp: >+ (WebCore::X11Helper::createOffScreenWindow): >+ (WebCore::X11Helper::isXRenderExtensionSupported): >+ * platform/graphics/surfaces/glx/X11Helper.h: >+ > 2013-02-28 Conrad Shultz <conrad_shultz@apple.com> > > Need API to control page underlay color >diff --git Source/WebCore/platform/graphics/opengl/GLPlatformSurface.cpp Source/WebCore/platform/graphics/opengl/GLPlatformSurface.cpp >index 84b4fe8..b503221 100644 >--- Source/WebCore/platform/graphics/opengl/GLPlatformSurface.cpp >+++ Source/WebCore/platform/graphics/opengl/GLPlatformSurface.cpp >@@ -28,7 +28,7 @@ > > #if USE(ACCELERATED_COMPOSITING) > >-#if HAVE(GLX) >+#if USE(GLX) > #include "GLXSurface.h" > #endif > >diff --git Source/WebCore/platform/graphics/surfaces/glx/GLXConfigSelector.h Source/WebCore/platform/graphics/surfaces/glx/GLXConfigSelector.h >index f32c2af..2fea7b0 100644 >--- Source/WebCore/platform/graphics/surfaces/glx/GLXConfigSelector.h >+++ Source/WebCore/platform/graphics/surfaces/glx/GLXConfigSelector.h >@@ -151,7 +151,7 @@ private: > if (!scopedVisualInfo.get()) > continue; > >-#if USE(GRAPHICS_SURFACE) >+#if USE(GRAPHICS_SURFACE) && USE(GLX) > if (X11Helper::isXRenderExtensionSupported()) { > XRenderPictFormat* format = XRenderFindVisualFormat(X11Helper::nativeDisplay(), scopedVisualInfo->visual); > >@@ -208,3 +208,4 @@ private: > #endif > > #endif >+ >diff --git Source/WebCore/platform/graphics/surfaces/glx/X11Helper.cpp Source/WebCore/platform/graphics/surfaces/glx/X11Helper.cpp >index cedd453..6743f1d 100644 >--- Source/WebCore/platform/graphics/surfaces/glx/X11Helper.cpp >+++ Source/WebCore/platform/graphics/surfaces/glx/X11Helper.cpp >@@ -183,7 +183,7 @@ void X11Helper::destroyPixmap(const uint32_t pixmapId) > > void X11Helper::createOffScreenWindow(uint32_t* handleId, const XVisualInfo& visInfo, const IntSize& size) > { >-#if USE(GRAPHICS_SURFACE) >+#if USE(GRAPHICS_SURFACE) && USE(GLX) > Display* display = nativeDisplay(); > if (!display) > return; >@@ -295,7 +295,7 @@ bool X11Helper::isXRenderExtensionSupported() > > if (!queryDone) { > queryDone = true; >-#if USE(GRAPHICS_SURFACE) >+#if USE(GRAPHICS_SURFACE) && USE(GLX) > Display* display = nativeDisplay(); > > if (display) { >@@ -322,3 +322,4 @@ Window X11Helper::offscreenRootWindow() > } > > } >+ >diff --git Source/WebCore/platform/graphics/surfaces/glx/X11Helper.h Source/WebCore/platform/graphics/surfaces/glx/X11Helper.h >index 7d3ebae..1c14d22 100644 >--- Source/WebCore/platform/graphics/surfaces/glx/X11Helper.h >+++ Source/WebCore/platform/graphics/surfaces/glx/X11Helper.h >@@ -29,17 +29,17 @@ > #include "IntRect.h" > #include "OwnPtrX11.h" > >-#if USE(GRAPHICS_SURFACE) >- > #if USE(EGL) > #include <opengl/GLDefs.h> > #endif > >+#if USE(GRAPHICS_SURFACE) && USE(GLX) > #include <X11/extensions/Xcomposite.h> > #include <X11/extensions/Xrender.h> >-#endif >- >+#else > #include <X11/Xlib.h> >+#include <X11/Xutil.h> >+#endif > > namespace WebCore { > >@@ -73,3 +73,4 @@ private: > } > > #endif >+ >diff --git Source/cmake/OptionsEfl.cmake Source/cmake/OptionsEfl.cmake >index 90215e2..f865bbf 100644 >--- Source/cmake/OptionsEfl.cmake >+++ Source/cmake/OptionsEfl.cmake >@@ -186,6 +186,7 @@ if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE) > > if (EGL_FOUND) > set(WTF_USE_EGL 1) >+ set(USE_GRAPHICS_SURFACE 1) > add_definitions(-DWTF_USE_EGL=1) > option(ENABLE_GLES2 ON) > >@@ -199,11 +200,14 @@ if (ENABLE_WEBGL OR WTF_USE_TILED_BACKING_STORE) > endif () > elseif (OPENGLX_FOUND) > add_definitions(-DWTF_USE_GLX=1) >- endif () > >- if ((OPENGLX_FOUND OR EGL_FOUND) AND X11_Xcomposite_FOUND AND X11_Xrender_FOUND) >- set(USE_GRAPHICS_SURFACE 1) >- endif () >+ if (X11_Xcomposite_FOUND AND X11_Xrender_FOUND) >+ set(USE_GRAPHICS_SURFACE 1) >+ elseif (ENABLE_WEBGL) >+ # FIXME: Add support for NOT X11_Xcomposite for GLX >+ message(FATAL_ERROR "To use WebGL with GLX support requires X11_Xcomposite.") >+ endif () >+ endif () > endif () > > if (ENABLE_INSPECTOR)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
laszlo.gombos
:
review+
buildbot
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 108034
:
190030
|
190879
|
191156