Index: src/gpu/GrPathRendering.h |
diff --git a/src/gpu/GrPathRendering.h b/src/gpu/GrPathRendering.h |
index 527a8430c5ec8e35763d6514fd1ece52d2e5c943..f13a190829e8b48b4742f17c4b9ea6a8c96bd0ec 100644 |
--- a/src/gpu/GrPathRendering.h |
+++ b/src/gpu/GrPathRendering.h |
@@ -11,6 +11,7 @@ |
#include "SkPath.h" |
#include "GrGpu.h" |
#include "GrPathRange.h" |
+#include "GrPipeline.h" |
class SkDescriptor; |
class SkTypeface; |
@@ -166,6 +167,9 @@ public: |
void drawPath(const DrawPathArgs& args, const GrPath* path) { |
fGpu->handleDirtyContext(); |
+ if (GrXferBarrierType barrierType = args.fPipeline->xferBarrierType(*fGpu->caps())) { |
+ fGpu->xferBarrier(args.fPipeline->getRenderTarget(), barrierType); |
+ } |
this->onDrawPath(args, path); |
} |
@@ -173,10 +177,14 @@ public: |
PathIndexType indexType, const float transformValues[], |
PathTransformType transformType, int count) { |
fGpu->handleDirtyContext(); |
+ if (GrXferBarrierType barrierType = args.fPipeline->xferBarrierType(*fGpu->caps())) { |
+ fGpu->xferBarrier(args.fPipeline->getRenderTarget(), barrierType); |
+ } |
pathRange->willDrawPaths(indices, indexType, count); |
this->onDrawPaths(args, pathRange, indices, indexType, transformValues, transformType, |
count); |
} |
+ |
protected: |
GrPathRendering(GrGpu* gpu) |
: fGpu(gpu) { |