diff options
author | 2015-10-22 08:20:00 -0700 | |
---|---|---|
committer | 2015-10-22 08:20:00 -0700 | |
commit | 472d44e8f881f87449d11ba66515d3c1c5e69891 (patch) | |
tree | 1dc846f52b93a583ba0095403f63392446d51f05 /src/gpu/gl/builders | |
parent | 26ad17b8f872fc8bc18df7f49067edbd8b9799e8 (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.cpp | 14 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLVertexShaderBuilder.cpp | 4 |
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()); |