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

Unified Diff: ui/gl/init/gl_initializer_x11.cc

Issue 2680423002: Introducing 2 usages for SwiftShader (Closed)
Patch Set: Added missing change to GpuDataManagerImplPrivate Created 3 years, 10 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: ui/gl/init/gl_initializer_x11.cc
diff --git a/ui/gl/init/gl_initializer_x11.cc b/ui/gl/init/gl_initializer_x11.cc
index 14740570521b8d6a49a1c558668d9276781abff2..2d88875feec399b83d64d07d924aaa0137c22e8f 100644
--- a/ui/gl/init/gl_initializer_x11.cc
+++ b/ui/gl/init/gl_initializer_x11.cc
@@ -39,6 +39,9 @@ const char kEGLLibraryName[] = "libEGL.so.1";
const char kGLESv2ANGLELibraryName[] = "libGLESv2.so";
const char kEGLANGLELibraryName[] = "libEGL.so";
+const char kGLESv2SwiftShaderLibraryName[] = "libGLESv2.so";
+const char kEGLSwiftShaderLibraryName[] = "libEGL.so";
+
bool InitializeStaticGLXInternal() {
base::NativeLibrary library = NULL;
const base::CommandLine* command_line =
@@ -89,6 +92,15 @@ bool InitializeStaticEGLInternal() {
glesv2_path = module_path.Append(kGLESv2ANGLELibraryName);
egl_path = module_path.Append(kEGLANGLELibraryName);
+ } else if (command_line->GetSwitchValueASCII(switches::kUseGL) ==
+ kGLImplementationSwiftShaderName) {
+ base::FilePath module_path;
+ if (!command_line->HasSwitch(switches::kSwiftShaderPath))
+ return false;
+ module_path = command_line->GetSwitchValuePath(switches::kSwiftShaderPath);
+
+ glesv2_path = module_path.Append(kGLESv2SwiftShaderLibraryName);
+ egl_path = module_path.Append(kEGLSwiftShaderLibraryName);
}
base::NativeLibrary gles_library = LoadLibraryAndPrintError(glesv2_path);
@@ -143,6 +155,7 @@ bool InitializeGLOneOffPlatform() {
return false;
}
return true;
+ case kGLImplementationSwiftShaderGL:
case kGLImplementationEGLGLES2:
if (!GLSurfaceEGL::InitializeOneOff(gfx::GetXDisplay())) {
LOG(ERROR) << "GLSurfaceEGL::InitializeOneOff failed.";
@@ -171,6 +184,7 @@ bool InitializeStaticGLBindings(GLImplementation implementation) {
return InitializeStaticGLBindingsOSMesaGL();
case kGLImplementationDesktopGL:
return InitializeStaticGLXInternal();
+ case kGLImplementationSwiftShaderGL:
case kGLImplementationEGLGLES2:
return InitializeStaticEGLInternal();
case kGLImplementationMockGL:

Powered by Google App Engine
This is Rietveld 408576698