aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrTextureStripAtlas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effects/GrTextureStripAtlas.cpp')
-rw-r--r--src/gpu/effects/GrTextureStripAtlas.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/gpu/effects/GrTextureStripAtlas.cpp b/src/gpu/effects/GrTextureStripAtlas.cpp
index f49830481b..6bc7ec0480 100644
--- a/src/gpu/effects/GrTextureStripAtlas.cpp
+++ b/src/gpu/effects/GrTextureStripAtlas.cpp
@@ -8,7 +8,6 @@
#include "GrTextureStripAtlas.h"
#include "GrContext.h"
#include "GrContextPriv.h"
-#include "GrResourceProvider.h"
#include "GrSurfaceContext.h"
#include "SkGr.h"
#include "SkPixelRef.h"
@@ -210,14 +209,15 @@ void GrTextureStripAtlas::lockTexture() {
// MDB TODO (caching): this side-steps the issue of proxies with unique IDs
sk_sp<GrTexture> texture(fDesc.fContext->textureProvider()->findAndRefTextureByUniqueKey(key));
if (!texture) {
- texture.reset(fDesc.fContext->textureProvider()->createTexture(
- texDesc, SkBudgeted::kYes,
- nullptr, 0,
- GrResourceProvider::kNoPendingIO_Flag));
+ texture.reset(fDesc.fContext->textureProvider()->createTexture(texDesc, SkBudgeted::kYes,
+ nullptr, 0));
if (!texture) {
return;
}
+ // We will be issuing writes to the surface using kDontFlush_PixelOpsFlag, so we
+ // need to make sure any existing IO is flushed
+ fDesc.fContext->flushSurfaceIO(texture.get());
fDesc.fContext->textureProvider()->assignUniqueKeyToTexture(key, texture.get());
// This is a new texture, so all of our cache info is now invalid
this->initLRU();