| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 "base/message_loop/message_loop.h" | 5 #include "base/message_loop/message_loop.h" |
| 6 #include "cc/layers/append_quads_data.h" | 6 #include "cc/layers/append_quads_data.h" |
| 7 #include "cc/output/gl_renderer.h" | 7 #include "cc/output/gl_renderer.h" |
| 8 #include "cc/quads/draw_quad.h" | 8 #include "cc/quads/draw_quad.h" |
| 9 #include "cc/quads/picture_draw_quad.h" | 9 #include "cc/quads/picture_draw_quad.h" |
| 10 #include "cc/quads/texture_draw_quad.h" | 10 #include "cc/quads/texture_draw_quad.h" |
| (...skipping 1377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1388 | 1388 |
| 1389 RenderPassId id(1, 1); | 1389 RenderPassId id(1, 1); |
| 1390 gfx::Transform transform_to_root; | 1390 gfx::Transform transform_to_root; |
| 1391 scoped_ptr<RenderPass> pass = | 1391 scoped_ptr<RenderPass> pass = |
| 1392 CreateTestRenderPass(id, viewport, transform_to_root); | 1392 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1393 | 1393 |
| 1394 // One clipped blue quad in the lower right corner. Outside the clip | 1394 // One clipped blue quad in the lower right corner. Outside the clip |
| 1395 // is red, which should not appear. | 1395 // is red, which should not appear. |
| 1396 gfx::Rect blue_rect(gfx::Size(100, 100)); | 1396 gfx::Rect blue_rect(gfx::Size(100, 100)); |
| 1397 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); | 1397 gfx::Rect blue_clip_rect(gfx::Point(50, 50), gfx::Size(50, 50)); |
| 1398 scoped_refptr<FakePicturePileImpl> blue_pile = | 1398 |
| 1399 FakePicturePileImpl::CreateFilledPile(pile_tile_size, blue_rect.size()); | 1399 scoped_ptr<FakePicturePile> blue_recording = |
| 1400 FakePicturePile::CreateFilledPile(pile_tile_size, blue_rect.size()); |
| 1400 SkPaint red_paint; | 1401 SkPaint red_paint; |
| 1401 red_paint.setColor(SK_ColorRED); | 1402 red_paint.setColor(SK_ColorRED); |
| 1402 blue_pile->add_draw_rect_with_paint(blue_rect, red_paint); | 1403 blue_recording->add_draw_rect_with_paint(blue_rect, red_paint); |
| 1403 SkPaint blue_paint; | 1404 SkPaint blue_paint; |
| 1404 blue_paint.setColor(SK_ColorBLUE); | 1405 blue_paint.setColor(SK_ColorBLUE); |
| 1405 blue_pile->add_draw_rect_with_paint(blue_clip_rect, blue_paint); | 1406 blue_recording->add_draw_rect_with_paint(blue_clip_rect, blue_paint); |
| 1406 blue_pile->RerecordPile(); | 1407 blue_recording->RerecordPile(); |
| 1408 |
| 1409 scoped_refptr<FakePicturePileImpl> blue_pile = |
| 1410 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); |
| 1407 | 1411 |
| 1408 gfx::Transform blue_content_to_target_transform; | 1412 gfx::Transform blue_content_to_target_transform; |
| 1409 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); | 1413 gfx::Vector2d offset(viewport.bottom_right() - blue_rect.bottom_right()); |
| 1410 blue_content_to_target_transform.Translate(offset.x(), offset.y()); | 1414 blue_content_to_target_transform.Translate(offset.x(), offset.y()); |
| 1411 gfx::RectF blue_scissor_rect = blue_clip_rect; | 1415 gfx::RectF blue_scissor_rect = blue_clip_rect; |
| 1412 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); | 1416 blue_content_to_target_transform.TransformRect(&blue_scissor_rect); |
| 1413 SharedQuadState* blue_shared_state = | 1417 SharedQuadState* blue_shared_state = |
| 1414 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, | 1418 CreateTestSharedQuadStateClipped(blue_content_to_target_transform, |
| 1415 blue_rect, | 1419 blue_rect, |
| 1416 gfx::ToEnclosingRect(blue_scissor_rect), | 1420 gfx::ToEnclosingRect(blue_scissor_rect), |
| 1417 pass.get()); | 1421 pass.get()); |
| 1418 | 1422 |
| 1419 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1423 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1420 | 1424 |
| 1421 blue_quad->SetNew(blue_shared_state, | 1425 blue_quad->SetNew(blue_shared_state, |
| 1422 viewport, // Intentionally bigger than clip. | 1426 viewport, // Intentionally bigger than clip. |
| 1423 gfx::Rect(), viewport, gfx::RectF(viewport), | 1427 gfx::Rect(), viewport, gfx::RectF(viewport), |
| 1424 viewport.size(), nearest_neighbor, texture_format, viewport, | 1428 viewport.size(), nearest_neighbor, texture_format, viewport, |
| 1425 1.f, blue_pile.get()); | 1429 1.f, blue_pile.get()); |
| 1426 | 1430 |
| 1427 // One viewport-filling green quad. | 1431 // One viewport-filling green quad. |
| 1428 scoped_refptr<FakePicturePileImpl> green_pile = | 1432 scoped_ptr<FakePicturePile> green_recording = |
| 1429 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1433 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1430 SkPaint green_paint; | 1434 SkPaint green_paint; |
| 1431 green_paint.setColor(SK_ColorGREEN); | 1435 green_paint.setColor(SK_ColorGREEN); |
| 1432 green_pile->add_draw_rect_with_paint(viewport, green_paint); | 1436 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
| 1433 green_pile->RerecordPile(); | 1437 green_recording->RerecordPile(); |
| 1438 scoped_refptr<FakePicturePileImpl> green_pile = |
| 1439 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 1434 | 1440 |
| 1435 gfx::Transform green_content_to_target_transform; | 1441 gfx::Transform green_content_to_target_transform; |
| 1436 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 1442 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
| 1437 green_content_to_target_transform, viewport, pass.get()); | 1443 green_content_to_target_transform, viewport, pass.get()); |
| 1438 | 1444 |
| 1439 PictureDrawQuad* green_quad = | 1445 PictureDrawQuad* green_quad = |
| 1440 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1446 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1441 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, | 1447 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, |
| 1442 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), | 1448 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), |
| 1443 nearest_neighbor, texture_format, viewport, 1.f, | 1449 nearest_neighbor, texture_format, viewport, 1.f, |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1458 gfx::Rect viewport(this->device_viewport_size_); | 1464 gfx::Rect viewport(this->device_viewport_size_); |
| 1459 ResourceFormat texture_format = RGBA_8888; | 1465 ResourceFormat texture_format = RGBA_8888; |
| 1460 bool nearest_neighbor = false; | 1466 bool nearest_neighbor = false; |
| 1461 | 1467 |
| 1462 RenderPassId id(1, 1); | 1468 RenderPassId id(1, 1); |
| 1463 gfx::Transform transform_to_root; | 1469 gfx::Transform transform_to_root; |
| 1464 scoped_ptr<RenderPass> pass = | 1470 scoped_ptr<RenderPass> pass = |
| 1465 CreateTestRenderPass(id, viewport, transform_to_root); | 1471 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1466 | 1472 |
| 1467 // One viewport-filling 0.5-opacity green quad. | 1473 // One viewport-filling 0.5-opacity green quad. |
| 1468 scoped_refptr<FakePicturePileImpl> green_pile = | 1474 scoped_ptr<FakePicturePile> green_recording = |
| 1469 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1475 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1470 SkPaint green_paint; | 1476 SkPaint green_paint; |
| 1471 green_paint.setColor(SK_ColorGREEN); | 1477 green_paint.setColor(SK_ColorGREEN); |
| 1472 green_pile->add_draw_rect_with_paint(viewport, green_paint); | 1478 green_recording->add_draw_rect_with_paint(viewport, green_paint); |
| 1473 green_pile->RerecordPile(); | 1479 green_recording->RerecordPile(); |
| 1480 scoped_refptr<FakePicturePileImpl> green_pile = |
| 1481 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 1474 | 1482 |
| 1475 gfx::Transform green_content_to_target_transform; | 1483 gfx::Transform green_content_to_target_transform; |
| 1476 SharedQuadState* green_shared_state = CreateTestSharedQuadState( | 1484 SharedQuadState* green_shared_state = CreateTestSharedQuadState( |
| 1477 green_content_to_target_transform, viewport, pass.get()); | 1485 green_content_to_target_transform, viewport, pass.get()); |
| 1478 green_shared_state->opacity = 0.5f; | 1486 green_shared_state->opacity = 0.5f; |
| 1479 | 1487 |
| 1480 PictureDrawQuad* green_quad = | 1488 PictureDrawQuad* green_quad = |
| 1481 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1489 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1482 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, | 1490 green_quad->SetNew(green_shared_state, viewport, gfx::Rect(), viewport, |
| 1483 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, | 1491 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, |
| 1484 texture_format, viewport, 1.f, green_pile.get()); | 1492 texture_format, viewport, 1.f, green_pile.get()); |
| 1485 | 1493 |
| 1486 // One viewport-filling white quad. | 1494 // One viewport-filling white quad. |
| 1487 scoped_refptr<FakePicturePileImpl> white_pile = | 1495 scoped_ptr<FakePicturePile> white_recording = |
| 1488 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1496 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1489 SkPaint white_paint; | 1497 SkPaint white_paint; |
| 1490 white_paint.setColor(SK_ColorWHITE); | 1498 white_paint.setColor(SK_ColorWHITE); |
| 1491 white_pile->add_draw_rect_with_paint(viewport, white_paint); | 1499 white_recording->add_draw_rect_with_paint(viewport, white_paint); |
| 1492 white_pile->RerecordPile(); | 1500 white_recording->RerecordPile(); |
| 1501 scoped_refptr<FakePicturePileImpl> white_pile = |
| 1502 FakePicturePileImpl::CreateFromPile(white_recording.get(), nullptr); |
| 1493 | 1503 |
| 1494 gfx::Transform white_content_to_target_transform; | 1504 gfx::Transform white_content_to_target_transform; |
| 1495 SharedQuadState* white_shared_state = CreateTestSharedQuadState( | 1505 SharedQuadState* white_shared_state = CreateTestSharedQuadState( |
| 1496 white_content_to_target_transform, viewport, pass.get()); | 1506 white_content_to_target_transform, viewport, pass.get()); |
| 1497 | 1507 |
| 1498 PictureDrawQuad* white_quad = | 1508 PictureDrawQuad* white_quad = |
| 1499 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1509 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1500 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, | 1510 white_quad->SetNew(white_shared_state, viewport, gfx::Rect(), viewport, |
| 1501 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, | 1511 gfx::RectF(0, 0, 1, 1), viewport.size(), nearest_neighbor, |
| 1502 texture_format, viewport, 1.f, white_pile.get()); | 1512 texture_format, viewport, 1.f, white_pile.get()); |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1546 bitmap.allocN32Pixels(2, 2); | 1556 bitmap.allocN32Pixels(2, 2); |
| 1547 { | 1557 { |
| 1548 SkAutoLockPixels lock(bitmap); | 1558 SkAutoLockPixels lock(bitmap); |
| 1549 SkCanvas canvas(bitmap); | 1559 SkCanvas canvas(bitmap); |
| 1550 canvas.drawPoint(0, 0, SK_ColorGREEN); | 1560 canvas.drawPoint(0, 0, SK_ColorGREEN); |
| 1551 canvas.drawPoint(0, 1, SK_ColorBLUE); | 1561 canvas.drawPoint(0, 1, SK_ColorBLUE); |
| 1552 canvas.drawPoint(1, 0, SK_ColorBLUE); | 1562 canvas.drawPoint(1, 0, SK_ColorBLUE); |
| 1553 canvas.drawPoint(1, 1, SK_ColorGREEN); | 1563 canvas.drawPoint(1, 1, SK_ColorGREEN); |
| 1554 } | 1564 } |
| 1555 | 1565 |
| 1556 scoped_refptr<FakePicturePileImpl> pile = | 1566 scoped_ptr<FakePicturePile> recording = |
| 1557 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1567 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1558 SkPaint paint; | 1568 SkPaint paint; |
| 1559 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 1569 paint.setFilterLevel(SkPaint::kLow_FilterLevel); |
| 1560 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 1570 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
| 1561 pile->RerecordPile(); | 1571 recording->RerecordPile(); |
| 1572 scoped_refptr<FakePicturePileImpl> pile = |
| 1573 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 1562 | 1574 |
| 1563 gfx::Transform content_to_target_transform; | 1575 gfx::Transform content_to_target_transform; |
| 1564 SharedQuadState* shared_state = CreateTestSharedQuadState( | 1576 SharedQuadState* shared_state = CreateTestSharedQuadState( |
| 1565 content_to_target_transform, viewport, pass.get()); | 1577 content_to_target_transform, viewport, pass.get()); |
| 1566 | 1578 |
| 1567 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1579 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1568 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, | 1580 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, |
| 1569 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, | 1581 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, |
| 1570 texture_format, viewport, 1.f, pile.get()); | 1582 texture_format, viewport, 1.f, pile.get()); |
| 1571 | 1583 |
| (...skipping 24 matching lines...) Expand all Loading... |
| 1596 bitmap.allocN32Pixels(2, 2); | 1608 bitmap.allocN32Pixels(2, 2); |
| 1597 { | 1609 { |
| 1598 SkAutoLockPixels lock(bitmap); | 1610 SkAutoLockPixels lock(bitmap); |
| 1599 SkCanvas canvas(bitmap); | 1611 SkCanvas canvas(bitmap); |
| 1600 canvas.drawPoint(0, 0, SK_ColorGREEN); | 1612 canvas.drawPoint(0, 0, SK_ColorGREEN); |
| 1601 canvas.drawPoint(0, 1, SK_ColorBLUE); | 1613 canvas.drawPoint(0, 1, SK_ColorBLUE); |
| 1602 canvas.drawPoint(1, 0, SK_ColorBLUE); | 1614 canvas.drawPoint(1, 0, SK_ColorBLUE); |
| 1603 canvas.drawPoint(1, 1, SK_ColorGREEN); | 1615 canvas.drawPoint(1, 1, SK_ColorGREEN); |
| 1604 } | 1616 } |
| 1605 | 1617 |
| 1606 scoped_refptr<FakePicturePileImpl> pile = | 1618 scoped_ptr<FakePicturePile> recording = |
| 1607 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1619 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1608 SkPaint paint; | 1620 SkPaint paint; |
| 1609 paint.setFilterLevel(SkPaint::kLow_FilterLevel); | 1621 paint.setFilterLevel(SkPaint::kLow_FilterLevel); |
| 1610 pile->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); | 1622 recording->add_draw_bitmap_with_paint(bitmap, gfx::Point(), paint); |
| 1611 pile->RerecordPile(); | 1623 recording->RerecordPile(); |
| 1624 scoped_refptr<FakePicturePileImpl> pile = |
| 1625 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 1612 | 1626 |
| 1613 gfx::Transform content_to_target_transform; | 1627 gfx::Transform content_to_target_transform; |
| 1614 SharedQuadState* shared_state = CreateTestSharedQuadState( | 1628 SharedQuadState* shared_state = CreateTestSharedQuadState( |
| 1615 content_to_target_transform, viewport, pass.get()); | 1629 content_to_target_transform, viewport, pass.get()); |
| 1616 | 1630 |
| 1617 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1631 PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1618 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, | 1632 quad->SetNew(shared_state, viewport, gfx::Rect(), viewport, |
| 1619 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, | 1633 gfx::RectF(0, 0, 2, 2), viewport.size(), nearest_neighbor, |
| 1620 texture_format, viewport, 1.f, pile.get()); | 1634 texture_format, viewport, 1.f, pile.get()); |
| 1621 | 1635 |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1698 scoped_ptr<RenderPass> pass = | 1712 scoped_ptr<RenderPass> pass = |
| 1699 CreateTestRenderPass(id, viewport, transform_to_root); | 1713 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1700 | 1714 |
| 1701 // As scaling up the blue checkerboards will cause sampling on the GPU, | 1715 // As scaling up the blue checkerboards will cause sampling on the GPU, |
| 1702 // a few extra "cleanup rects" need to be added to clobber the blending | 1716 // a few extra "cleanup rects" need to be added to clobber the blending |
| 1703 // to make the output image more clean. This will also test subrects | 1717 // to make the output image more clean. This will also test subrects |
| 1704 // of the layer. | 1718 // of the layer. |
| 1705 gfx::Transform green_content_to_target_transform; | 1719 gfx::Transform green_content_to_target_transform; |
| 1706 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); | 1720 gfx::Rect green_rect1(gfx::Point(80, 0), gfx::Size(20, 100)); |
| 1707 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); | 1721 gfx::Rect green_rect2(gfx::Point(0, 80), gfx::Size(100, 20)); |
| 1708 scoped_refptr<FakePicturePileImpl> green_pile = | 1722 |
| 1709 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 1723 scoped_ptr<FakePicturePile> green_recording = |
| 1724 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1725 |
| 1710 SkPaint red_paint; | 1726 SkPaint red_paint; |
| 1711 red_paint.setColor(SK_ColorRED); | 1727 red_paint.setColor(SK_ColorRED); |
| 1712 green_pile->add_draw_rect_with_paint(viewport, red_paint); | 1728 green_recording->add_draw_rect_with_paint(viewport, red_paint); |
| 1713 SkPaint green_paint; | 1729 SkPaint green_paint; |
| 1714 green_paint.setColor(SK_ColorGREEN); | 1730 green_paint.setColor(SK_ColorGREEN); |
| 1715 green_pile->add_draw_rect_with_paint(green_rect1, green_paint); | 1731 green_recording->add_draw_rect_with_paint(green_rect1, green_paint); |
| 1716 green_pile->add_draw_rect_with_paint(green_rect2, green_paint); | 1732 green_recording->add_draw_rect_with_paint(green_rect2, green_paint); |
| 1717 green_pile->RerecordPile(); | 1733 green_recording->RerecordPile(); |
| 1734 scoped_refptr<FakePicturePileImpl> green_pile = |
| 1735 FakePicturePileImpl::CreateFromPile(green_recording.get(), nullptr); |
| 1718 | 1736 |
| 1719 SharedQuadState* top_right_green_shared_quad_state = | 1737 SharedQuadState* top_right_green_shared_quad_state = |
| 1720 CreateTestSharedQuadState( | 1738 CreateTestSharedQuadState( |
| 1721 green_content_to_target_transform, viewport, pass.get()); | 1739 green_content_to_target_transform, viewport, pass.get()); |
| 1722 | 1740 |
| 1723 PictureDrawQuad* green_quad1 = | 1741 PictureDrawQuad* green_quad1 = |
| 1724 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 1742 pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 1725 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, | 1743 green_quad1->SetNew(top_right_green_shared_quad_state, green_rect1, |
| 1726 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), | 1744 gfx::Rect(), green_rect1, gfx::RectF(green_rect1.size()), |
| 1727 green_rect1.size(), nearest_neighbor, texture_format, | 1745 green_rect1.size(), nearest_neighbor, texture_format, |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1762 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); | 1780 gfx::RectF blue_layer_rect2(gfx::PointF(8.0f, 6.5f), gfx::SizeF(2.5f, 2.5f)); |
| 1763 gfx::RectF union_layer_rect = blue_layer_rect1; | 1781 gfx::RectF union_layer_rect = blue_layer_rect1; |
| 1764 union_layer_rect.Union(blue_layer_rect2); | 1782 union_layer_rect.Union(blue_layer_rect2); |
| 1765 | 1783 |
| 1766 // Because scaling up will cause sampling outside the rects, add one extra | 1784 // Because scaling up will cause sampling outside the rects, add one extra |
| 1767 // pixel of buffer at the final content scale. | 1785 // pixel of buffer at the final content scale. |
| 1768 float inset = -1.f / contents_scale; | 1786 float inset = -1.f / contents_scale; |
| 1769 blue_layer_rect1.Inset(inset, inset, inset, inset); | 1787 blue_layer_rect1.Inset(inset, inset, inset, inset); |
| 1770 blue_layer_rect2.Inset(inset, inset, inset, inset); | 1788 blue_layer_rect2.Inset(inset, inset, inset, inset); |
| 1771 | 1789 |
| 1772 scoped_refptr<FakePicturePileImpl> pile = | 1790 scoped_ptr<FakePicturePile> recording = |
| 1773 FakePicturePileImpl::CreateFilledPile(pile_tile_size, layer_rect.size()); | 1791 FakePicturePile::CreateFilledPile(pile_tile_size, layer_rect.size()); |
| 1774 | 1792 |
| 1775 Region outside(layer_rect); | 1793 Region outside(layer_rect); |
| 1776 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); | 1794 outside.Subtract(gfx::ToEnclosingRect(union_layer_rect)); |
| 1777 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { | 1795 for (Region::Iterator iter(outside); iter.has_rect(); iter.next()) { |
| 1778 pile->add_draw_rect_with_paint(iter.rect(), red_paint); | 1796 recording->add_draw_rect_with_paint(iter.rect(), red_paint); |
| 1779 } | 1797 } |
| 1780 | 1798 |
| 1781 SkPaint blue_paint; | 1799 SkPaint blue_paint; |
| 1782 blue_paint.setColor(SK_ColorBLUE); | 1800 blue_paint.setColor(SK_ColorBLUE); |
| 1783 pile->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); | 1801 recording->add_draw_rect_with_paint(blue_layer_rect1, blue_paint); |
| 1784 pile->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); | 1802 recording->add_draw_rect_with_paint(blue_layer_rect2, blue_paint); |
| 1785 pile->RerecordPile(); | 1803 recording->RerecordPile(); |
| 1804 scoped_refptr<FakePicturePileImpl> pile = |
| 1805 FakePicturePileImpl::CreateFromPile(recording.get(), nullptr); |
| 1786 | 1806 |
| 1787 gfx::Rect content_rect( | 1807 gfx::Rect content_rect( |
| 1788 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); | 1808 gfx::ScaleToEnclosingRect(layer_rect, contents_scale)); |
| 1789 gfx::Rect content_union_rect( | 1809 gfx::Rect content_union_rect( |
| 1790 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); | 1810 gfx::ToEnclosingRect(gfx::ScaleRect(union_layer_rect, contents_scale))); |
| 1791 | 1811 |
| 1792 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, | 1812 // At a scale of 4x the rectangles with a width of 2.5 will take up 10 pixels, |
| 1793 // so scale an additional 10x to make them 100x100. | 1813 // so scale an additional 10x to make them 100x100. |
| 1794 gfx::Transform content_to_target_transform; | 1814 gfx::Transform content_to_target_transform; |
| 1795 content_to_target_transform.Scale(10.0, 10.0); | 1815 content_to_target_transform.Scale(10.0, 10.0); |
| (...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1986 gfx::Rect viewport(this->device_viewport_size_); | 2006 gfx::Rect viewport(this->device_viewport_size_); |
| 1987 ResourceFormat texture_format = RGBA_4444; | 2007 ResourceFormat texture_format = RGBA_4444; |
| 1988 bool nearest_neighbor = false; | 2008 bool nearest_neighbor = false; |
| 1989 | 2009 |
| 1990 RenderPassId id(1, 1); | 2010 RenderPassId id(1, 1); |
| 1991 gfx::Transform transform_to_root; | 2011 gfx::Transform transform_to_root; |
| 1992 scoped_ptr<RenderPass> pass = | 2012 scoped_ptr<RenderPass> pass = |
| 1993 CreateTestRenderPass(id, viewport, transform_to_root); | 2013 CreateTestRenderPass(id, viewport, transform_to_root); |
| 1994 | 2014 |
| 1995 // One viewport-filling blue quad | 2015 // One viewport-filling blue quad |
| 1996 scoped_refptr<FakePicturePileImpl> blue_pile = | 2016 scoped_ptr<FakePicturePile> blue_recording = |
| 1997 FakePicturePileImpl::CreateFilledPile(pile_tile_size, viewport.size()); | 2017 FakePicturePile::CreateFilledPile(pile_tile_size, viewport.size()); |
| 1998 SkPaint blue_paint; | 2018 SkPaint blue_paint; |
| 1999 blue_paint.setColor(SK_ColorBLUE); | 2019 blue_paint.setColor(SK_ColorBLUE); |
| 2000 blue_pile->add_draw_rect_with_paint(viewport, blue_paint); | 2020 blue_recording->add_draw_rect_with_paint(viewport, blue_paint); |
| 2001 blue_pile->RerecordPile(); | 2021 blue_recording->RerecordPile(); |
| 2022 scoped_refptr<FakePicturePileImpl> blue_pile = |
| 2023 FakePicturePileImpl::CreateFromPile(blue_recording.get(), nullptr); |
| 2002 | 2024 |
| 2003 gfx::Transform blue_content_to_target_transform; | 2025 gfx::Transform blue_content_to_target_transform; |
| 2004 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( | 2026 SharedQuadState* blue_shared_state = CreateTestSharedQuadState( |
| 2005 blue_content_to_target_transform, viewport, pass.get()); | 2027 blue_content_to_target_transform, viewport, pass.get()); |
| 2006 | 2028 |
| 2007 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); | 2029 PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>(); |
| 2008 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport, | 2030 blue_quad->SetNew(blue_shared_state, viewport, gfx::Rect(), viewport, |
| 2009 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), | 2031 gfx::RectF(0.f, 0.f, 1.f, 1.f), viewport.size(), |
| 2010 nearest_neighbor, texture_format, viewport, 1.f, | 2032 nearest_neighbor, texture_format, viewport, 1.f, |
| 2011 blue_pile.get()); | 2033 blue_pile.get()); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2078 EXPECT_TRUE(this->RunPixelTest( | 2100 EXPECT_TRUE(this->RunPixelTest( |
| 2079 &pass_list, | 2101 &pass_list, |
| 2080 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), | 2102 base::FilePath(FILE_PATH_LITERAL("wrap_mode_repeat.png")), |
| 2081 FuzzyPixelOffByOneComparator(true))); | 2103 FuzzyPixelOffByOneComparator(true))); |
| 2082 } | 2104 } |
| 2083 | 2105 |
| 2084 #endif // !defined(OS_ANDROID) | 2106 #endif // !defined(OS_ANDROID) |
| 2085 | 2107 |
| 2086 } // namespace | 2108 } // namespace |
| 2087 } // namespace cc | 2109 } // namespace cc |
| OLD | NEW |