aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-11-20 13:28:48 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-11-20 19:09:48 +0000
commiteadb9f9a559d559b55831d6ba6636d1b4d2d47c7 (patch)
treecfb93fc966ca2aa267fa5ccbecab854a883e5845 /src/gpu
parentc60dea17d8fa72bad158a53d1e4df113ed8f92c2 (diff)
Only use flat varyings for integer texIndex.
Flat varyings aren't supported with ES 2.0, so just fall back to non-flat if we can only handle float. Change-Id: Id47a773b86666c46916efe5bcb1c629743977ccf Reviewed-on: https://skia-review.googlesource.com/73800 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu')
-rw-r--r--src/gpu/effects/GrAtlasedShaderHelpers.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/gpu/effects/GrAtlasedShaderHelpers.h b/src/gpu/effects/GrAtlasedShaderHelpers.h
index 7fc321daa2..ae35ec67de 100644
--- a/src/gpu/effects/GrAtlasedShaderHelpers.h
+++ b/src/gpu/effects/GrAtlasedShaderHelpers.h
@@ -40,7 +40,11 @@ static void append_index_uv_varyings(GrGLSLPrimitiveProcessor::EmitArgs& args,
args.fVaryingHandler->addVarying("TextureCoords", uv);
args.fVertBuilder->codeAppendf("%s = intCoords * %s;", uv->vsOut(), atlasSizeInvName);
- args.fVaryingHandler->addFlatVarying("TexIndex", texIdx);
+ if (args.fShaderCaps->integerSupport()) {
+ args.fVaryingHandler->addFlatVarying("TexIndex", texIdx);
+ } else {
+ args.fVaryingHandler->addVarying("TexIndex", texIdx);
+ }
args.fVertBuilder->codeAppendf("%s = texIdx;", texIdx->vsOut());
if (st) {