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

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

Issue 11266023: Make GL calls go through subclassable class. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month 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
« no previous file with comments | « ui/gl/gl_context_glx.cc ('k') | ui/gl/gl_egl_api_implementation.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // This file implements the GLContextWGL and PbufferGLContext classes. 5 // This file implements the GLContextWGL and PbufferGLContext classes.
6 6
7 #include "ui/gl/gl_context_wgl.h" 7 #include "ui/gl/gl_context_wgl.h"
8 8
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "ui/gl/gl_bindings.h" 11 #include "ui/gl/gl_bindings.h"
12 #include "ui/gl/gl_implementation.h" 12 #include "ui/gl/gl_implementation.h"
13 #include "ui/gl/gl_surface_wgl.h" 13 #include "ui/gl/gl_surface_wgl.h"
14 14
15 namespace gfx { 15 namespace gfx {
16 16
17 GLContextWGL::GLContextWGL(GLShareGroup* share_group) 17 GLContextWGL::GLContextWGL(GLShareGroup* share_group)
18 : GLContext(share_group), 18 : GLContext(share_group),
19 context_(NULL) { 19 context_(NULL) {
20 } 20 }
21 21
22 GLContextWGL::~GLContextWGL() { 22 GLContextWGL::~GLContextWGL() {
23 Destroy(); 23 Destroy();
24 } 24 }
25 25
26 std::string GLContextWGL::GetExtensions() { 26 std::string GLContextWGL::GetExtensions() {
27 const char* extensions = NULL; 27 const char* extensions = NULL;
28 if (wglGetExtensionsStringARB) 28 if (g_driver_wgl.fn.wglGetExtensionsStringARBFn)
29 extensions = wglGetExtensionsStringARB(GLSurfaceWGL::GetDisplayDC()); 29 extensions = wglGetExtensionsStringARB(GLSurfaceWGL::GetDisplayDC());
30 else if (wglGetExtensionsStringEXT) 30 else if (g_driver_wgl.fn.wglGetExtensionsStringEXTFn)
31 extensions = wglGetExtensionsStringEXT(); 31 extensions = wglGetExtensionsStringEXT();
32 32
33 if (extensions) 33 if (extensions)
34 return GLContext::GetExtensions() + " " + extensions; 34 return GLContext::GetExtensions() + " " + extensions;
35 35
36 return GLContext::GetExtensions(); 36 return GLContext::GetExtensions();
37 } 37 }
38 38
39 bool GLContextWGL::Initialize( 39 bool GLContextWGL::Initialize(
40 GLSurface* compatible_surface, GpuPreference gpu_preference) { 40 GLSurface* compatible_surface, GpuPreference gpu_preference) {
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 122
123 return true; 123 return true;
124 } 124 }
125 125
126 void* GLContextWGL::GetHandle() { 126 void* GLContextWGL::GetHandle() {
127 return context_; 127 return context_;
128 } 128 }
129 129
130 void GLContextWGL::SetSwapInterval(int interval) { 130 void GLContextWGL::SetSwapInterval(int interval) {
131 DCHECK(IsCurrent(NULL)); 131 DCHECK(IsCurrent(NULL));
132 if (gfx::g_WGL_EXT_swap_control) { 132 if (gfx::g_driver_wgl.ext.b_WGL_EXT_swap_control) {
133 wglSwapIntervalEXT(interval); 133 wglSwapIntervalEXT(interval);
134 } else { 134 } else {
135 LOG(WARNING) << 135 LOG(WARNING) <<
136 "Could not disable vsync: driver does not " 136 "Could not disable vsync: driver does not "
137 "support WGL_EXT_swap_control"; 137 "support WGL_EXT_swap_control";
138 } 138 }
139 } 139 }
140 140
141 } // namespace gfx 141 } // namespace gfx
OLDNEW
« no previous file with comments | « ui/gl/gl_context_glx.cc ('k') | ui/gl/gl_egl_api_implementation.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698