aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/effects/GrBitmapTextGeoProc.cpp
diff options
context:
space:
mode:
authorGravatar Jim Van Verth <jvanverth@google.com>2017-09-08 14:43:47 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-09-08 14:43:54 +0000
commite7492fe49c61915b70bde648b75f9b6fc60b4bef (patch)
tree0b8502ef3047f553e2427ee71f0e8c1508b2a6f6 /src/gpu/effects/GrBitmapTextGeoProc.cpp
parent336ce7babc1c6c9184a69e39fd4ee877ae4a067b (diff)
Revert "Add multitexture support to text and path shaders"
This reverts commit 7f754260f7fc2ae0326a072dd2f0429e584f8ca0. Reason for revert: Bot failures. Original change's description: > Add multitexture support to text and path shaders > > This does not add additional textures to the atlases, just adds the > ability to access those textures in the shaders. > > Bug: skia:3550 > Change-Id: I636b329a6f748b6753f5f92a70066fb412623df2 > Reviewed-on: https://skia-review.googlesource.com/43000 > Reviewed-by: Brian Salomon <bsalomon@google.com> > Commit-Queue: Jim Van Verth <jvanverth@google.com> TBR=jvanverth@google.com,bsalomon@google.com,robertphillips@google.com Change-Id: I5c28ea48ed9bdde2cd936ef4f96fc720d5e4b4a5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:3550 Reviewed-on: https://skia-review.googlesource.com/44162 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
Diffstat (limited to 'src/gpu/effects/GrBitmapTextGeoProc.cpp')
-rw-r--r--src/gpu/effects/GrBitmapTextGeoProc.cpp31
1 files changed, 16 insertions, 15 deletions
diff --git a/src/gpu/effects/GrBitmapTextGeoProc.cpp b/src/gpu/effects/GrBitmapTextGeoProc.cpp
index fab0904a4f..c2cf8ebc22 100644
--- a/src/gpu/effects/GrBitmapTextGeoProc.cpp
+++ b/src/gpu/effects/GrBitmapTextGeoProc.cpp
@@ -7,7 +7,6 @@
#include "GrBitmapTextGeoProc.h"
-#include "GrAtlasedShaderHelpers.h"
#include "GrTexture.h"
#include "glsl/GrGLSLFragmentShaderBuilder.h"
#include "glsl/GrGLSLGeometryProcessor.h"
@@ -37,11 +36,12 @@ public:
"AtlasSizeInv",
&atlasSizeInvName);
- GrGLSLVertToFrag uv(kVec2f_GrSLType);
- GrGLSLVertToFrag st(kVec2f_GrSLType);
- GrGLSLVertToFrag texIdx(kFloat_GrSLType);
- append_index_uv_varyings(args, btgp.inTextureCoords()->fName, atlasSizeInvName,
- &uv, &st, &texIdx);
+ GrGLSLVertToFrag v(kVec2f_GrSLType);
+ varyingHandler->addVarying("TextureCoords", &v, kHigh_GrSLPrecision);
+ vertBuilder->codeAppendf("%s = float2(%s.x, %s.y) * %s;", v.vsOut(),
+ btgp.inTextureCoords()->fName,
+ btgp.inTextureCoords()->fName,
+ atlasSizeInvName);
GrGLSLPPFragmentBuilder* fragBuilder = args.fFragBuilder;
// Setup pass through color
@@ -64,16 +64,18 @@ public:
btgp.localMatrix(),
args.fFPCoordTransformHandler);
- fragBuilder->codeAppend("float4 texColor;");
- append_multitexture_lookup(args, btgp.numTextureSamplers(),
- texIdx, uv.fsIn(), "texColor");
-
if (btgp.maskFormat() == kARGB_GrMaskFormat) {
- // modulate by color
- fragBuilder->codeAppendf("%s = %s * texColor;", args.fOutputColor, args.fOutputColor);
+ fragBuilder->codeAppendf("%s = ", args.fOutputColor);
+ fragBuilder->appendTextureLookupAndModulate(args.fOutputColor,
+ args.fTexSamplers[0],
+ v.fsIn(),
+ kVec2f_GrSLType);
+ fragBuilder->codeAppend(";");
fragBuilder->codeAppendf("%s = float4(1);", args.fOutputCoverage);
} else {
- fragBuilder->codeAppendf("%s = texColor;", args.fOutputCoverage);
+ fragBuilder->codeAppendf("%s = ", args.fOutputCoverage);
+ fragBuilder->appendTextureLookup(args.fTexSamplers[0], v.fsIn(), kVec2f_GrSLType);
+ fragBuilder->codeAppend(";");
}
}
@@ -87,7 +89,7 @@ public:
fColor = btgp.color();
}
- SkASSERT(btgp.numTextureSamplers() >= 1);
+ SkASSERT(btgp.numTextureSamplers() == 1);
GrTexture* atlas = btgp.textureSampler(0).peekTexture();
SkASSERT(atlas && SkIsPow2(atlas->width()) && SkIsPow2(atlas->height()));
@@ -106,7 +108,6 @@ public:
key |= (btgp.usesLocalCoords() && btgp.localMatrix().hasPerspective()) ? 0x1 : 0x0;
key |= btgp.maskFormat() << 1;
b->add32(key);
- b->add32(btgp.numTextureSamplers());
}
private: