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

Side by Side Diff: tests/TessellatingPathRendererTests.cpp

Issue 2035823002: Make GrClipMaskManager stateless and push GrPipelineBuilder construction downstack (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Address code review comments Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkPath.h" 8 #include "SkPath.h"
9 9
10 #if SK_SUPPORT_GPU 10 #if SK_SUPPORT_GPU
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 static SkPath create_path_15() { 225 static SkPath create_path_15() {
226 SkPath path; 226 SkPath path;
227 path.moveTo( 0.0f, 0.0f); 227 path.moveTo( 0.0f, 0.0f);
228 path.lineTo(10000.0f, 0.0f); 228 path.lineTo(10000.0f, 0.0f);
229 path.lineTo( 0.0f, -1.0f); 229 path.lineTo( 0.0f, -1.0f);
230 path.lineTo(10000.0f, 0.000001f); 230 path.lineTo(10000.0f, 0.000001f);
231 path.lineTo( 0.0f, -30.0f); 231 path.lineTo( 0.0f, -30.0f);
232 return path; 232 return path;
233 } 233 }
234 234
235 static void test_path(GrDrawTarget* dt, GrDrawContext* drawContext, 235 static void test_path(GrDrawContext* drawContext, GrResourceProvider* rp, const SkPath& path) {
236 GrResourceProvider* rp, const SkPath& path) {
237 GrTessellatingPathRenderer tess; 236 GrTessellatingPathRenderer tess;
238 GrPipelineBuilder pipelineBuilder; 237
239 pipelineBuilder.setXPFactory( 238 GrPaint paint;
240 GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); 239 paint.setXPFactory(GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->un ref();
241 pipelineBuilder.setRenderTarget(drawContext->accessRenderTarget()); 240
242 GrNoClip noClip; 241 GrNoClip noClip;
243 GrStyle style(SkStrokeRec::kFill_InitStyle); 242 GrStyle style(SkStrokeRec::kFill_InitStyle);
244 GrPathRenderer::DrawPathArgs args; 243 GrPathRenderer::DrawPathArgs args;
245 args.fTarget = dt; 244 args.fPaint = &paint;
246 args.fPipelineBuilder = &pipelineBuilder; 245 args.fUserStencilSettings = &GrUserStencilSettings::kUnused;
246 args.fDrawContext = drawContext;
247 args.fClip = &noClip; 247 args.fClip = &noClip;
248 args.fResourceProvider = rp; 248 args.fResourceProvider = rp;
249 args.fColor = GrColor_WHITE; 249 args.fColor = GrColor_WHITE;
250 args.fViewMatrix = &SkMatrix::I(); 250 args.fViewMatrix = &SkMatrix::I();
251 args.fPath = &path; 251 args.fPath = &path;
252 args.fStyle = &style; 252 args.fStyle = &style;
253 args.fAntiAlias = false; 253 args.fAntiAlias = false;
254 tess.drawPath(args); 254 tess.drawPath(args);
255 } 255 }
256 256
257 DEF_GPUTEST_FOR_ALL_CONTEXTS(TessellatingPathRendererTests, reporter, ctxInfo) { 257 DEF_GPUTEST_FOR_ALL_CONTEXTS(TessellatingPathRendererTests, reporter, ctxInfo) {
258 sk_sp<GrDrawContext> drawContext(ctxInfo.grContext()->newDrawContext(SkBacki ngFit::kApprox, 258 sk_sp<GrDrawContext> drawContext(ctxInfo.grContext()->newDrawContext(SkBacki ngFit::kApprox,
259 800, 80 0, 259 800, 80 0,
260 kSkia88 88_GrPixelConfig, 260 kSkia88 88_GrPixelConfig,
261 0, 261 0,
262 kTopLef t_GrSurfaceOrigin)); 262 kTopLef t_GrSurfaceOrigin));
263 if (!drawContext) { 263 if (!drawContext) {
264 return; 264 return;
265 } 265 }
266 266
267 GrTestTarget tt; 267 GrTestTarget tt;
268 ctxInfo.grContext()->getTestTarget(&tt, drawContext); 268 ctxInfo.grContext()->getTestTarget(&tt, drawContext);
269 GrDrawTarget* dt = tt.target();
270 GrResourceProvider* rp = tt.resourceProvider(); 269 GrResourceProvider* rp = tt.resourceProvider();
271 270
272 test_path(dt, drawContext.get(), rp, create_path_0()); 271 test_path(drawContext.get(), rp, create_path_0());
273 test_path(dt, drawContext.get(), rp, create_path_1()); 272 test_path(drawContext.get(), rp, create_path_1());
274 test_path(dt, drawContext.get(), rp, create_path_2()); 273 test_path(drawContext.get(), rp, create_path_2());
275 test_path(dt, drawContext.get(), rp, create_path_3()); 274 test_path(drawContext.get(), rp, create_path_3());
276 test_path(dt, drawContext.get(), rp, create_path_4()); 275 test_path(drawContext.get(), rp, create_path_4());
277 test_path(dt, drawContext.get(), rp, create_path_5()); 276 test_path(drawContext.get(), rp, create_path_5());
278 test_path(dt, drawContext.get(), rp, create_path_6()); 277 test_path(drawContext.get(), rp, create_path_6());
279 test_path(dt, drawContext.get(), rp, create_path_7()); 278 test_path(drawContext.get(), rp, create_path_7());
280 test_path(dt, drawContext.get(), rp, create_path_8()); 279 test_path(drawContext.get(), rp, create_path_8());
281 test_path(dt, drawContext.get(), rp, create_path_9()); 280 test_path(drawContext.get(), rp, create_path_9());
282 test_path(dt, drawContext.get(), rp, create_path_10()); 281 test_path(drawContext.get(), rp, create_path_10());
283 test_path(dt, drawContext.get(), rp, create_path_11()); 282 test_path(drawContext.get(), rp, create_path_11());
284 test_path(dt, drawContext.get(), rp, create_path_12()); 283 test_path(drawContext.get(), rp, create_path_12());
285 test_path(dt, drawContext.get(), rp, create_path_13()); 284 test_path(drawContext.get(), rp, create_path_13());
286 test_path(dt, drawContext.get(), rp, create_path_14()); 285 test_path(drawContext.get(), rp, create_path_14());
287 test_path(dt, drawContext.get(), rp, create_path_15()); 286 test_path(drawContext.get(), rp, create_path_15());
288 } 287 }
289 #endif 288 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698