Patch to create a distinct geometry processor. The vast majority of this patch
is just a rename. The meat is in GrGeometryProcessor, GrProcessor,
GrGL*Processor, GrProcessorStage, Gr*BackendProcessorFactory,
GrProcessUnitTestFactory, and the builders
BUG=skia:
R=bsalomon@google.com
Author: joshualitt@chromium.org
Review URL: https://codereview.chromium.org/582963002
diff --git a/gm/beziereffects.cpp b/gm/beziereffects.cpp
index 924f2a5..ec7e83e 100644
--- a/gm/beziereffects.cpp
+++ b/gm/beziereffects.cpp
@@ -26,7 +26,7 @@
namespace {
extern const GrVertexAttrib kAttribs[] = {
{kVec2f_GrVertexAttribType, 0, kPosition_GrVertexAttribBinding},
- {kVec4f_GrVertexAttribType, sizeof(SkPoint), kEffect_GrVertexAttribBinding}
+ {kVec4f_GrVertexAttribType, sizeof(SkPoint), kGeometryProcessor_GrVertexAttribBinding}
};
}
@@ -92,17 +92,17 @@
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)},
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)}
};
- for(int edgeType = 0; edgeType < kGrEffectEdgeTypeCnt; ++edgeType) {
- SkAutoTUnref<GrEffect> effect;
+ for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
+ SkAutoTUnref<GrGeometryProcessor> gp;
{ // scope to contain GrTestTarget
GrTestTarget tt;
context->getTestTarget(&tt);
if (NULL == tt.target()) {
continue;
}
- GrEffectEdgeType et = (GrEffectEdgeType)edgeType;
- effect.reset(GrCubicEffect::Create(et, *tt.target()->caps()));
- if (!effect) {
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrCubicEffect::Create(et, *tt.target()->caps()));
+ if (!gp) {
continue;
}
}
@@ -170,7 +170,7 @@
GrDrawState* drawState = tt.target()->drawState();
drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
- drawState->setGeometryProcessor(effect);
+ drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
@@ -250,17 +250,17 @@
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)}
};
SkScalar weight = rand.nextRangeF(0.f, 2.f);
- for(int edgeType = 0; edgeType < kGrEffectEdgeTypeCnt; ++edgeType) {
- SkAutoTUnref<GrEffect> effect;
+ for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
+ SkAutoTUnref<GrGeometryProcessor> gp;
{ // scope to contain GrTestTarget
GrTestTarget tt;
context->getTestTarget(&tt);
if (NULL == tt.target()) {
continue;
}
- GrEffectEdgeType et = (GrEffectEdgeType)edgeType;
- effect.reset(GrConicEffect::Create(et, *tt.target()->caps()));
- if (!effect) {
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrConicEffect::Create(et, *tt.target()->caps()));
+ if (!gp) {
continue;
}
}
@@ -325,7 +325,7 @@
GrDrawState* drawState = tt.target()->drawState();
drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
- drawState->setGeometryProcessor(effect);
+ drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
@@ -439,17 +439,17 @@
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)},
{rand.nextRangeF(0.f, w), rand.nextRangeF(0.f, h)}
};
- for(int edgeType = 0; edgeType < kGrEffectEdgeTypeCnt; ++edgeType) {
- SkAutoTUnref<GrEffect> effect;
+ for(int edgeType = 0; edgeType < kGrProcessorEdgeTypeCnt; ++edgeType) {
+ SkAutoTUnref<GrGeometryProcessor> gp;
{ // scope to contain GrTestTarget
GrTestTarget tt;
context->getTestTarget(&tt);
if (NULL == tt.target()) {
continue;
}
- GrEffectEdgeType et = (GrEffectEdgeType)edgeType;
- effect.reset(GrQuadEffect::Create(et, *tt.target()->caps()));
- if (!effect) {
+ GrPrimitiveEdgeType et = (GrPrimitiveEdgeType)edgeType;
+ gp.reset(GrQuadEffect::Create(et, *tt.target()->caps()));
+ if (!gp) {
continue;
}
}
@@ -509,7 +509,7 @@
GrDrawState* drawState = tt.target()->drawState();
drawState->setVertexAttribs<kAttribs>(2, sizeof(Vertex));
- drawState->setGeometryProcessor(effect);
+ drawState->setGeometryProcessor(gp);
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
diff --git a/gm/convexpolyeffect.cpp b/gm/convexpolyeffect.cpp
index 4f84c61..e567208 100644
--- a/gm/convexpolyeffect.cpp
+++ b/gm/convexpolyeffect.cpp
@@ -24,7 +24,7 @@
namespace skiagm {
/**
- * This GM directly exercises a GrEffect that draws convex polygons.
+ * This GM directly exercises a GrProcessor that draws convex polygons.
*/
class ConvexPolyEffect : public GM {
public:
@@ -113,7 +113,7 @@
const SkPath* path = iter.get();
SkScalar x = 0;
- for (int et = 0; et < kGrEffectEdgeTypeCnt; ++et) {
+ for (int et = 0; et < kGrProcessorEdgeTypeCnt; ++et) {
GrTestTarget tt;
context->getTestTarget(&tt);
if (NULL == tt.target()) {
@@ -127,12 +127,12 @@
m.setTranslate(x, y);
path->transform(m, &p);
- GrEffectEdgeType edgeType = (GrEffectEdgeType) et;
- SkAutoTUnref<GrEffect> effect(GrConvexPolyEffect::Create(edgeType, p));
- if (!effect) {
+ GrPrimitiveEdgeType edgeType = (GrPrimitiveEdgeType) et;
+ SkAutoTUnref<GrFragmentProcessor> fp(GrConvexPolyEffect::Create(edgeType, p));
+ if (!fp) {
continue;
}
- drawState->addCoverageEffect(effect);
+ drawState->addCoverageProcessor(fp);
drawState->setIdentityViewMatrix();
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
@@ -170,7 +170,7 @@
SkScalar x = 0;
- for (int et = 0; et < kGrEffectEdgeTypeCnt; ++et) {
+ for (int et = 0; et < kGrProcessorEdgeTypeCnt; ++et) {
GrTestTarget tt;
context->getTestTarget(&tt);
if (NULL == tt.target()) {
@@ -179,14 +179,14 @@
}
SkRect rect = *iter.get();
rect.offset(x, y);
- GrEffectEdgeType edgeType = (GrEffectEdgeType) et;
- SkAutoTUnref<GrEffect> effect(GrConvexPolyEffect::Create(edgeType, rect));
- if (!effect) {
+ GrPrimitiveEdgeType edgeType = (GrPrimitiveEdgeType) et;
+ SkAutoTUnref<GrFragmentProcessor> fp(GrConvexPolyEffect::Create(edgeType, rect));
+ if (!fp) {
continue;
}
GrDrawState* drawState = tt.target()->drawState();
- drawState->addCoverageEffect(effect);
+ drawState->addCoverageProcessor(fp);
drawState->setIdentityViewMatrix();
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
diff --git a/gm/rrects.cpp b/gm/rrects.cpp
index 8f4cb3a..b0496e3 100644
--- a/gm/rrects.cpp
+++ b/gm/rrects.cpp
@@ -86,7 +86,7 @@
#endif
#if SK_SUPPORT_GPU
- int lastEdgeType = (kEffect_Type == fType) ? kLast_GrEffectEdgeType: 0;
+ int lastEdgeType = (kEffect_Type == fType) ? kLast_GrProcessorEdgeType: 0;
#else
int lastEdgeType = 0;
#endif
@@ -116,10 +116,11 @@
SkRRect rrect = fRRects[curRRect];
rrect.offset(SkIntToScalar(x), SkIntToScalar(y));
- GrEffectEdgeType edgeType = (GrEffectEdgeType) et;
- SkAutoTUnref<GrEffect> effect(GrRRectEffect::Create(edgeType, rrect));
- if (effect) {
- drawState->addCoverageEffect(effect);
+ GrPrimitiveEdgeType edgeType = (GrPrimitiveEdgeType) et;
+ SkAutoTUnref<GrFragmentProcessor> fp(GrRRectEffect::Create(edgeType,
+ rrect));
+ if (fp) {
+ drawState->addCoverageProcessor(fp);
drawState->setIdentityViewMatrix();
drawState->setRenderTarget(rt);
drawState->setColor(0xff000000);
diff --git a/gm/texdata.cpp b/gm/texdata.cpp
index 8f71141..b979df7 100644
--- a/gm/texdata.cpp
+++ b/gm/texdata.cpp
@@ -111,7 +111,7 @@
SkMatrix tm;
tm = vm;
tm.postIDiv(2*S, 2*S);
- paint.addColorTextureEffect(texture, tm);
+ paint.addColorTextureProcessor(texture, tm);
ctx->drawRect(paint, SkRect::MakeWH(2*S, 2*S));
diff --git a/gm/texturedomaineffect.cpp b/gm/texturedomaineffect.cpp
index b310253..6534b0c 100644
--- a/gm/texturedomaineffect.cpp
+++ b/gm/texturedomaineffect.cpp
@@ -122,13 +122,13 @@
SkScalar x = kDrawPad + kTestPad;
for (int m = 0; m < GrTextureDomain::kModeCount; ++m) {
GrTextureDomain::Mode mode = (GrTextureDomain::Mode) m;
- SkAutoTUnref<GrEffect> effect(
+ SkAutoTUnref<GrFragmentProcessor> fp(
GrTextureDomainEffect::Create(texture, textureMatrices[tm],
GrTextureDomain::MakeTexelDomain(texture,
texelDomains[d]),
mode, GrTextureParams::kNone_FilterMode));
- if (!effect) {
+ if (!fp) {
continue;
}
SkMatrix viewMatrix;
@@ -136,7 +136,7 @@
drawState->reset(viewMatrix);
drawState->setRenderTarget(rt);
drawState->setColor(0xffffffff);
- drawState->addColorEffect(effect);
+ drawState->addColorProcessor(fp);
tt.target()->drawSimpleRect(renderRect);
x += renderRect.width() + kTestPad;
diff --git a/gm/yuvtorgbeffect.cpp b/gm/yuvtorgbeffect.cpp
index d0b511f..026823e 100644
--- a/gm/yuvtorgbeffect.cpp
+++ b/gm/yuvtorgbeffect.cpp
@@ -107,18 +107,18 @@
const int indices[6][3] = {{0, 1, 2}, {0, 2, 1}, {1, 0, 2}, {1, 2, 0}, {2, 0, 1}, {2, 1, 0}};
for (int i = 0; i < 6; ++i) {
- SkAutoTUnref<GrEffect> effect(
+ SkAutoTUnref<GrFragmentProcessor> fp(
GrYUVtoRGBEffect::Create(texture[indices[i][0]],
texture[indices[i][1]],
texture[indices[i][2]],
static_cast<SkYUVColorSpace>(space)));
- if (effect) {
+ if (fp) {
SkMatrix viewMatrix;
viewMatrix.setTranslate(x, y);
drawState->reset(viewMatrix);
drawState->setRenderTarget(rt);
drawState->setColor(0xffffffff);
- drawState->addColorEffect(effect);
+ drawState->addColorProcessor(fp);
tt.target()->drawSimpleRect(renderRect);
}
x += renderRect.width() + kTestPad;