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

Side by Side Diff: gm/beziereffects.cpp

Issue 696353002: Test factory uses the inorder draw buffer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 6 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
« no previous file with comments | « expectations/gm/ignored-tests.txt ('k') | gm/convexpolyeffect.cpp » ('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 /* 2 /*
3 * Copyright 2013 Google Inc. 3 * Copyright 2013 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 // This test only works with the GPU backend. 9 // This test only works with the GPU backend.
10 10
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 147
148 SkRect bounds; 148 SkRect bounds;
149 bounds.set(pts, 4); 149 bounds.set(pts, 4);
150 150
151 SkPaint boundsPaint; 151 SkPaint boundsPaint;
152 boundsPaint.setColor(0xff808080); 152 boundsPaint.setColor(0xff808080);
153 boundsPaint.setStrokeWidth(0); 153 boundsPaint.setStrokeWidth(0);
154 boundsPaint.setStyle(SkPaint::kStroke_Style); 154 boundsPaint.setStyle(SkPaint::kStroke_Style);
155 canvas->drawRect(bounds, boundsPaint); 155 canvas->drawRect(bounds, boundsPaint);
156 156
157 Vertex verts[4]; 157 GrTestTarget tt;
158 context->getTestTarget(&tt);
159 SkASSERT(tt.target());
160
161 GrDrawState* drawState = tt.target()->drawState();
162 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
163
164 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
165 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
166
158 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, 167 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
159 bounds.fRight, bounds.fBottom, 168 bounds.fRight, bounds.fBottom,
160 sizeof(Vertex)); 169 sizeof(Vertex));
161 for (int v = 0; v < 4; ++v) { 170 for (int v = 0; v < 4; ++v) {
162 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs + 0, klmSigns[c]); 171 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs + 0, klmSigns[c]);
163 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs + 3, klmSigns[c]); 172 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs + 3, klmSigns[c]);
164 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f); 173 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f);
165 } 174 }
166 175
167 GrTestTarget tt;
168 context->getTestTarget(&tt);
169 SkASSERT(tt.target());
170 GrDrawState* drawState = tt.target()->drawState();
171 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
172
173 drawState->setGeometryProcessor(gp); 176 drawState->setGeometryProcessor(gp);
174 drawState->setRenderTarget(rt); 177 drawState->setRenderTarget(rt);
175 drawState->setColor(0xff000000); 178 drawState->setColor(0xff000000);
176 179
177 tt.target()->setVertexSourceToArray(verts, 4);
178 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer()); 180 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer());
179 tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6); 181 tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);
180 } 182 }
181 ++col; 183 ++col;
182 if (numCols == col) { 184 if (numCols == col) {
183 col = 0; 185 col = 0;
184 ++row; 186 ++row;
185 } 187 }
186 } 188 }
187 } 189 }
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 //SkPoint bPts[] = {{0.f, 0.f}, {800.f, 800.f}}; 304 //SkPoint bPts[] = {{0.f, 0.f}, {800.f, 800.f}};
303 //bounds.set(bPts, 2); 305 //bounds.set(bPts, 2);
304 bounds.set(pts, 3); 306 bounds.set(pts, 3);
305 307
306 SkPaint boundsPaint; 308 SkPaint boundsPaint;
307 boundsPaint.setColor(0xff808080); 309 boundsPaint.setColor(0xff808080);
308 boundsPaint.setStrokeWidth(0); 310 boundsPaint.setStrokeWidth(0);
309 boundsPaint.setStyle(SkPaint::kStroke_Style); 311 boundsPaint.setStyle(SkPaint::kStroke_Style);
310 canvas->drawRect(bounds, boundsPaint); 312 canvas->drawRect(bounds, boundsPaint);
311 313
312 Vertex verts[4]; 314 GrTestTarget tt;
315 context->getTestTarget(&tt);
316 SkASSERT(tt.target());
317
318 GrDrawState* drawState = tt.target()->drawState();
319 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
320
321 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
322 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
323
313 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, 324 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
314 bounds.fRight, bounds.fBottom, 325 bounds.fRight, bounds.fBottom,
315 sizeof(Vertex)); 326 sizeof(Vertex));
316 for (int v = 0; v < 4; ++v) { 327 for (int v = 0; v < 4; ++v) {
317 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs + 0, 1.f); 328 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs + 0, 1.f);
318 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs + 3, 1.f); 329 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs + 3, 1.f);
319 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f); 330 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs + 6, 1.f);
320 } 331 }
321 332
322 GrTestTarget tt;
323 context->getTestTarget(&tt);
324 SkASSERT(tt.target());
325 GrDrawState* drawState = tt.target()->drawState();
326 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
327
328 drawState->setGeometryProcessor(gp); 333 drawState->setGeometryProcessor(gp);
329 drawState->setRenderTarget(rt); 334 drawState->setRenderTarget(rt);
330 drawState->setColor(0xff000000); 335 drawState->setColor(0xff000000);
331 336
332 tt.target()->setVertexSourceToArray(verts, 4);
333 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer()); 337 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer());
334 tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6); 338 tt.target()->drawIndexed(kTriangleFan_GrPrimitiveType, 0, 0, 4, 6);
335 } 339 }
336 ++col; 340 ++col;
337 if (numCols == col) { 341 if (numCols == col) {
338 col = 0; 342 col = 0;
339 ++row; 343 ++row;
340 } 344 }
341 } 345 }
342 } 346 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 492
489 SkRect bounds; 493 SkRect bounds;
490 bounds.set(pts, 3); 494 bounds.set(pts, 3);
491 495
492 SkPaint boundsPaint; 496 SkPaint boundsPaint;
493 boundsPaint.setColor(0xff808080); 497 boundsPaint.setColor(0xff808080);
494 boundsPaint.setStrokeWidth(0); 498 boundsPaint.setStrokeWidth(0);
495 boundsPaint.setStyle(SkPaint::kStroke_Style); 499 boundsPaint.setStyle(SkPaint::kStroke_Style);
496 canvas->drawRect(bounds, boundsPaint); 500 canvas->drawRect(bounds, boundsPaint);
497 501
498 Vertex verts[4]; 502 GrTestTarget tt;
503 context->getTestTarget(&tt);
504 SkASSERT(tt.target());
505
506 GrDrawState* drawState = tt.target()->drawState();
507 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
508
509 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, 0);
510 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices());
511
499 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, 512 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop,
500 bounds.fRight, bounds.fBottom, 513 bounds.fRight, bounds.fBottom,
501 sizeof(Vertex)); 514 sizeof(Vertex));
502 515
503 GrPathUtils::QuadUVMatrix DevToUV(pts); 516 GrPathUtils::QuadUVMatrix DevToUV(pts);
504 DevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts); 517 DevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts);
505 518
506 GrTestTarget tt;
507 context->getTestTarget(&tt);
508 SkASSERT(tt.target());
509 GrDrawState* drawState = tt.target()->drawState();
510 drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
511
512 drawState->setGeometryProcessor(gp); 519 drawState->setGeometryProcessor(gp);
513 drawState->setRenderTarget(rt); 520 drawState->setRenderTarget(rt);
514 drawState->setColor(0xff000000); 521 drawState->setColor(0xff000000);
515 522
516 tt.target()->setVertexSourceToArray(verts, 4);
517 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer()); 523 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf fer());
518 tt.target()->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 4 , 6); 524 tt.target()->drawIndexed(kTriangles_GrPrimitiveType, 0, 0, 4 , 6);
519 } 525 }
520 ++col; 526 ++col;
521 if (numCols == col) { 527 if (numCols == col) {
522 col = 0; 528 col = 0;
523 ++row; 529 ++row;
524 } 530 }
525 } 531 }
526 } 532 }
527 } 533 }
528 534
529 private: 535 private:
530 typedef GM INHERITED; 536 typedef GM INHERITED;
531 }; 537 };
532 538
533 DEF_GM( return SkNEW(BezierCubicEffects); ) 539 DEF_GM( return SkNEW(BezierCubicEffects); )
534 DEF_GM( return SkNEW(BezierConicEffects); ) 540 DEF_GM( return SkNEW(BezierConicEffects); )
535 DEF_GM( return SkNEW(BezierQuadEffects); ) 541 DEF_GM( return SkNEW(BezierQuadEffects); )
536 542
537 } 543 }
538 544
539 #endif 545 #endif
OLDNEW
« no previous file with comments | « expectations/gm/ignored-tests.txt ('k') | gm/convexpolyeffect.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698