diff options
Diffstat (limited to 'src/gpu/gl/builders')
-rw-r--r-- | src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp | 51 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLFragmentShaderBuilder.h | 1 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLProgramBuilder.cpp | 6 | ||||
-rw-r--r-- | src/gpu/gl/builders/GrGLProgramBuilder.h | 5 |
4 files changed, 2 insertions, 61 deletions
diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp index 61932f3084..86c622d456 100644 --- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp +++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.cpp @@ -179,56 +179,9 @@ const char* GrGLFragmentShaderBuilder::dstColor() { fbFetchColorName = declared_color_output_name(); } return fbFetchColorName; - } else if (fProgramBuilder->fUniformHandles.fDstCopySamplerUni.isValid()) { - return kDstCopyColorName; - } else { - return ""; - } -} - -void GrGLFragmentShaderBuilder::emitCodeToReadDstTexture() { - bool topDown = SkToBool(kTopLeftOrigin_DstReadKeyBit & fProgramBuilder->header().fDstReadKey); - const char* dstCopyTopLeftName; - const char* dstCopyCoordScaleName; - const char* dstCopySamplerName; - uint32_t configMask; - if (SkToBool(kUseAlphaConfig_DstReadKeyBit & fProgramBuilder->header().fDstReadKey)) { - configMask = kA_GrColorComponentFlag; } else { - configMask = kRGBA_GrColorComponentFlags; - } - fProgramBuilder->fUniformHandles.fDstCopySamplerUni = - fProgramBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibility, - kSampler2D_GrSLType, - kDefault_GrSLPrecision, - "DstCopySampler", - &dstCopySamplerName); - fProgramBuilder->fUniformHandles.fDstCopyTopLeftUni = - fProgramBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibility, - kVec2f_GrSLType, - kDefault_GrSLPrecision, - "DstCopyUpperLeft", - &dstCopyTopLeftName); - fProgramBuilder->fUniformHandles.fDstCopyScaleUni = - fProgramBuilder->addUniform(GrGLProgramBuilder::kFragment_Visibility, - kVec2f_GrSLType, - kDefault_GrSLPrecision, - "DstCopyCoordScale", - &dstCopyCoordScaleName); - const char* fragPos = this->fragmentPosition(); - - this->codeAppend("// Read color from copy of the destination.\n"); - this->codeAppendf("vec2 _dstTexCoord = (%s.xy - %s) * %s;", - fragPos, dstCopyTopLeftName, dstCopyCoordScaleName); - if (!topDown) { - this->codeAppend("_dstTexCoord.y = 1.0 - _dstTexCoord.y;"); - } - this->codeAppendf("vec4 %s = ", GrGLFragmentShaderBuilder::kDstCopyColorName); - this->appendTextureLookup(dstCopySamplerName, - "_dstTexCoord", - configMask, - "rgba"); - this->codeAppend(";"); + return kDstCopyColorName; + } } void GrGLFragmentShaderBuilder::enableCustomOutput() { diff --git a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h index 688bbe6269..903c5e1d7b 100644 --- a/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h +++ b/src/gpu/gl/builders/GrGLFragmentShaderBuilder.h @@ -97,7 +97,6 @@ public: private: // Private public interface, used by GrGLProgramBuilder to build a fragment shader - void emitCodeToReadDstTexture(); void enableCustomOutput(); void enableSecondaryOutput(); const char* getPrimaryColorOutputName() const; diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.cpp b/src/gpu/gl/builders/GrGLProgramBuilder.cpp index 088169622c..bb278be395 100644 --- a/src/gpu/gl/builders/GrGLProgramBuilder.cpp +++ b/src/gpu/gl/builders/GrGLProgramBuilder.cpp @@ -56,12 +56,6 @@ GrGLProgram* GrGLProgramBuilder::CreateProgram(const DrawArgs& args, GrGLGpu* gp GrGLProgramBuilder* pb = builder.get(); - // emit code to read the dst copy texture, if necessary - if (GrGLFragmentShaderBuilder::kNoDstRead_DstReadKey != pb->header().fDstReadKey && - !gpu->glCaps().fbFetchSupport()) { - pb->fFS.emitCodeToReadDstTexture(); - } - // TODO: Once all stages can handle taking a float or vec4 and correctly handling them we can // seed correctly here GrGLSLExpr4 inputColor; diff --git a/src/gpu/gl/builders/GrGLProgramBuilder.h b/src/gpu/gl/builders/GrGLProgramBuilder.h index 4b40cefad0..a9288cc9b0 100644 --- a/src/gpu/gl/builders/GrGLProgramBuilder.h +++ b/src/gpu/gl/builders/GrGLProgramBuilder.h @@ -267,11 +267,6 @@ public: // We use the render target height to provide a y-down frag coord when specifying // origin_upper_left is not supported. UniformHandle fRTHeightUni; - - // Uniforms for computing texture coords to do the dst-copy lookup - UniformHandle fDstCopyTopLeftUni; - UniformHandle fDstCopyScaleUni; - UniformHandle fDstCopySamplerUni; }; protected: |