aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar vjiaoblack <vjiaoblack@google.com>2016-07-21 09:24:16 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-07-21 09:24:16 -0700
commit33d325890e549c113a258248002246b46e8040b2 (patch)
treeedb97ce0fe48078a14d82b2d1e8b3b5194025032 /src/core
parent5fa7f30331585f78cf0f81ac185abbff1fee1152 (diff)
Revert of Creating framework for drawShadowedPicture (patchset #14 id:260001 of https://codereview.chromium.org/2146073003/ )
Reason for revert: Decided to re-wait for a final LGTM. Already found a bug in variable naming to fix. Original issue's description: > Creating framework for drawShadowedPicture > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2146073003 > > Committed: https://skia.googlesource.com/skia/+/0ae097d116f4332be02a135ffc99c162473dee6a TBR=reed@google.com,robertphillips@google.com,bsalomon@google.com,jvanverth@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review-Url: https://codereview.chromium.org/2167223002
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkCanvas.cpp31
-rw-r--r--src/core/SkLightingShader.cpp6
-rw-r--r--src/core/SkPictureFlat.h11
-rw-r--r--src/core/SkPicturePlayback.cpp4
-rw-r--r--src/core/SkPictureRecord.cpp23
-rw-r--r--src/core/SkPictureRecord.h17
-rw-r--r--src/core/SkRecordDraw.cpp17
-rw-r--r--src/core/SkRecorder.cpp18
-rw-r--r--src/core/SkRecorder.h16
9 files changed, 6 insertions, 137 deletions
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
index 2cfe8ae2da..050253fa68 100644
--- a/src/core/SkCanvas.cpp
+++ b/src/core/SkCanvas.cpp
@@ -663,9 +663,6 @@ SkBaseDevice* SkCanvas::init(SkBaseDevice* device, InitFlags flags) {
fDeviceCMDirty = true;
fSaveCount = 1;
fMetaData = nullptr;
-#ifdef SK_EXPERIMENTAL_SHADOWING
- fLights = nullptr;
-#endif
fClipStack.reset(new SkClipStack);
@@ -1522,7 +1519,6 @@ void SkCanvas::resetMatrix() {
this->setMatrix(SkMatrix::I());
}
-#ifdef SK_EXPERIMENTAL_SHADOWING
void SkCanvas::translateZ(SkScalar z) {
this->checkForDeferredSave();
this->fMCRec->fCurDrawDepth += z;
@@ -1533,15 +1529,6 @@ SkScalar SkCanvas::getZ() const {
return this->fMCRec->fCurDrawDepth;
}
-void SkCanvas::setLights(sk_sp<SkLights> lights) {
- this->fLights = lights;
-}
-
-sk_sp<SkLights> SkCanvas::getLights() const {
- return this->fLights;
-}
-#endif
-
//////////////////////////////////////////////////////////////////////////////
void SkCanvas::clipRect(const SkRect& rect, SkRegion::Op op, bool doAA) {
@@ -3013,24 +3000,6 @@ void SkCanvas::onDrawPicture(const SkPicture* picture, const SkMatrix* matrix,
picture->playback(this);
}
-#ifdef SK_EXPERIMENTAL_SHADOWING
-void SkCanvas::drawShadowedPicture(const SkPicture* picture,
- const SkMatrix* matrix,
- const SkPaint* paint) {
- RETURN_ON_NULL(picture);
-
- TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawShadowedPicture()");
-
- this->onDrawShadowedPicture(picture, matrix, paint);
-}
-
-void SkCanvas::onDrawShadowedPicture(const SkPicture* picture,
- const SkMatrix* matrix,
- const SkPaint* paint) {
- this->onDrawPicture(picture, matrix, paint);
-}
-#endif
-
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/SkLightingShader.cpp b/src/core/SkLightingShader.cpp
index b6b54967d5..92f41ad8c8 100644
--- a/src/core/SkLightingShader.cpp
+++ b/src/core/SkLightingShader.cpp
@@ -45,7 +45,7 @@ public:
*/
SkLightingShaderImpl(sk_sp<SkShader> diffuseShader,
sk_sp<SkNormalSource> normalSource,
- sk_sp<SkLights> lights)
+ const sk_sp<SkLights> lights)
: fDiffuseShader(std::move(diffuseShader))
, fNormalSource(std::move(normalSource))
, fLights(std::move(lights)) {}
@@ -134,7 +134,6 @@ public:
// TODO: handle more than one of these
fLightColor = lights->light(i).color();
fLightDir = lights->light(i).dir();
- // TODO get the handle to the shadow map if there is one
}
}
@@ -177,9 +176,6 @@ public:
this->emitChild(0, nullptr, &dstNormalName, args);
fragBuilder->codeAppendf("vec3 normal = %s.xyz;", dstNormalName.c_str());
-
- // TODO: make this a loop and modulate the contribution from each light
- // based on the shadow map
fragBuilder->codeAppendf("float NdotL = clamp(dot(normal, %s), 0.0, 1.0);",
lightDirUniName);
// diffuse light
diff --git a/src/core/SkPictureFlat.h b/src/core/SkPictureFlat.h
index 17b76817fe..125d4e95e8 100644
--- a/src/core/SkPictureFlat.h
+++ b/src/core/SkPictureFlat.h
@@ -17,13 +17,6 @@
#include "SkPtrRecorder.h"
#include "SkTDynamicHash.h"
-/*
- * Note: While adding new DrawTypes, it is necessary to add to the end of this list
- * and update LAST_DRAWTYPE_ENUM to avoid having the code read older skps wrong.
- * (which can cause segfaults)
- *
- * Reordering can be done during version updates.
- */
enum DrawType {
UNUSED,
CLIP_PATH,
@@ -90,9 +83,7 @@ enum DrawType {
TRANSLATE_Z,
- DRAW_SHADOWED_PICTURE_LIGHTS,
-
- LAST_DRAWTYPE_ENUM = DRAW_SHADOWED_PICTURE_LIGHTS
+ LAST_DRAWTYPE_ENUM = TRANSLATE_Z
};
// In the 'match' method, this constant will match any flavor of DRAW_BITMAP*
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp
index 0bce09cdf2..60c4fe898d 100644
--- a/src/core/SkPicturePlayback.cpp
+++ b/src/core/SkPicturePlayback.cpp
@@ -617,11 +617,9 @@ void SkPicturePlayback::handleOp(SkReadBuffer* reader,
canvas->translate(dx, dy);
} break;
case TRANSLATE_Z: {
-#ifdef SK_EXPERIMENTAL_SHADOWING
SkScalar dz = reader->readScalar();
canvas->translateZ(dz);
-#endif
- } break;
+ }
default:
SkASSERTF(false, "Unknown draw type: %d", op);
}
diff --git a/src/core/SkPictureRecord.cpp b/src/core/SkPictureRecord.cpp
index 562f056c50..f2a0fd857c 100644
--- a/src/core/SkPictureRecord.cpp
+++ b/src/core/SkPictureRecord.cpp
@@ -219,7 +219,6 @@ void SkPictureRecord::didSetMatrix(const SkMatrix& matrix) {
}
void SkPictureRecord::didTranslateZ(SkScalar z) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
this->validate(fWriter.bytesWritten(), 0);
// op + scalar
size_t size = 1 * kUInt32Size + 1 * sizeof(SkScalar);
@@ -227,7 +226,6 @@ void SkPictureRecord::didTranslateZ(SkScalar z) {
this->addScalar(z);
this->validate(initialOffset, size);
this->INHERITED::didTranslateZ(z);
-#endif
}
static bool regionOpExpands(SkRegion::Op op) {
@@ -674,27 +672,6 @@ void SkPictureRecord::onDrawPicture(const SkPicture* picture, const SkMatrix* ma
this->validate(initialOffset, size);
}
-void SkPictureRecord::onDrawShadowedPicture(const SkPicture* picture,
- const SkMatrix* matrix,
- const SkPaint* paint) {
- // op + picture index
- size_t size = 2 * kUInt32Size;
- size_t initialOffset;
-
- if (nullptr == matrix && nullptr == paint) {
- initialOffset = this->addDraw(DRAW_PICTURE, &size);
- this->addPicture(picture);
- } else {
- const SkMatrix& m = matrix ? *matrix : SkMatrix::I();
- size += m.writeToMemory(nullptr) + kUInt32Size; // matrix + paint
- initialOffset = this->addDraw(DRAW_PICTURE_MATRIX_PAINT, &size);
- this->addPaintPtr(paint);
- this->addMatrix(m);
- this->addPicture(picture);
- }
- this->validate(initialOffset, size);
-}
-
void SkPictureRecord::onDrawDrawable(SkDrawable* drawable, const SkMatrix* matrix) {
// op + drawable index
size_t size = 2 * kUInt32Size;
diff --git a/src/core/SkPictureRecord.h b/src/core/SkPictureRecord.h
index 5f51a0e12d..276dd3e29b 100644
--- a/src/core/SkPictureRecord.h
+++ b/src/core/SkPictureRecord.h
@@ -159,11 +159,7 @@ protected:
void didConcat(const SkMatrix&) override;
void didSetMatrix(const SkMatrix&) override;
-#ifdef SK_EXPERIMENTAL_SHADOWING
void didTranslateZ(SkScalar) override;
-#endif
- void didTranslateZ(SkScalar);
-#endif
void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
@@ -212,17 +208,6 @@ protected:
void onClipRegion(const SkRegion&, SkRegion::Op) override;
void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
- void onDrawShadowedPicture(const SkPicture*,
- const SkMatrix*,
- const SkPaint*) override;
-#else
- void onDrawShadowedPicture(const SkPicture*,
- const SkMatrix*,
- const SkPaint*);
-#endif
-
void onDrawDrawable(SkDrawable*, const SkMatrix*) override;
void onDrawAnnotation(const SkRect&, const char[], SkData*) override;
@@ -268,3 +253,5 @@ private:
typedef SkCanvas INHERITED;
};
+
+#endif
diff --git a/src/core/SkRecordDraw.cpp b/src/core/SkRecordDraw.cpp
index cdfce66bf5..02d07d5005 100644
--- a/src/core/SkRecordDraw.cpp
+++ b/src/core/SkRecordDraw.cpp
@@ -86,11 +86,7 @@ DRAW(ClipRRect, clipRRect(r.rrect, r.opAA.op, r.opAA.aa));
DRAW(ClipRect, clipRect(r.rect, r.opAA.op, r.opAA.aa));
DRAW(ClipRegion, clipRegion(r.region, r.op));
-#ifdef SK_EXPERIMENTAL_SHADOWING
DRAW(TranslateZ, SkCanvas::translateZ(r.z));
-#else
-template <> void Draw::draw(const TranslateZ& r) { }
-#endif
DRAW(DrawBitmap, drawBitmap(r.bitmap.shallowCopy(), r.left, r.top, r.paint));
DRAW(DrawBitmapNine, drawBitmapNine(r.bitmap.shallowCopy(), r.center, r.dst, r.paint));
@@ -111,13 +107,6 @@ DRAW(DrawPaint, drawPaint(r.paint));
DRAW(DrawPath, drawPath(r.path, r.paint));
DRAW(DrawPatch, drawPatch(r.cubics, r.colors, r.texCoords, r.xmode, r.paint));
DRAW(DrawPicture, drawPicture(r.picture, &r.matrix, r.paint));
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
-DRAW(DrawShadowedPicture, drawShadowedPicture(r.picture, &r.matrix, r.paint));
-#else
-template <> void Draw::draw(const DrawShadowedPicture& r) { }
-#endif
-
DRAW(DrawPoints, drawPoints(r.mode, r.count, r.pts, r.paint));
DRAW(DrawPosText, drawPosText(r.text, r.byteLength, r.pos, r.paint));
DRAW(DrawPosTextH, drawPosTextH(r.text, r.byteLength, r.xpos, r.y, r.paint));
@@ -483,12 +472,6 @@ private:
return this->adjustAndMap(dst, op.paint);
}
- Bounds bounds(const DrawShadowedPicture& op) const {
- SkRect dst = op.picture->cullRect();
- op.matrix.mapRect(&dst);
- return this->adjustAndMap(dst, op.paint);
- }
-
Bounds bounds(const DrawPosText& op) const {
const int N = op.paint.countText(op.text, op.byteLength);
if (N == 0) {
diff --git a/src/core/SkRecorder.cpp b/src/core/SkRecorder.cpp
index 76fd3b819e..c7869bb6a4 100644
--- a/src/core/SkRecorder.cpp
+++ b/src/core/SkRecorder.cpp
@@ -305,20 +305,6 @@ void SkRecorder::onDrawPicture(const SkPicture* pic, const SkMatrix* matrix, con
}
}
-void SkRecorder::onDrawShadowedPicture(const SkPicture* pic,
- const SkMatrix* matrix,
- const SkPaint* paint) {
- if (fDrawPictureMode == Record_DrawPictureMode) {
- fApproxBytesUsedBySubPictures += SkPictureUtils::ApproximateBytesUsed(pic);
- APPEND(DrawShadowedPicture, this->copy(paint), pic, matrix ? *matrix : SkMatrix::I());
- } else {
- SkASSERT(fDrawPictureMode == Playback_DrawPictureMode);
- SkAutoCanvasMatrixPaint acmp(this, matrix, paint, pic->cullRect());
- pic->playback(this);
- }
-}
-
-
void SkRecorder::onDrawVertices(VertexMode vmode,
int vertexCount, const SkPoint vertices[],
const SkPoint texs[], const SkColor colors[],
@@ -383,10 +369,8 @@ void SkRecorder::didSetMatrix(const SkMatrix& matrix) {
APPEND(SetMatrix, matrix);
}
-void SkRecorder::didTranslateZ(SkScalar z) {
-#ifdef SK_EXPERIMENTAL_SHADOWING
+void SkRecorder::didTranslateZ(SkScalar z) {
APPEND(TranslateZ, z);
-#endif
}
void SkRecorder::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
diff --git a/src/core/SkRecorder.h b/src/core/SkRecorder.h
index 5282740c0c..66a006712e 100644
--- a/src/core/SkRecorder.h
+++ b/src/core/SkRecorder.h
@@ -60,12 +60,7 @@ public:
void didConcat(const SkMatrix&) override;
void didSetMatrix(const SkMatrix&) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
void didTranslateZ(SkScalar) override;
-#else
- void didTranslateZ(SkScalar);
-#endif
void onDrawDRRect(const SkRRect&, const SkRRect&, const SkPaint&) override;
void onDrawDrawable(SkDrawable*, const SkMatrix*) override;
@@ -131,17 +126,6 @@ public:
void onClipRegion(const SkRegion& deviceRgn, SkRegion::Op op) override;
void onDrawPicture(const SkPicture*, const SkMatrix*, const SkPaint*) override;
-
-#ifdef SK_EXPERIMENTAL_SHADOWING
- void onDrawShadowedPicture(const SkPicture*,
- const SkMatrix*,
- const SkPaint*) override;
-#else
- void onDrawShadowedPicture(const SkPicture*,
- const SkMatrix*,
- const SkPaint*);
-#endif
-
void onDrawAnnotation(const SkRect&, const char[], SkData*) override;
sk_sp<SkSurface> onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override;