aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/GrGLCaps.h
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2016-10-14 16:18:33 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-10-14 21:15:01 +0000
commite5e7eb1478b6a856480c03ac986c4e6bb32d9f80 (patch)
treebd401f36cd65ea269d7df687e2c95500164a22d0 /src/gpu/gl/GrGLCaps.h
parent273f7d49150446e765cbc570b43452466e40c902 (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.h25
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 {