OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 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 #include "DMSrcSink.h" | 8 #include "DMSrcSink.h" |
9 #include "SkAndroidCodec.h" | 9 #include "SkAndroidCodec.h" |
10 #include "SkCodec.h" | 10 #include "SkCodec.h" |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
281 Error test_gen(SkCanvas* canvas, SkData* data) { | 281 Error test_gen(SkCanvas* canvas, SkData* data) { |
282 SkImageGenerator* gen = SkCodecImageGenerator::NewFromEncodedCodec(data); | 282 SkImageGenerator* gen = SkCodecImageGenerator::NewFromEncodedCodec(data); |
283 if (!gen) { | 283 if (!gen) { |
284 return "Could not create image generator."; | 284 return "Could not create image generator."; |
285 } | 285 } |
286 | 286 |
287 // FIXME: The gpu backend does not draw kGray sources correctly. (skbug.com/
4822) | 287 // FIXME: The gpu backend does not draw kGray sources correctly. (skbug.com/
4822) |
288 // Currently, we will avoid creating a CodecSrc for this case (see DM.cpp). | 288 // Currently, we will avoid creating a CodecSrc for this case (see DM.cpp). |
289 SkASSERT(kGray_8_SkColorType != gen->getInfo().colorType()); | 289 SkASSERT(kGray_8_SkColorType != gen->getInfo().colorType()); |
290 | 290 |
| 291 if (kOpaque_SkAlphaType != gen->getInfo().alphaType() && |
| 292 kRGB_565_SkColorType == canvas->imageInfo().colorType()) { |
| 293 return Error::Nonfatal("Skip testing non-opaque images to 565."); |
| 294 } |
| 295 |
291 SkAutoTDelete<SkImage> image(SkImage::NewFromGenerator(gen, nullptr)); | 296 SkAutoTDelete<SkImage> image(SkImage::NewFromGenerator(gen, nullptr)); |
292 if (!image) { | 297 if (!image) { |
293 return "Could not create image from codec image generator."; | 298 return "Could not create image from codec image generator."; |
294 } | 299 } |
295 | 300 |
296 canvas->drawImage(image, 0, 0); | 301 canvas->drawImage(image, 0, 0); |
297 return ""; | 302 return ""; |
298 } | 303 } |
299 | 304 |
300 Error CodecSrc::draw(SkCanvas* canvas) const { | 305 Error CodecSrc::draw(SkCanvas* canvas) const { |
(...skipping 1039 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1340 skr.visit<void>(i, drawsAsSingletonPictures); | 1345 skr.visit<void>(i, drawsAsSingletonPictures); |
1341 } | 1346 } |
1342 SkAutoTUnref<SkPicture> macroPic(macroRec.endRecordingAsPicture()); | 1347 SkAutoTUnref<SkPicture> macroPic(macroRec.endRecordingAsPicture()); |
1343 | 1348 |
1344 canvas->drawPicture(macroPic); | 1349 canvas->drawPicture(macroPic); |
1345 return check_against_reference(bitmap, src, fSink); | 1350 return check_against_reference(bitmap, src, fSink); |
1346 }); | 1351 }); |
1347 } | 1352 } |
1348 | 1353 |
1349 } // namespace DM | 1354 } // namespace DM |
OLD | NEW |