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

Unified Diff: cc/output/renderer_pixeltest.cc

Issue 368403003: Use RenderPass to create DrawQuad in unittests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@layerrawptrDQ
Patch Set: actually fix error this time Created 6 years, 5 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
Index: cc/output/renderer_pixeltest.cc
diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
index 2377043d45a4deba2fb650805f40eb2c9ec2376a..0a6741dd39863d966c16a99d63298cbdffdf1b96 100644
--- a/cc/output/renderer_pixeltest.cc
+++ b/cc/output/renderer_pixeltest.cc
@@ -94,11 +94,12 @@ SharedQuadState* CreateTestSharedQuadStateClipped(
return shared_state;
}
-scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad(
- SharedQuadState* shared_state,
- const gfx::Rect& rect,
- RenderPass::Id pass_id) {
- scoped_ptr<RenderPassDrawQuad> quad = RenderPassDrawQuad::Create();
+void CreateTestRenderPassDrawQuad(const SharedQuadState* shared_state,
+ RenderPass* render_pass,
+ const gfx::Rect& rect,
+ RenderPass::Id pass_id) {
+ RenderPassDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
quad->SetNew(shared_state,
rect,
rect,
@@ -109,17 +110,15 @@ scoped_ptr<DrawQuad> CreateTestRenderPassDrawQuad(
gfx::RectF(1.f, 1.f), // mask_uv_rect
FilterOperations(), // foreground filters
FilterOperations()); // background filters
-
- return quad.PassAs<DrawQuad>();
}
-scoped_ptr<TextureDrawQuad> CreateTestTextureDrawQuad(
- const gfx::Rect& rect,
- SkColor texel_color,
- SkColor background_color,
- bool premultiplied_alpha,
- SharedQuadState* shared_state,
- ResourceProvider* resource_provider) {
+void CreateTestTextureDrawQuad(const gfx::Rect& rect,
+ SkColor texel_color,
+ SkColor background_color,
+ bool premultiplied_alpha,
+ const SharedQuadState* shared_state,
+ RenderPass* render_pass,
+ ResourceProvider* resource_provider) {
SkPMColor pixel_color = premultiplied_alpha ?
SkPreMultiplyColor(texel_color) :
SkPackARGB32NoCheck(SkColorGetA(texel_color),
@@ -142,7 +141,8 @@ scoped_ptr<TextureDrawQuad> CreateTestTextureDrawQuad(
float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
- scoped_ptr<TextureDrawQuad> quad = TextureDrawQuad::Create();
+ TextureDrawQuad* quad =
+ render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
quad->SetNew(shared_state,
rect,
gfx::Rect(),
@@ -154,7 +154,6 @@ scoped_ptr<TextureDrawQuad> CreateTestTextureDrawQuad(
background_color,
vertex_opacity,
false); // flipped
- return quad.Pass();
}
typedef ::testing::Types<GLRenderer,
@@ -215,11 +214,10 @@ TYPED_TEST(RendererPixelTest, SimpleGreenRect) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state, rect, rect, SK_ColorGREEN, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -240,9 +238,9 @@ TYPED_TEST(RendererPixelTest, SimpleGreenRect_NonRootRenderPass) {
SharedQuadState* child_shared_state =
CreateTestSharedQuadState(child_pass.get(), gfx::Transform(), small_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(child_shared_state, rect, rect, SK_ColorGREEN, false);
- child_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
RenderPass::Id root_id(1, 1);
scoped_ptr<RenderPass> root_pass =
@@ -251,9 +249,8 @@ TYPED_TEST(RendererPixelTest, SimpleGreenRect_NonRootRenderPass) {
SharedQuadState* root_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), rect);
- scoped_ptr<DrawQuad> render_pass_quad =
- CreateTestRenderPassDrawQuad(root_shared_state, small_rect, child_id);
- root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
+ CreateTestRenderPassDrawQuad(
+ root_shared_state, root_pass.get(), small_rect, child_id);
RenderPass* child_pass_ptr = child_pass.get();
@@ -277,18 +274,17 @@ TYPED_TEST(RendererPixelTest, PremultipliedTextureWithoutBackground) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<TextureDrawQuad> texture_quad =
- CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
- SkColorSetARGB(128, 0, 255, 0), // Texel color.
- SK_ColorTRANSPARENT, // Background color.
- true, // Premultiplied alpha.
- shared_state,
- this->resource_provider_.get());
- pass->quad_list.push_back(texture_quad.PassAs<DrawQuad>());
+ CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
+ SkColorSetARGB(128, 0, 255, 0), // Texel color.
+ SK_ColorTRANSPARENT, // Background color.
+ true, // Premultiplied alpha.
+ shared_state,
+ pass.get(),
+ this->resource_provider_.get());
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state, rect, rect, SK_ColorWHITE, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -309,20 +305,19 @@ TYPED_TEST(RendererPixelTest, PremultipliedTextureWithBackground) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
texture_quad_state->opacity = 0.8f;
- scoped_ptr<TextureDrawQuad> texture_quad = CreateTestTextureDrawQuad(
- gfx::Rect(this->device_viewport_size_),
- SkColorSetARGB(204, 120, 255, 120), // Texel color.
- SK_ColorGREEN, // Background color.
- true, // Premultiplied alpha.
- texture_quad_state,
- this->resource_provider_.get());
- pass->quad_list.push_back(texture_quad.PassAs<DrawQuad>());
+ CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
+ SkColorSetARGB(204, 120, 255, 120), // Texel color.
+ SK_ColorGREEN, // Background color.
+ true, // Premultiplied alpha.
+ texture_quad_state,
+ pass.get(),
+ this->resource_provider_.get());
SharedQuadState* color_quad_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(color_quad_state, rect, rect, SK_ColorWHITE, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -343,18 +338,17 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithoutBackground) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<TextureDrawQuad> texture_quad =
- CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
- SkColorSetARGB(128, 0, 255, 0), // Texel color.
- SK_ColorTRANSPARENT, // Background color.
- false, // Premultiplied alpha.
- shared_state,
- this->resource_provider_.get());
- pass->quad_list.push_back(texture_quad.PassAs<DrawQuad>());
+ CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
+ SkColorSetARGB(128, 0, 255, 0), // Texel color.
+ SK_ColorTRANSPARENT, // Background color.
+ false, // Premultiplied alpha.
+ shared_state,
+ pass.get(),
+ this->resource_provider_.get());
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state, rect, rect, SK_ColorWHITE, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -376,20 +370,19 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBackground) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
texture_quad_state->opacity = 0.8f;
- scoped_ptr<TextureDrawQuad> texture_quad = CreateTestTextureDrawQuad(
- gfx::Rect(this->device_viewport_size_),
- SkColorSetARGB(204, 120, 255, 120), // Texel color.
- SK_ColorGREEN, // Background color.
- false, // Premultiplied alpha.
- texture_quad_state,
- this->resource_provider_.get());
- pass->quad_list.push_back(texture_quad.PassAs<DrawQuad>());
+ CreateTestTextureDrawQuad(gfx::Rect(this->device_viewport_size_),
+ SkColorSetARGB(204, 120, 255, 120), // Texel color.
+ SK_ColorGREEN, // Background color.
+ false, // Premultiplied alpha.
+ texture_quad_state,
+ pass.get(),
+ this->resource_provider_.get());
SharedQuadState* color_quad_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(color_quad_state, rect, rect, SK_ColorWHITE, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -402,11 +395,11 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBackground) {
class VideoGLRendererPixelTest : public GLRendererPixelTest {
protected:
- scoped_ptr<YUVVideoDrawQuad> CreateTestYUVVideoDrawQuad_Striped(
- SharedQuadState* shared_state,
- media::VideoFrame::Format format,
- bool is_transparent,
- const gfx::RectF& tex_coord_rect) {
+ void CreateTestYUVVideoDrawQuad_Striped(const SharedQuadState* shared_state,
+ RenderPass* render_pass,
danakj 2014/07/07 22:30:15 nit: can you make render_pass the last param like
weiliangc 2014/07/08 21:54:38 Done. Saw some SQS func that doesn't have render_
+ media::VideoFrame::Format format,
+ bool is_transparent,
+ const gfx::RectF& tex_coord_rect) {
const gfx::Rect rect(this->device_viewport_size_);
scoped_refptr<media::VideoFrame> video_frame =
@@ -437,18 +430,18 @@ class VideoGLRendererPixelTest : public GLRendererPixelTest {
v_row[j] = (v_value += 5);
}
}
- return CreateTestYUVVideoDrawQuad_FromVideoFrame(
- shared_state, video_frame, is_transparent, tex_coord_rect);
+ CreateTestYUVVideoDrawQuad_FromVideoFrame(
+ shared_state, render_pass, video_frame, is_transparent, tex_coord_rect);
}
- scoped_ptr<YUVVideoDrawQuad> CreateTestYUVVideoDrawQuad_Solid(
- SharedQuadState* shared_state,
- media::VideoFrame::Format format,
- bool is_transparent,
- const gfx::RectF& tex_coord_rect,
- uint8 y,
- uint8 u,
- uint8 v) {
+ void CreateTestYUVVideoDrawQuad_Solid(const SharedQuadState* shared_state,
+ RenderPass* render_pass,
danakj 2014/07/07 22:30:14 ditto
weiliangc 2014/07/08 21:54:38 Done.
+ media::VideoFrame::Format format,
+ bool is_transparent,
+ const gfx::RectF& tex_coord_rect,
+ uint8 y,
+ uint8 u,
+ uint8 v) {
const gfx::Rect rect(this->device_viewport_size_);
scoped_refptr<media::VideoFrame> video_frame =
@@ -470,12 +463,13 @@ class VideoGLRendererPixelTest : public GLRendererPixelTest {
video_frame->stride(media::VideoFrame::kVPlane) *
video_frame->rows(media::VideoFrame::kVPlane));
- return CreateTestYUVVideoDrawQuad_FromVideoFrame(
- shared_state, video_frame, is_transparent, tex_coord_rect);
+ CreateTestYUVVideoDrawQuad_FromVideoFrame(
+ shared_state, render_pass, video_frame, is_transparent, tex_coord_rect);
}
- scoped_ptr<YUVVideoDrawQuad> CreateTestYUVVideoDrawQuad_FromVideoFrame(
- SharedQuadState* shared_state,
+ void CreateTestYUVVideoDrawQuad_FromVideoFrame(
+ const SharedQuadState* shared_state,
+ RenderPass* render_pass,
danakj 2014/07/07 22:30:14 dittoditto
weiliangc 2014/07/08 21:54:38 Done.
scoped_refptr<media::VideoFrame> video_frame,
bool is_transparent,
const gfx::RectF& tex_coord_rect) {
@@ -526,7 +520,8 @@ class VideoGLRendererPixelTest : public GLRendererPixelTest {
resources.release_callbacks[media::VideoFrame::kAPlane]));
}
- scoped_ptr<YUVVideoDrawQuad> yuv_quad = YUVVideoDrawQuad::Create();
+ YUVVideoDrawQuad* yuv_quad =
+ render_pass->CreateAndAppendDrawQuad<YUVVideoDrawQuad>();
yuv_quad->SetNew(shared_state,
rect,
opaque_rect,
@@ -537,7 +532,6 @@ class VideoGLRendererPixelTest : public GLRendererPixelTest {
v_resource,
a_resource,
color_space);
- return yuv_quad.Pass();
}
virtual void SetUp() OVERRIDE {
@@ -559,13 +553,11 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVRect) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Striped(shared_state,
- media::VideoFrame::YV12,
- false,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
-
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
+ CreateTestYUVVideoDrawQuad_Striped(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12,
+ false,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -586,13 +578,11 @@ TEST_F(VideoGLRendererPixelTest, OffsetYUVRect) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
// Intentionally sets frame format to I420 for testing coverage.
- scoped_ptr<YUVVideoDrawQuad> yuv_quad = CreateTestYUVVideoDrawQuad_Striped(
- shared_state,
- media::VideoFrame::I420,
- false,
- gfx::RectF(0.125f, 0.25f, 0.75f, 0.5f));
-
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
+ CreateTestYUVVideoDrawQuad_Striped(shared_state,
+ pass.get(),
+ media::VideoFrame::I420,
+ false,
+ gfx::RectF(0.125f, 0.25f, 0.75f, 0.5f));
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -613,16 +603,14 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVRectBlack) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
// In MPEG color range YUV values of (15,128,128) should produce black.
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Solid(shared_state,
- media::VideoFrame::YV12,
- false,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
- 15,
- 128,
- 128);
-
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
+ CreateTestYUVVideoDrawQuad_Solid(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12,
+ false,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
+ 15,
+ 128,
+ 128);
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -644,16 +632,14 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVJRect) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
// YUV of (149,43,21) should be green (0,255,0) in RGB.
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Solid(shared_state,
- media::VideoFrame::YV12J,
- false,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
- 149,
- 43,
- 21);
-
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
+ CreateTestYUVVideoDrawQuad_Solid(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12J,
+ false,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
+ 149,
+ 43,
+ 21);
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -673,16 +659,14 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVJRectGrey) {
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
// Dark grey in JPEG color range (in MPEG, this is black).
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Solid(shared_state,
- media::VideoFrame::YV12J,
- false,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
- 15,
- 128,
- 128);
-
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
+ CreateTestYUVVideoDrawQuad_Solid(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12J,
+ false,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
+ 15,
+ 128,
+ 128);
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -702,19 +686,16 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVARect) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Striped(shared_state,
- media::VideoFrame::YV12A,
- false,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
+ CreateTestYUVVideoDrawQuad_Striped(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12A,
+ false,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
-
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state, rect, rect, SK_ColorWHITE, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -733,19 +714,16 @@ TEST_F(VideoGLRendererPixelTest, FullyTransparentYUVARect) {
SharedQuadState* shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<YUVVideoDrawQuad> yuv_quad =
- CreateTestYUVVideoDrawQuad_Striped(shared_state,
- media::VideoFrame::YV12A,
- true,
- gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
+ CreateTestYUVVideoDrawQuad_Striped(shared_state,
+ pass.get(),
+ media::VideoFrame::YV12A,
+ true,
+ gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f));
- pass->quad_list.push_back(yuv_quad.PassAs<DrawQuad>());
-
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state, rect, rect, SK_ColorBLACK, false);
- pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -777,26 +755,25 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
SharedQuadState* blank_state = CreateTestSharedQuadState(
child_pass.get(), content_to_target_transform, viewport_rect);
- scoped_ptr<SolidColorDrawQuad> white = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* white =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
white->SetNew(
blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(white.PassAs<DrawQuad>());
-
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
@@ -823,8 +800,8 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
FilterOperations filters;
filters.Append(FilterOperation::CreateReferenceFilter(filter));
- scoped_ptr<RenderPassDrawQuad> render_pass_quad =
- RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* render_pass_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
render_pass_quad->SetNew(pass_shared_state,
pass_rect,
pass_rect,
@@ -836,8 +813,6 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
filters,
FilterOperations());
- root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
pass_list.push_back(root_pass.Pass());
@@ -872,34 +847,33 @@ TYPED_TEST(RendererPixelTest, FastPassSaturateFilter) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
SharedQuadState* blank_state = CreateTestSharedQuadState(
child_pass.get(), content_to_target_transform, viewport_rect);
- scoped_ptr<SolidColorDrawQuad> white = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* white =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
white->SetNew(
blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(white.PassAs<DrawQuad>());
-
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
FilterOperations filters;
filters.Append(FilterOperation::CreateSaturateFilter(0.5f));
- scoped_ptr<RenderPassDrawQuad> render_pass_quad =
- RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* render_pass_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
render_pass_quad->SetNew(pass_shared_state,
pass_rect,
pass_rect,
@@ -911,8 +885,6 @@ TYPED_TEST(RendererPixelTest, FastPassSaturateFilter) {
filters,
FilterOperations());
- root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
pass_list.push_back(root_pass.Pass());
@@ -945,26 +917,25 @@ TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
SharedQuadState* blank_state = CreateTestSharedQuadState(
child_pass.get(), content_to_target_transform, viewport_rect);
- scoped_ptr<SolidColorDrawQuad> white = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* white =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
white->SetNew(
blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(white.PassAs<DrawQuad>());
-
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
@@ -972,8 +943,8 @@ TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
filters.Append(FilterOperation::CreateGrayscaleFilter(1.f));
filters.Append(FilterOperation::CreateBrightnessFilter(0.5f));
- scoped_ptr<RenderPassDrawQuad> render_pass_quad =
- RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* render_pass_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
render_pass_quad->SetNew(pass_shared_state,
pass_rect,
pass_rect,
@@ -985,8 +956,6 @@ TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
filters,
FilterOperations());
- root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
pass_list.push_back(root_pass.Pass());
@@ -1019,26 +988,25 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
SharedQuadState* blank_state = CreateTestSharedQuadState(
child_pass.get(), content_to_target_transform, viewport_rect);
- scoped_ptr<SolidColorDrawQuad> white = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* white =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
white->SetNew(
blank_state, viewport_rect, viewport_rect, SK_ColorWHITE, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(white.PassAs<DrawQuad>());
-
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
@@ -1068,8 +1036,8 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
FilterOperations filters;
filters.Append(FilterOperation::CreateReferenceFilter(filter));
- scoped_ptr<RenderPassDrawQuad> render_pass_quad =
- RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* render_pass_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
render_pass_quad->SetNew(pass_shared_state,
pass_rect,
pass_rect,
@@ -1081,7 +1049,6 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
filters,
FilterOperations());
- root_pass->quad_list.push_back(render_pass_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
@@ -1116,22 +1083,21 @@ TYPED_TEST(RendererPixelTest, EnlargedRenderPassTexture) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
-
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
- root_pass->quad_list.push_back(CreateTestRenderPassDrawQuad(
- pass_shared_state, pass_rect, child_pass_id));
+ CreateTestRenderPassDrawQuad(
+ pass_shared_state, root_pass.get(), pass_rect, child_pass_id);
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
@@ -1166,35 +1132,34 @@ TYPED_TEST(RendererPixelTest, EnlargedRenderPassTextureWithAntiAliasing) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
gfx::Rect yellow_rect(0,
this->device_viewport_size_.height() / 2,
this->device_viewport_size_.width(),
this->device_viewport_size_.height() / 2);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(shared_state, yellow_rect, yellow_rect, SK_ColorYELLOW, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
- child_pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
-
gfx::Transform aa_transform;
aa_transform.Translate(0.5, 0.0);
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), aa_transform, pass_rect);
- root_pass->quad_list.push_back(CreateTestRenderPassDrawQuad(
- pass_shared_state, pass_rect, child_pass_id));
+ CreateTestRenderPassDrawQuad(
+ pass_shared_state, root_pass.get(), pass_rect, child_pass_id);
SharedQuadState* root_shared_state = CreateTestSharedQuadState(
root_pass.get(), gfx::Transform(), viewport_rect);
- scoped_ptr<SolidColorDrawQuad> background = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* background =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
background->SetNew(root_shared_state,
gfx::Rect(this->device_viewport_size_),
gfx::Rect(this->device_viewport_size_),
SK_ColorWHITE,
false);
- root_pass->quad_list.push_back(background.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
@@ -1228,10 +1193,10 @@ TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
// The child render pass is just a green box.
static const SkColor kCSSGreen = 0xff008000;
- scoped_ptr<SolidColorDrawQuad> green = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* green =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
green->SetNew(
child_pass_shared_state, viewport_rect, viewport_rect, kCSSGreen, false);
- child_pass->quad_list.push_back(green.PassAs<DrawQuad>());
// Make a mask.
gfx::Rect mask_rect = viewport_rect;
@@ -1279,7 +1244,8 @@ TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
EXPECT_TRUE(child_pass->output_rect.Contains(sub_rect));
// Set up a mask on the RenderPassDrawQuad.
- scoped_ptr<RenderPassDrawQuad> mask_quad = RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* mask_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
mask_quad->SetNew(root_pass_shared_state,
sub_rect,
sub_rect,
@@ -1290,16 +1256,15 @@ TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
gfx::RectF(1.f, 1.f), // mask_uv_rect
FilterOperations(), // foreground filters
FilterOperations()); // background filters
- root_pass->quad_list.push_back(mask_quad.PassAs<DrawQuad>());
// White background behind the masked render pass.
- scoped_ptr<SolidColorDrawQuad> white = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* white =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
white->SetNew(root_pass_shared_state,
viewport_rect,
viewport_rect,
SK_ColorWHITE,
false);
- root_pass->quad_list.push_back(white.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
@@ -1338,13 +1303,13 @@ class RendererPixelTestWithBackgroundFilter
CreateTestSharedQuadState(filter_pass.get(),
identity_content_to_target_transform,
filter_pass_content_rect_);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ filter_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(shared_state,
filter_pass_content_rect_,
filter_pass_content_rect_,
SK_ColorTRANSPARENT,
false);
- filter_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
}
{
@@ -1352,8 +1317,8 @@ class RendererPixelTestWithBackgroundFilter
CreateTestSharedQuadState(filter_pass.get(),
filter_pass_to_target_transform_,
filter_pass_content_rect_);
- scoped_ptr<RenderPassDrawQuad> filter_pass_quad =
- RenderPassDrawQuad::Create();
+ RenderPassDrawQuad* filter_pass_quad =
+ root_pass->CreateAndAppendDrawQuad<RenderPassDrawQuad>();
filter_pass_quad->SetNew(
shared_state,
filter_pass_content_rect_,
@@ -1365,7 +1330,6 @@ class RendererPixelTestWithBackgroundFilter
gfx::RectF(), // mask_uv_rect
FilterOperations(), // filters
this->background_filters_);
- root_pass->quad_list.push_back(filter_pass_quad.PassAs<DrawQuad>());
}
const int kColumnWidth = device_viewport_rect.width() / 3;
@@ -1374,10 +1338,10 @@ class RendererPixelTestWithBackgroundFilter
for (int i = 0; left_rect.y() < device_viewport_rect.height(); ++i) {
SharedQuadState* shared_state = CreateTestSharedQuadState(
root_pass.get(), identity_content_to_target_transform, left_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(
shared_state, left_rect, left_rect, SK_ColorGREEN, false);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
left_rect += gfx::Vector2d(0, left_rect.height() + 1);
}
@@ -1385,10 +1349,10 @@ class RendererPixelTestWithBackgroundFilter
for (int i = 0; middle_rect.y() < device_viewport_rect.height(); ++i) {
SharedQuadState* shared_state = CreateTestSharedQuadState(
root_pass.get(), identity_content_to_target_transform, middle_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(
shared_state, middle_rect, middle_rect, SK_ColorRED, false);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
middle_rect += gfx::Vector2d(0, middle_rect.height() + 1);
}
@@ -1396,10 +1360,10 @@ class RendererPixelTestWithBackgroundFilter
for (int i = 0; right_rect.y() < device_viewport_rect.height(); ++i) {
SharedQuadState* shared_state = CreateTestSharedQuadState(
root_pass.get(), identity_content_to_target_transform, right_rect);
- scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* color_quad =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
color_quad->SetNew(
shared_state, right_rect, right_rect, SK_ColorBLUE, false);
- root_pass->quad_list.push_back(color_quad.PassAs<DrawQuad>());
right_rect += gfx::Vector2d(0, right_rect.height() + 1);
}
@@ -1407,14 +1371,13 @@ class RendererPixelTestWithBackgroundFilter
CreateTestSharedQuadState(root_pass.get(),
identity_content_to_target_transform,
device_viewport_rect);
- scoped_ptr<SolidColorDrawQuad> background_quad =
- SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* background_quad =
+ root_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
background_quad->SetNew(shared_state,
device_viewport_rect,
device_viewport_rect,
SK_ColorWHITE,
false);
- root_pass->quad_list.push_back(background_quad.PassAs<DrawQuad>());
pass_list_.push_back(filter_pass.Pass());
pass_list_.push_back(root_pass.Pass());
@@ -1493,9 +1456,9 @@ TEST_F(ExternalStencilPixelTest, StencilTestEnabled) {
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* blue_shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
pass->has_transparent_background = false;
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1516,9 +1479,9 @@ TEST_F(ExternalStencilPixelTest, StencilTestDisabled) {
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* green_shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> green = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* green =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
green->SetNew(green_shared_state, rect, rect, SK_ColorGREEN, false);
- pass->quad_list.push_back(green.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1555,14 +1518,14 @@ TEST_F(ExternalStencilPixelTest, RenderSurfacesIgnoreStencil) {
0,
this->device_viewport_size_.width(),
this->device_viewport_size_.height());
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ child_pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(shared_state, blue_rect, blue_rect, SK_ColorBLUE, false);
- child_pass->quad_list.push_back(blue.PassAs<DrawQuad>());
SharedQuadState* pass_shared_state =
CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), pass_rect);
- root_pass->quad_list.push_back(CreateTestRenderPassDrawQuad(
- pass_shared_state, pass_rect, child_pass_id));
+ CreateTestRenderPassDrawQuad(
+ pass_shared_state, root_pass.get(), pass_rect, child_pass_id);
RenderPassList pass_list;
pass_list.push_back(child_pass.Pass());
pass_list.push_back(root_pass.Pass());
@@ -1585,9 +1548,9 @@ TEST_F(ExternalStencilPixelTest, DeviceClip) {
scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
SharedQuadState* blue_shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1609,30 +1572,26 @@ TEST_F(GLRendererPixelTest, AntiAliasing) {
SharedQuadState* red_shared_state = CreateTestSharedQuadState(
pass.get(), red_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> red = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false);
- pass->quad_list.push_back(red.PassAs<DrawQuad>());
-
gfx::Transform yellow_content_to_target_transform;
yellow_content_to_target_transform.Rotate(5);
SharedQuadState* yellow_shared_state = CreateTestSharedQuadState(
pass.get(), yellow_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false);
- pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
-
gfx::Transform blue_content_to_target_transform;
SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
pass.get(), blue_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1660,31 +1619,27 @@ TEST_F(GLRendererPixelTest, AxisAligned) {
SharedQuadState* red_shared_state = CreateTestSharedQuadState(
pass.get(), red_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> red = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
red->SetNew(red_shared_state, rect, rect, SK_ColorRED, false);
- pass->quad_list.push_back(red.PassAs<DrawQuad>());
-
gfx::Transform yellow_content_to_target_transform;
yellow_content_to_target_transform.Translate(25.5f, 25.5f);
yellow_content_to_target_transform.Scale(0.5f, 0.5f);
SharedQuadState* yellow_shared_state = CreateTestSharedQuadState(
pass.get(), yellow_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> yellow = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* yellow =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
yellow->SetNew(yellow_shared_state, rect, rect, SK_ColorYELLOW, false);
- pass->quad_list.push_back(yellow.PassAs<DrawQuad>());
-
gfx::Transform blue_content_to_target_transform;
SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
pass.get(), blue_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1712,20 +1667,19 @@ TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) {
SharedQuadState* hole_shared_state = CreateTestSharedQuadState(
pass.get(), hole_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> hole = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* hole =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
hole->SetAll(
hole_shared_state, rect, rect, rect, false, SK_ColorTRANSPARENT, true);
- pass->quad_list.push_back(hole.PassAs<DrawQuad>());
gfx::Transform green_content_to_target_transform;
SharedQuadState* green_shared_state = CreateTestSharedQuadState(
pass.get(), green_content_to_target_transform, rect);
- scoped_ptr<SolidColorDrawQuad> green = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* green =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
green->SetNew(green_shared_state, rect, rect, SK_ColorGREEN, false);
- pass->quad_list.push_back(green.PassAs<DrawQuad>());
-
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1749,23 +1703,22 @@ TEST_F(GLRendererPixelTest, AntiAliasingPerspective) {
0.0f, 0.0225f, 0.0974f, 1.0f);
SharedQuadState* red_shared_state = CreateTestSharedQuadState(
pass.get(), red_content_to_target_transform, red_rect);
- scoped_ptr<SolidColorDrawQuad> red = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* red = pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
red->SetNew(red_shared_state, red_rect, red_rect, SK_ColorRED, false);
- pass->quad_list.push_back(red.PassAs<DrawQuad>());
gfx::Rect green_rect(19, 7, 180, 10);
SharedQuadState* green_shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), green_rect);
- scoped_ptr<SolidColorDrawQuad> green = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* green =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
green->SetNew(
green_shared_state, green_rect, green_rect, SK_ColorGREEN, false);
- pass->quad_list.push_back(green.PassAs<DrawQuad>());
SharedQuadState* blue_shared_state =
CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
- scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* blue =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
blue->SetNew(blue_shared_state, rect, rect, SK_ColorBLUE, false);
- pass->quad_list.push_back(blue.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1812,7 +1765,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
blue_rect,
gfx::ToEnclosingRect(blue_scissor_rect));
- scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create();
+ PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
blue_quad->SetNew(blue_shared_state,
viewport, // Intentionally bigger than clip.
@@ -1824,7 +1777,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
viewport,
1.f,
PicturePileImpl::CreateFromOther(blue_pile));
- pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
// One viewport-filling green quad.
scoped_refptr<FakePicturePileImpl> green_pile =
@@ -1838,7 +1790,8 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
SharedQuadState* green_shared_state = CreateTestSharedQuadState(
pass.get(), green_content_to_target_transform, viewport);
- scoped_ptr<PictureDrawQuad> green_quad = PictureDrawQuad::Create();
+ PictureDrawQuad* green_quad =
+ pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
green_quad->SetNew(green_shared_state,
viewport,
gfx::Rect(),
@@ -1849,7 +1802,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
viewport,
1.f,
PicturePileImpl::CreateFromOther(green_pile));
- pass->quad_list.push_back(green_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1884,7 +1836,8 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
pass.get(), green_content_to_target_transform, viewport);
green_shared_state->opacity = 0.5f;
- scoped_ptr<PictureDrawQuad> green_quad = PictureDrawQuad::Create();
+ PictureDrawQuad* green_quad =
+ pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
green_quad->SetNew(green_shared_state,
viewport,
gfx::Rect(),
@@ -1895,7 +1848,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
viewport,
1.f,
PicturePileImpl::CreateFromOther(green_pile));
- pass->quad_list.push_back(green_quad.PassAs<DrawQuad>());
// One viewport-filling white quad.
scoped_refptr<FakePicturePileImpl> white_pile =
@@ -1909,7 +1861,8 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
SharedQuadState* white_shared_state = CreateTestSharedQuadState(
pass.get(), white_content_to_target_transform, viewport);
- scoped_ptr<PictureDrawQuad> white_quad = PictureDrawQuad::Create();
+ PictureDrawQuad* white_quad =
+ pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
white_quad->SetNew(white_shared_state,
viewport,
gfx::Rect(),
@@ -1920,7 +1873,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
viewport,
1.f,
PicturePileImpl::CreateFromOther(white_pile));
- pass->quad_list.push_back(white_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -1984,7 +1936,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadDisableImageFiltering) {
SharedQuadState* shared_state = CreateTestSharedQuadState(
pass.get(), content_to_target_transform, viewport);
- scoped_ptr<PictureDrawQuad> quad = PictureDrawQuad::Create();
+ PictureDrawQuad* quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
quad->SetNew(shared_state,
viewport,
gfx::Rect(),
@@ -1995,7 +1947,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadDisableImageFiltering) {
viewport,
1.f,
PicturePileImpl::CreateFromOther(pile));
- pass->quad_list.push_back(quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -2041,7 +1992,8 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
CreateTestSharedQuadState(
pass.get(), green_content_to_target_transform, viewport);
- scoped_ptr<PictureDrawQuad> green_quad1 = PictureDrawQuad::Create();
+ PictureDrawQuad* green_quad1 =
+ pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
green_quad1->SetNew(top_right_green_shared_quad_state,
green_rect1,
gfx::Rect(),
@@ -2052,9 +2004,9 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
green_rect1,
1.f,
PicturePileImpl::CreateFromOther(green_pile));
- pass->quad_list.push_back(green_quad1.PassAs<DrawQuad>());
- scoped_ptr<PictureDrawQuad> green_quad2 = PictureDrawQuad::Create();
+ PictureDrawQuad* green_quad2 =
+ pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
green_quad2->SetNew(top_right_green_shared_quad_state,
green_rect2,
gfx::Rect(),
@@ -2065,7 +2017,6 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
green_rect2,
1.f,
PicturePileImpl::CreateFromOther(green_pile));
- pass->quad_list.push_back(green_quad2.PassAs<DrawQuad>());
// Add a green clipped checkerboard in the bottom right to help test
// interleaving picture quad content and solid color content.
@@ -2077,14 +2028,13 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
green_content_to_target_transform,
viewport,
bottom_right_rect);
- scoped_ptr<SolidColorDrawQuad> bottom_right_color_quad =
- SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* bottom_right_color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
bottom_right_color_quad->SetNew(bottom_right_green_shared_state,
viewport,
viewport,
SK_ColorGREEN,
false);
- pass->quad_list.push_back(bottom_right_color_quad.PassAs<DrawQuad>());
// Add two blue checkerboards taking up the bottom left and top right,
// but use content scales as content rects to make this happen.
@@ -2131,7 +2081,7 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
pass.get(), content_to_target_transform, quad_content_rect);
- scoped_ptr<PictureDrawQuad> blue_quad = PictureDrawQuad::Create();
+ PictureDrawQuad* blue_quad = pass->CreateAndAppendDrawQuad<PictureDrawQuad>();
blue_quad->SetNew(blue_shared_state,
quad_content_rect,
gfx::Rect(),
@@ -2142,20 +2092,19 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
content_union_rect,
contents_scale,
PicturePileImpl::CreateFromOther(pile));
- pass->quad_list.push_back(blue_quad.PassAs<DrawQuad>());
// Fill left half of viewport with green.
gfx::Transform half_green_content_to_target_transform;
gfx::Rect half_green_rect(gfx::Size(viewport.width() / 2, viewport.height()));
SharedQuadState* half_green_shared_state = CreateTestSharedQuadState(
pass.get(), half_green_content_to_target_transform, half_green_rect);
- scoped_ptr<SolidColorDrawQuad> half_color_quad = SolidColorDrawQuad::Create();
+ SolidColorDrawQuad* half_color_quad =
+ pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
half_color_quad->SetNew(half_green_shared_state,
half_green_rect,
half_green_rect,
SK_ColorGREEN,
false);
- pass->quad_list.push_back(half_color_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());
@@ -2202,7 +2151,8 @@ TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
gfx::Vector2d());
float vertex_opacity[4] = {1.0f, 1.0f, 1.0f, 1.0f};
- scoped_ptr<TextureDrawQuad> texture_quad = TextureDrawQuad::Create();
+ TextureDrawQuad* texture_quad =
+ pass->CreateAndAppendDrawQuad<TextureDrawQuad>();
texture_quad->SetNew(
shared_state,
gfx::Rect(this->device_viewport_size_),
@@ -2217,7 +2167,6 @@ TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
SK_ColorWHITE,
vertex_opacity,
false); // flipped
- pass->quad_list.push_back(texture_quad.PassAs<DrawQuad>());
RenderPassList pass_list;
pass_list.push_back(pass.Pass());

Powered by Google App Engine
This is Rietveld 408576698