Don't reuse scratch textures update

https://codereview.chromium.org/23609026/



git-svn-id: http://skia.googlecode.com/svn/trunk@11366 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
robertphillips@google.com 2013-09-18 22:33:57 +00:00
parent ada90dac10
commit 9528bdb0dc
2 changed files with 9 additions and 4 deletions

View File

@ -567,9 +567,8 @@ void GrInOrderDrawBuffer::initCopySurfaceDstDesc(const GrSurface* src, GrTexture
fDstGpu->initCopySurfaceDstDesc(src, desc);
}
void GrInOrderDrawBuffer::willReserveVertexAndIndexSpace(
int vertexCount,
int indexCount) {
void GrInOrderDrawBuffer::willReserveVertexAndIndexSpace(int vertexCount,
int indexCount) {
// We use geometryHints() to know whether to flush the draw buffer. We
// can't flush if we are inside an unbalanced pushGeometrySource.
// Moreover, flushing blows away vertex and index data that was

View File

@ -7,6 +7,7 @@
#include "GrSWMaskHelper.h"
#include "GrDrawState.h"
#include "GrDrawTargetCaps.h"
#include "GrGpu.h"
#include "SkStrokeRec.h"
@ -133,9 +134,14 @@ bool GrSWMaskHelper::getTexture(GrAutoScratchTexture* texture) {
void GrSWMaskHelper::toTexture(GrTexture *texture) {
SkAutoLockPixels alp(fBM);
// If we aren't reusing scratch textures we don't need to flush before
// writing since no one else will be using 'texture'
bool reuseScratch = fContext->getGpu()->caps()->reuseScratchTextures();
texture->writePixels(0, 0, fBM.width(), fBM.height(),
kAlpha_8_GrPixelConfig,
fBM.getPixels(), fBM.rowBytes());
fBM.getPixels(), fBM.rowBytes(),
reuseScratch ? 0 : GrContext::kDontFlush_PixelOpsFlag);
}
////////////////////////////////////////////////////////////////////////////////