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

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

Issue 1168993002: Update the native_viewport interface to allow specification of the surface configuration, currently… (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Fix header issue Created 5 years, 6 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
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 extern "C" { 5 extern "C" {
6 #include <X11/Xlib.h> 6 #include <X11/Xlib.h>
7 } 7 }
8 8
9 #include "ui/gl/gl_surface_glx.h" 9 #include "ui/gl/gl_surface_glx.h"
10 10
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 310
311 SGIVideoSyncThread* SGIVideoSyncThread::g_video_sync_thread = NULL; 311 SGIVideoSyncThread* SGIVideoSyncThread::g_video_sync_thread = NULL;
312 312
313 // In order to take advantage of GLX_SGI_video_sync, we need a display 313 // In order to take advantage of GLX_SGI_video_sync, we need a display
314 // for use on a separate thread. We must allocate this before the sandbox 314 // for use on a separate thread. We must allocate this before the sandbox
315 // goes up (rather than on-demand when we start the thread). 315 // goes up (rather than on-demand when we start the thread).
316 Display* SGIVideoSyncProviderThreadShim::display_ = NULL; 316 Display* SGIVideoSyncProviderThreadShim::display_ = NULL;
317 317
318 } // namespace 318 } // namespace
319 319
320 GLSurfaceGLX::GLSurfaceGLX() {} 320 GLSurfaceGLX::GLSurfaceGLX(SurfaceConfiguration requested_configuration)
321 : GLSurface(requested_configuration) {
322 }
321 323
322 bool GLSurfaceGLX::InitializeOneOff() { 324 bool GLSurfaceGLX::InitializeOneOff() {
323 static bool initialized = false; 325 static bool initialized = false;
324 if (initialized) 326 if (initialized)
325 return true; 327 return true;
326 328
327 // http://crbug.com/245466 329 // http://crbug.com/245466
328 setenv("force_s3tc_enable", "true", 1); 330 setenv("force_s3tc_enable", "true", 1);
329 331
330 // SGIVideoSyncProviderShim (if instantiated) will issue X commands on 332 // SGIVideoSyncProviderShim (if instantiated) will issue X commands on
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 // attempting to use GLX_ARB_create_context_robustness, in which 524 // attempting to use GLX_ARB_create_context_robustness, in which
523 // case we need a GLXFBConfig for the window in order to create a 525 // case we need a GLXFBConfig for the window in order to create a
524 // context for it. 526 // context for it.
525 // 527 //
526 // TODO(kbr): this is not a reliable code path. On platforms which 528 // TODO(kbr): this is not a reliable code path. On platforms which
527 // support it, we should use glXChooseFBConfig in the browser 529 // support it, we should use glXChooseFBConfig in the browser
528 // process to choose the FBConfig and from there the X Visual to 530 // process to choose the FBConfig and from there the X Visual to
529 // use when creating the window in the first place. Then we can 531 // use when creating the window in the first place. Then we can
530 // pass that FBConfig down rather than attempting to reconstitute 532 // pass that FBConfig down rather than attempting to reconstitute
531 // it. 533 // it.
534 //
535 // TODO(iansf): Perhaps instead of kbr's suggestion above, we can
536 // now use GLSurface::GetSurfaceConfiguration to use the returned
537 // gfx::SurfaceConfiguration with glXChooseFBConfig in a manner
538 // similar to that used in NativeViewGLSurfaceEGL::GetConfig.
532 539
533 XWindowAttributes attributes; 540 XWindowAttributes attributes;
534 if (!XGetWindowAttributes( 541 if (!XGetWindowAttributes(
535 g_display, 542 g_display,
536 window_, 543 window_,
537 &attributes)) { 544 &attributes)) {
538 LOG(ERROR) << "XGetWindowAttributes failed for window " << 545 LOG(ERROR) << "XGetWindowAttributes failed for window " <<
539 window_ << "."; 546 window_ << ".";
540 return NULL; 547 return NULL;
541 } 548 }
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
674 681
675 void* PbufferGLSurfaceGLX::GetConfig() { 682 void* PbufferGLSurfaceGLX::GetConfig() {
676 return config_; 683 return config_;
677 } 684 }
678 685
679 PbufferGLSurfaceGLX::~PbufferGLSurfaceGLX() { 686 PbufferGLSurfaceGLX::~PbufferGLSurfaceGLX() {
680 Destroy(); 687 Destroy();
681 } 688 }
682 689
683 } // namespace gfx 690 } // namespace gfx
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698