diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkThreadedBMPDevice.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/SkThreadedBMPDevice.cpp b/src/core/SkThreadedBMPDevice.cpp index de2b6c0230..36a3a3e4c6 100644 --- a/src/core/SkThreadedBMPDevice.cpp +++ b/src/core/SkThreadedBMPDevice.cpp @@ -226,6 +226,12 @@ void SkThreadedBMPDevice::drawVertices(const SkVertices* vertices, const SkMatri int boneCount, SkBlendMode bmode, const SkPaint& paint) { const sk_sp<SkVertices> verts = sk_ref_sp(vertices); // retain vertices until flush SkRect drawBounds = SkRectPriv::MakeLargest(); // TODO tighter drawBounds + + // Make the bone matrices thread-safe. + for (int i = 0; i < boneCount; i ++) { + bones[i].getType(); + } + fQueue.push(drawBounds, [=](SkArenaAlloc*, const DrawState& ds, const SkIRect& tileBounds){ TileDraw(ds, tileBounds).drawVertices(verts->mode(), verts->vertexCount(), verts->positions(), verts->texCoords(), |