Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(309)

Side by Side Diff: cc/test/pixel_comparator.cc

Issue 14135011: cc: Add software renderer pixel tests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fuzzy only for software Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/test/pixel_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/test/pixel_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698