diff options
Diffstat (limited to 'src/gpu/gl/GrGLCaps.h')
-rw-r--r-- | src/gpu/gl/GrGLCaps.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h index 1ce6094a6b..68cbc9bf16 100644 --- a/src/gpu/gl/GrGLCaps.h +++ b/src/gpu/gl/GrGLCaps.h @@ -125,6 +125,15 @@ public: return SkToBool(fConfigTable[config].fFlags & ConfigInfo::kRenderable_Flag); } } + + bool isConfigCopyable(GrPixelConfig config) const override { + // In GL we have three ways to be able to copy. CopyTexImage, blit, and draw. CopyTexImage + // requires the src to be an FBO attachment, blit requires both src and dst to be FBO + // attachments, and draw requires the dst to be an FBO attachment. Thus to copy from and to + // the same config, we need that config to be renderable so we can attach it to an FBO. + return this->isConfigRenderable(config, false); + } + bool canConfigBeImageStorage(GrPixelConfig config) const override { return SkToBool(fConfigTable[config].fFlags & ConfigInfo::kCanUseAsImageStorage_Flag); } |