| Index: cc/output/renderer_pixeltest.cc
|
| diff --git a/cc/output/renderer_pixeltest.cc b/cc/output/renderer_pixeltest.cc
|
| index 2377043d45a4deba2fb650805f40eb2c9ec2376a..074c051620f255987763859dec68927be6563719 100644
|
| --- a/cc/output/renderer_pixeltest.cc
|
| +++ b/cc/output/renderer_pixeltest.cc
|
| @@ -49,9 +49,9 @@ scoped_ptr<RenderPass> CreateTestRenderPass(
|
| }
|
|
|
| SharedQuadState* CreateTestSharedQuadState(
|
| - RenderPass* render_pass,
|
| gfx::Transform content_to_target_transform,
|
| - const gfx::Rect& rect) {
|
| + const gfx::Rect& rect,
|
| + RenderPass* render_pass) {
|
| const gfx::Size content_bounds = rect.size();
|
| const gfx::Rect visible_content_rect = rect;
|
| const gfx::Rect clip_rect = rect;
|
| @@ -72,10 +72,10 @@ SharedQuadState* CreateTestSharedQuadState(
|
| }
|
|
|
| SharedQuadState* CreateTestSharedQuadStateClipped(
|
| - RenderPass* render_pass,
|
| gfx::Transform content_to_target_transform,
|
| const gfx::Rect& rect,
|
| - const gfx::Rect& clip_rect) {
|
| + const gfx::Rect& clip_rect,
|
| + RenderPass* render_pass) {
|
| const gfx::Size content_bounds = rect.size();
|
| const gfx::Rect visible_content_rect = clip_rect;
|
| const bool is_clipped = true;
|
| @@ -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,
|
| + const gfx::Rect& rect,
|
| + RenderPass::Id pass_id,
|
| + RenderPass* render_pass) {
|
| + 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,
|
| + ResourceProvider* resource_provider,
|
| + RenderPass* render_pass) {
|
| 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,
|
| @@ -213,13 +212,12 @@ TYPED_TEST(RendererPixelTest, SimpleGreenRect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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());
|
|
|
| @@ -238,22 +236,21 @@ TYPED_TEST(RendererPixelTest, SimpleGreenRect_NonRootRenderPass) {
|
| CreateTestRenderPass(child_id, small_rect, gfx::Transform());
|
|
|
| SharedQuadState* child_shared_state =
|
| - CreateTestSharedQuadState(child_pass.get(), gfx::Transform(), small_rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), small_rect, child_pass.get());
|
|
|
| - 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 =
|
| CreateTestRenderPass(root_id, rect, gfx::Transform());
|
|
|
| SharedQuadState* root_shared_state =
|
| - CreateTestSharedQuadState(root_pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, root_pass.get());
|
|
|
| - 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, small_rect, child_id, root_pass.get());
|
|
|
| RenderPass* child_pass_ptr = child_pass.get();
|
|
|
| @@ -275,20 +272,19 @@ TYPED_TEST(RendererPixelTest, PremultipliedTextureWithoutBackground) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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,
|
| + this->resource_provider_.get(),
|
| + pass.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());
|
| @@ -306,23 +302,22 @@ TYPED_TEST(RendererPixelTest, PremultipliedTextureWithBackground) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* texture_quad_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| 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,
|
| + this->resource_provider_.get(),
|
| + pass.get());
|
|
|
| SharedQuadState* color_quad_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| - scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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());
|
| @@ -341,20 +336,19 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithoutBackground) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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,
|
| + this->resource_provider_.get(),
|
| + pass.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());
|
| @@ -373,23 +367,22 @@ TEST_F(GLRendererPixelTest, NonPremultipliedTextureWithBackground) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* texture_quad_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| 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,
|
| + this->resource_provider_.get(),
|
| + pass.get());
|
|
|
| SharedQuadState* color_quad_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| - scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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,
|
| + media::VideoFrame::Format format,
|
| + bool is_transparent,
|
| + const gfx::RectF& tex_coord_rect,
|
| + RenderPass* render_pass) {
|
| 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, video_frame, is_transparent, tex_coord_rect, render_pass);
|
| }
|
|
|
| - 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,
|
| + media::VideoFrame::Format format,
|
| + bool is_transparent,
|
| + const gfx::RectF& tex_coord_rect,
|
| + uint8 y,
|
| + uint8 u,
|
| + uint8 v,
|
| + RenderPass* render_pass) {
|
| const gfx::Rect rect(this->device_viewport_size_);
|
|
|
| scoped_refptr<media::VideoFrame> video_frame =
|
| @@ -470,15 +463,16 @@ 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, video_frame, is_transparent, tex_coord_rect, render_pass);
|
| }
|
|
|
| - scoped_ptr<YUVVideoDrawQuad> CreateTestYUVVideoDrawQuad_FromVideoFrame(
|
| - SharedQuadState* shared_state,
|
| + void CreateTestYUVVideoDrawQuad_FromVideoFrame(
|
| + const SharedQuadState* shared_state,
|
| scoped_refptr<media::VideoFrame> video_frame,
|
| bool is_transparent,
|
| - const gfx::RectF& tex_coord_rect) {
|
| + const gfx::RectF& tex_coord_rect,
|
| + RenderPass* render_pass) {
|
| const bool with_alpha = (video_frame->format() == media::VideoFrame::YV12A);
|
| const YUVVideoDrawQuad::ColorSpace color_space =
|
| (video_frame->format() == media::VideoFrame::YV12J
|
| @@ -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 {
|
| @@ -557,15 +551,13 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVRect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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,
|
| + media::VideoFrame::YV12,
|
| + false,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -583,16 +575,14 @@ TEST_F(VideoGLRendererPixelTest, OffsetYUVRect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| // 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,
|
| + media::VideoFrame::I420,
|
| + false,
|
| + gfx::RectF(0.125f, 0.25f, 0.75f, 0.5f),
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -610,19 +600,17 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVRectBlack) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| // 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,
|
| + media::VideoFrame::YV12,
|
| + false,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + 15,
|
| + 128,
|
| + 128,
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -641,19 +629,17 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVJRect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| // 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,
|
| + media::VideoFrame::YV12J,
|
| + false,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + 149,
|
| + 43,
|
| + 21,
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -670,19 +656,17 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVJRectGrey) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| // 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,
|
| + media::VideoFrame::YV12J,
|
| + false,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + 15,
|
| + 128,
|
| + 128,
|
| + pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(pass.Pass());
|
| @@ -700,21 +684,18 @@ TEST_F(VideoGLRendererPixelTest, SimpleYUVARect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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,
|
| + media::VideoFrame::YV12A,
|
| + false,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + pass.get());
|
|
|
| - 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());
|
|
|
| @@ -731,21 +712,18 @@ TEST_F(VideoGLRendererPixelTest, FullyTransparentYUVARect) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| - 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,
|
| + media::VideoFrame::YV12A,
|
| + true,
|
| + gfx::RectF(0.0f, 0.0f, 1.0f, 1.0f),
|
| + pass.get());
|
|
|
| - 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());
|
|
|
| @@ -770,35 +748,34 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlpha) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
| shared_state->opacity = 0.5f;
|
|
|
| gfx::Rect blue_rect(0,
|
| 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);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| - 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);
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
|
|
| SkScalar matrix[20];
|
| float amount = 0.5f;
|
| @@ -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());
|
| @@ -865,41 +840,40 @@ TYPED_TEST(RendererPixelTest, FastPassSaturateFilter) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
| shared_state->opacity = 0.5f;
|
|
|
| gfx::Rect blue_rect(0,
|
| 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);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| - 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);
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
|
|
| 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());
|
| @@ -938,42 +910,41 @@ TYPED_TEST(RendererPixelTest, FastPassFilterChain) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
| shared_state->opacity = 0.5f;
|
|
|
| gfx::Rect blue_rect(0,
|
| 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);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| - 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);
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
|
|
| FilterOperations filters;
|
| 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());
|
| @@ -1012,35 +981,34 @@ TYPED_TEST(RendererPixelTest, FastPassColorFilterAlphaTranslation) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
| shared_state->opacity = 0.5f;
|
|
|
| gfx::Rect blue_rect(0,
|
| 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);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| - 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);
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
|
|
| SkScalar matrix[20];
|
| float amount = 0.5f;
|
| @@ -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());
|
| @@ -1110,28 +1077,27 @@ TYPED_TEST(RendererPixelTest, EnlargedRenderPassTexture) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| gfx::Rect blue_rect(0,
|
| 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));
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
| + CreateTestRenderPassDrawQuad(
|
| + pass_shared_state, pass_rect, child_pass_id, root_pass.get());
|
|
|
| RenderPassList pass_list;
|
| pass_list.push_back(child_pass.Pass());
|
| @@ -1160,41 +1126,40 @@ TYPED_TEST(RendererPixelTest, EnlargedRenderPassTextureWithAntiAliasing) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| gfx::Rect blue_rect(0,
|
| 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));
|
| + CreateTestSharedQuadState(aa_transform, pass_rect, root_pass.get());
|
| + CreateTestRenderPassDrawQuad(
|
| + pass_shared_state, pass_rect, child_pass_id, root_pass.get());
|
|
|
| SharedQuadState* root_shared_state = CreateTestSharedQuadState(
|
| - root_pass.get(), gfx::Transform(), viewport_rect);
|
| - scoped_ptr<SolidColorDrawQuad> background = SolidColorDrawQuad::Create();
|
| + gfx::Transform(), viewport_rect, root_pass.get());
|
| + 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());
|
| @@ -1217,21 +1182,21 @@ TYPED_TEST(RendererPixelTest, RenderPassAndMaskWithPartialQuad) {
|
| scoped_ptr<RenderPass> root_pass =
|
| CreateTestRootRenderPass(root_pass_id, viewport_rect);
|
| SharedQuadState* root_pass_shared_state = CreateTestSharedQuadState(
|
| - root_pass.get(), gfx::Transform(), viewport_rect);
|
| + gfx::Transform(), viewport_rect, root_pass.get());
|
|
|
| RenderPass::Id child_pass_id(2, 2);
|
| gfx::Transform transform_to_root;
|
| scoped_ptr<RenderPass> child_pass =
|
| CreateTestRenderPass(child_pass_id, viewport_rect, transform_to_root);
|
| SharedQuadState* child_pass_shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), gfx::Transform(), viewport_rect);
|
| + gfx::Transform(), viewport_rect, child_pass.get());
|
|
|
| // 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());
|
| @@ -1335,25 +1300,25 @@ class RendererPixelTestWithBackgroundFilter
|
| // A non-visible quad in the filtering render pass.
|
| {
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(filter_pass.get(),
|
| - identity_content_to_target_transform,
|
| - filter_pass_content_rect_);
|
| - scoped_ptr<SolidColorDrawQuad> color_quad = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(identity_content_to_target_transform,
|
| + filter_pass_content_rect_,
|
| + filter_pass.get());
|
| + 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>());
|
| }
|
|
|
| {
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(filter_pass.get(),
|
| - filter_pass_to_target_transform_,
|
| - filter_pass_content_rect_);
|
| - scoped_ptr<RenderPassDrawQuad> filter_pass_quad =
|
| - RenderPassDrawQuad::Create();
|
| + CreateTestSharedQuadState(filter_pass_to_target_transform_,
|
| + filter_pass_content_rect_,
|
| + filter_pass.get());
|
| + 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;
|
| @@ -1373,48 +1337,47 @@ class RendererPixelTestWithBackgroundFilter
|
| gfx::Rect left_rect = gfx::Rect(0, 0, kColumnWidth, 20);
|
| 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();
|
| + identity_content_to_target_transform, left_rect, root_pass.get());
|
| + 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);
|
| }
|
|
|
| gfx::Rect middle_rect = gfx::Rect(kColumnWidth+1, 0, kColumnWidth, 20);
|
| 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();
|
| + identity_content_to_target_transform, middle_rect, root_pass.get());
|
| + 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);
|
| }
|
|
|
| gfx::Rect right_rect = gfx::Rect((kColumnWidth+1)*2, 0, kColumnWidth, 20);
|
| 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();
|
| + identity_content_to_target_transform, right_rect, root_pass.get());
|
| + 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);
|
| }
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(root_pass.get(),
|
| - identity_content_to_target_transform,
|
| - device_viewport_rect);
|
| - scoped_ptr<SolidColorDrawQuad> background_quad =
|
| - SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(identity_content_to_target_transform,
|
| + device_viewport_rect,
|
| + root_pass.get());
|
| + 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());
|
| @@ -1492,10 +1455,10 @@ TEST_F(ExternalStencilPixelTest, StencilTestEnabled) {
|
| RenderPass::Id id(1, 1);
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
| SharedQuadState* blue_shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| - scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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());
|
| @@ -1515,10 +1478,10 @@ TEST_F(ExternalStencilPixelTest, StencilTestDisabled) {
|
| RenderPass::Id id(1, 1);
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
| SharedQuadState* green_shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| - scoped_ptr<SolidColorDrawQuad> green = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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());
|
|
|
| @@ -1549,20 +1512,20 @@ TEST_F(ExternalStencilPixelTest, RenderSurfacesIgnoreStencil) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - child_pass.get(), content_to_target_transform, viewport_rect);
|
| + content_to_target_transform, viewport_rect, child_pass.get());
|
|
|
| gfx::Rect blue_rect(0,
|
| 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));
|
| + CreateTestSharedQuadState(gfx::Transform(), pass_rect, root_pass.get());
|
| + CreateTestRenderPassDrawQuad(
|
| + pass_shared_state, pass_rect, child_pass_id, root_pass.get());
|
| RenderPassList pass_list;
|
| pass_list.push_back(child_pass.Pass());
|
| pass_list.push_back(root_pass.Pass());
|
| @@ -1584,10 +1547,10 @@ TEST_F(ExternalStencilPixelTest, DeviceClip) {
|
| RenderPass::Id id(1, 1);
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
| SharedQuadState* blue_shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| - scoped_ptr<SolidColorDrawQuad> blue = SolidColorDrawQuad::Create();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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());
|
|
|
| @@ -1607,32 +1570,28 @@ TEST_F(GLRendererPixelTest, AntiAliasing) {
|
| gfx::Transform red_content_to_target_transform;
|
| red_content_to_target_transform.Rotate(10);
|
| SharedQuadState* red_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), red_content_to_target_transform, rect);
|
| + red_content_to_target_transform, rect, pass.get());
|
|
|
| - 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);
|
| + yellow_content_to_target_transform, rect, pass.get());
|
|
|
| - 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);
|
| + blue_content_to_target_transform, rect, pass.get());
|
|
|
| - 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());
|
|
|
| @@ -1658,33 +1617,29 @@ TEST_F(GLRendererPixelTest, AxisAligned) {
|
| 0.5f + 1.0f / (rect.width() * 2.0f),
|
| 0.5f + 1.0f / (rect.height() * 2.0f));
|
| SharedQuadState* red_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), red_content_to_target_transform, rect);
|
| + red_content_to_target_transform, rect, pass.get());
|
|
|
| - 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);
|
| + yellow_content_to_target_transform, rect, pass.get());
|
|
|
| - 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);
|
| + blue_content_to_target_transform, rect, pass.get());
|
|
|
| - 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());
|
|
|
| @@ -1710,22 +1665,21 @@ TEST_F(GLRendererPixelTest, ForceAntiAliasingOff) {
|
| 0.5f + 1.0f / (rect.width() * 2.0f),
|
| 0.5f + 1.0f / (rect.height() * 2.0f));
|
| SharedQuadState* hole_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), hole_content_to_target_transform, rect);
|
| + hole_content_to_target_transform, rect, pass.get());
|
|
|
| - 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);
|
| + green_content_to_target_transform, rect, pass.get());
|
|
|
| - 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());
|
|
|
| @@ -1748,24 +1702,23 @@ TEST_F(GLRendererPixelTest, AntiAliasingPerspective) {
|
| 0.0f, -0.2250f, -0.9744f, 0.0f,
|
| 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();
|
| + red_content_to_target_transform, red_rect, pass.get());
|
| + 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();
|
| + CreateTestSharedQuadState(gfx::Transform(), green_rect, pass.get());
|
| + 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();
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
| + 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());
|
| @@ -1807,12 +1760,12 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
|
| gfx::RectF blue_scissor_rect = blue_clip_rect;
|
| blue_content_to_target_transform.TransformRect(&blue_scissor_rect);
|
| SharedQuadState* blue_shared_state =
|
| - CreateTestSharedQuadStateClipped(pass.get(),
|
| - blue_content_to_target_transform,
|
| + CreateTestSharedQuadStateClipped(blue_content_to_target_transform,
|
| blue_rect,
|
| - gfx::ToEnclosingRect(blue_scissor_rect));
|
| + gfx::ToEnclosingRect(blue_scissor_rect),
|
| + pass.get());
|
|
|
| - 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 =
|
| @@ -1836,9 +1788,10 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadIdentityScale) {
|
|
|
| gfx::Transform green_content_to_target_transform;
|
| SharedQuadState* green_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), green_content_to_target_transform, viewport);
|
| + green_content_to_target_transform, viewport, pass.get());
|
|
|
| - 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());
|
| @@ -1881,10 +1833,11 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
|
|
|
| gfx::Transform green_content_to_target_transform;
|
| SharedQuadState* green_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), green_content_to_target_transform, viewport);
|
| + green_content_to_target_transform, viewport, pass.get());
|
| 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 =
|
| @@ -1907,9 +1859,10 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadOpacity) {
|
|
|
| gfx::Transform white_content_to_target_transform;
|
| SharedQuadState* white_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), white_content_to_target_transform, viewport);
|
| + white_content_to_target_transform, viewport, pass.get());
|
|
|
| - 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());
|
| @@ -1982,9 +1934,9 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadDisableImageFiltering) {
|
|
|
| gfx::Transform content_to_target_transform;
|
| SharedQuadState* shared_state = CreateTestSharedQuadState(
|
| - pass.get(), content_to_target_transform, viewport);
|
| + content_to_target_transform, viewport, pass.get());
|
|
|
| - 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());
|
| @@ -2039,9 +1990,10 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
|
|
|
| SharedQuadState* top_right_green_shared_quad_state =
|
| CreateTestSharedQuadState(
|
| - pass.get(), green_content_to_target_transform, viewport);
|
| + green_content_to_target_transform, viewport, pass.get());
|
|
|
| - 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.
|
| @@ -2073,18 +2024,17 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
|
| gfx::Point(viewport.width() / 2, viewport.height() / 2),
|
| gfx::Size(viewport.width() / 2, viewport.height() / 2));
|
| SharedQuadState* bottom_right_green_shared_state =
|
| - CreateTestSharedQuadStateClipped(pass.get(),
|
| - green_content_to_target_transform,
|
| + CreateTestSharedQuadStateClipped(green_content_to_target_transform,
|
| viewport,
|
| - bottom_right_rect);
|
| - scoped_ptr<SolidColorDrawQuad> bottom_right_color_quad =
|
| - SolidColorDrawQuad::Create();
|
| + bottom_right_rect,
|
| + pass.get());
|
| + 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.
|
| @@ -2129,9 +2079,9 @@ TYPED_TEST(RendererPixelTest, PictureDrawQuadNonIdentityScale) {
|
| content_to_target_transform.Scale(10.0, 10.0);
|
| gfx::Rect quad_content_rect(gfx::Size(20, 20));
|
| SharedQuadState* blue_shared_state = CreateTestSharedQuadState(
|
| - pass.get(), content_to_target_transform, quad_content_rect);
|
| + content_to_target_transform, quad_content_rect, pass.get());
|
|
|
| - 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();
|
| + half_green_content_to_target_transform, half_green_rect, pass.get());
|
| + 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());
|
| @@ -2173,7 +2122,7 @@ TYPED_TEST(RendererPixelTest, WrapModeRepeat) {
|
| scoped_ptr<RenderPass> pass = CreateTestRootRenderPass(id, rect);
|
|
|
| SharedQuadState* shared_state =
|
| - CreateTestSharedQuadState(pass.get(), gfx::Transform(), rect);
|
| + CreateTestSharedQuadState(gfx::Transform(), rect, pass.get());
|
|
|
| gfx::Rect texture_rect(4, 4);
|
| SkPMColor colors[4] = {
|
| @@ -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());
|
|
|