diff options
Diffstat (limited to 'dm/DMGpuGMTask.cpp')
-rw-r--r-- | dm/DMGpuGMTask.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/dm/DMGpuGMTask.cpp b/dm/DMGpuGMTask.cpp index fb170a26b9..2890483f55 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(); |