OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 /* | 8 /* |
9 * Code for the "gm" (Golden Master) rendering comparison tool. | 9 * Code for the "gm" (Golden Master) rendering comparison tool. |
10 * | 10 * |
(...skipping 990 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1001 const SkBitmap& referenceBitmap, bool si
mulateFailure) { | 1001 const SkBitmap& referenceBitmap, bool si
mulateFailure) { |
1002 ErrorCombination errors; | 1002 ErrorCombination errors; |
1003 for (size_t i = 0; i < SK_ARRAY_COUNT(gPipeWritingFlagCombos); ++i) { | 1003 for (size_t i = 0; i < SK_ARRAY_COUNT(gPipeWritingFlagCombos); ++i) { |
1004 SkBitmap bitmap; | 1004 SkBitmap bitmap; |
1005 SkISize size = gm->getISize(); | 1005 SkISize size = gm->getISize(); |
1006 setup_bitmap(gRec, size, &bitmap); | 1006 setup_bitmap(gRec, size, &bitmap); |
1007 SkCanvas canvas(bitmap); | 1007 SkCanvas canvas(bitmap); |
1008 installFilter(&canvas); | 1008 installFilter(&canvas); |
1009 PipeController pipeController(&canvas); | 1009 PipeController pipeController(&canvas); |
1010 SkGPipeWriter writer; | 1010 SkGPipeWriter writer; |
1011 SkCanvas* pipeCanvas = writer.startRecording( | 1011 SkCanvas* pipeCanvas = writer.startRecording(&pipeController, |
1012 &pipeController, gPipeWritingFlagCombos[i].flags); | 1012 gPipeWritingFlagCombos[
i].flags, |
| 1013 size.width(), size.heig
ht()); |
1013 if (!simulateFailure) { | 1014 if (!simulateFailure) { |
1014 invokeGM(gm, pipeCanvas, false, false); | 1015 invokeGM(gm, pipeCanvas, false, false); |
1015 } | 1016 } |
1016 complete_bitmap(&bitmap); | 1017 complete_bitmap(&bitmap); |
1017 writer.endRecording(); | 1018 writer.endRecording(); |
1018 SkString string("-pipe"); | 1019 SkString string("-pipe"); |
1019 string.append(gPipeWritingFlagCombos[i].name); | 1020 string.append(gPipeWritingFlagCombos[i].name); |
1020 errors.add(compare_test_results_to_reference_bitmap( | 1021 errors.add(compare_test_results_to_reference_bitmap( |
1021 gm, gRec, string.c_str(), bitmap, &referenceBitmap)); | 1022 gm, gRec, string.c_str(), bitmap, &referenceBitmap)); |
1022 if (!errors.isEmpty()) { | 1023 if (!errors.isEmpty()) { |
1023 break; | 1024 break; |
1024 } | 1025 } |
1025 } | 1026 } |
1026 return errors; | 1027 return errors; |
1027 } | 1028 } |
1028 | 1029 |
1029 ErrorCombination test_tiled_pipe_playback(GM* gm, const ConfigData& gRec, | 1030 ErrorCombination test_tiled_pipe_playback(GM* gm, const ConfigData& gRec, |
1030 const SkBitmap& referenceBitmap) { | 1031 const SkBitmap& referenceBitmap) { |
1031 ErrorCombination errors; | 1032 ErrorCombination errors; |
1032 for (size_t i = 0; i < SK_ARRAY_COUNT(gPipeWritingFlagCombos); ++i) { | 1033 for (size_t i = 0; i < SK_ARRAY_COUNT(gPipeWritingFlagCombos); ++i) { |
1033 SkBitmap bitmap; | 1034 SkBitmap bitmap; |
1034 SkISize size = gm->getISize(); | 1035 SkISize size = gm->getISize(); |
1035 setup_bitmap(gRec, size, &bitmap); | 1036 setup_bitmap(gRec, size, &bitmap); |
1036 SkCanvas canvas(bitmap); | 1037 SkCanvas canvas(bitmap); |
1037 installFilter(&canvas); | 1038 installFilter(&canvas); |
1038 TiledPipeController pipeController(bitmap); | 1039 TiledPipeController pipeController(bitmap); |
1039 SkGPipeWriter writer; | 1040 SkGPipeWriter writer; |
1040 SkCanvas* pipeCanvas = writer.startRecording( | 1041 SkCanvas* pipeCanvas = writer.startRecording(&pipeController, |
1041 &pipeController, gPipeWritingFlagCombos[i].flags); | 1042 gPipeWritingFlagCombos[
i].flags, |
| 1043 size.width(), size.heig
ht()); |
1042 invokeGM(gm, pipeCanvas, false, false); | 1044 invokeGM(gm, pipeCanvas, false, false); |
1043 complete_bitmap(&bitmap); | 1045 complete_bitmap(&bitmap); |
1044 writer.endRecording(); | 1046 writer.endRecording(); |
1045 SkString string("-tiled pipe"); | 1047 SkString string("-tiled pipe"); |
1046 string.append(gPipeWritingFlagCombos[i].name); | 1048 string.append(gPipeWritingFlagCombos[i].name); |
1047 errors.add(compare_test_results_to_reference_bitmap( | 1049 errors.add(compare_test_results_to_reference_bitmap( |
1048 gm, gRec, string.c_str(), bitmap, &referenceBitmap)); | 1050 gm, gRec, string.c_str(), bitmap, &referenceBitmap)); |
1049 if (!errors.isEmpty()) { | 1051 if (!errors.isEmpty()) { |
1050 break; | 1052 break; |
1051 } | 1053 } |
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1816 if (FLAGS_forceBWtext) { | 1818 if (FLAGS_forceBWtext) { |
1817 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); | 1819 canvas->setDrawFilter(SkNEW(BWTextDrawFilter))->unref(); |
1818 } | 1820 } |
1819 } | 1821 } |
1820 | 1822 |
1821 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) | 1823 #if !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_NACL) |
1822 int main(int argc, char * const argv[]) { | 1824 int main(int argc, char * const argv[]) { |
1823 return tool_main(argc, (char**) argv); | 1825 return tool_main(argc, (char**) argv); |
1824 } | 1826 } |
1825 #endif | 1827 #endif |
OLD | NEW |