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

Side by Side Diff: src/gpu/gl/GrGLUtil.cpp

Issue 1165463005: Begin tracking driver info in GrGLContextInfo (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: rebase Created 5 years, 6 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
« no previous file with comments | « src/gpu/gl/GrGLUtil.h ('k') | src/gpu/gl/builders/GrGLProgramBuilder.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #include "GrGLUtil.h" 9 #include "GrGLUtil.h"
10 #include "SkMatrix.h" 10 #include "SkMatrix.h"
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 } 85 }
86 86
87 // check for ES2 87 // check for ES2
88 n = sscanf(versionString, "OpenGL ES %d.%d", &major, &minor); 88 n = sscanf(versionString, "OpenGL ES %d.%d", &major, &minor);
89 if (2 == n) { 89 if (2 == n) {
90 return kGLES_GrGLStandard; 90 return kGLES_GrGLStandard;
91 } 91 }
92 return kNone_GrGLStandard; 92 return kNone_GrGLStandard;
93 } 93 }
94 94
95 bool GrGLIsMesaFromVersionString(const char* versionString) { 95 void GrGLGetDriverInfo(GrGLStandard standard,
96 int major, minor, mesaMajor, mesaMinor; 96 GrGLVendor vendor,
97 const char* rendererString,
98 const char* versionString,
99 GrGLDriver* outDriver,
100 GrGLDriverVersion* outVersion) {
101 int major, minor, rev, driverMajor, driverMinor;
97 102
98 GrGLStandard standard = GrGLGetStandardInUseFromString(versionString); 103 *outDriver = kUnknown_GrGLDriver;
104 *outVersion = GR_GL_DRIVER_UNKNOWN_VER;
105
106 if (0 == strcmp(rendererString, "Chromium")) {
107 *outDriver = kChromium_GrGLDriver;
108 return;
109 }
99 110
100 if (standard == kGL_GrGLStandard) { 111 if (standard == kGL_GrGLStandard) {
101 int n = sscanf(versionString, "%d.%d Mesa %d.%d", &major, &minor, &mesaM ajor, &mesaMinor); 112 if (kNVIDIA_GrGLVendor == vendor) {
102 return 4 == n; 113 *outDriver = kNVIDIA_GrGLDriver;
114 int n = sscanf(versionString, "%d.%d.%d NVIDIA %d.%d",
115 &major, &minor, &rev, &driverMajor, &driverMinor);
116 // Some older NVIDIA drivers don't report the driver version.
117 if (5 == n) {
118 *outVersion = GR_GL_DRIVER_VER(driverMajor, driverMinor);
119 }
120 return;
121 }
122
123 int n = sscanf(versionString, "%d.%d Mesa %d.%d",
124 &major, &minor, &driverMajor, &driverMinor);
125 if (4 == n) {
126 *outDriver = kMesa_GrGLDriver;
127 *outVersion = GR_GL_DRIVER_VER(driverMajor, driverMinor);
128 return;
129 }
103 } 130 }
104 else { 131 else {
105 int n = sscanf(versionString, "OpenGL ES %d.%d Mesa %d.%d", &major, &min or, &mesaMajor, &mesaMinor); 132 if (kNVIDIA_GrGLVendor == vendor) {
106 return 4 == n; 133 *outDriver = kNVIDIA_GrGLDriver;
134 int n = sscanf(versionString, "OpenGL ES %d.%d NVIDIA %d.%d",
135 &major, &minor, &driverMajor, &driverMinor);
136 // Some older NVIDIA drivers don't report the driver version.
137 if (4 == n) {
138 *outVersion = GR_GL_DRIVER_VER(driverMajor, driverMinor);
139 }
140 return;
141 }
142
143 int n = sscanf(versionString, "OpenGL ES %d.%d Mesa %d.%d",
144 &major, &minor, &driverMajor, &driverMinor);
145 if (4 == n) {
146 *outDriver = kMesa_GrGLDriver;
147 *outVersion = GR_GL_DRIVER_VER(driverMajor, driverMinor);
148 return;
149 }
107 } 150 }
108 return false;
109 }
110
111 bool GrGLIsChromiumFromRendererString(const char* rendererString) {
112 return 0 == strcmp(rendererString, "Chromium");
113 } 151 }
114 152
115 GrGLVersion GrGLGetVersionFromString(const char* versionString) { 153 GrGLVersion GrGLGetVersionFromString(const char* versionString) {
116 if (NULL == versionString) { 154 if (NULL == versionString) {
117 SkDebugf("NULL GL version string."); 155 SkDebugf("NULL GL version string.");
118 return GR_GL_INVALID_VER; 156 return GR_GL_INVALID_VER;
119 } 157 }
120 158
121 int major, minor; 159 int major, minor;
122 160
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 GR_STATIC_ASSERT(2 == kGreater_StencilFunc); 352 GR_STATIC_ASSERT(2 == kGreater_StencilFunc);
315 GR_STATIC_ASSERT(3 == kGEqual_StencilFunc); 353 GR_STATIC_ASSERT(3 == kGEqual_StencilFunc);
316 GR_STATIC_ASSERT(4 == kLess_StencilFunc); 354 GR_STATIC_ASSERT(4 == kLess_StencilFunc);
317 GR_STATIC_ASSERT(5 == kLEqual_StencilFunc); 355 GR_STATIC_ASSERT(5 == kLEqual_StencilFunc);
318 GR_STATIC_ASSERT(6 == kEqual_StencilFunc); 356 GR_STATIC_ASSERT(6 == kEqual_StencilFunc);
319 GR_STATIC_ASSERT(7 == kNotEqual_StencilFunc); 357 GR_STATIC_ASSERT(7 == kNotEqual_StencilFunc);
320 SkASSERT((unsigned) basicFunc < kBasicStencilFuncCount); 358 SkASSERT((unsigned) basicFunc < kBasicStencilFuncCount);
321 359
322 return gTable[basicFunc]; 360 return gTable[basicFunc];
323 } 361 }
OLDNEW
« no previous file with comments | « src/gpu/gl/GrGLUtil.h ('k') | src/gpu/gl/builders/GrGLProgramBuilder.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698