OLD | NEW |
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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
143 SkPaint boundsPaint; | 143 SkPaint boundsPaint; |
144 boundsPaint.setColor(0xff808080); | 144 boundsPaint.setColor(0xff808080); |
145 boundsPaint.setStrokeWidth(0); | 145 boundsPaint.setStrokeWidth(0); |
146 boundsPaint.setStyle(SkPaint::kStroke_Style); | 146 boundsPaint.setStyle(SkPaint::kStroke_Style); |
147 canvas->drawRect(bounds, boundsPaint); | 147 canvas->drawRect(bounds, boundsPaint); |
148 | 148 |
149 GrTestTarget tt; | 149 GrTestTarget tt; |
150 context->getTestTarget(&tt); | 150 context->getTestTarget(&tt); |
151 SkASSERT(tt.target()); | 151 SkASSERT(tt.target()); |
152 | 152 |
153 GrDrawState ds; | 153 GrPipelineBuilder pipelineBuilder; |
154 | 154 |
155 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); | 155 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); |
156 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); | 156 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); |
157 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); | 157 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); |
158 | 158 |
159 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, | 159 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, |
160 bounds.fRight, bounds.fBottom, | 160 bounds.fRight, bounds.fBottom, |
161 sizeof(Vertex)); | 161 sizeof(Vertex)); |
162 for (int v = 0; v < 4; ++v) { | 162 for (int v = 0; v < 4; ++v) { |
163 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs
+ 0, klmSigns[c]); | 163 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs
+ 0, klmSigns[c]); |
164 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs
+ 3, klmSigns[c]); | 164 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs
+ 3, klmSigns[c]); |
165 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs
+ 6, 1.f); | 165 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs
+ 6, 1.f); |
166 } | 166 } |
167 | 167 |
168 ds.setRenderTarget(rt); | 168 pipelineBuilder.setRenderTarget(rt); |
169 | 169 |
170 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); | 170 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); |
171 tt.target()->drawIndexed(&ds, gp, kTriangleFan_GrPrimitiveTy
pe, 0, 0,4,6); | 171 tt.target()->drawIndexed(&pipelineBuilder, gp, kTriangleFan_
GrPrimitiveType, |
| 172 0, 0,4,6); |
172 } | 173 } |
173 ++col; | 174 ++col; |
174 if (numCols == col) { | 175 if (numCols == col) { |
175 col = 0; | 176 col = 0; |
176 ++row; | 177 ++row; |
177 } | 178 } |
178 } | 179 } |
179 } | 180 } |
180 } | 181 } |
181 | 182 |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 SkPaint boundsPaint; | 300 SkPaint boundsPaint; |
300 boundsPaint.setColor(0xff808080); | 301 boundsPaint.setColor(0xff808080); |
301 boundsPaint.setStrokeWidth(0); | 302 boundsPaint.setStrokeWidth(0); |
302 boundsPaint.setStyle(SkPaint::kStroke_Style); | 303 boundsPaint.setStyle(SkPaint::kStroke_Style); |
303 canvas->drawRect(bounds, boundsPaint); | 304 canvas->drawRect(bounds, boundsPaint); |
304 | 305 |
305 GrTestTarget tt; | 306 GrTestTarget tt; |
306 context->getTestTarget(&tt); | 307 context->getTestTarget(&tt); |
307 SkASSERT(tt.target()); | 308 SkASSERT(tt.target()); |
308 | 309 |
309 GrDrawState ds; | 310 GrPipelineBuilder pipelineBuilder; |
310 | 311 |
311 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); | 312 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); |
312 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); | 313 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); |
313 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); | 314 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); |
314 | 315 |
315 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, | 316 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, |
316 bounds.fRight, bounds.fBottom, | 317 bounds.fRight, bounds.fBottom, |
317 sizeof(Vertex)); | 318 sizeof(Vertex)); |
318 for (int v = 0; v < 4; ++v) { | 319 for (int v = 0; v < 4; ++v) { |
319 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs
+ 0, 1.f); | 320 verts[v].fKLM[0] = eval_line(verts[v].fPosition, klmEqs
+ 0, 1.f); |
320 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs
+ 3, 1.f); | 321 verts[v].fKLM[1] = eval_line(verts[v].fPosition, klmEqs
+ 3, 1.f); |
321 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs
+ 6, 1.f); | 322 verts[v].fKLM[2] = eval_line(verts[v].fPosition, klmEqs
+ 6, 1.f); |
322 } | 323 } |
323 | 324 |
324 ds.setRenderTarget(rt); | 325 pipelineBuilder.setRenderTarget(rt); |
325 | 326 |
326 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); | 327 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); |
327 tt.target()->drawIndexed(&ds, gp, kTriangleFan_GrPrimitiveTy
pe, 0, 0,4,6); | 328 tt.target()->drawIndexed(&pipelineBuilder, gp, kTriangleFan_
GrPrimitiveType, |
| 329 0, 0,4,6); |
328 } | 330 } |
329 ++col; | 331 ++col; |
330 if (numCols == col) { | 332 if (numCols == col) { |
331 col = 0; | 333 col = 0; |
332 ++row; | 334 ++row; |
333 } | 335 } |
334 } | 336 } |
335 } | 337 } |
336 } | 338 } |
337 | 339 |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
486 SkPaint boundsPaint; | 488 SkPaint boundsPaint; |
487 boundsPaint.setColor(0xff808080); | 489 boundsPaint.setColor(0xff808080); |
488 boundsPaint.setStrokeWidth(0); | 490 boundsPaint.setStrokeWidth(0); |
489 boundsPaint.setStyle(SkPaint::kStroke_Style); | 491 boundsPaint.setStyle(SkPaint::kStroke_Style); |
490 canvas->drawRect(bounds, boundsPaint); | 492 canvas->drawRect(bounds, boundsPaint); |
491 | 493 |
492 GrTestTarget tt; | 494 GrTestTarget tt; |
493 context->getTestTarget(&tt); | 495 context->getTestTarget(&tt); |
494 SkASSERT(tt.target()); | 496 SkASSERT(tt.target()); |
495 | 497 |
496 GrDrawState ds; | 498 GrPipelineBuilder pipelineBuilder; |
497 | 499 |
498 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); | 500 GrDrawTarget::AutoReleaseGeometry geo(tt.target(), 4, gp->ge
tVertexStride(), 0); |
499 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); | 501 SkASSERT(gp->getVertexStride() == sizeof(Vertex)); |
500 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); | 502 Vertex* verts = reinterpret_cast<Vertex*>(geo.vertices()); |
501 | 503 |
502 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, | 504 verts[0].fPosition.setRectFan(bounds.fLeft, bounds.fTop, |
503 bounds.fRight, bounds.fBottom, | 505 bounds.fRight, bounds.fBottom, |
504 sizeof(Vertex)); | 506 sizeof(Vertex)); |
505 | 507 |
506 GrPathUtils::QuadUVMatrix DevToUV(pts); | 508 GrPathUtils::QuadUVMatrix DevToUV(pts); |
507 DevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts); | 509 DevToUV.apply<4, sizeof(Vertex), sizeof(SkPoint)>(verts); |
508 | 510 |
509 ds.setRenderTarget(rt); | 511 pipelineBuilder.setRenderTarget(rt); |
510 | 512 |
511 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); | 513 tt.target()->setIndexSourceToBuffer(context->getQuadIndexBuf
fer()); |
512 tt.target()->drawIndexed(&ds, gp, kTriangles_GrPrimitiveType
, 0, 0, 4, 6); | 514 tt.target()->drawIndexed(&pipelineBuilder, gp, kTriangles_Gr
PrimitiveType, |
| 515 0, 0, 4, 6); |
513 } | 516 } |
514 ++col; | 517 ++col; |
515 if (numCols == col) { | 518 if (numCols == col) { |
516 col = 0; | 519 col = 0; |
517 ++row; | 520 ++row; |
518 } | 521 } |
519 } | 522 } |
520 } | 523 } |
521 } | 524 } |
522 | 525 |
523 private: | 526 private: |
524 typedef GM INHERITED; | 527 typedef GM INHERITED; |
525 }; | 528 }; |
526 | 529 |
527 DEF_GM( return SkNEW(BezierCubicEffects); ) | 530 DEF_GM( return SkNEW(BezierCubicEffects); ) |
528 DEF_GM( return SkNEW(BezierConicEffects); ) | 531 DEF_GM( return SkNEW(BezierConicEffects); ) |
529 DEF_GM( return SkNEW(BezierQuadEffects); ) | 532 DEF_GM( return SkNEW(BezierQuadEffects); ) |
530 | 533 |
531 } | 534 } |
532 | 535 |
533 #endif | 536 #endif |
OLD | NEW |