From 33d325890e549c113a258248002246b46e8040b2 Mon Sep 17 00:00:00 2001 From: vjiaoblack Date: Thu, 21 Jul 2016 09:24:16 -0700 Subject: 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 --- src/core/SkCanvas.cpp | 31 ------------------------------- src/core/SkLightingShader.cpp | 6 +----- src/core/SkPictureFlat.h | 11 +---------- src/core/SkPicturePlayback.cpp | 4 +--- src/core/SkPictureRecord.cpp | 23 ----------------------- src/core/SkPictureRecord.h | 17 ++--------------- src/core/SkRecordDraw.cpp | 17 ----------------- src/core/SkRecorder.cpp | 18 +----------------- src/core/SkRecorder.h | 16 ---------------- 9 files changed, 6 insertions(+), 137 deletions(-) (limited to 'src/core') 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 lights) { - this->fLights = lights; -} - -sk_sp 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 diffuseShader, sk_sp normalSource, - sk_sp lights) + const sk_sp 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 onNewSurface(const SkImageInfo&, const SkSurfaceProps&) override; -- cgit v1.2.3