| Index: dm/DM.cpp
|
| diff --git a/dm/DM.cpp b/dm/DM.cpp
|
| index c7c3628d8a82e8236c83a6991a402f5ee194cb2b..75f4753b3273d3451959fbb8f9f6046597e1b8f6 100644
|
| --- a/dm/DM.cpp
|
| +++ b/dm/DM.cpp
|
| @@ -248,9 +248,6 @@ static void push_codec_src(Path path, CodecSrc::Mode mode, CodecSrc::DstColorTyp
|
| case CodecSrc::kSubset_Mode:
|
| folder.append("codec_subset");
|
| break;
|
| - case CodecSrc::kGen_Mode:
|
| - folder.append("gen");
|
| - break;
|
| }
|
|
|
| switch (dstColorType) {
|
| @@ -331,6 +328,21 @@ static void push_android_codec_src(Path path, AndroidCodecSrc::Mode mode,
|
| push_src("image", folder, src);
|
| }
|
|
|
| +static void push_image_gen_src(Path path, ImageGenSrc::Mode mode) {
|
| + SkString folder;
|
| + switch (mode) {
|
| + case ImageGenSrc::kCodec_Mode:
|
| + folder.append("gen_codec");
|
| + break;
|
| + case ImageGenSrc::kCG_Mode:
|
| + folder.append("gen_cg");
|
| + break;
|
| + }
|
| +
|
| + ImageGenSrc* src = new ImageGenSrc(path, mode);
|
| + push_src("image", folder, src);
|
| +}
|
| +
|
| static void push_codec_srcs(Path path) {
|
| SkAutoTUnref<SkData> encoded(SkData::NewFromFileName(path.c_str()));
|
| if (!encoded) {
|
| @@ -352,7 +364,6 @@ static void push_codec_srcs(Path path) {
|
| SkTArray<CodecSrc::Mode> nativeModes;
|
| nativeModes.push_back(CodecSrc::kCodec_Mode);
|
| nativeModes.push_back(CodecSrc::kCodecZeroInit_Mode);
|
| - nativeModes.push_back(CodecSrc::kGen_Mode);
|
| switch (codec->getEncodedFormat()) {
|
| case SkEncodedFormat::kJPEG_SkEncodedFormat:
|
| nativeModes.push_back(CodecSrc::kScanline_Mode);
|
| @@ -394,19 +405,6 @@ static void push_codec_srcs(Path path) {
|
| }
|
|
|
| for (CodecSrc::Mode mode : nativeModes) {
|
| - // SkCodecImageGenerator only runs for the default colorType
|
| - // recommended by SkCodec. There is no need to generate multiple
|
| - // tests for different colorTypes.
|
| - // TODO (msarett): Add scaling support to SkCodecImageGenerator.
|
| - if (CodecSrc::kGen_Mode == mode) {
|
| - // FIXME: The gpu backend does not draw kGray sources correctly. (skbug.com/4822)
|
| - if (kGray_8_SkColorType != codec->getInfo().colorType()) {
|
| - push_codec_src(path, mode, CodecSrc::kGetFromCanvas_DstColorType,
|
| - codec->getInfo().alphaType(), 1.0f);
|
| - }
|
| - continue;
|
| - }
|
| -
|
| for (float scale : nativeScales) {
|
| for (CodecSrc::DstColorType colorType : colorTypes) {
|
| for (SkAlphaType alphaType : alphaModes) {
|
| @@ -452,6 +450,17 @@ static void push_codec_srcs(Path path) {
|
| }
|
| }
|
| }
|
| +
|
| + // Push image generator tests.
|
| + // FIXME: The gpu backend does not draw kGray sources correctly. (skbug.com/4822)
|
| + if (kGray_8_SkColorType != codec->getInfo().colorType()) {
|
| + push_image_gen_src(path, ImageGenSrc::kCodec_Mode);
|
| +#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
|
| + if (kWEBP_SkEncodedFormat != codec->getEncodedFormat()) {
|
| + push_image_gen_src(path, ImageGenSrc::kCG_Mode);
|
| + }
|
| +#endif
|
| + }
|
| }
|
|
|
| static bool brd_color_type_supported(SkBitmapRegionDecoder::Strategy strategy,
|
|
|