diff options
author | 2016-10-14 16:18:33 -0400 | |
---|---|---|
committer | 2016-10-14 21:15:01 +0000 | |
commit | e5e7eb1478b6a856480c03ac986c4e6bb32d9f80 (patch) | |
tree | bd401f36cd65ea269d7df687e2c95500164a22d0 /src/gpu/gl/GrGLCaps.h | |
parent | 273f7d49150446e765cbc570b43452466e40c902 (diff) |
Rework GL fbo blit limitations as finer grained flags.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3480
BUG=skia:5804
Change-Id: Idd86f96a92420ec98c7cf07962f4857e0b81b9c6
Reviewed-on: https://skia-review.googlesource.com/3480
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/gl/GrGLCaps.h')
-rw-r--r-- | src/gpu/gl/GrGLCaps.h | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/gpu/gl/GrGLCaps.h b/src/gpu/gl/GrGLCaps.h index e162b38b9c..794bb75119 100644 --- a/src/gpu/gl/GrGLCaps.h +++ b/src/gpu/gl/GrGLCaps.h @@ -73,19 +73,14 @@ public: kLast_MSFBOType = kMixedSamples_MSFBOType }; - enum BlitFramebufferSupport { - kNone_BlitFramebufferSupport, - /** - * ANGLE exposes a limited blit framebuffer extension that does not allow for stretching - * or mirroring. - */ - kNoScalingNoMirroring_BlitFramebufferSupport, - /** - * ES3 has restricted support when the src is MSAA: src rect == dst rect, dst format == src - * format. - */ - kRectsAndFormatsMatchForMSAASrc_BlitFramebufferSupport, - kFull_BlitFramebufferSupport + enum BlitFramebufferFlags { + kNoSupport_BlitFramebufferFlag = 1 << 0, + kNoScalingOrMirroring_BlitFramebufferFlag = 1 << 1, + kResolveMustBeFull_BlitFrambufferFlag = 1 << 2, + kNoMSAADst_BlitFramebufferFlag = 1 << 3, + kNoFormatConversion_BlitFramebufferFlag = 1 << 4, + kNoFormatConversionForMSAASrc_BlitFramebufferFlag = 1 << 5, + kRectsMustMatchForMSAASrc_BlitFramebufferFlag = 1 << 6, }; enum InvalidateFBType { @@ -235,7 +230,7 @@ public: /** * What functionality is supported by glBlitFramebuffer. */ - BlitFramebufferSupport blitFramebufferSupport() const { return fBlitFramebufferSupport; } + uint32_t blitFramebufferSupportFlags() const { return fBlitFramebufferFlags; } /** * Is the MSAA FBO extension one where the texture is multisampled when bound to an FBO and @@ -419,7 +414,7 @@ private: bool fRGBAToBGRAReadbackConversionsAreSlow : 1; bool fDoManualMipmapping : 1; - BlitFramebufferSupport fBlitFramebufferSupport; + uint32_t fBlitFramebufferFlags; /** Number type of the components (with out considering number of bits.) */ enum FormatType { |