aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMGpuGMTask.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dm/DMGpuGMTask.cpp')
-rw-r--r--dm/DMGpuGMTask.cpp8
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();