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

Unified Diff: cc/output/renderer_pixeltest.cc

Issue 13863015: Add flag for drawing layers to screen with Ganesh (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase again 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/output/renderer_pixeltest.cc
diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
index 060a28423f2612648271d52d2cf7454ccf79baf5..d479e5fb2e1c1a5a5e4323935d01cf7549341611 100644
--- a/cc/output/renderer_pixeltest.cc
+++ b/cc/output/renderer_pixeltest.cc
@@ -97,6 +97,16 @@ scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad(
typedef ::testing::Types<GLRenderer, SoftwareRenderer> RendererTypes;
TYPED_TEST_CASE(RendererPixelTest, RendererTypes);
+typedef ::testing::Types<GLRenderer,
+ GLRendererWithSkiaGPUBackend,
+ SoftwareRenderer> RendererTypesWithSkiaGPUBackend;
+template <typename RendererType>
+class RendererPixelTestWithSkiaGPUBackend
+ : public RendererPixelTest<RendererType> {
+};
+TYPED_TEST_CASE(RendererPixelTestWithSkiaGPUBackend,
+ RendererTypesWithSkiaGPUBackend);
+
// All pixels can be off by one, but any more than that is an error.
class FuzzyPixelOffByOneComparator : public FuzzyPixelComparator {
public:
@@ -119,17 +129,17 @@ class FuzzyForSoftwareOnlyPixelComparator : public PixelComparator {
};
template<>
-bool FuzzyForSoftwareOnlyPixelComparator<GLRenderer>::Compare(
+bool FuzzyForSoftwareOnlyPixelComparator<SoftwareRenderer>::Compare(
const SkBitmap& actual_bmp,
const SkBitmap& expected_bmp) const {
- return exact_.Compare(actual_bmp, expected_bmp);
+ return fuzzy_.Compare(actual_bmp, expected_bmp);
}
-template<>
-bool FuzzyForSoftwareOnlyPixelComparator<SoftwareRenderer>::Compare(
+template<typename RendererType>
+bool FuzzyForSoftwareOnlyPixelComparator<RendererType>::Compare(
const SkBitmap& actual_bmp,
const SkBitmap& expected_bmp) const {
- return fuzzy_.Compare(actual_bmp, expected_bmp);
+ return exact_.Compare(actual_bmp, expected_bmp);
}
#if !defined(OS_ANDROID)
@@ -570,8 +580,10 @@ class RendererPixelTestWithBackgroundFilter
gfx::Rect filter_pass_content_rect_;
};
-typedef ::testing::Types<GLRenderer, SoftwareRenderer> RendererTypes;
-TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter, RendererTypes);
+typedef ::testing::Types<GLRenderer, SoftwareRenderer>
+ BackgroundFilterRendererTypes;
+TYPED_TEST_CASE(RendererPixelTestWithBackgroundFilter,
+ BackgroundFilterRendererTypes);
typedef RendererPixelTestWithBackgroundFilter<GLRenderer>
GLRendererPixelTestWithBackgroundFilter;
@@ -729,9 +741,10 @@ TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) {
ExactPixelComparator(false)));
}
-TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
+TYPED_TEST(RendererPixelTestWithSkiaGPUBackend, PictureDrawQuadIdentityScale) {
gfx::Size pile_tile_size(1000, 1000);
gfx::Rect viewport(this->device_viewport_size_);
+ bool use_skia_gpu_backend = this->UseSkiaGPUBackend();
// TODO(enne): the renderer should figure this out on its own.
bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA);
@@ -774,6 +787,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
contents_swizzled,
viewport,
1.f,
+ use_skia_gpu_backend,
blue_pile);
pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
@@ -798,6 +812,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
contents_swizzled,
viewport,
1.f,
+ use_skia_gpu_backend,
green_pile);
pass->quad_list.push_back(green_quad.PassAs<DrawQuad>());
@@ -810,9 +825,11 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
ExactPixelComparator(true)));
}
-TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
+TYPED_TEST(RendererPixelTestWithSkiaGPUBackend,
+ PictureDrawQuadNonIdentityScale) {
gfx::Size pile_tile_size(1000, 1000);
gfx::Rect viewport(this->device_viewport_size_);
+ bool use_skia_gpu_backend = this->UseSkiaGPUBackend();
// TODO(enne): the renderer should figure this out on its own.
bool contents_swizzled = !PlatformColor::SameComponentOrder(GL_RGBA);
@@ -851,6 +868,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
contents_swizzled,
green_rect1,
1.f,
+ use_skia_gpu_backend,
green_pile);
pass->quad_list.push_back(green_quad1.PassAs<DrawQuad>());
@@ -863,6 +881,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
contents_swizzled,
green_rect2,
1.f,
+ use_skia_gpu_backend,
green_pile);
pass->quad_list.push_back(green_quad2.PassAs<DrawQuad>());
@@ -899,10 +918,13 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
scoped_refptr<FakePicturePileImpl> pile =
FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size());
- pile->add_draw_rect_with_paint(layer_rect, red_paint);
- SkPaint transparent_paint;
- transparent_paint.setXfermodeMode(SkXfermode::kClear_Mode);
- pile->add_draw_rect_with_paint(union_layer_rect, transparent_paint);
+
+ Region outside(layer_rect);
+ outside.Subtract(gfx::ToEnclosingRect(union_layer_rect));
+ for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) {
+ pile->add_draw_rect_with_paint(iter.rect(), red_paint);
+ }
+
SkPaint blue_paint;
blue_paint.setColor(SK_ColorBLUE);
pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint);
@@ -931,6 +953,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
contents_swizzled,
content_union_rect,
contents_scale,
+ use_skia_gpu_backend,
pile);
pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
« no previous file with comments | « cc/output/gl_renderer.cc ('k') | cc/output/software_renderer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698