OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cc/test/pixel_comparator.h" | 5 #include "cc/test/pixel_comparator.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 | 10 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 SkColor actual_color = actual_bmp.getColor(x, y); | 107 SkColor actual_color = actual_bmp.getColor(x, y); |
108 SkColor expected_color = expected_bmp.getColor(x, y); | 108 SkColor expected_color = expected_bmp.getColor(x, y); |
109 if (discard_alpha_) { | 109 if (discard_alpha_) { |
110 SkColorSetA(actual_color, 0); | 110 SkColorSetA(actual_color, 0); |
111 SkColorSetA(expected_color, 0); | 111 SkColorSetA(expected_color, 0); |
112 } | 112 } |
113 | 113 |
114 if (actual_color != expected_color) { | 114 if (actual_color != expected_color) { |
115 ++error_pixels_count; | 115 ++error_pixels_count; |
116 | 116 |
117 LOG(ERROR) << "Pixel error at x=" << x << " y=" << y << "; " | |
118 << "actual RGBA=(" | |
119 << SkColorGetR(actual_color) << "," | |
120 << SkColorGetG(actual_color) << "," | |
121 << SkColorGetB(actual_color) << "," | |
122 << SkColorGetA(actual_color) << "); " | |
123 << "expected RGBA=(" | |
124 << SkColorGetR(expected_color) << "," | |
125 << SkColorGetG(expected_color) << "," | |
126 << SkColorGetB(expected_color) << "," | |
127 << SkColorGetA(expected_color) << ")"; | |
128 | |
129 // Compute per channel errors | 117 // Compute per channel errors |
130 int error_r = SkColorGetR(actual_color) - SkColorGetR(expected_color); | 118 int error_r = SkColorGetR(actual_color) - SkColorGetR(expected_color); |
131 int error_g = SkColorGetG(actual_color) - SkColorGetG(expected_color); | 119 int error_g = SkColorGetG(actual_color) - SkColorGetG(expected_color); |
132 int error_b = SkColorGetB(actual_color) - SkColorGetB(expected_color); | 120 int error_b = SkColorGetB(actual_color) - SkColorGetB(expected_color); |
133 int error_a = SkColorGetA(actual_color) - SkColorGetA(expected_color); | 121 int error_a = SkColorGetA(actual_color) - SkColorGetA(expected_color); |
134 int abs_error_r = std::abs(error_r); | 122 int abs_error_r = std::abs(error_r); |
135 int abs_error_g = std::abs(error_g); | 123 int abs_error_g = std::abs(error_g); |
136 int abs_error_b = std::abs(error_b); | 124 int abs_error_b = std::abs(error_b); |
137 int abs_error_a = std::abs(error_a); | 125 int abs_error_a = std::abs(error_a); |
138 | 126 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 LOG(ERROR) << "Average absolute error (excluding identical pixels): " | 185 LOG(ERROR) << "Average absolute error (excluding identical pixels): " |
198 << "R=" << avg_abs_error_r << " " | 186 << "R=" << avg_abs_error_r << " " |
199 << "G=" << avg_abs_error_g << " " | 187 << "G=" << avg_abs_error_g << " " |
200 << "B=" << avg_abs_error_b << " " | 188 << "B=" << avg_abs_error_b << " " |
201 << "A=" << avg_abs_error_a; | 189 << "A=" << avg_abs_error_a; |
202 LOG(ERROR) << "Largest absolute error: " | 190 LOG(ERROR) << "Largest absolute error: " |
203 << "R=" << max_abs_error_r << " " | 191 << "R=" << max_abs_error_r << " " |
204 << "G=" << max_abs_error_g << " " | 192 << "G=" << max_abs_error_g << " " |
205 << "B=" << max_abs_error_b << " " | 193 << "B=" << max_abs_error_b << " " |
206 << "A=" << max_abs_error_a; | 194 << "A=" << max_abs_error_a; |
| 195 |
| 196 for (int x = 0; x < actual_bmp.width(); ++x) { |
| 197 for (int y = 0; y < actual_bmp.height(); ++y) { |
| 198 SkColor actual_color = actual_bmp.getColor(x, y); |
| 199 SkColor expected_color = expected_bmp.getColor(x, y); |
| 200 if (discard_alpha_) { |
| 201 SkColorSetA(actual_color, 0); |
| 202 SkColorSetA(expected_color, 0); |
| 203 } |
| 204 if (actual_color != expected_color) { |
| 205 LOG(ERROR) << "Pixel error at x=" << x << " y=" << y << "; " |
| 206 << "actual RGBA=(" |
| 207 << SkColorGetR(actual_color) << "," |
| 208 << SkColorGetG(actual_color) << "," |
| 209 << SkColorGetB(actual_color) << "," |
| 210 << SkColorGetA(actual_color) << "); " |
| 211 << "expected RGBA=(" |
| 212 << SkColorGetR(expected_color) << "," |
| 213 << SkColorGetG(expected_color) << "," |
| 214 << SkColorGetB(expected_color) << "," |
| 215 << SkColorGetA(expected_color) << ")"; |
| 216 } |
| 217 } |
| 218 } |
| 219 |
207 return false; | 220 return false; |
208 } else { | 221 } else { |
209 return true; | 222 return true; |
210 } | 223 } |
211 } | 224 } |
212 | 225 |
213 } // namespace cc | 226 } // namespace cc |
OLD | NEW |