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

Side by Side Diff: cc/output/gl_renderer_unittest.cc

Issue 1427543002: Modified old wait sync point functions to also accept new sync tokens. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix mock gpu video accelerator factory Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/output/gl_renderer.h" 5 #include "cc/output/gl_renderer.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after
922 renderer.SetVisible(false); 922 renderer.SetVisible(false);
923 EXPECT_TRUE(context->last_call_was_set_visibility()); 923 EXPECT_TRUE(context->last_call_was_set_visibility());
924 } 924 }
925 925
926 class TextureStateTrackingContext : public TestWebGraphicsContext3D { 926 class TextureStateTrackingContext : public TestWebGraphicsContext3D {
927 public: 927 public:
928 TextureStateTrackingContext() : active_texture_(GL_INVALID_ENUM) { 928 TextureStateTrackingContext() : active_texture_(GL_INVALID_ENUM) {
929 test_capabilities_.gpu.egl_image_external = true; 929 test_capabilities_.gpu.egl_image_external = true;
930 } 930 }
931 931
932 MOCK_METHOD1(waitSyncPoint, void(unsigned sync_point)); 932 MOCK_METHOD1(waitSyncPoint,
933 void(unsigned sync_point, const gpu::SyncToken& sync_token));
933 MOCK_METHOD3(texParameteri, void(GLenum target, GLenum pname, GLint param)); 934 MOCK_METHOD3(texParameteri, void(GLenum target, GLenum pname, GLint param));
934 MOCK_METHOD4(drawElements, 935 MOCK_METHOD4(drawElements,
935 void(GLenum mode, GLsizei count, GLenum type, GLintptr offset)); 936 void(GLenum mode, GLsizei count, GLenum type, GLintptr offset));
936 937
937 virtual void activeTexture(GLenum texture) { 938 virtual void activeTexture(GLenum texture) {
938 EXPECT_NE(texture, active_texture_); 939 EXPECT_NE(texture, active_texture_);
939 active_texture_ = texture; 940 active_texture_ = texture;
940 } 941 }
941 942
942 GLenum active_texture() const { return active_texture_; } 943 GLenum active_texture() const { return active_texture_; }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
980 renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_); 981 renderer.DecideRenderPassAllocationsForFrame(render_passes_in_draw_order_);
981 982
982 // Set up expected texture filter state transitions that match the quads 983 // Set up expected texture filter state transitions that match the quads
983 // created in AppendOneOfEveryQuadType(). 984 // created in AppendOneOfEveryQuadType().
984 Mock::VerifyAndClearExpectations(context); 985 Mock::VerifyAndClearExpectations(context);
985 { 986 {
986 InSequence sequence; 987 InSequence sequence;
987 988
988 // The sync points for all quads are waited on first. This sync point is 989 // The sync points for all quads are waited on first. This sync point is
989 // for a texture quad drawn later in the frame. 990 // for a texture quad drawn later in the frame.
990 EXPECT_CALL(*context, waitSyncPoint(mailbox_sync_point)).Times(1); 991 EXPECT_CALL(*context, waitSyncPoint(mailbox_sync_point, gpu::SyncToken()))
992 .Times(1);
991 993
992 // yuv_quad is drawn with the default linear filter. 994 // yuv_quad is drawn with the default linear filter.
993 EXPECT_CALL(*context, drawElements(_, _, _, _)); 995 EXPECT_CALL(*context, drawElements(_, _, _, _));
994 996
995 // tile_quad is drawn with GL_NEAREST because it is not transformed or 997 // tile_quad is drawn with GL_NEAREST because it is not transformed or
996 // scaled. 998 // scaled.
997 EXPECT_CALL( 999 EXPECT_CALL(
998 *context, 1000 *context,
999 texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)); 1001 texParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST));
1000 EXPECT_CALL( 1002 EXPECT_CALL(
(...skipping 1133 matching lines...) Expand 10 before | Expand all | Expand 10 after
2134 void Initialize() override { 2136 void Initialize() override {
2135 strategies_.push_back( 2137 strategies_.push_back(
2136 make_scoped_ptr(new OverlayStrategySingleOnTop(&validator_))); 2138 make_scoped_ptr(new OverlayStrategySingleOnTop(&validator_)));
2137 } 2139 }
2138 2140
2139 SingleOverlayValidator validator_; 2141 SingleOverlayValidator validator_;
2140 }; 2142 };
2141 2143
2142 class WaitSyncPointCountingContext : public TestWebGraphicsContext3D { 2144 class WaitSyncPointCountingContext : public TestWebGraphicsContext3D {
2143 public: 2145 public:
2144 MOCK_METHOD1(waitSyncPoint, void(unsigned sync_point)); 2146 MOCK_METHOD1(waitSyncPoint,
2147 void(unsigned sync_point, const gpu::SyncToken& sync_Token));
2145 }; 2148 };
2146 2149
2147 class MockOverlayScheduler { 2150 class MockOverlayScheduler {
2148 public: 2151 public:
2149 MOCK_METHOD5(Schedule, 2152 MOCK_METHOD5(Schedule,
2150 void(int plane_z_order, 2153 void(int plane_z_order,
2151 gfx::OverlayTransform plane_transform, 2154 gfx::OverlayTransform plane_transform,
2152 unsigned overlay_texture_id, 2155 unsigned overlay_texture_id,
2153 const gfx::Rect& display_bounds, 2156 const gfx::Rect& display_bounds,
2154 const gfx::RectF& uv_rect)); 2157 const gfx::RectF& uv_rect));
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2213 SharedQuadState* shared_state = root_pass->CreateAndAppendSharedQuadState(); 2216 SharedQuadState* shared_state = root_pass->CreateAndAppendSharedQuadState();
2214 shared_state->SetAll(gfx::Transform(), viewport_rect.size(), viewport_rect, 2217 shared_state->SetAll(gfx::Transform(), viewport_rect.size(), viewport_rect,
2215 viewport_rect, false, 1, SkXfermode::kSrcOver_Mode, 0); 2218 viewport_rect, false, 1, SkXfermode::kSrcOver_Mode, 0);
2216 overlay_quad->SetNew(shared_state, viewport_rect, viewport_rect, 2219 overlay_quad->SetNew(shared_state, viewport_rect, viewport_rect,
2217 viewport_rect, resource_id, premultiplied_alpha, 2220 viewport_rect, resource_id, premultiplied_alpha,
2218 uv_top_left, uv_bottom_right, SK_ColorTRANSPARENT, 2221 uv_top_left, uv_bottom_right, SK_ColorTRANSPARENT,
2219 vertex_opacity, flipped, nearest_neighbor); 2222 vertex_opacity, flipped, nearest_neighbor);
2220 2223
2221 // Verify that overlay_quad actually gets turned into an overlay, and even 2224 // Verify that overlay_quad actually gets turned into an overlay, and even
2222 // though it's not drawn, that its sync point is waited on. 2225 // though it's not drawn, that its sync point is waited on.
2223 EXPECT_CALL(*context, waitSyncPoint(sync_point)).Times(1); 2226 EXPECT_CALL(*context, waitSyncPoint(sync_point, gpu::SyncToken())).Times(1);
2224 EXPECT_CALL(overlay_scheduler, 2227 EXPECT_CALL(overlay_scheduler,
2225 Schedule(1, gfx::OVERLAY_TRANSFORM_NONE, _, viewport_rect, 2228 Schedule(1, gfx::OVERLAY_TRANSFORM_NONE, _, viewport_rect,
2226 BoundingRect(uv_top_left, uv_bottom_right))).Times(1); 2229 BoundingRect(uv_top_left, uv_bottom_right))).Times(1);
2227 2230
2228 renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect, 2231 renderer.DrawFrame(&render_passes_in_draw_order_, 1.f, viewport_rect,
2229 viewport_rect, false); 2232 viewport_rect, false);
2230 } 2233 }
2231 2234
2232 } // namespace 2235 } // namespace
2233 } // namespace cc 2236 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698