Index: src/gpu/GrOptDrawState.cpp |
diff --git a/src/gpu/GrOptDrawState.cpp b/src/gpu/GrOptDrawState.cpp |
index 93cc04798bbcada8a20737ea257acfbdd6cb54d5..4f2d24f03a23d14b9ec5cfbc1c29c1419d30799b 100644 |
--- a/src/gpu/GrOptDrawState.cpp |
+++ b/src/gpu/GrOptDrawState.cpp |
@@ -32,6 +32,12 @@ GrOptDrawState::GrOptDrawState(const GrDrawState& drawState, |
fDrawFace = drawState.getDrawFace(); |
fSrcBlend = optSrcCoeff; |
fDstBlend = optDstCoeff; |
+ |
+ // TODO move this out of optDrawState |
+ if (dstCopy) { |
+ fDstCopy = *dstCopy; |
+ } |
+ |
GrProgramDesc::DescInfo descInfo; |
fFlags = 0; |
@@ -97,7 +103,7 @@ GrOptDrawState::GrOptDrawState(const GrDrawState& drawState, |
this->setOutputStateInfo(drawState, blendOpt, *gpu->caps(), &descInfo); |
// now create a key |
- gpu->buildProgramDesc(*this, descInfo, drawType, dstCopy, &fDesc); |
+ gpu->buildProgramDesc(*this, descInfo, drawType, &fDesc); |
}; |
GrOptDrawState* GrOptDrawState::Create(const GrDrawState& drawState, |
@@ -278,7 +284,8 @@ bool GrOptDrawState::operator== (const GrOptDrawState& that) const { |
this->fVAStride != that.fVAStride || |
memcmp(this->fVAPtr, that.fVAPtr, this->fVACount * sizeof(GrVertexAttrib)) || |
this->fStencilSettings != that.fStencilSettings || |
- this->fDrawFace != that.fDrawFace) { |
+ this->fDrawFace != that.fDrawFace || |
+ this->fDstCopy.texture() != that.fDstCopy.texture()) { |
return false; |
} |