Index: src/gpu/GrGpu.cpp |
diff --git a/src/gpu/GrGpu.cpp b/src/gpu/GrGpu.cpp |
index 64016cf44177b509ff1a50e7087f77b3254237f2..9c468e7f427366a4afd482e1e91409da06eb2a1c 100644 |
--- a/src/gpu/GrGpu.cpp |
+++ b/src/gpu/GrGpu.cpp |
@@ -14,6 +14,7 @@ |
#include "GrGpuResourcePriv.h" |
#include "GrIndexBuffer.h" |
#include "GrPathRendering.h" |
+#include "GrPipeline.h" |
#include "GrResourceCache.h" |
#include "GrRenderTargetPriv.h" |
#include "GrStencilAttachment.h" |
@@ -381,6 +382,10 @@ void GrGpu::removeGpuTraceMarker(const GrGpuTraceMarker* marker) { |
void GrGpu::draw(const DrawArgs& args, const GrVertices& vertices) { |
this->handleDirtyContext(); |
+ if (GrXferBarrierType barrierType = args.fPipeline->xferBarrierType(*this->caps())) { |
+ this->xferBarrier(args.fPipeline->getRenderTarget(), barrierType); |
+ } |
+ |
GrVertices::Iterator iter; |
const GrNonInstancedVertices* verts = iter.init(vertices); |
do { |