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

Side by Side Diff: app/gfx/gl/gl_implementation_linux.cc

Issue 6325005: Relanding r71472.... Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 9 years, 11 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
« no previous file with comments | « app/gfx/gl/gl_implementation.cc ('k') | app/gfx/gl/gl_implementation_mac.cc » ('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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 <vector> 5 #include <vector>
6 6
7 #include "app/gfx/gl/gl_bindings.h" 7 #include "app/gfx/gl/gl_bindings.h"
8 #include "app/gfx/gl/gl_implementation.h" 8 #include "app/gfx/gl/gl_implementation.h"
9 #include "base/base_paths.h" 9 #include "base/base_paths.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 29 matching lines...) Expand all
40 case kGLImplementationOSMesaGL: { 40 case kGLImplementationOSMesaGL: {
41 FilePath module_path; 41 FilePath module_path;
42 if (!PathService::Get(base::DIR_MODULE, &module_path)) { 42 if (!PathService::Get(base::DIR_MODULE, &module_path)) {
43 LOG(ERROR) << "PathService::Get failed."; 43 LOG(ERROR) << "PathService::Get failed.";
44 return false; 44 return false;
45 } 45 }
46 46
47 base::NativeLibrary library = base::LoadNativeLibrary( 47 base::NativeLibrary library = base::LoadNativeLibrary(
48 module_path.Append("libosmesa.so")); 48 module_path.Append("libosmesa.so"));
49 if (!library) { 49 if (!library) {
50 DVLOG(1) << "libosmesa.so not found"; 50 VLOG(1) << "libosmesa.so not found";
51 return false; 51 return false;
52 } 52 }
53 53
54 GLGetProcAddressProc get_proc_address = 54 GLGetProcAddressProc get_proc_address =
55 reinterpret_cast<GLGetProcAddressProc>( 55 reinterpret_cast<GLGetProcAddressProc>(
56 base::GetFunctionPointerFromNativeLibrary( 56 base::GetFunctionPointerFromNativeLibrary(
57 library, "OSMesaGetProcAddress")); 57 library, "OSMesaGetProcAddress"));
58 if (!get_proc_address) { 58 if (!get_proc_address) {
59 DLOG(ERROR) << "OSMesaGetProcAddress not found."; 59 LOG(ERROR) << "OSMesaGetProcAddress not found.";
60 base::UnloadNativeLibrary(library); 60 base::UnloadNativeLibrary(library);
61 return false; 61 return false;
62 } 62 }
63 63
64 SetGLGetProcAddressProc(get_proc_address); 64 SetGLGetProcAddressProc(get_proc_address);
65 AddGLNativeLibrary(library); 65 AddGLNativeLibrary(library);
66 SetGLImplementation(kGLImplementationOSMesaGL); 66 SetGLImplementation(kGLImplementationOSMesaGL);
67 67
68 InitializeGLBindingsGL(); 68 InitializeGLBindingsGL();
69 InitializeGLBindingsOSMESA(); 69 InitializeGLBindingsOSMESA();
70 break; 70 break;
71 } 71 }
72 case kGLImplementationDesktopGL: { 72 case kGLImplementationDesktopGL: {
73 base::NativeLibrary library = base::LoadNativeLibrary( 73 base::NativeLibrary library = base::LoadNativeLibrary(
74 FilePath("libGL.so.1")); 74 FilePath("libGL.so.1"));
75 if (!library) { 75 if (!library) {
76 LOG(ERROR) << "libGL.so.1 not found."; 76 VLOG(1) << "libGL.so.1 not found.";
77 return false; 77 return false;
78 } 78 }
79 79
80 GLGetProcAddressProc get_proc_address = 80 GLGetProcAddressProc get_proc_address =
81 reinterpret_cast<GLGetProcAddressProc>( 81 reinterpret_cast<GLGetProcAddressProc>(
82 base::GetFunctionPointerFromNativeLibrary( 82 base::GetFunctionPointerFromNativeLibrary(
83 library, "glXGetProcAddress")); 83 library, "glXGetProcAddress"));
84 if (!get_proc_address) { 84 if (!get_proc_address) {
85 LOG(ERROR) << "glxGetProcAddress not found."; 85 LOG(ERROR) << "glxGetProcAddress not found.";
86 base::UnloadNativeLibrary(library); 86 base::UnloadNativeLibrary(library);
87 return false; 87 return false;
88 } 88 }
89 89
90 SetGLGetProcAddressProc(get_proc_address); 90 SetGLGetProcAddressProc(get_proc_address);
91 AddGLNativeLibrary(library); 91 AddGLNativeLibrary(library);
92 SetGLImplementation(kGLImplementationDesktopGL); 92 SetGLImplementation(kGLImplementationDesktopGL);
93 93
94 InitializeGLBindingsGL(); 94 InitializeGLBindingsGL();
95 InitializeGLBindingsGLX(); 95 InitializeGLBindingsGLX();
96 break; 96 break;
97 } 97 }
98 case kGLImplementationEGLGLES2: { 98 case kGLImplementationEGLGLES2: {
99 base::NativeLibrary gles_library = base::LoadNativeLibrary( 99 base::NativeLibrary gles_library = base::LoadNativeLibrary(
100 FilePath("libGLESv2.so")); 100 FilePath("libGLESv2.so"));
101 if (!gles_library) { 101 if (!gles_library) {
102 DLOG(ERROR) << "libGLESv2.so not found"; 102 VLOG(1) << "libGLESv2.so not found";
103 return false; 103 return false;
104 } 104 }
105 105
106 base::NativeLibrary egl_library = base::LoadNativeLibrary( 106 base::NativeLibrary egl_library = base::LoadNativeLibrary(
107 FilePath("libEGL.so")); 107 FilePath("libEGL.so"));
108 if (!egl_library) { 108 if (!egl_library) {
109 DLOG(ERROR) << "libEGL.so not found"; 109 VLOG(1) << "libEGL.so not found";
110 base::UnloadNativeLibrary(gles_library); 110 base::UnloadNativeLibrary(gles_library);
111 return false; 111 return false;
112 } 112 }
113 113
114 GLGetProcAddressProc get_proc_address = 114 GLGetProcAddressProc get_proc_address =
115 reinterpret_cast<GLGetProcAddressProc>( 115 reinterpret_cast<GLGetProcAddressProc>(
116 base::GetFunctionPointerFromNativeLibrary( 116 base::GetFunctionPointerFromNativeLibrary(
117 egl_library, "eglGetProcAddress")); 117 egl_library, "eglGetProcAddress"));
118 if (!get_proc_address) { 118 if (!get_proc_address) {
119 LOG(ERROR) << "eglGetProcAddress not found."; 119 LOG(ERROR) << "eglGetProcAddress not found.";
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 } 151 }
152 152
153 void InitializeDebugGLBindings() { 153 void InitializeDebugGLBindings() {
154 InitializeDebugGLBindingsEGL(); 154 InitializeDebugGLBindingsEGL();
155 InitializeDebugGLBindingsGL(); 155 InitializeDebugGLBindingsGL();
156 InitializeDebugGLBindingsGLX(); 156 InitializeDebugGLBindingsGLX();
157 InitializeDebugGLBindingsOSMESA(); 157 InitializeDebugGLBindingsOSMESA();
158 } 158 }
159 159
160 } // namespace gfx 160 } // namespace gfx
OLDNEW
« no previous file with comments | « app/gfx/gl/gl_implementation.cc ('k') | app/gfx/gl/gl_implementation_mac.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698