Index: dm/DMGpuGMTask.cpp |
diff --git a/dm/DMGpuGMTask.cpp b/dm/DMGpuGMTask.cpp |
index fb170a26b9796ac2404e7d7a8a9d1d2a0fdc1aae..2890483f55455e022ac3a29702adb290e4462b93 100644 |
--- a/dm/DMGpuGMTask.cpp |
+++ b/dm/DMGpuGMTask.cpp |
@@ -22,6 +22,8 @@ GpuGMTask::GpuGMTask(const char* config, |
, fSampleCount(sampleCount) |
{} |
+static bool gAlreadyWarned[GrContextFactory::kGLContextTypeCnt][kGrGLStandardCnt]; |
+ |
void GpuGMTask::draw(GrContextFactory* grFactory) { |
SkImageInfo info = SkImageInfo::Make(SkScalarCeilToInt(fGM->width()), |
SkScalarCeilToInt(fGM->height()), |
@@ -30,7 +32,11 @@ void GpuGMTask::draw(GrContextFactory* grFactory) { |
SkAutoTUnref<SkSurface> surface(NewGpuSurface(grFactory, fContextType, fGpuAPI, info, |
fSampleCount)); |
if (!surface) { |
- this->fail("Could not create context for the config and the api."); |
+ if (!gAlreadyWarned[fContextType][fGpuAPI]) { |
+ SkDebugf("FYI: couldn't create GPU context, type %d API %d. Will skip.\n", |
+ fContextType, fGpuAPI); |
+ gAlreadyWarned[fContextType][fGpuAPI] = true; |
+ } |
return; |
} |
SkCanvas* canvas = surface->getCanvas(); |