aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/gl/builders
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2015-10-22 08:20:00 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-10-22 08:20:00 -0700
commit472d44e8f881f87449d11ba66515d3c1c5e69891 (patch)
tree1dc846f52b93a583ba0095403f63392446d51f05 /src/gpu/gl/builders
parent26ad17b8f872fc8bc18df7f49067edbd8b9799e8 (diff)
Add version string and force highp NDS transfrom to GLSLCaps
This also include the use of any() in the shaders. BUG=skia: Committed: https://skia.googlesource.com/skia/+/cef4bce8e260b49bf3417eadbac806cf7d39cdc8 Review URL: https://codereview.chromium.org/1417993004
Diffstat (limited to 'src/gpu/gl/builders')
-rw-r--r--src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp14
-rw-r--r--src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp4
2 files changed, 9 insertions, 9 deletions
diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
index 4a5814de51..d31482a4bb 100644
--- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp
@@ -192,14 +192,14 @@ const char* GrGLFragmentShaderBuilder::fragmentPosition() {
const char* GrGLFragmentShaderBuilder::dstColor() {
fHasReadDstColor = true;
- GrGLGpu* gpu = fProgramBuilder->gpu();
- if (gpu->glCaps().glslCaps()->fbFetchSupport()) {
+ const GrGLSLCaps* glslCaps = fProgramBuilder->glslCaps();
+ if (glslCaps->fbFetchSupport()) {
this->addFeature(1 << (GrGLFragmentShaderBuilder::kLastGLSLPrivateFeature + 1),
- gpu->glCaps().glslCaps()->fbFetchExtensionString());
+ glslCaps->fbFetchExtensionString());
// Some versions of this extension string require declaring custom color output on ES 3.0+
- const char* fbFetchColorName = gpu->glCaps().glslCaps()->fbFetchColorName();
- if (gpu->glCaps().glslCaps()->fbFetchNeedsCustomOutput()) {
+ const char* fbFetchColorName = glslCaps->fbFetchColorName();
+ if (glslCaps->fbFetchNeedsCustomOutput()) {
this->enableCustomOutput();
fOutputs[fCustomColorOutputIndex].setTypeModifier(GrShaderVar::kInOut_TypeModifier);
fbFetchColorName = declared_color_output_name();
@@ -213,7 +213,7 @@ const char* GrGLFragmentShaderBuilder::dstColor() {
void GrGLFragmentShaderBuilder::enableAdvancedBlendEquationIfNeeded(GrBlendEquation equation) {
SkASSERT(GrBlendEquationIsAdvanced(equation));
- const GrGLSLCaps& caps = *fProgramBuilder->gpu()->glCaps().glslCaps();
+ const GrGLSLCaps& caps = *fProgramBuilder->glslCaps();
if (!caps.mustEnableAdvBlendEqs()) {
return;
}
@@ -268,7 +268,7 @@ const char* GrGLFragmentShaderBuilder::getSecondaryColorOutputName() const {
bool GrGLFragmentShaderBuilder::compileAndAttachShaders(GrGLuint programId,
SkTDArray<GrGLuint>* shaderIds) {
GrGLGpu* gpu = fProgramBuilder->gpu();
- this->versionDecl() = GrGLGetGLSLVersionDecl(gpu->ctxInfo());
+ this->versionDecl() = fProgramBuilder->glslCaps()->versionDeclString();
GrGLAppendGLSLDefaultFloatPrecisionDeclaration(kDefault_GrSLPrecision,
gpu->glStandard(),
&this->precisionQualifier());
diff --git a/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp b/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp
index de0bb03aa3..c1a7dee56a 100644
--- a/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp
+++ b/src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp
@@ -39,7 +39,7 @@ void GrGLVertexBuilder::transformToNormalizedDeviceSpace(const GrShaderVar& posV
SkASSERT(!fRtAdjustName);
GrSLPrecision precision = kDefault_GrSLPrecision;
- if (fProgramBuilder->ctxInfo().vendor() == kARM_GrGLVendor) {
+ if (fProgramBuilder->glslCaps()->forceHighPrecisionNDSTransform()) {
precision = kHigh_GrSLPrecision;
}
@@ -89,7 +89,7 @@ void GrGLVertexBuilder::bindVertexAttributes(GrGLuint programID) {
bool
GrGLVertexBuilder::compileAndAttachShaders(GrGLuint programId, SkTDArray<GrGLuint>* shaderIds) {
- this->versionDecl() = GrGLGetGLSLVersionDecl(fProgramBuilder->ctxInfo());
+ this->versionDecl() = fProgramBuilder->glslCaps()->versionDeclString();
this->compileAndAppendLayoutQualifiers();
fProgramBuilder->appendUniformDecls(GrGLProgramBuilder::kVertex_Visibility, &this->uniforms());
this->appendDecls(fInputs, &this->inputs());