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

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 nits 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..e2e6c32ec52ac1b288337bbe68e6b7a06586c9ce
--- /dev/null
+++ b/ui/gl/gl_version_info.cc
@@ -0,0 +1,37 @@
+// 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),
+ is_es2(false),
+ is_es3(false),
+ is_gl1(false),
+ is_gl2(false),
+ is_gl3(false),
+ is_gl4(false) {
+ 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;
+
no sievers 2013/12/05 20:51:57 nit: if (!is_es) { ...
oetuaho 2013/12/09 17:17:07 I'll restructure this a bit.
+ 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