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

Side by Side Diff: tests/TessellatingPathRendererTests.cpp

Issue 2004433002: Retract GrRenderTarget from GrTestTarget (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix bench build Created 4 years, 7 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
« no previous file with comments | « include/gpu/GrDrawContext.h ('k') | tools/gpu/GrTest.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, GrRenderTarget* rt, GrResourceProvider* rp, 235 static void test_path(GrDrawTarget* dt, GrDrawContext* drawContext,
236 const SkPath& path) { 236 GrResourceProvider* rp, const SkPath& path) {
237 GrTessellatingPathRenderer tess; 237 GrTessellatingPathRenderer tess;
238 GrPipelineBuilder pipelineBuilder; 238 GrPipelineBuilder pipelineBuilder;
239 pipelineBuilder.setXPFactory( 239 pipelineBuilder.setXPFactory(
240 GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref(); 240 GrPorterDuffXPFactory::Create(SkXfermode::kSrc_Mode))->unref();
241 pipelineBuilder.setRenderTarget(rt); 241 pipelineBuilder.setRenderTarget(drawContext->accessRenderTarget());
242 GrNoClip noClip; 242 GrNoClip noClip;
243 GrStyle style(SkStrokeRec::kFill_InitStyle); 243 GrStyle style(SkStrokeRec::kFill_InitStyle);
244 GrPathRenderer::DrawPathArgs args; 244 GrPathRenderer::DrawPathArgs args;
245 args.fTarget = dt; 245 args.fTarget = dt;
246 args.fPipelineBuilder = &pipelineBuilder; 246 args.fPipelineBuilder = &pipelineBuilder;
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 GrSurfaceDesc desc; 258 sk_sp<GrDrawContext> drawContext(ctxInfo.grContext()->newDrawContext(SkBacki ngFit::kApprox,
259 desc.fFlags = kRenderTarget_GrSurfaceFlag; 259 800, 80 0,
260 desc.fWidth = 800; 260 kSkia88 88_GrPixelConfig,
261 desc.fHeight = 800; 261 0,
262 desc.fConfig = kSkia8888_GrPixelConfig; 262 kTopLef t_GrSurfaceOrigin));
263 desc.fOrigin = kTopLeft_GrSurfaceOrigin; 263 if (!drawContext) {
264 SkAutoTUnref<GrTexture> texture( 264 return;
265 ctxInfo.grContext()->textureProvider()->createApproxTexture(desc)); 265 }
266
266 GrTestTarget tt; 267 GrTestTarget tt;
267 GrRenderTarget* rt = texture->asRenderTarget(); 268 ctxInfo.grContext()->getTestTarget(&tt, drawContext);
268 ctxInfo.grContext()->getTestTarget(&tt, rt);
269 GrDrawTarget* dt = tt.target(); 269 GrDrawTarget* dt = tt.target();
270 GrResourceProvider* rp = tt.resourceProvider(); 270 GrResourceProvider* rp = tt.resourceProvider();
271 271
272 test_path(dt, rt, rp, create_path_0()); 272 test_path(dt, drawContext.get(), rp, create_path_0());
273 test_path(dt, rt, rp, create_path_1()); 273 test_path(dt, drawContext.get(), rp, create_path_1());
274 test_path(dt, rt, rp, create_path_2()); 274 test_path(dt, drawContext.get(), rp, create_path_2());
275 test_path(dt, rt, rp, create_path_3()); 275 test_path(dt, drawContext.get(), rp, create_path_3());
276 test_path(dt, rt, rp, create_path_4()); 276 test_path(dt, drawContext.get(), rp, create_path_4());
277 test_path(dt, rt, rp, create_path_5()); 277 test_path(dt, drawContext.get(), rp, create_path_5());
278 test_path(dt, rt, rp, create_path_6()); 278 test_path(dt, drawContext.get(), rp, create_path_6());
279 test_path(dt, rt, rp, create_path_7()); 279 test_path(dt, drawContext.get(), rp, create_path_7());
280 test_path(dt, rt, rp, create_path_8()); 280 test_path(dt, drawContext.get(), rp, create_path_8());
281 test_path(dt, rt, rp, create_path_9()); 281 test_path(dt, drawContext.get(), rp, create_path_9());
282 test_path(dt, rt, rp, create_path_10()); 282 test_path(dt, drawContext.get(), rp, create_path_10());
283 test_path(dt, rt, rp, create_path_11()); 283 test_path(dt, drawContext.get(), rp, create_path_11());
284 test_path(dt, rt, rp, create_path_12()); 284 test_path(dt, drawContext.get(), rp, create_path_12());
285 test_path(dt, rt, rp, create_path_13()); 285 test_path(dt, drawContext.get(), rp, create_path_13());
286 test_path(dt, rt, rp, create_path_14()); 286 test_path(dt, drawContext.get(), rp, create_path_14());
287 test_path(dt, rt, rp, create_path_15()); 287 test_path(dt, drawContext.get(), rp, create_path_15());
288 } 288 }
289 #endif 289 #endif
OLDNEW
« no previous file with comments | « include/gpu/GrDrawContext.h ('k') | tools/gpu/GrTest.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698