| 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 |