aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrShaderCaps.h
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2018-07-10 20:34:16 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-10 20:34:26 +0000
commit1b112cc5604d294427c0d51f194ab7fb3067d9e2 (patch)
treeddf61ad9a83efa733b03ce6970a716f6f68e3566 /src/gpu/GrShaderCaps.h
parentd275ef501c8e6ea6444912e22c29e2d13a3dfb53 (diff)
Revert "Remove interpolants are inaccurate workaround for Adreno 3xx."
This reverts commit a7a278205bb040061cb4ba46839efe18635c7edc. Reason for revert: Chrome change had to be reverted because of new failures on Nexus 9 and 6P. Original change's description: > Remove interpolants are inaccurate workaround for Adreno 3xx. > > The chrome screenshot unit test that led to adding this workaround has > been adjusted to avoid testing AA edges of rendered rectangles. We're > accepting the inaccuracy in favor of increased performance. > > Chrome change: https://chromium-review.googlesource.com/c/chromium/src/+/1129041 > > Bug: chromium:847984 > Change-Id: I9b714ade2a67e956ebb2773ebe3b8632dc3a50c6 > Reviewed-on: https://skia-review.googlesource.com/140180 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Commit-Queue: Brian Osman <brianosman@google.com> > Auto-Submit: Brian Salomon <bsalomon@google.com> > Reviewed-by: Brian Osman <brianosman@google.com> TBR=bsalomon@google.com,brianosman@google.com Change-Id: Ic6b0e5a343556e59d144852f9fa5b561302f9781 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:847984 Reviewed-on: https://skia-review.googlesource.com/140380 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrShaderCaps.h')
-rw-r--r--src/gpu/GrShaderCaps.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gpu/GrShaderCaps.h b/src/gpu/GrShaderCaps.h
index 66c75dfebb..e16c9f6d5b 100644
--- a/src/gpu/GrShaderCaps.h
+++ b/src/gpu/GrShaderCaps.h
@@ -121,6 +121,9 @@ public:
// If false, SkSL uses a workaround so that sk_FragCoord doesn't actually query gl_FragCoord
bool canUseFragCoord() const { return fCanUseFragCoord; }
+ // If true interpolated vertex shader outputs are inaccurate.
+ bool interpolantsAreInaccurate() const { return fInterpolantsAreInaccurate; }
+
// If true, short ints can't represent every integer in the 16-bit two's complement range as
// required by the spec. SKSL will always emit full ints.
bool incompleteShortIntPrecision() const { return fIncompleteShortIntPrecision; }
@@ -274,6 +277,7 @@ private:
bool fMustObfuscateUniformColor : 1;
bool fMustGuardDivisionEvenAfterExplicitZeroCheck : 1;
bool fCanUseFragCoord : 1;
+ bool fInterpolantsAreInaccurate : 1;
bool fIncompleteShortIntPrecision : 1;
const char* fVersionDeclString;