Index: src/gpu/glsl/GrGLSLCaps.h |
diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h |
index f93ef2766d18f376a0e65c1399ebf6151fbb4502..e703fb852384c7b4193b6fb66d6e5fa7ad9e2c8a 100755 |
--- a/src/gpu/glsl/GrGLSLCaps.h |
+++ b/src/gpu/glsl/GrGLSLCaps.h |
@@ -82,6 +82,15 @@ public: |
return fShaderDerivativeExtensionString; |
} |
+ bool mustSwizzleInShader() const { return fMustSwizzleInShader; } |
+ |
+ /** |
+ * Returns a string which represents how to map from an internal GLFormat to a given |
+ * GrPixelConfig. The function mustSwizzleInShader determines whether this swizzle is applied |
+ * in the generated shader code or using sample state in the 3D API. |
+ */ |
+ const char* getSwizzleMap(GrPixelConfig config) const { return fConfigSwizzle[config]; } |
+ |
GrGLSLGeneration generation() const { return fGLSLGeneration; } |
/** |
@@ -90,6 +99,8 @@ public: |
SkString dump() const override; |
private: |
+ void onApplyOptionsOverrides(const GrContextOptions& options) override; |
+ |
GrGLSLGeneration fGLSLGeneration; |
bool fDropsTileOnZeroDivide : 1; |
@@ -109,6 +120,9 @@ private: |
AdvBlendEqInteraction fAdvBlendEqInteraction; |
+ bool fMustSwizzleInShader; |
+ const char* fConfigSwizzle[kGrPixelConfigCnt]; |
+ |
friend class GrGLCaps; // For initialization. |
typedef GrShaderCaps INHERITED; |