| Index: src/gpu/effects/GrCustomCoordsTextureEffect.cpp
|
| diff --git a/src/gpu/effects/GrCustomCoordsTextureEffect.cpp b/src/gpu/effects/GrCustomCoordsTextureEffect.cpp
|
| deleted file mode 100644
|
| index a132e86cf9e3e1104e5c868c6ad5dc4f04ab61bb..0000000000000000000000000000000000000000
|
| --- a/src/gpu/effects/GrCustomCoordsTextureEffect.cpp
|
| +++ /dev/null
|
| @@ -1,133 +0,0 @@
|
| -/*
|
| - * Copyright 2013 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include "GrCustomCoordsTextureEffect.h"
|
| -#include "GrInvariantOutput.h"
|
| -#include "GrTexture.h"
|
| -#include "gl/GrGLProcessor.h"
|
| -#include "gl/GrGLSL.h"
|
| -#include "gl/GrGLTexture.h"
|
| -#include "gl/GrGLGeometryProcessor.h"
|
| -#include "gl/builders/GrGLProgramBuilder.h"
|
| -
|
| -class GrGLCustomCoordsTextureEffect : public GrGLGeometryProcessor {
|
| -public:
|
| - GrGLCustomCoordsTextureEffect(const GrGeometryProcessor&,
|
| - const GrBatchTracker&) {}
|
| -
|
| - virtual void emitCode(const EmitArgs& args) SK_OVERRIDE {
|
| - const GrCustomCoordsTextureEffect& cte =
|
| - args.fGP.cast<GrCustomCoordsTextureEffect>();
|
| -
|
| - GrGLVertexBuilder* vsBuilder = args.fPB->getVertexShaderBuilder();
|
| -
|
| - GrGLVertToFrag v(kVec2f_GrSLType);
|
| - args.fPB->addVarying("TextureCoords", &v);
|
| - vsBuilder->codeAppendf("%s = %s;", v.vsOut(), cte.inTextureCoords()->fName);
|
| -
|
| - if (cte.inColor()) {
|
| - args.fPB->addPassThroughAttribute(cte.inColor(), args.fOutputColor);
|
| - }
|
| -
|
| - // setup output coords
|
| - vsBuilder->codeAppendf("%s = %s;", vsBuilder->positionCoords(), cte.inPosition()->fName);
|
| - vsBuilder->codeAppendf("%s = %s;", vsBuilder->localCoords(), cte.inPosition()->fName);
|
| -
|
| - // setup position varying
|
| - vsBuilder->codeAppendf("%s = %s * vec3(%s, 1);", vsBuilder->glPosition(),
|
| - vsBuilder->uViewM(), cte.inPosition()->fName);
|
| -
|
| - GrGLGPFragmentBuilder* fsBuilder = args.fPB->getFragmentShaderBuilder();
|
| - fsBuilder->codeAppendf("%s = ", args.fOutputCoverage);
|
| - fsBuilder->appendTextureLookup(args.fSamplers[0], v.fsIn(), kVec2f_GrSLType);
|
| - fsBuilder->codeAppend(";");
|
| - }
|
| -
|
| - virtual void setData(const GrGLProgramDataManager&,
|
| - const GrGeometryProcessor&,
|
| - const GrBatchTracker&) SK_OVERRIDE {}
|
| -
|
| - static inline void GenKey(const GrGeometryProcessor& proc,
|
| - const GrBatchTracker&,
|
| - const GrGLCaps&,
|
| - GrProcessorKeyBuilder* b) {
|
| - const GrCustomCoordsTextureEffect& gp = proc.cast<GrCustomCoordsTextureEffect>();
|
| -
|
| - b->add32(SkToBool(gp.inColor()));
|
| - }
|
| -
|
| -
|
| -private:
|
| - typedef GrGLGeometryProcessor INHERITED;
|
| -};
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -
|
| -GrCustomCoordsTextureEffect::GrCustomCoordsTextureEffect(GrTexture* texture,
|
| - const GrTextureParams& params,
|
| - bool hasColor)
|
| - : fTextureAccess(texture, params), fInColor(NULL) {
|
| - this->initClassID<GrCustomCoordsTextureEffect>();
|
| - fInPosition = &this->addVertexAttrib(GrAttribute("inPosition", kVec2f_GrVertexAttribType));
|
| - if (hasColor) {
|
| - fInColor = &this->addVertexAttrib(GrAttribute("inColor", kVec4ub_GrVertexAttribType));
|
| - this->setHasVertexColor();
|
| - }
|
| - fInTextureCoords = &this->addVertexAttrib(GrAttribute("inTextureCoords",
|
| - kVec2f_GrVertexAttribType));
|
| - this->addTextureAccess(&fTextureAccess);
|
| -}
|
| -
|
| -bool GrCustomCoordsTextureEffect::onIsEqual(const GrGeometryProcessor& other) const {
|
| - const GrCustomCoordsTextureEffect& gp = other.cast<GrCustomCoordsTextureEffect>();
|
| - return SkToBool(this->inColor()) == SkToBool(gp.inColor());
|
| -}
|
| -
|
| -void GrCustomCoordsTextureEffect::onComputeInvariantOutput(GrInvariantOutput* inout) const {
|
| - if (GrPixelConfigIsAlphaOnly(this->texture(0)->config())) {
|
| - inout->mulByUnknownAlpha();
|
| - } else if (GrPixelConfigIsOpaque(this->texture(0)->config())) {
|
| - inout->mulByUnknownOpaqueColor();
|
| - } else {
|
| - inout->mulByUnknownColor();
|
| - }
|
| -}
|
| -
|
| -void GrCustomCoordsTextureEffect::getGLProcessorKey(const GrBatchTracker& bt,
|
| - const GrGLCaps& caps,
|
| - GrProcessorKeyBuilder* b) const {
|
| - GrGLCustomCoordsTextureEffect::GenKey(*this, bt, caps, b);
|
| -}
|
| -
|
| -GrGLGeometryProcessor*
|
| -GrCustomCoordsTextureEffect::createGLInstance(const GrBatchTracker& bt) const {
|
| - return SkNEW_ARGS(GrGLCustomCoordsTextureEffect, (*this, bt));
|
| -}
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -
|
| -GR_DEFINE_GEOMETRY_PROCESSOR_TEST(GrCustomCoordsTextureEffect);
|
| -
|
| -GrGeometryProcessor* GrCustomCoordsTextureEffect::TestCreate(SkRandom* random,
|
| - GrContext*,
|
| - const GrDrawTargetCaps&,
|
| - GrTexture* textures[]) {
|
| - int texIdx = random->nextBool() ? GrProcessorUnitTest::kSkiaPMTextureIdx :
|
| - GrProcessorUnitTest::kAlphaTextureIdx;
|
| - static const SkShader::TileMode kTileModes[] = {
|
| - SkShader::kClamp_TileMode,
|
| - SkShader::kRepeat_TileMode,
|
| - SkShader::kMirror_TileMode,
|
| - };
|
| - SkShader::TileMode tileModes[] = {
|
| - kTileModes[random->nextULessThan(SK_ARRAY_COUNT(kTileModes))],
|
| - kTileModes[random->nextULessThan(SK_ARRAY_COUNT(kTileModes))],
|
| - };
|
| - GrTextureParams params(tileModes, random->nextBool() ? GrTextureParams::kBilerp_FilterMode :
|
| - GrTextureParams::kNone_FilterMode);
|
| -
|
| - return GrCustomCoordsTextureEffect::Create(textures[texIdx], params, random->nextBool());
|
| -}
|
|
|