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

Unified Diff: bench/benchmain.cpp

Issue 319043005: Support using OpenGL ES context on desktop (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | dm/DM.cpp » ('j') | dm/DM.cpp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: bench/benchmain.cpp
diff --git a/bench/benchmain.cpp b/bench/benchmain.cpp
index 25c552c5e06565933ae74f68f785a84b9dbd2aa0..0dc3b899f851fa346186dbaedeb331a98ab16999 100644
--- a/bench/benchmain.cpp
+++ b/bench/benchmain.cpp
@@ -49,6 +49,11 @@ const char* BenchMode_Name[] = {
static const char kDefaultsConfigStr[] = "defaults";
+#if SK_SUPPORT_GPU
+static const char kGpuApiNameGL[] = "gl";
+static const char kGpuApiNameGLES[] = "gles";
+#endif
+
///////////////////////////////////////////////////////////////////////////////
class Iter {
@@ -238,6 +243,10 @@ DEFINE_bool(forceFilter, false, "Force bitmap filtering?");
DEFINE_string(forceDither, "default", "Force dithering: true, false, or default?");
DEFINE_bool(forceBlend, false, "Force alpha blending?");
+DEFINE_string(forceGpuApi, "", "Force use of specific gpu API. Using \"gl\" "
+ "forces OpenGL API. Using \"gles\" forces OpenGL ES API. "
+ "Defaults to empty string, which selects the API native to the "
+ "system.");
DEFINE_int32(gpuCacheBytes, -1, "GPU cache size limit in bytes. 0 to disable cache.");
DEFINE_int32(gpuCacheCount, -1, "GPU cache size limit in object count. 0 to disable cache.");
@@ -367,11 +376,20 @@ int tool_main(int argc, char** argv) {
}
#if SK_SUPPORT_GPU
+ GrGLStandard forcedGpuApi = kNone_GrGLStandard;
+ if (1 == FLAGS_forceGpuApi.count()) {
+ if (strcmp(FLAGS_forceGpuApi[0], kGpuApiNameGL) == 0) {
+ forcedGpuApi = kGL_GrGLStandard;
+ } else if (strcmp(FLAGS_forceGpuApi[0], kGpuApiNameGLES) == 0) {
+ forcedGpuApi = kGLES_GrGLStandard;
+ }
+ }
+
for (int i = 0; i < configs.count(); ++i) {
const Config& config = gConfigs[configs[i]];
if (SkBenchmark::kGPU_Backend == config.backend) {
- GrContext* context = gContextFactory.get(config.contextType);
+ GrContext* context = gContextFactory.get(config.contextType, forcedGpuApi);
if (NULL == context) {
SkDebugf("GrContext could not be created for config %s. Config will be skipped.\n",
config.name);
@@ -431,7 +449,7 @@ int tool_main(int argc, char** argv) {
if (SkBenchmark::kGPU_Backend != config.backend) {
continue;
}
- GrContext* context = gContextFactory.get(config.contextType);
+ GrContext* context = gContextFactory.get(config.contextType, forcedGpuApi);
if (NULL == context) {
continue;
}
@@ -477,7 +495,7 @@ int tool_main(int argc, char** argv) {
#if SK_SUPPORT_GPU
SkGLContextHelper* glContext = NULL;
if (SkBenchmark::kGPU_Backend == config.backend) {
- context = gContextFactory.get(config.contextType);
+ context = gContextFactory.get(config.contextType, forcedGpuApi);
if (NULL == context) {
continue;
}
« no previous file with comments | « no previous file | dm/DM.cpp » ('j') | dm/DM.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698