diff options
author | Eric Karl <ericrk@chromium.org> | 2017-03-31 09:38:52 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-04-01 01:22:45 +0000 |
commit | d58f040532f2f5a63d24bd17d7c588e52c0b99c3 (patch) | |
tree | e38f39fd56e11da5be3d4ede931bb1e29c591f20 /include | |
parent | c8c176025c4fb610007c9705e37439c38b3aff5d (diff) |
Respect kRectsMustMatchForMSAASrc_BlitFramebufferFlag in dst setup
Crurently, when preparing a texture for blitFramebuffer, we ignore the
kRectsMustMatchForMSAASrc_BlitFramebufferFlag, and may attempt to
copy from one src rect to a different dst rect.
This change updates initDescForDstCopy and setupDstTexture to allocate
larger textures if necessary and accomodate this flags requirements.
Bug: 658277
Change-Id: I9f45a03d4055e0ad87c01e1d826287695096e609
Reviewed-on: https://skia-review.googlesource.com/10941
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/gpu/GrCaps.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h index 239d4a4ea9..a7096e3fd9 100644 --- a/include/gpu/GrCaps.h +++ b/include/gpu/GrCaps.h @@ -189,9 +189,12 @@ public: * This is can be called before allocating a texture to be a dst for copySurface. This is only * used for doing dst copies needed in blends, thus the src is always a GrRenderTarget. It will * populate the origin, config, and flags fields of the desc such that copySurface can - * efficiently succeed. + * efficiently succeed. rectsMustMatch will be set to true if the copy operation must ensure + * that the src and dest rects are identical. disallowSubrect will be set to true if copy rect + * must equal src's bounds. */ - virtual bool initDescForDstCopy(const GrRenderTarget* src, GrSurfaceDesc* desc) const = 0; + virtual bool initDescForDstCopy(const GrRenderTarget* src, GrSurfaceDesc* desc, + bool* rectsMustMatch, bool* disallowSubrect) const = 0; protected: /** Subclasses must call this at the end of their constructors in order to apply caps |