aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/glsl/GrGLSLProgramBuilder.cpp
diff options
context:
space:
mode:
authorGravatar cdalton <cdalton@nvidia.com>2016-04-11 12:03:08 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-11 12:03:08 -0700
commita6b92ad1f7b79106caef6a4c721903544f507a02 (patch)
treef91503b26a515e060202000ecd6bb1923de1e7ed /src/gpu/glsl/GrGLSLProgramBuilder.cpp
parent21a465d7f4c5e639044e79971aeaa1194fc73078 (diff)
Infer sampler precision from pixel config
Adds a "samplerPrecision" method to GrGLSLCaps and updates GrGLSLProgramBuilder to infer a sampler's precision based on its config and visibility. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1846963004 Review URL: https://codereview.chromium.org/1846963004
Diffstat (limited to 'src/gpu/glsl/GrGLSLProgramBuilder.cpp')
-rw-r--r--src/gpu/glsl/GrGLSLProgramBuilder.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gpu/glsl/GrGLSLProgramBuilder.cpp b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
index 512d9d14d9..4e90452925 100644
--- a/src/gpu/glsl/GrGLSLProgramBuilder.cpp
+++ b/src/gpu/glsl/GrGLSLProgramBuilder.cpp
@@ -241,10 +241,12 @@ void GrGLSLProgramBuilder::emitSamplers(const GrProcessor& processor,
1 << GrGLSLShaderBuilder::kExternalTexture_GLSLPrivateFeature,
externalFeatureString);
}
+ GrSLPrecision precision = this->glslCaps()->samplerPrecision(access.getTexture()->config(),
+ visibility);
name.printf("Sampler%d", t);
- localSamplerUniforms[t] = this->uniformHandler()->addUniform(access.getVisibility(),
+ localSamplerUniforms[t] = this->uniformHandler()->addUniform(visibility,
samplerType,
- access.getPrecision(),
+ precision,
name.c_str());
outSamplers->emplace_back(localSamplerUniforms[t], access);
}