summaryrefslogtreecommitdiff
path: root/gpu/gl/GrGLCaps.h
diff options
context:
space:
mode:
Diffstat (limited to 'gpu/gl/GrGLCaps.h')
-rw-r--r--gpu/gl/GrGLCaps.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/gpu/gl/GrGLCaps.h b/gpu/gl/GrGLCaps.h
index 48925d48..ea0f4124 100644
--- a/gpu/gl/GrGLCaps.h
+++ b/gpu/gl/GrGLCaps.h
@@ -86,6 +86,15 @@ public:
kLast_InvalidateFBType = kInvalidate_InvalidateFBType
};
+ enum MapBufferType {
+ kNone_MapBufferType,
+ kMapBuffer_MapBufferType, // glMapBuffer()
+ kMapBufferRange_MapBufferType, // glMapBufferRange()
+ kChromium_MapBufferType, // GL_CHROMIUM_map_sub
+
+ kLast_MapBufferType = kChromium_MapBufferType,
+ };
+
/**
* Creates a GrGLCaps that advertises no support for any extensions,
* formats, etc. Call init to initialize from a GrGLContextInfo.
@@ -169,10 +178,8 @@ public:
InvalidateFBType invalidateFBType() const { return fInvalidateFBType; }
- /**
- * Returs a string containeng the caps info.
- */
- virtual SkString dump() const SK_OVERRIDE;
+ /// What type of buffer mapping is supported?
+ MapBufferType mapBufferType() const { return fMapBufferType; }
/**
* Gets an array of legal stencil formats. These formats are not guaranteed
@@ -258,8 +265,10 @@ public:
bool dropsTileOnZeroDivide() const { return fDropsTileOnZeroDivide; }
- /// Is GL_CHROMIUM_map_sub supported?
- bool mapSubSupport() const { return fMapSubSupport; }
+ /**
+ * Returns a string containing the caps info.
+ */
+ virtual SkString dump() const SK_OVERRIDE;
private:
/**
@@ -322,6 +331,7 @@ private:
MSFBOType fMSFBOType;
FBFetchType fFBFetchType;
InvalidateFBType fInvalidateFBType;
+ MapBufferType fMapBufferType;
bool fRGBA8RenderbufferSupport : 1;
bool fBGRAFormatSupport : 1;
@@ -342,7 +352,6 @@ private:
bool fIsCoreProfile : 1;
bool fFullClearIsFree : 1;
bool fDropsTileOnZeroDivide : 1;
- bool fMapSubSupport : 1;
typedef GrDrawTargetCaps INHERITED;
};