aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrDistanceFieldTextContext.cpp
diff options
context:
space:
mode:
authorGravatar egdaniel <egdaniel@google.com>2014-08-28 05:41:14 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-08-28 05:41:14 -0700
commit7b3d5ee72c2238aa239bce4d5b3aea98a437ca7a (patch)
treeb1d226cbbf2572337c494e3cc72ca83d628e4787 /src/gpu/GrDistanceFieldTextContext.cpp
parent90e8457ab32bcc14b15876144ca47489d7b836ce (diff)
Make setVertexAttribs in GrDrawState take a stride parameter.
BUG=skia: Committed: https://skia.googlesource.com/skia/+/af013bf8afc4c77ab8ff230f536e2ade973427fa R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/511593004
Diffstat (limited to 'src/gpu/GrDistanceFieldTextContext.cpp')
-rwxr-xr-xsrc/gpu/GrDistanceFieldTextContext.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/gpu/GrDistanceFieldTextContext.cpp b/src/gpu/GrDistanceFieldTextContext.cpp
index b7b4f9903f..dc0ea954ec 100755
--- a/src/gpu/GrDistanceFieldTextContext.cpp
+++ b/src/gpu/GrDistanceFieldTextContext.cpp
@@ -44,6 +44,8 @@ extern const GrVertexAttrib gTextVertexAttribs[] = {
{kVec2f_GrVertexAttribType, sizeof(SkPoint) , kEffect_GrVertexAttribBinding}
};
+static const size_t kTextVASize = 2 * sizeof(SkPoint);
+
// position + color + texture coord
extern const GrVertexAttrib gTextVertexWithColorAttribs[] = {
{kVec2f_GrVertexAttribType, 0, kPosition_GrVertexAttribBinding},
@@ -51,6 +53,8 @@ extern const GrVertexAttrib gTextVertexWithColorAttribs[] = {
{kVec2f_GrVertexAttribType, sizeof(SkPoint) + sizeof(GrColor), kEffect_GrVertexAttribBinding}
};
+static const size_t kTextVAColorSize = 2 * sizeof(SkPoint) + sizeof(GrColor);
+
};
GrDistanceFieldTextContext::GrDistanceFieldTextContext(GrContext* context,
@@ -342,10 +346,12 @@ HAS_ATLAS:
fMaxVertices = kMinRequestedVerts;
if (useColorVerts) {
fDrawTarget->drawState()->setVertexAttribs<gTextVertexWithColorAttribs>(
- SK_ARRAY_COUNT(gTextVertexWithColorAttribs));
+ SK_ARRAY_COUNT(gTextVertexWithColorAttribs),
+ kTextVAColorSize);
} else {
fDrawTarget->drawState()->setVertexAttribs<gTextVertexAttribs>(
- SK_ARRAY_COUNT(gTextVertexAttribs));
+ SK_ARRAY_COUNT(gTextVertexAttribs),
+ kTextVASize);
}
bool flush = fDrawTarget->geometryHints(&fMaxVertices, NULL);
if (flush) {
@@ -353,10 +359,12 @@ HAS_ATLAS:
fContext->flush();
if (useColorVerts) {
fDrawTarget->drawState()->setVertexAttribs<gTextVertexWithColorAttribs>(
- SK_ARRAY_COUNT(gTextVertexWithColorAttribs));
+ SK_ARRAY_COUNT(gTextVertexWithColorAttribs),
+ kTextVAColorSize);
} else {
fDrawTarget->drawState()->setVertexAttribs<gTextVertexAttribs>(
- SK_ARRAY_COUNT(gTextVertexAttribs));
+ SK_ARRAY_COUNT(gTextVertexAttribs),
+ kTextVASize);
}
}
fMaxVertices = kDefaultRequestedVerts;
@@ -406,7 +414,7 @@ HAS_ATLAS:
size_t vertSize = fUseLCDText ? (2 * sizeof(SkPoint))
: (2 * sizeof(SkPoint) + sizeof(GrColor));
- SkASSERT(vertSize == fDrawTarget->getDrawState().getVertexSize());
+ SkASSERT(vertSize == fDrawTarget->getDrawState().getVertexStride());
SkPoint* positions = reinterpret_cast<SkPoint*>(
reinterpret_cast<intptr_t>(fVertices) + vertSize * fCurrVertex);