diff options
author | 2017-11-20 13:28:48 -0500 | |
---|---|---|
committer | 2017-11-20 19:09:48 +0000 | |
commit | eadb9f9a559d559b55831d6ba6636d1b4d2d47c7 (patch) | |
tree | cfb93fc966ca2aa267fa5ccbecab854a883e5845 /src/gpu | |
parent | c60dea17d8fa72bad158a53d1e4df113ed8f92c2 (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.h | 6 |
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) { |