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

Unified Diff: ui/gl/gl_version_info.cc

Issue 94963003: Take GL version and extensions correctly into account when binding functions (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Addressed review feedback and Mac build failure Created 7 years 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/gl_version_info.cc
diff --git a/ui/gl/gl_version_info.cc b/ui/gl/gl_version_info.cc
new file mode 100644
index 0000000000000000000000000000000000000000..843f384cc68e03f0df687618f37643ea70d80f31
--- /dev/null
+++ b/ui/gl/gl_version_info.cc
@@ -0,0 +1,38 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "ui/gl/gl_version_info.h"
+
+#include "base/strings/string_util.h"
+
+namespace gfx {
+
+GLVersionInfo::GLVersionInfo(const char* version_str)
+ : is_es(false),
+ is_es1(false),
piman 2013/12/04 22:45:12 nit: align all fields: GLVersionInfo::GLVersionInf
oetuaho 2013/12/05 09:47:14 Done.
+ is_es2(false),
+ is_es3(false),
+ is_gl1(false),
+ is_gl2(false),
+ is_gl3(false),
+ is_gl4(false)
+{
piman 2013/12/04 22:45:12 nit: { on previous line
oetuaho 2013/12/05 09:47:14 Done.
+ if (version_str) {
+ std::string lstr(StringToLowerASCII(std::string(version_str)));
+ is_es1 = (lstr.substr(0, 11) == "opengl es-c" &&
+ lstr.substr(13, 2) == "1.");
+ is_es2 = (lstr.substr(0, 12) == "opengl es 2.");
+ is_es3 = (lstr.substr(0, 12) == "opengl es 3.");
+ is_es = is_es1 || is_es2 || is_es3;
+
+ is_gl2 = (lstr.substr(0, 2) == "2.");
+ is_gl3 = (lstr.substr(0, 2) == "3.");
+ is_gl4 = (lstr.substr(0, 2) == "4.");
+ // In early GL versions, GetString output format is implementation
+ // dependent.
+ is_gl1 = !is_gl2 && !is_gl3 && !is_gl4 && !is_es;
+ }
+}
+
+} // namespace gfx

Powered by Google App Engine
This is Rietveld 408576698