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

Side by Side Diff: ui/gl/gl_surface_egl.cc

Issue 10392152: RefCounted types should not have public destructors, Linux fixes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/gl/gl_surface_egl.h" 5 #include "ui/gl/gl_surface_egl.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/message_loop.h" 9 #include "base/message_loop.h"
10 #include "build/build_config.h" 10 #include "build/build_config.h"
(...skipping 22 matching lines...) Expand all
33 33
34 namespace { 34 namespace {
35 EGLConfig g_config; 35 EGLConfig g_config;
36 EGLDisplay g_display; 36 EGLDisplay g_display;
37 EGLNativeDisplayType g_native_display; 37 EGLNativeDisplayType g_native_display;
38 EGLConfig g_software_config; 38 EGLConfig g_software_config;
39 EGLDisplay g_software_display; 39 EGLDisplay g_software_display;
40 EGLNativeDisplayType g_software_native_display; 40 EGLNativeDisplayType g_software_native_display;
41 } 41 }
42 42
43 GLSurfaceEGL::GLSurfaceEGL() : software_(false) { 43 GLSurfaceEGL::GLSurfaceEGL() : software_(false) {}
44 }
45
46 GLSurfaceEGL::~GLSurfaceEGL() {
47 }
48 44
49 bool GLSurfaceEGL::InitializeOneOff() { 45 bool GLSurfaceEGL::InitializeOneOff() {
50 static bool initialized = false; 46 static bool initialized = false;
51 if (initialized) 47 if (initialized)
52 return true; 48 return true;
53 49
54 #if defined(USE_X11) 50 #if defined(USE_X11)
55 g_native_display = base::MessagePumpForUI::GetDefaultXDisplay(); 51 g_native_display = base::MessagePumpForUI::GetDefaultXDisplay();
56 #else 52 #else
57 g_native_display = EGL_DEFAULT_DISPLAY; 53 g_native_display = EGL_DEFAULT_DISPLAY;
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 } 153 }
158 154
159 EGLDisplay GLSurfaceEGL::GetSoftwareDisplay() { 155 EGLDisplay GLSurfaceEGL::GetSoftwareDisplay() {
160 return g_software_display; 156 return g_software_display;
161 } 157 }
162 158
163 EGLNativeDisplayType GLSurfaceEGL::GetNativeDisplay() { 159 EGLNativeDisplayType GLSurfaceEGL::GetNativeDisplay() {
164 return g_native_display; 160 return g_native_display;
165 } 161 }
166 162
163 GLSurfaceEGL::~GLSurfaceEGL() {}
164
167 NativeViewGLSurfaceEGL::NativeViewGLSurfaceEGL(bool software, 165 NativeViewGLSurfaceEGL::NativeViewGLSurfaceEGL(bool software,
168 gfx::AcceleratedWidget window) 166 gfx::AcceleratedWidget window)
169 : window_(window), 167 : window_(window),
170 surface_(NULL), 168 surface_(NULL),
171 supports_post_sub_buffer_(false), 169 supports_post_sub_buffer_(false),
172 config_(NULL) { 170 config_(NULL) {
173 software_ = software; 171 software_ = software;
174 } 172 }
175 173
176 NativeViewGLSurfaceEGL::~NativeViewGLSurfaceEGL() {
177 Destroy();
178 }
179
180 bool NativeViewGLSurfaceEGL::Initialize() { 174 bool NativeViewGLSurfaceEGL::Initialize() {
181 #if defined(OS_ANDROID) 175 #if defined(OS_ANDROID)
182 NOTREACHED(); 176 NOTREACHED();
183 return false; 177 return false;
184 #else 178 #else
185 DCHECK(!surface_); 179 DCHECK(!surface_);
186 180
187 if (!GetDisplay()) { 181 if (!GetDisplay()) {
188 LOG(ERROR) << "Trying to create surface with invalid display."; 182 LOG(ERROR) << "Trying to create surface with invalid display.";
189 return false; 183 return false;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 int x, int y, int width, int height) { 345 int x, int y, int width, int height) {
352 DCHECK(supports_post_sub_buffer_); 346 DCHECK(supports_post_sub_buffer_);
353 if (!eglPostSubBufferNV(GetDisplay(), surface_, x, y, width, height)) { 347 if (!eglPostSubBufferNV(GetDisplay(), surface_, x, y, width, height)) {
354 DVLOG(1) << "eglPostSubBufferNV failed with error " 348 DVLOG(1) << "eglPostSubBufferNV failed with error "
355 << GetLastEGLErrorString(); 349 << GetLastEGLErrorString();
356 return false; 350 return false;
357 } 351 }
358 return true; 352 return true;
359 } 353 }
360 354
355 NativeViewGLSurfaceEGL::~NativeViewGLSurfaceEGL() {
356 Destroy();
357 }
358
361 void NativeViewGLSurfaceEGL::SetHandle(EGLSurface surface) { 359 void NativeViewGLSurfaceEGL::SetHandle(EGLSurface surface) {
362 surface_ = surface; 360 surface_ = surface;
363 } 361 }
364 362
365 PbufferGLSurfaceEGL::PbufferGLSurfaceEGL(bool software, const gfx::Size& size) 363 PbufferGLSurfaceEGL::PbufferGLSurfaceEGL(bool software, const gfx::Size& size)
366 : size_(size), 364 : size_(size),
367 surface_(NULL) { 365 surface_(NULL) {
368 software_ = software; 366 software_ = software;
369 } 367 }
370 368
371 PbufferGLSurfaceEGL::~PbufferGLSurfaceEGL() {
372 Destroy();
373 }
374
375 bool PbufferGLSurfaceEGL::Initialize() { 369 bool PbufferGLSurfaceEGL::Initialize() {
376 DCHECK(!surface_); 370 DCHECK(!surface_);
377 371
378 if (!GetDisplay()) { 372 if (!GetDisplay()) {
379 LOG(ERROR) << "Trying to create surface with invalid display."; 373 LOG(ERROR) << "Trying to create surface with invalid display.";
380 return false; 374 return false;
381 } 375 }
382 376
383 const EGLint pbuffer_attribs[] = { 377 const EGLint pbuffer_attribs[] = {
384 EGL_WIDTH, size_.width(), 378 EGL_WIDTH, size_.width(),
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 GetHandle(), 460 GetHandle(),
467 EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE, 461 EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE,
468 &handle)) { 462 &handle)) {
469 return NULL; 463 return NULL;
470 } 464 }
471 465
472 return handle; 466 return handle;
473 #endif 467 #endif
474 } 468 }
475 469
470 PbufferGLSurfaceEGL::~PbufferGLSurfaceEGL() {
471 Destroy();
472 }
473
476 } // namespace gfx 474 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698