| Index: gm/gmmain.cpp
|
| ===================================================================
|
| --- gm/gmmain.cpp (revision 8217)
|
| +++ gm/gmmain.cpp (working copy)
|
| @@ -163,6 +163,7 @@
|
| int fSampleCnt; // GPU backend only
|
| ConfigFlags fFlags;
|
| const char* fName;
|
| + bool fRunByDefault;
|
| };
|
|
|
| class BWTextDrawFilter : public SkDrawFilter {
|
| @@ -984,33 +985,31 @@
|
| kWrite_ConfigFlag;
|
|
|
| static const ConfigData gRec[] = {
|
| - { SkBitmap::kARGB_8888_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "8888" },
|
| + { SkBitmap::kARGB_8888_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "8888", true },
|
| #if 0 // stop testing this (for now at least) since we want to remove support for it (soon please!!!)
|
| - { SkBitmap::kARGB_4444_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "4444" },
|
| + { SkBitmap::kARGB_4444_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "4444", true },
|
| #endif
|
| - { SkBitmap::kRGB_565_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "565" },
|
| -#if defined(SK_SCALAR_IS_FLOAT) && SK_SUPPORT_GPU
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kNative_GLContextType, 0, kRW_ConfigFlag, "gpu" },
|
| -#ifndef SK_BUILD_FOR_ANDROID
|
| - // currently we don't want to run MSAA tests on Android
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kNative_GLContextType, 16, kRW_ConfigFlag, "msaa16" },
|
| -#endif
|
| + { SkBitmap::kRGB_565_Config, kRaster_Backend, kDontCare_GLContextType, 0, kRW_ConfigFlag, "565", true },
|
| +#if SK_SUPPORT_GPU
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kNative_GLContextType, 0, kRW_ConfigFlag, "gpu", true },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kNative_GLContextType, 16, kRW_ConfigFlag, "msaa16", true },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kNative_GLContextType, 4, kRW_ConfigFlag, "msaa4", false},
|
| /* The debug context does not generate images */
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kDebug_GLContextType, 0, kNone_ConfigFlag, "debug" },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kDebug_GLContextType, 0, kNone_ConfigFlag, "debug", true },
|
| #if SK_ANGLE
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kANGLE_GLContextType, 0, kRW_ConfigFlag, "angle" },
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kANGLE_GLContextType, 16, kRW_ConfigFlag, "anglemsaa16" },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kANGLE_GLContextType, 0, kRW_ConfigFlag, "angle" true },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kANGLE_GLContextType, 16, kRW_ConfigFlag, "anglemsaa16", true },
|
| #endif // SK_ANGLE
|
| #ifdef SK_MESA
|
| - { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kMESA_GLContextType, 0, kRW_ConfigFlag, "mesa" },
|
| + { SkBitmap::kARGB_8888_Config, kGPU_Backend, GrContextFactory::kMESA_GLContextType, 0, kRW_ConfigFlag, "mesa", true },
|
| #endif // SK_MESA
|
| -#endif // defined(SK_SCALAR_IS_FLOAT) && SK_SUPPORT_GPU
|
| +#endif // SK_SUPPORT_GPU
|
| #ifdef SK_SUPPORT_XPS
|
| /* At present we have no way of comparing XPS files (either natively or by converting to PNG). */
|
| - { SkBitmap::kARGB_8888_Config, kXPS_Backend, kDontCare_GLContextType, 0, kWrite_ConfigFlag, "xps" },
|
| + { SkBitmap::kARGB_8888_Config, kXPS_Backend, kDontCare_GLContextType, 0, kWrite_ConfigFlag, "xps", true },
|
| #endif // SK_SUPPORT_XPS
|
| #ifdef SK_SUPPORT_PDF
|
| - { SkBitmap::kARGB_8888_Config, kPDF_Backend, kDontCare_GLContextType, 0, kPDFConfigFlags, "pdf" },
|
| + { SkBitmap::kARGB_8888_Config, kPDF_Backend, kDontCare_GLContextType, 0, kPDFConfigFlags, "pdf", true },
|
| #endif // SK_SUPPORT_PDF
|
| };
|
|
|
| @@ -1354,9 +1353,11 @@
|
| }
|
|
|
| if (!userConfig) {
|
| - // if no config is specified by user, we add them all.
|
| + // if no config is specified by user, add the defaults
|
| for (size_t i = 0; i < SK_ARRAY_COUNT(gRec); ++i) {
|
| - *configs.append() = i;
|
| + if (gRec[i].fRunByDefault) {
|
| + *configs.append() = i;
|
| + }
|
| }
|
| }
|
| // now remove any explicitly excluded configs
|
| @@ -1369,6 +1370,28 @@
|
| }
|
| }
|
|
|
| +#if SK_SUPPORT_GPU
|
| + GrContextFactory* grFactory = new GrContextFactory;
|
| + for (int i = 0; i < configs.count(); ++i) {
|
| + int index = configs[i];
|
| + if (kGPU_Backend == gRec[index].fBackend) {
|
| + GrContext* ctx = grFactory->get(gRec[index].fGLContextType);
|
| + if (NULL == ctx) {
|
| + SkDebugf("GrContext could not be created for config %s. Config will be skipped.",
|
| + gRec[index].fName);
|
| + configs.remove(i);
|
| + --i;
|
| + }
|
| + if (gRec[index].fSampleCnt > ctx->getMaxSampleCount()) {
|
| + SkDebugf("Sample count (%d) of config %s is not supported. Config will be skipped.",
|
| + gRec[index].fSampleCnt, gRec[index].fName);
|
| + configs.remove(i);
|
| + --i;
|
| + }
|
| + }
|
| + }
|
| +#endif
|
| +
|
| if (doVerbose) {
|
| SkString str;
|
| str.printf("%d configs:", configs.count());
|
| @@ -1419,10 +1442,6 @@
|
| int testsFailed = 0;
|
| int testsMissingReferenceImages = 0;
|
|
|
| -#if SK_SUPPORT_GPU
|
| - GrContextFactory* grFactory = new GrContextFactory;
|
| -#endif
|
| -
|
| int gmIndex = -1;
|
| SkString moduloStr;
|
|
|
|
|