Index: include/gpu/GrContext.h |
diff --git a/include/gpu/GrContext.h b/include/gpu/GrContext.h |
index 39f5be728f85b171920d841b842f69791905fa77..7a8663bed61321c29f74127761c3dfb2881549a1 100644 |
--- a/include/gpu/GrContext.h |
+++ b/include/gpu/GrContext.h |
@@ -49,10 +49,21 @@ class SK_API GrContext : public SkRefCnt { |
public: |
SK_DECLARE_INST_COUNT(GrContext) |
+ struct Options { |
+ Options() |
+ : fDrawPathToCompressedTexture(false) |
+ { } |
+ |
+ // EXPERIMENTAL |
+ // May be removed in the future, or may become standard depending |
+ // on the outcomes of a variety of internal tests. |
+ bool fDrawPathToCompressedTexture; |
+ }; |
+ |
/** |
* Creates a GrContext for a backend context. |
*/ |
- static GrContext* Create(GrBackend, GrBackendContext); |
+ static GrContext* Create(GrBackend, GrBackendContext, const Options* opts = NULL); |
virtual ~GrContext(); |
@@ -939,6 +950,14 @@ public: |
GrPathRendererChain::DrawType drawType = GrPathRendererChain::kColor_DrawType, |
GrPathRendererChain::StencilSupport* stencilSupport = NULL); |
+ /** |
+ * This returns true if the underlying graphics device and system is |
bsalomon
2014/08/11 20:51:32
update comment?
|
+ * capable of drawing paths to compressed textures. This generally provides |
+ * a speedup on mobile devices with advanced GPUs, but it only gets turned |
+ * on when there is a clear speedup benefit. |
+ */ |
+ const Options& getOptions() const { return fOptions; } |
+ |
#if GR_CACHE_STATS |
void printCacheStats() const; |
#endif |
@@ -987,7 +1006,9 @@ private: |
int fMaxTextureSizeOverride; |
- GrContext(); // init must be called after the constructor. |
+ const Options fOptions; |
+ |
+ GrContext(const Options&); // init must be called after the constructor. |
bool init(GrBackend, GrBackendContext); |
void setupDrawBuffer(); |