Index: src/gpu/glsl/GrGLSLCaps.h |
diff --git a/src/gpu/glsl/GrGLSLCaps.h b/src/gpu/glsl/GrGLSLCaps.h |
index 060539645e23369d3e5e6aae2079b0f9702aa71e..2f87f6685032cdf9af8266767c98c9fbb4ed01b7 100755 |
--- a/src/gpu/glsl/GrGLSLCaps.h |
+++ b/src/gpu/glsl/GrGLSLCaps.h |
@@ -54,6 +54,10 @@ public: |
bool dropsTileOnZeroDivide() const { return fDropsTileOnZeroDivide; } |
+ bool flatInterpolationSupport() const { return fFlatInterpolationSupport; } |
+ |
+ bool noperspectiveInterpolationSupport() const { return fNoPerspectiveInterpolationSupport; } |
+ |
AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInteraction; } |
bool mustEnableAdvBlendEqs() const { |
@@ -105,6 +109,11 @@ public: |
return fExternalTextureExtensionString; |
} |
+ const char* noperspectiveInterpolationExtensionString() const { |
+ SkASSERT(this->noperspectiveInterpolationSupport()); |
+ return fNoPerspectiveInterpolationExtensionString; |
+ } |
+ |
/** |
* Given a texture's config, this determines what swizzle must be appended to accesses to the |
* texture in generated shader code. Swizzling may be implemented in texture parameters or a |
@@ -137,6 +146,8 @@ private: |
bool fBindlessTextureSupport : 1; |
bool fUsesPrecisionModifiers : 1; |
bool fCanUseAnyFunctionInShader : 1; |
+ bool fFlatInterpolationSupport : 1; |
+ bool fNoPerspectiveInterpolationSupport : 1; |
// Used for specific driver bug work arounds |
bool fCanUseMinAndAbsTogether : 1; |
@@ -148,6 +159,7 @@ private: |
const char* fFragCoordConventionsExtensionString; |
const char* fSecondaryOutputExtensionString; |
const char* fExternalTextureExtensionString; |
+ const char* fNoPerspectiveInterpolationExtensionString; |
const char* fFBFetchColorName; |
const char* fFBFetchExtensionString; |