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

Side by Side Diff: gm/gmmain.cpp

Issue 351583002: Revert of 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 unified diff | Download patch
« no previous file with comments | « experimental/PdfViewer/pdf_viewer_main.cpp ('k') | include/gpu/GrContextFactory.h » ('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 * Code for the "gm" (Golden Master) rendering comparison tool. 9 * Code for the "gm" (Golden Master) rendering comparison tool.
10 * 10 *
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 #include "SkGpuDevice.h" 60 #include "SkGpuDevice.h"
61 typedef GrContextFactory::GLContextType GLContextType; 61 typedef GrContextFactory::GLContextType GLContextType;
62 #define DEFAULT_CACHE_VALUE -1 62 #define DEFAULT_CACHE_VALUE -1
63 static int gGpuCacheSizeBytes; 63 static int gGpuCacheSizeBytes;
64 static int gGpuCacheSizeCount; 64 static int gGpuCacheSizeCount;
65 #else 65 #else
66 class GrContextFactory; 66 class GrContextFactory;
67 class GrContext; 67 class GrContext;
68 class GrSurface; 68 class GrSurface;
69 typedef int GLContextType; 69 typedef int GLContextType;
70 typedef int GrGLStandard;
71 #endif 70 #endif
72 71
73 #define DEBUGFAIL_SEE_STDERR SkDEBUGFAIL("see stderr for message") 72 #define DEBUGFAIL_SEE_STDERR SkDEBUGFAIL("see stderr for message")
74 73
75 DECLARE_bool(useDocumentInsteadOfDevice); 74 DECLARE_bool(useDocumentInsteadOfDevice);
76 75
77 #ifdef SK_SUPPORT_PDF 76 #ifdef SK_SUPPORT_PDF
78 #include "SkPDFDevice.h" 77 #include "SkPDFDevice.h"
79 #include "SkPDFDocument.h" 78 #include "SkPDFDocument.h"
80 #endif 79 #endif
(...skipping 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 #endif 1328 #endif
1330 #ifdef SK_BUILD_NATIVE_PDF_RENDERER 1329 #ifdef SK_BUILD_NATIVE_PDF_RENDERER
1331 { &SkNativeRasterizePDF, "native", true }, 1330 { &SkNativeRasterizePDF, "native", true },
1332 #endif // SK_BUILD_NATIVE_PDF_RENDERER 1331 #endif // SK_BUILD_NATIVE_PDF_RENDERER
1333 // The following exists so that this array is never zero length. 1332 // The following exists so that this array is never zero length.
1334 { &SkNoRasterizePDF, "none", false}, 1333 { &SkNoRasterizePDF, "none", false},
1335 }; 1334 };
1336 1335
1337 static const char kDefaultsConfigStr[] = "defaults"; 1336 static const char kDefaultsConfigStr[] = "defaults";
1338 static const char kExcludeConfigChar = '~'; 1337 static const char kExcludeConfigChar = '~';
1339 #if SK_SUPPORT_GPU
1340 static const char kGpuAPINameGL[] = "gl";
1341 static const char kGpuAPINameGLES[] = "gles";
1342 #endif
1343 1338
1344 static SkString configUsage() { 1339 static SkString configUsage() {
1345 SkString result; 1340 SkString result;
1346 result.appendf("Space delimited list of which configs to run. Possible optio ns: ["); 1341 result.appendf("Space delimited list of which configs to run. Possible optio ns: [");
1347 for (size_t i = 0; i < SK_ARRAY_COUNT(gRec); ++i) { 1342 for (size_t i = 0; i < SK_ARRAY_COUNT(gRec); ++i) {
1348 SkASSERT(gRec[i].fName != kDefaultsConfigStr); 1343 SkASSERT(gRec[i].fName != kDefaultsConfigStr);
1349 if (i > 0) { 1344 if (i > 0) {
1350 result.append("|"); 1345 result.append("|");
1351 } 1346 }
1352 result.appendf("%s", gRec[i].fName); 1347 result.appendf("%s", gRec[i].fName);
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1422 #define TOSTRING(x) TOSTRING_INTERNAL(x) 1417 #define TOSTRING(x) TOSTRING_INTERNAL(x)
1423 1418
1424 // Alphabetized ignoring "no" prefix ("readPath", "noreplay", "resourcePath"). 1419 // Alphabetized ignoring "no" prefix ("readPath", "noreplay", "resourcePath").
1425 DEFINE_string(config, "", configUsage().c_str()); 1420 DEFINE_string(config, "", configUsage().c_str());
1426 DEFINE_string(pdfRasterizers, "default", pdfRasterizerUsage().c_str()); 1421 DEFINE_string(pdfRasterizers, "default", pdfRasterizerUsage().c_str());
1427 DEFINE_bool(deferred, false, "Exercise the deferred rendering test pass."); 1422 DEFINE_bool(deferred, false, "Exercise the deferred rendering test pass.");
1428 DEFINE_bool(dryRun, false, "Don't actually run the tests, just print what would have been done."); 1423 DEFINE_bool(dryRun, false, "Don't actually run the tests, just print what would have been done.");
1429 DEFINE_string(excludeConfig, "", "Space delimited list of configs to skip."); 1424 DEFINE_string(excludeConfig, "", "Space delimited list of configs to skip.");
1430 DEFINE_bool(forceBWtext, false, "Disable text anti-aliasing."); 1425 DEFINE_bool(forceBWtext, false, "Disable text anti-aliasing.");
1431 #if SK_SUPPORT_GPU 1426 #if SK_SUPPORT_GPU
1432 DEFINE_string(gpuAPI, "", "Force use of specific gpu API. Using \"gl\" "
1433 "forces OpenGL API. Using \"gles\" forces OpenGL ES API. "
1434 "Defaults to empty string, which selects the API native to the "
1435 "system.");
1436 DEFINE_string(gpuCacheSize, "", "<bytes> <count>: Limit the gpu cache to byte si ze or " 1427 DEFINE_string(gpuCacheSize, "", "<bytes> <count>: Limit the gpu cache to byte si ze or "
1437 "object count. " TOSTRING(DEFAULT_CACHE_VALUE) " for either value means " 1428 "object count. " TOSTRING(DEFAULT_CACHE_VALUE) " for either value means "
1438 "use the default. 0 for either disables the cache."); 1429 "use the default. 0 for either disables the cache.");
1439 #endif 1430 #endif
1440 DEFINE_bool(hierarchy, false, "Whether to use multilevel directory structure " 1431 DEFINE_bool(hierarchy, false, "Whether to use multilevel directory structure "
1441 "when reading/writing files."); 1432 "when reading/writing files.");
1442 DEFINE_string(ignoreErrorTypes, kDefaultIgnorableErrorTypes.asString(" ").c_str( ), 1433 DEFINE_string(ignoreErrorTypes, kDefaultIgnorableErrorTypes.asString(" ").c_str( ),
1443 "Space-separated list of ErrorTypes that should be ignored. If any *other* error " 1434 "Space-separated list of ErrorTypes that should be ignored. If any *other* error "
1444 "types are encountered, the tool will exit with a nonzero return v alue."); 1435 "types are encountered, the tool will exit with a nonzero return v alue.");
1445 DEFINE_string(ignoreFailuresFile, "", "Path to file containing a list of tests f or which we " 1436 DEFINE_string(ignoreFailuresFile, "", "Path to file containing a list of tests f or which we "
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1703 * Run this test in a number of different configs (8888, 565, PDF, 1694 * Run this test in a number of different configs (8888, 565, PDF,
1704 * etc.), confirming that the resulting bitmaps match expectations 1695 * etc.), confirming that the resulting bitmaps match expectations
1705 * (which may be different for each config). 1696 * (which may be different for each config).
1706 * 1697 *
1707 * Returns all errors encountered while doing so. 1698 * Returns all errors encountered while doing so.
1708 */ 1699 */
1709 ErrorCombination run_multiple_configs(GMMain &gmmain, GM *gm, 1700 ErrorCombination run_multiple_configs(GMMain &gmmain, GM *gm,
1710 const SkTDArray<size_t> &configs, 1701 const SkTDArray<size_t> &configs,
1711 const SkTDArray<const PDFRasterizerData*> &pdfRasterizers, 1702 const SkTDArray<const PDFRasterizerData*> &pdfRasterizers,
1712 const SkTDArray<SkScalar> &tileGridReplayS cales, 1703 const SkTDArray<SkScalar> &tileGridReplayS cales,
1713 GrContextFactory *grFactory, 1704 GrContextFactory *grFactory);
1714 GrGLStandard gpuAPI);
1715 ErrorCombination run_multiple_configs(GMMain &gmmain, GM *gm, 1705 ErrorCombination run_multiple_configs(GMMain &gmmain, GM *gm,
1716 const SkTDArray<size_t> &configs, 1706 const SkTDArray<size_t> &configs,
1717 const SkTDArray<const PDFRasterizerData*> &pdfRasterizers, 1707 const SkTDArray<const PDFRasterizerData*> &pdfRasterizers,
1718 const SkTDArray<SkScalar> &tileGridReplayS cales, 1708 const SkTDArray<SkScalar> &tileGridReplayS cales,
1719 GrContextFactory *grFactory, 1709 GrContextFactory *grFactory) {
1720 GrGLStandard gpuAPI) {
1721 const char renderModeDescriptor[] = ""; 1710 const char renderModeDescriptor[] = "";
1722 ErrorCombination errorsForAllConfigs; 1711 ErrorCombination errorsForAllConfigs;
1723 uint32_t gmFlags = gm->getFlags(); 1712 uint32_t gmFlags = gm->getFlags();
1724 1713
1725 for (int i = 0; i < configs.count(); i++) { 1714 for (int i = 0; i < configs.count(); i++) {
1726 ConfigData config = gRec[configs[i]]; 1715 ConfigData config = gRec[configs[i]];
1727 const SkString shortNamePlusConfig = gmmain.make_shortname_plus_config(g m->getName(), 1716 const SkString shortNamePlusConfig = gmmain.make_shortname_plus_config(g m->getName(),
1728 c onfig.fName); 1717 c onfig.fName);
1729 1718
1730 // Skip any tests that we don't even need to try. 1719 // Skip any tests that we don't even need to try.
(...skipping 29 matching lines...) Expand all
1760 // Now we know that we want to run this test and record its 1749 // Now we know that we want to run this test and record its
1761 // success or failure. 1750 // success or failure.
1762 ErrorCombination errorsForThisConfig; 1751 ErrorCombination errorsForThisConfig;
1763 GrSurface* gpuTarget = NULL; 1752 GrSurface* gpuTarget = NULL;
1764 #if SK_SUPPORT_GPU 1753 #if SK_SUPPORT_GPU
1765 SkAutoTUnref<GrSurface> auGpuTarget; 1754 SkAutoTUnref<GrSurface> auGpuTarget;
1766 if ((errorsForThisConfig.isEmpty()) && (kGPU_Backend == config.fBackend) ) { 1755 if ((errorsForThisConfig.isEmpty()) && (kGPU_Backend == config.fBackend) ) {
1767 if (FLAGS_resetGpuContext) { 1756 if (FLAGS_resetGpuContext) {
1768 grFactory->destroyContexts(); 1757 grFactory->destroyContexts();
1769 } 1758 }
1770 GrContext* gr = grFactory->get(config.fGLContextType, gpuAPI); 1759 GrContext* gr = grFactory->get(config.fGLContextType);
1771 bool grSuccess = false; 1760 bool grSuccess = false;
1772 if (gr) { 1761 if (gr) {
1773 // create a render target to back the device 1762 // create a render target to back the device
1774 GrTextureDesc desc; 1763 GrTextureDesc desc;
1775 desc.fConfig = kSkia8888_GrPixelConfig; 1764 desc.fConfig = kSkia8888_GrPixelConfig;
1776 desc.fFlags = kRenderTarget_GrTextureFlagBit; 1765 desc.fFlags = kRenderTarget_GrTextureFlagBit;
1777 desc.fWidth = gm->getISize().width(); 1766 desc.fWidth = gm->getISize().width();
1778 desc.fHeight = gm->getISize().height(); 1767 desc.fHeight = gm->getISize().height();
1779 desc.fSampleCnt = config.fSampleCnt; 1768 desc.fSampleCnt = config.fSampleCnt;
1780 auGpuTarget.reset(gr->createUncachedTexture(desc, NULL, 0)); 1769 auGpuTarget.reset(gr->createUncachedTexture(desc, NULL, 0));
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1931 return false; 1920 return false;
1932 } 1921 }
1933 } 1922 }
1934 } 1923 }
1935 } 1924 }
1936 } 1925 }
1937 return true; 1926 return true;
1938 } 1927 }
1939 1928
1940 static bool parse_flags_configs(SkTDArray<size_t>* outConfigs, 1929 static bool parse_flags_configs(SkTDArray<size_t>* outConfigs,
1941 GrContextFactory* grFactory, GrGLStandard gpuAPI) { 1930 GrContextFactory* grFactory) {
1942 SkTDArray<size_t> excludeConfigs; 1931 SkTDArray<size_t> excludeConfigs;
1943 1932
1944 for (int i = 0; i < FLAGS_config.count(); i++) { 1933 for (int i = 0; i < FLAGS_config.count(); i++) {
1945 const char* config = FLAGS_config[i]; 1934 const char* config = FLAGS_config[i];
1946 bool exclude = false; 1935 bool exclude = false;
1947 if (*config == kExcludeConfigChar) { 1936 if (*config == kExcludeConfigChar) {
1948 exclude = true; 1937 exclude = true;
1949 config += 1; 1938 config += 1;
1950 } 1939 }
1951 int index = findConfig(config); 1940 int index = findConfig(config);
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1998 // now assert that there was only one copy in configs[] 1987 // now assert that there was only one copy in configs[]
1999 SkASSERT(outConfigs->find(excludeConfigs[i]) < 0); 1988 SkASSERT(outConfigs->find(excludeConfigs[i]) < 0);
2000 } 1989 }
2001 } 1990 }
2002 1991
2003 #if SK_SUPPORT_GPU 1992 #if SK_SUPPORT_GPU
2004 SkASSERT(grFactory != NULL); 1993 SkASSERT(grFactory != NULL);
2005 for (int i = 0; i < outConfigs->count(); ++i) { 1994 for (int i = 0; i < outConfigs->count(); ++i) {
2006 size_t index = (*outConfigs)[i]; 1995 size_t index = (*outConfigs)[i];
2007 if (kGPU_Backend == gRec[index].fBackend) { 1996 if (kGPU_Backend == gRec[index].fBackend) {
2008 GrContext* ctx = grFactory->get(gRec[index].fGLContextType, gpuAPI); 1997 GrContext* ctx = grFactory->get(gRec[index].fGLContextType);
2009 if (NULL == ctx) { 1998 if (NULL == ctx) {
2010 SkDebugf("GrContext could not be created for config %s. Config w ill be skipped.\n", 1999 SkDebugf("GrContext could not be created for config %s. Config w ill be skipped.\n",
2011 gRec[index].fName); 2000 gRec[index].fName);
2012 outConfigs->remove(i); 2001 outConfigs->remove(i);
2013 --i; 2002 --i;
2014 continue; 2003 continue;
2015 } 2004 }
2016 if (gRec[index].fSampleCnt > ctx->getMaxSampleCount()) { 2005 if (gRec[index].fSampleCnt > ctx->getMaxSampleCount()) {
2017 SkDebugf("Sample count (%d) of config %s is not supported." 2006 SkDebugf("Sample count (%d) of config %s is not supported."
2018 " Config will be skipped.\n", 2007 " Config will be skipped.\n",
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2152 return false; 2141 return false;
2153 } 2142 }
2154 *sizeBytes = atoi(FLAGS_gpuCacheSize[0]); 2143 *sizeBytes = atoi(FLAGS_gpuCacheSize[0]);
2155 *sizeCount = atoi(FLAGS_gpuCacheSize[1]); 2144 *sizeCount = atoi(FLAGS_gpuCacheSize[1]);
2156 } else { 2145 } else {
2157 *sizeBytes = DEFAULT_CACHE_VALUE; 2146 *sizeBytes = DEFAULT_CACHE_VALUE;
2158 *sizeCount = DEFAULT_CACHE_VALUE; 2147 *sizeCount = DEFAULT_CACHE_VALUE;
2159 } 2148 }
2160 return true; 2149 return true;
2161 } 2150 }
2162
2163 static bool parse_flags_gl_standard(GrGLStandard* gpuAPI) {
2164 if (0 == FLAGS_gpuAPI.count()) {
2165 *gpuAPI = kNone_GrGLStandard;
2166 return true;
2167 }
2168 if (1 == FLAGS_gpuAPI.count()) {
2169 if (FLAGS_gpuAPI.contains(kGpuAPINameGL)) {
2170 *gpuAPI = kGL_GrGLStandard;
2171 return true;
2172 }
2173 if (FLAGS_gpuAPI.contains(kGpuAPINameGLES)) {
2174 *gpuAPI = kGLES_GrGLStandard;
2175 return true;
2176 }
2177 }
2178 SkDebugf("--gpuAPI invalid api value");
2179 return false;
2180 }
2181 #endif 2151 #endif
2182 2152
2183 static bool parse_flags_tile_grid_replay_scales(SkTDArray<SkScalar>* outScales) { 2153 static bool parse_flags_tile_grid_replay_scales(SkTDArray<SkScalar>* outScales) {
2184 *outScales->append() = SK_Scalar1; // By default only test at scale 1.0 2154 *outScales->append() = SK_Scalar1; // By default only test at scale 1.0
2185 if (FLAGS_tileGridReplayScales.count() > 0) { 2155 if (FLAGS_tileGridReplayScales.count() > 0) {
2186 outScales->reset(); 2156 outScales->reset();
2187 for (int i = 0; i < FLAGS_tileGridReplayScales.count(); i++) { 2157 for (int i = 0; i < FLAGS_tileGridReplayScales.count(); i++) {
2188 double val = atof(FLAGS_tileGridReplayScales[i]); 2158 double val = atof(FLAGS_tileGridReplayScales[i]);
2189 if (0 < val) { 2159 if (0 < val) {
2190 *outScales->append() = SkDoubleToScalar(val); 2160 *outScales->append() = SkDoubleToScalar(val);
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
2261 setSystemPreferences(); 2231 setSystemPreferences();
2262 GMMain gmmain; 2232 GMMain gmmain;
2263 2233
2264 SkTDArray<size_t> configs; 2234 SkTDArray<size_t> configs;
2265 2235
2266 int moduloRemainder = -1; 2236 int moduloRemainder = -1;
2267 int moduloDivisor = -1; 2237 int moduloDivisor = -1;
2268 SkTDArray<const PDFRasterizerData*> pdfRasterizers; 2238 SkTDArray<const PDFRasterizerData*> pdfRasterizers;
2269 SkTDArray<SkScalar> tileGridReplayScales; 2239 SkTDArray<SkScalar> tileGridReplayScales;
2270 #if SK_SUPPORT_GPU 2240 #if SK_SUPPORT_GPU
2271 GrGLStandard gpuAPI = kNone_GrGLStandard;
2272 GrContextFactory* grFactory = new GrContextFactory; 2241 GrContextFactory* grFactory = new GrContextFactory;
2273 #else 2242 #else
2274 GrGLStandard gpuAPI = 0;
2275 GrContextFactory* grFactory = NULL; 2243 GrContextFactory* grFactory = NULL;
2276 #endif 2244 #endif
2277 2245
2278 if (FLAGS_dryRun) { 2246 if (FLAGS_dryRun) {
2279 SkDebugf( "Doing a dry run; no tests will actually be executed.\n"); 2247 SkDebugf( "Doing a dry run; no tests will actually be executed.\n");
2280 } 2248 }
2281 2249
2282 if (!parse_flags_modulo(&moduloRemainder, &moduloDivisor) || 2250 if (!parse_flags_modulo(&moduloRemainder, &moduloDivisor) ||
2283 !parse_flags_ignore_error_types(&gmmain.fIgnorableErrorTypes) || 2251 !parse_flags_ignore_error_types(&gmmain.fIgnorableErrorTypes) ||
2284 !parse_flags_ignore_tests(gmmain.fIgnorableTestNames) || 2252 !parse_flags_ignore_tests(gmmain.fIgnorableTestNames) ||
2285 #if SK_SUPPORT_GPU 2253 #if SK_SUPPORT_GPU
2286 !parse_flags_gpu_cache(&gGpuCacheSizeBytes, &gGpuCacheSizeCount) || 2254 !parse_flags_gpu_cache(&gGpuCacheSizeBytes, &gGpuCacheSizeCount) ||
2287 !parse_flags_gl_standard(&gpuAPI) ||
2288 #endif 2255 #endif
2289 !parse_flags_tile_grid_replay_scales(&tileGridReplayScales) || 2256 !parse_flags_tile_grid_replay_scales(&tileGridReplayScales) ||
2290 !parse_flags_jpeg_quality() || 2257 !parse_flags_jpeg_quality() ||
2291 !parse_flags_configs(&configs, grFactory, gpuAPI) || 2258 !parse_flags_configs(&configs, grFactory) ||
2292 !parse_flags_pdf_rasterizers(configs, &pdfRasterizers) || 2259 !parse_flags_pdf_rasterizers(configs, &pdfRasterizers) ||
2293 !parse_flags_gmmain_paths(&gmmain)) { 2260 !parse_flags_gmmain_paths(&gmmain)) {
2294 return -1; 2261 return -1;
2295 } 2262 }
2296 2263
2297 if (FLAGS_verbose) { 2264 if (FLAGS_verbose) {
2298 if (FLAGS_writePath.count() == 1) { 2265 if (FLAGS_writePath.count() == 1) {
2299 SkDebugf("writing to %s\n", FLAGS_writePath[0]); 2266 SkDebugf("writing to %s\n", FLAGS_writePath[0]);
2300 } 2267 }
2301 if (NULL != gmmain.fMismatchPath) { 2268 if (NULL != gmmain.fMismatchPath) {
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2363 2330
2364 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, shortName)) { 2331 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, shortName)) {
2365 continue; 2332 continue;
2366 } 2333 }
2367 2334
2368 gmsRun++; 2335 gmsRun++;
2369 SkISize size = gm->getISize(); 2336 SkISize size = gm->getISize();
2370 SkDebugf("%sdrawing... %s [%d %d]\n", moduloStr.c_str(), shortName, 2337 SkDebugf("%sdrawing... %s [%d %d]\n", moduloStr.c_str(), shortName,
2371 size.width(), size.height()); 2338 size.width(), size.height());
2372 if (!FLAGS_dryRun) 2339 if (!FLAGS_dryRun)
2373 run_multiple_configs(gmmain, gm, configs, pdfRasterizers, tileGridRe playScales, 2340 run_multiple_configs(gmmain, gm, configs, pdfRasterizers, tileGridRe playScales, grFactory);
2374 grFactory, gpuAPI);
2375 } 2341 }
2376 2342
2377 if (FLAGS_dryRun) 2343 if (FLAGS_dryRun)
2378 return 0; 2344 return 0;
2379 2345
2380 SkTArray<SkString> modes; 2346 SkTArray<SkString> modes;
2381 gmmain.GetRenderModesEncountered(modes); 2347 gmmain.GetRenderModesEncountered(modes);
2382 int modeCount = modes.count(); 2348 int modeCount = modes.count();
2383 2349
2384 // Now that we have run all the tests and thus know the full set of renderMo des that we 2350 // Now that we have run all the tests and thus know the full set of renderMo des that we
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 stream.write(jsonStdString.c_str(), jsonStdString.length()); 2407 stream.write(jsonStdString.c_str(), jsonStdString.length());
2442 } 2408 }
2443 2409
2444 #if SK_SUPPORT_GPU 2410 #if SK_SUPPORT_GPU
2445 2411
2446 #if GR_CACHE_STATS 2412 #if GR_CACHE_STATS
2447 for (int i = 0; i < configs.count(); i++) { 2413 for (int i = 0; i < configs.count(); i++) {
2448 ConfigData config = gRec[configs[i]]; 2414 ConfigData config = gRec[configs[i]];
2449 2415
2450 if (FLAGS_verbose && (kGPU_Backend == config.fBackend)) { 2416 if (FLAGS_verbose && (kGPU_Backend == config.fBackend)) {
2451 GrContext* gr = grFactory->get(config.fGLContextType, gpuAPI); 2417 GrContext* gr = grFactory->get(config.fGLContextType);
2452 2418
2453 SkDebugf("config: %s %x\n", config.fName, gr); 2419 SkDebugf("config: %s %x\n", config.fName, gr);
2454 gr->printCacheStats(); 2420 gr->printCacheStats();
2455 } 2421 }
2456 } 2422 }
2457 #endif 2423 #endif
2458 2424
2459 #if GR_DUMP_FONT_CACHE 2425 #if GR_DUMP_FONT_CACHE
2460 for (int i = 0; i < configs.count(); i++) { 2426 for (int i = 0; i < configs.count(); i++) {
2461 ConfigData config = gRec[configs[i]]; 2427 ConfigData config = gRec[configs[i]];
2462 2428
2463 if (kGPU_Backend == config.fBackend) { 2429 if (kGPU_Backend == config.fBackend) {
2464 GrContext* gr = grFactory->get(config.fGLContextType, gpuAPI); 2430 GrContext* gr = grFactory->get(config.fGLContextType);
2465 2431
2466 gr->dumpFontCache(); 2432 gr->dumpFontCache();
2467 } 2433 }
2468 } 2434 }
2469 #endif 2435 #endif
2470 2436
2471 delete grFactory; 2437 delete grFactory;
2472 #endif 2438 #endif
2473 SkGraphics::Term(); 2439 SkGraphics::Term();
2474 2440
2475 return (reportError) ? -1 : 0; 2441 return (reportError) ? -1 : 0;
2476 } 2442 }
2477 2443
2478 void GMMain::installFilter(SkCanvas* canvas) { 2444 void GMMain::installFilter(SkCanvas* canvas) {
2479 if (FLAGS_forceBWtext) { 2445 if (FLAGS_forceBWtext) {
2480 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); 2446 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref();
2481 } 2447 }
2482 } 2448 }
2483 2449
2484 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) 2450 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL)
2485 int main(int argc, char * const argv[]) { 2451 int main(int argc, char * const argv[]) {
2486 return tool_main(argc, (char**) argv); 2452 return tool_main(argc, (char**) argv);
2487 } 2453 }
2488 #endif 2454 #endif
OLDNEW
« no previous file with comments | « experimental/PdfViewer/pdf_viewer_main.cpp ('k') | include/gpu/GrContextFactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698