Index: src/gpu/GrContext.cpp |
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp |
index 95e0d51cf8979dae8c9a6eaf7cfbd9956d42c540..5b23fedbf068be0f3114ce757ef24ff09fa54bb2 100755 |
--- a/src/gpu/GrContext.cpp |
+++ b/src/gpu/GrContext.cpp |
@@ -782,8 +782,7 @@ static inline bool rect_contains_inclusive(const SkRect& rect, const SkPoint& po |
void GrContext::drawRect(const GrPaint& paint, |
const SkRect& rect, |
- const GrStrokeInfo* strokeInfo, |
- const SkMatrix* matrix) { |
+ const GrStrokeInfo* strokeInfo) { |
if (NULL != strokeInfo && strokeInfo->isDashed()) { |
SkPath path; |
path.addRect(rect); |
@@ -797,10 +796,7 @@ void GrContext::drawRect(const GrPaint& paint, |
GR_CREATE_TRACE_MARKER("GrContext::drawRect", target); |
SkScalar width = NULL == strokeInfo ? -1 : strokeInfo->getStrokeRec().getWidth(); |
- SkMatrix combinedMatrix = target->drawState()->getViewMatrix(); |
- if (NULL != matrix) { |
- combinedMatrix.preConcat(*matrix); |
- } |
+ SkMatrix matrix = target->drawState()->getViewMatrix(); |
// Check if this is a full RT draw and can be replaced with a clear. We don't bother checking |
// cases where the RT is fully inside a stroke. |
@@ -817,7 +813,7 @@ void GrContext::drawRect(const GrPaint& paint, |
// Does the clip contain the entire RT? |
if (!checkClip || target->getClip()->fClipStack->quickContains(clipSpaceRTRect)) { |
SkMatrix invM; |
- if (!combinedMatrix.invert(&invM)) { |
+ if (!matrix.invert(&invM)) { |
return; |
} |
// Does the rect bound the RT? |
@@ -841,7 +837,7 @@ void GrContext::drawRect(const GrPaint& paint, |
bool useVertexCoverage; |
bool needAA = paint.isAntiAlias() && |
!target->getDrawState().getRenderTarget()->isMultisampled(); |
- bool doAA = needAA && apply_aa_to_rect(target, rect, width, combinedMatrix, &devBoundRect, |
+ bool doAA = needAA && apply_aa_to_rect(target, rect, width, matrix, &devBoundRect, |
&useVertexCoverage); |
const SkStrokeRec& strokeRec = strokeInfo->getStrokeRec(); |
@@ -853,12 +849,12 @@ void GrContext::drawRect(const GrPaint& paint, |
} |
if (width >= 0) { |
fAARectRenderer->strokeAARect(this->getGpu(), target, rect, |
- combinedMatrix, devBoundRect, |
+ matrix, devBoundRect, |
strokeRec, useVertexCoverage); |
} else { |
// filled AA rect |
fAARectRenderer->fillAARect(this->getGpu(), target, |
- rect, combinedMatrix, devBoundRect, |
+ rect, matrix, devBoundRect, |
useVertexCoverage); |
} |
return; |
@@ -897,23 +893,16 @@ void GrContext::drawRect(const GrPaint& paint, |
vertex[4].set(rect.fLeft, rect.fTop); |
} |
- GrDrawState::AutoViewMatrixRestore avmr; |
- if (NULL != matrix) { |
- GrDrawState* drawState = target->drawState(); |
- avmr.set(drawState, *matrix); |
- } |
- |
target->drawNonIndexed(primType, 0, vertCount); |
} else { |
// filled BW rect |
- target->drawSimpleRect(rect, matrix); |
+ target->drawSimpleRect(rect); |
} |
} |
void GrContext::drawRectToRect(const GrPaint& paint, |
const SkRect& dstRect, |
const SkRect& localRect, |
- const SkMatrix* dstMatrix, |
const SkMatrix* localMatrix) { |
AutoRestoreEffects are; |
AutoCheckFlush acf(this); |
@@ -921,7 +910,7 @@ void GrContext::drawRectToRect(const GrPaint& paint, |
GR_CREATE_TRACE_MARKER("GrContext::drawRectToRect", target); |
- target->drawRect(dstRect, dstMatrix, &localRect, localMatrix); |
+ target->drawRect(dstRect, &localRect, localMatrix); |
} |
namespace { |
@@ -1498,7 +1487,7 @@ bool GrContext::readRenderTargetPixels(GrRenderTarget* target, |
drawState->setRenderTarget(texture->asRenderTarget()); |
SkRect rect = SkRect::MakeWH(SkIntToScalar(width), SkIntToScalar(height)); |
- fGpu->drawSimpleRect(rect, NULL); |
+ fGpu->drawSimpleRect(rect); |
// we want to read back from the scratch's origin |
left = 0; |
top = 0; |
@@ -1578,7 +1567,7 @@ void GrContext::copyTexture(GrTexture* src, GrRenderTarget* dst, const SkIPoint* |
sampleM.preTranslate(SkIntToScalar(srcRect.fLeft), SkIntToScalar(srcRect.fTop)); |
drawState->addColorTextureEffect(src, sampleM); |
SkRect dstR = SkRect::MakeWH(SkIntToScalar(srcRect.width()), SkIntToScalar(srcRect.height())); |
- fGpu->drawSimpleRect(dstR, NULL); |
+ fGpu->drawSimpleRect(dstR); |
} |
bool GrContext::writeRenderTargetPixels(GrRenderTarget* target, |
@@ -1705,7 +1694,7 @@ bool GrContext::writeRenderTargetPixels(GrRenderTarget* target, |
drawState->setRenderTarget(target); |
- fGpu->drawSimpleRect(SkRect::MakeWH(SkIntToScalar(width), SkIntToScalar(height)), NULL); |
+ fGpu->drawSimpleRect(SkRect::MakeWH(SkIntToScalar(width), SkIntToScalar(height))); |
return true; |
} |
//////////////////////////////////////////////////////////////////////////////// |