Allow FPs to elevate default precision for the entire fragment program
authorBrian Osman <brianosman@google.com>
Fri, 31 Mar 2017 14:59:10 +0000 (10:59 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Fri, 31 Mar 2017 15:43:51 +0000 (15:43 +0000)
commit92d7ccafdf896cf19764e025873d13315a76842d
treee6f9457d9e04283ec02dce3b4ad9001334f440f9
parent2e491a6a113c5e16a3b7bede5fa6f588deeb928d
Allow FPs to elevate default precision for the entire fragment program

Currently, GrConfigConversionEffect is able to round-trip on many mobile
GPUs because it uses highp for all intermediate variables (including the
texture fetch result). Separating the texture sample into a different
processor breaks that.

This is a blunt instrument, not to be used lightly.

Bug: skia:
Change-Id: I2ab365e3da79628069e2eb727c43c2bf45bfd789
Reviewed-on: https://skia-review.googlesource.com/10162
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
13 files changed:
bench/GLInstancedArraysBench.cpp
bench/GLVec4ScalarBench.cpp
bench/GLVertexAttributesBench.cpp
include/gpu/GrTypesPriv.h
include/private/GrGLSL.h
src/gpu/GrCoordTransform.cpp
src/gpu/GrGeometryProcessor.h
src/gpu/GrShaderCaps.cpp
src/gpu/gl/GrGLCaps.cpp
src/gpu/gl/GrGLGpu.cpp
src/gpu/glsl/GrGLSLFragmentShaderBuilder.cpp
src/gpu/glsl/GrGLSLFragmentShaderBuilder.h
src/gpu/glsl/GrGLSLVarying.cpp