Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(284)

Unified Diff: Source/WebCore/platform/graphics/surfaces/glx/GLXSurface.cpp

Issue 13529026: Removing a bunch of unused platform code. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix whitespace and compiler error on Mac. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/WebCore/platform/graphics/surfaces/glx/GLXSurface.cpp
diff --git a/Source/WebCore/platform/graphics/surfaces/glx/GLXSurface.cpp b/Source/WebCore/platform/graphics/surfaces/glx/GLXSurface.cpp
deleted file mode 100644
index ffda1fa5105f31f15f52dcf12b70a7cc103fd9dd..0000000000000000000000000000000000000000
--- a/Source/WebCore/platform/graphics/surfaces/glx/GLXSurface.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-/*
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "GLXSurface.h"
-
-#if USE(ACCELERATED_COMPOSITING) && USE(GLX)
-
-namespace WebCore {
-
-static PFNGLXBINDTEXIMAGEEXTPROC pGlXBindTexImageEXT = 0;
-static PFNGLXRELEASETEXIMAGEEXTPROC pGlXReleaseTexImageEXT = 0;
-
-static bool resolveGLMethods()
-{
- static bool resolved = false;
- if (resolved)
- return true;
-
- pGlXBindTexImageEXT = reinterpret_cast<PFNGLXBINDTEXIMAGEEXTPROC>(glXGetProcAddress(reinterpret_cast<const GLubyte*>("glXBindTexImageEXT")));
- pGlXReleaseTexImageEXT = reinterpret_cast<PFNGLXRELEASETEXIMAGEEXTPROC>(glXGetProcAddress(reinterpret_cast<const GLubyte*>("glXReleaseTexImageEXT")));
-
- resolved = pGlXBindTexImageEXT && pGlXReleaseTexImageEXT;
-
- return resolved;
-}
-
-static int glxAttributes[] = {
- GLX_TEXTURE_FORMAT_EXT,
- GLX_TEXTURE_FORMAT_RGBA_EXT,
- GLX_TEXTURE_TARGET_EXT,
- GLX_TEXTURE_2D_EXT,
- 0
-};
-
-static bool isMesaGLX()
-{
- static bool isMesa = !!strstr(glXGetClientString(X11Helper::nativeDisplay(), GLX_VENDOR), "Mesa");
- return isMesa;
-}
-
-GLXTransportSurface::GLXTransportSurface(const IntSize& size, SurfaceAttributes attributes)
- : GLTransportSurface(size, attributes)
-{
- m_sharedDisplay = X11Helper::nativeDisplay();
- attributes |= GLPlatformSurface::DoubleBuffered;
- m_configSelector = adoptPtr(new GLXConfigSelector(attributes));
- OwnPtrX11<XVisualInfo> visInfo(m_configSelector->visualInfo(m_configSelector->surfaceContextConfig()));
-
- if (!visInfo.get()) {
- destroy();
- return;
- }
-
- X11Helper::createOffScreenWindow(&m_bufferHandle, *visInfo.get(), size);
-
- if (!m_bufferHandle) {
- destroy();
- return;
- }
-
- m_drawable = m_bufferHandle;
-}
-
-GLXTransportSurface::~GLXTransportSurface()
-{
-}
-
-PlatformSurfaceConfig GLXTransportSurface::configuration()
-{
- return m_configSelector->surfaceContextConfig();
-}
-
-void GLXTransportSurface::setGeometry(const IntRect& newRect)
-{
- GLTransportSurface::setGeometry(newRect);
- X11Helper::resizeWindow(newRect, m_drawable);
- // Force resize of GL surface after window resize.
- glXSwapBuffers(sharedDisplay(), m_drawable);
-}
-
-void GLXTransportSurface::swapBuffers()
-{
- if (!m_drawable)
- return;
-
- glXSwapBuffers(sharedDisplay(), m_drawable);
-}
-
-void GLXTransportSurface::destroy()
-{
- GLTransportSurface::destroy();
-
- if (m_bufferHandle) {
- X11Helper::destroyWindow(m_bufferHandle);
- m_bufferHandle = 0;
- m_drawable = 0;
- }
-
- m_configSelector = nullptr;
-}
-
-GLPlatformSurface::SurfaceAttributes GLXTransportSurface::attributes() const
-{
- return m_configSelector->attributes();
-}
-
-GLXOffScreenSurface::GLXOffScreenSurface(SurfaceAttributes surfaceAttributes)
- : GLPlatformSurface(surfaceAttributes)
- , m_pixmap(0)
- , m_glxPixmap(0)
-{
- initialize(surfaceAttributes);
-}
-
-GLXOffScreenSurface::~GLXOffScreenSurface()
-{
-}
-
-void GLXOffScreenSurface::initialize(SurfaceAttributes attributes)
-{
- m_sharedDisplay = X11Helper::nativeDisplay();
-
- m_configSelector = adoptPtr(new GLXConfigSelector(attributes));
-
- OwnPtrX11<XVisualInfo> visualInfo(m_configSelector->visualInfo(m_configSelector->pixmapContextConfig()));
- X11Helper::createPixmap(&m_pixmap, *visualInfo.get());
-
- if (!m_pixmap) {
- destroy();
- return;
- }
-
- m_glxPixmap = glXCreateGLXPixmap(m_sharedDisplay, visualInfo.get(), m_pixmap);
-
- if (!m_glxPixmap) {
- destroy();
- return;
- }
-
- m_drawable = m_glxPixmap;
-}
-
-PlatformSurfaceConfig GLXOffScreenSurface::configuration()
-{
- return m_configSelector->pixmapContextConfig();
-}
-
-void GLXOffScreenSurface::destroy()
-{
- freeResources();
-}
-
-void GLXOffScreenSurface::freeResources()
-{
- Display* display = sharedDisplay();
-
- if (!display)
- return;
-
- if (m_glxPixmap) {
- glXDestroyGLXPixmap(display, m_glxPixmap);
- glXWaitGL();
- m_glxPixmap = 0;
- }
-
- if (m_pixmap) {
- X11Helper::destroyPixmap(m_pixmap);
- m_pixmap = 0;
- }
-
- m_configSelector = nullptr;
- m_drawable = 0;
-}
-
-GLXTransportSurfaceClient::GLXTransportSurfaceClient(const PlatformBufferHandle handle)
- : GLTransportSurfaceClient(handle)
-{
- if (!resolveGLMethods())
- return;
-
- XWindowAttributes attr;
- Display* display = X11Helper::nativeDisplay();
- if (!XGetWindowAttributes(display, handle, &attr))
- return;
-
- // Ensure that the window is mapped.
- if (attr.map_state == IsUnmapped || attr.map_state == IsUnviewable)
- return;
-
- ScopedXPixmapCreationErrorHandler handler;
-
- XRenderPictFormat* format = XRenderFindVisualFormat(display, attr.visual);
- bool hasAlpha = (format->type == PictTypeDirect && format->direct.alphaMask);
- m_xPixmap = XCompositeNameWindowPixmap(display, handle);
-
- if (!m_xPixmap)
- return;
-
- glxAttributes[1] = (format->depth == 32 && hasAlpha) ? GLX_TEXTURE_FORMAT_RGBA_EXT : GLX_TEXTURE_FORMAT_RGB_EXT;
-
- GLPlatformSurface::SurfaceAttributes sharedSurfaceAttributes = GLPlatformSurface::Default;
-
- if (hasAlpha) {
- sharedSurfaceAttributes = GLPlatformSurface::SupportAlpha;
- m_hasAlpha = true;
- }
-
- GLXConfigSelector configSelector(sharedSurfaceAttributes);
-
- m_glxPixmap = glXCreatePixmap(display, configSelector.surfaceClientConfig(format->depth, XVisualIDFromVisual(attr.visual)), m_xPixmap, glxAttributes);
-
- if (!m_glxPixmap || !handler.isValidOperation()) {
- destroy();
- return;
- }
-
- createTexture();
- glXWaitX();
- pGlXBindTexImageEXT(display, m_glxPixmap, GLX_FRONT_EXT, 0);
-}
-
-GLXTransportSurfaceClient::~GLXTransportSurfaceClient()
-{
-}
-
-void GLXTransportSurfaceClient::destroy()
-{
- Display* display = X11Helper::nativeDisplay();
- if (!display)
- return;
-
- if (m_texture) {
- pGlXReleaseTexImageEXT(display, m_glxPixmap, GLX_FRONT_EXT);
- GLTransportSurfaceClient::destroy();
- }
-
- if (m_glxPixmap) {
- glXDestroyPixmap(display, m_glxPixmap);
- m_glxPixmap = 0;
- glXWaitGL();
- }
-
- if (m_xPixmap) {
- X11Helper::destroyPixmap(m_xPixmap);
- m_xPixmap = 0;
- }
-}
-
-void GLXTransportSurfaceClient::prepareTexture()
-{
- if (isMesaGLX() && m_texture) {
- Display* display = X11Helper::nativeDisplay();
- glBindTexture(GL_TEXTURE_2D, m_texture);
- // Mesa doesn't re-bind texture to the front buffer on glXSwapBufer
- // Manually release previous lock and rebind texture to surface to ensure frame updates.
- pGlXReleaseTexImageEXT(display, m_glxPixmap, GLX_FRONT_EXT);
- pGlXBindTexImageEXT(display, m_glxPixmap, GLX_FRONT_EXT, 0);
- }
-}
-
-}
-
-#endif

Powered by Google App Engine
This is Rietveld 408576698