Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Apr 1, 2015
  1. @LeonScroggins

    nanobench does not need to handle failed rewind.

    LeonScroggins authored Commit bot committed
    Now that all SkCodecs can rewind (assuming the stream is rewindable),
    we do not need to special case it.
    
    Pointed out by Derek in the code review that added this.
    
    TBR=djsollen
    
    Review URL: https://codereview.chromium.org/1058633002
  2. @LeonScroggins

    Add timing SkCodec to nanobench.

    LeonScroggins authored Commit bot committed
    CodecBench:
    Add new class for timing using SkCodec.
    
    DecodingBench:
    Include creating a decoder inside the loop. This is to have a better
    comparison against SkCodec. SkCodec's factory function does not
    necessarily read the same amount as SkImageDecoder's, so in order to
    have a meaningful comparison, read the entire stream from the
    beginning. Also for comparison, create a new SkStream from the
    SkData each time.
    Add a debugging check to make sure we have an SkImageDecoder.
    Add include guards.
    
    nanobench.cpp:
    Decode using SkCodec.
    When decoding using SkImageDecoder, exclude benches where we decoded
    to a different color type than requested. SkImageDecoder may decide to
    decode to a different type, in which case the name is misleading.
    
    TODOs:
    Now that we ignore color types that do not match the desired
    color type, we should add Index8. This also means calling the more
    complex version of getPixels so CodecBench can support kIndex8.
    
    BUG=skia:3257
    
    Review URL: https://codereview.chromium.org/1044363002
Commits on Mar 31, 2015
  1. @mtklein

    back to Sk4f for SkPMColor

    mtklein authored Commit bot committed
     #floats
    
    BUG=skia:
    BUG=skia:3592
    
    Review URL: https://codereview.chromium.org/1047823002
Commits on Mar 30, 2015
  1. @mtklein

    Refactor Sk2x<T> + Sk4x<T> into SkNf<N,T> and SkNi<N,T>

    mtklein authored Commit bot committed
    The primary feature this delivers is SkNf and SkNd for arbitrary power-of-two N.  Non-specialized types or types larger than 128 bits should now Just Work (and we can drop in a specialization to make them faster).  Sk4s is now just a typedef for SkNf<4, SkScalar>; Sk4d is SkNf<4, double>, Sk2f SkNf<2, float>, etc.
    
    This also makes implementing new specializations easier and more encapsulated.  We're now using template specialization, which means the specialized versions don't have to leak out so much from SkNx_sse.h  and SkNx_neon.h.
    
    This design leaves us room to grow up, e.g to SkNf<8, SkScalar> == Sk8s, and to grown down too, to things like SkNi<8, uint16_t> == Sk8h.
    
    To simplify things, I've stripped away most APIs (swizzles, casts, reinterpret_casts) that no one's using yet.  I will happily add them back if they seem useful.
    
    You shouldn't feel bad about using any of the typedef Sk4s, Sk4f, Sk4d, Sk2s, Sk2f, Sk2d, Sk4i, etc.  Here's how you should feel:
      - Sk4f, Sk4s, Sk2d: feel awesome
      - Sk2f, Sk2s, Sk4d: feel pretty good
    
    No public API changes.
    TBR=reed@google.com
    
    BUG=skia:3592
    
    Review URL: https://codereview.chromium.org/1048593002
Commits on Mar 29, 2015
  1. use Sk4f for matrix math

    reed authored Commit bot committed
    Need to land SK_SUPPORT_LEGACY_SCALAR_MAPPOINTS in chrome to suppress Affine
    version which causes slight differences (which will need to be rebaselined)
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1045493002
Commits on Mar 27, 2015
  1. @reed-at-google

    use table of procs (and unrolling) to speed up mapPts

    reed-at-google authored Commit bot committed
  2. @Naburimannu

    Move HWUI boilerplate into utils/android

    Naburimannu authored Commit bot committed
    Duplicate code from the HWUI backends for DM and nanobench
    moves into a single place, saving a hundred lines or more of
    cut-and-paste.
    
    There's some indication that this increases the incidence of
    SkCanvas "Unable to find device for layer." warnings, but no
    clear degradation in test results.
    
    R=djsollen@google.com,mtklein@google.com
    BUG=skia:3589
    
    Review URL: https://codereview.chromium.org/1036303002
  3. @Naburimannu

    Minor cleanup in nanobench

    Naburimannu authored Commit bot committed
    Simplify time() by removing conditionals; reduce the amount of
    parameter passing.
    Add a convenience function to Target.
    
    R=mtklein@google.com
    BUG=skia:3595
    
    Review URL: https://codereview.chromium.org/1039253002
  4. Add matrix constructing helpers to SkMatrix

    robertphillips authored Commit bot committed
Commits on Mar 26, 2015
  1. @mtklein

    SkPMFloat::trunc()

    mtklein authored Commit bot committed
    Add and test trunc(), which is what get() used to be before rounding.
    Using trunc() is a ~40% speedup on our linear gradient bench.
    
    #neon #floats
    BUG=skia:3592
    #n5
    #n9
    CQ_INCLUDE_TRYBOTS=client.skia.android:Test-Android-Nexus5-Adreno330-Arm7-Debug-Trybot;client.skia.android:Test-Android-Nexus9-TegraK1-Arm64-Release-Trybot
    
    Review URL: https://codereview.chromium.org/1032243002
  2. @Naburimannu

    Android HWUI backend Nanobench

    Naburimannu authored Commit bot committed
    Uses filtering canvas from utils/android, shared with DM.
    Follow-up plans in https://skbug.com/3589, https://skbug.com/3595
    
    R=djsollen@google.com
    
    Review URL: https://codereview.chromium.org/1029423010
  3. small fix for nanobench segfault when not running any tests

    joshualitt authored Commit bot committed
  4. @reed-at-google

    use new faster/vector impl for chopping conics

    reed-at-google authored Commit bot committed
  5. @reed-at-google

    remove slower scalar code in favor of vectors

    reed-at-google authored Commit bot committed
  6. @mtklein

    C++11 override should now be supported by all of {bots,Chrome,Android…

    mtklein authored Commit bot committed
    …,Mozilla}
    
    NOPRESUBMIT=true
    
    BUG=skia:
    DOCS_PREVIEW= https://skia.org/?cl=1037793002
    
    Review URL: https://codereview.chromium.org/1037793002
  7. @mtklein

    hack on linear gradient

    mtklein authored Commit bot committed
    Am I going nuts or can we get this down to just adds and converts in the loop?
    
    #floats #n9
    BUG=skia:3592
    CQ_INCLUDE_TRYBOTS=client.skia.android:Test-Android-Nexus9-TegraK1-Arm64-Release-Trybot
    
    Review URL: https://codereview.chromium.org/1008973004
Commits on Mar 25, 2015
  1. @reed-at-google

    Use Sk4x to speed-up bounds of an array of points

    reed-at-google authored Commit bot committed
  2. @mtklein

    Update 4-at-a-time APIs.

    mtklein authored Commit bot committed
    There is no reason to require the 4 SkPMFloats (registers) to be adjacent.
    The only potential win in loads and stores comes from the SkPMColors being adjacent.
    
    Makes no difference to existing bench.
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1035583002
  3. SkChopCubicAt2 using Sk2s -- 2x faster

    reed authored Commit bot committed
Commits on Mar 23, 2015
  1. @reed-at-google

    remove meaningless matrix benches, add mapPts() and add new benches

    reed-at-google authored Commit bot committed
    mapPts definitely faster than mapPoints (identity and perspective same speed). Up to 3x for large values of N.
    
    cloned from https://codereview.chromium.org/1031443002/
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1030653002
  2. @Naburimannu

    Get rid of excess cleverness in benchmark

    Naburimannu authored Commit bot committed
    RotatedRectBench was asking for its base layer size, which may
    not be what it expects with odd canvas modes (particularly proxies).
    Most benchmarks are not so sophisticated; they hard-wire their
    size and just use that (expected) value.
    
    R=mtklein@google.com,djsollen@google.com
    BUG=skia:3566
    
    Review URL: https://codereview.chromium.org/1015013004
Commits on Mar 20, 2015
  1. @reed-at-google

    use Sk2s for conics

    reed-at-google authored Commit bot committed
  2. Only use 256x256 tiles on hd2000 nanobench bots

    egdaniel authored Commit bot committed
    Initial experiments did show that the 256 tile size fixed the hd2000 win7
    nanobot failures. However it did not have any effect on other bots, so this
    change is to move back to the larger tile size on all bots expect for the
    hd2000.
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1022083002
  3. @reed-at-google
Commits on Mar 19, 2015
  1. Move skp nanobench tile size back to 256x256 to see if it fixes nanob…

    egdaniel authored Commit bot committed
    …ench crashes
    
    Going back to old nanobench tile size to see if the increase to tile is what has been
    causing recent nanobench crashes. The crashes seem very nondeterministic and hard to
    debug manually.
    
    256x256 is too small of a tile to give accurate gpu results but if this fixes we can try some compromise in the middle
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1022823003
  2. alt SkEvalQuadAt that returns its answer, using Sk2f

    reed authored Commit bot committed
  3. Revert of replace SkFixedDiv impl with native 64bit math (patchset #2…

    reed authored Commit bot committed
    … id:20001 of https://codereview.chromium.org/1022543003/)
    
    Reason for revert:
    http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/53096
    
    layouttests failures
    
    Original issue's description:
    > replace SkFixedDiv impl with native 64bit math
    >
    > BUG=skia:
    > TBR=
    >
    > Committed: https://skia.googlesource.com/skia/+/7c44ca926bf42b3b2e56131f250c0fd58f87ac71
    
    TBR=
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1018523008
  4. replace SkFixedDiv impl with native 64bit math

    reed authored Commit bot committed
Commits on Mar 18, 2015
  1. Remove uniqueID from all filter serialization.

    senorblanco authored Commit bot committed
    (This is essentially a revert of https://codereview.chromium.org/503833002/.)
    
    This was necessary back when SkPaint was flattened even for in-process use. Now that we only flatten SkPaint for cross-process use, there's no need to serialize UniqueIDs.
    
    Note: SkDropShadowImageFilter is being constructed with a croprect and UniqueID (of 0) in Blink. I've made the uniqueID param default to 0 temporarily, until this rolls in and Blink can be changed. (Blink can't be changed first, since unlike the other filters, there's no constructor that takes a cropRect but not a uniqueID.)
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/1019493002
Commits on Mar 16, 2015
  1. @reed-at-google

    SkPaint::FilterLevel -> SkFilterQuality

    reed-at-google authored Commit bot committed
    clone (+rebase) of https://codereview.chromium.org/1009183002/
    
    BUG=skia:
    TBR=scroggo@google.com
    
    Review URL: https://codereview.chromium.org/1014533004
Commits on Mar 12, 2015
  1. @mtklein

    DM: display current memory usage (instead of peak) when available.

    mtklein authored Commit bot committed
    Seems strictly more useful.
    
    This implements Mac and Windows, which seemed easy.  Don't know how to do this on Linux yet.
    
    BUG=skia:
    
    CQ_EXTRA_TRYBOTS=client.skia:Test-Mac10.9-MacMini6.2-HD4000-x86_64-Debug-Trybot
    
    NOTREECHECKS=true
    TBR=halcanary@google.com
    
    Review URL: https://codereview.chromium.org/990723002
Commits on Mar 5, 2015
  1. Increase default tile sizes in nanobench

    bsalomon authored Commit bot committed
    R=mtklein@google.com
    
    Review URL: https://codereview.chromium.org/982863003
  2. @mtklein

    4-at-a-time SkPMColor -> SkPMFloat API.

    mtklein authored Commit bot committed
    Please see if this looks usable.  It may even give a perf boost if you use it, even without custom implementations for each instruction set.
    
    I've been trying this morning to beat this naive loop implementation, but so far no luck with either _SSE2.h or _SSSE3.h.  It's possible this is an artifact of the microbenchmark, because we're not doing anything between the conversions.  I'd like to see how this fits into real code, what assembly's generated, what the hot spots are, etc.
    
    I've updated the tests to test these new APIs, and splintered off a pair of new benchmarks that use the new APIs.  This required some minor rejiggering in the benches.
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/978213003
Commits on Mar 4, 2015
  1. @mtklein

    Update SkPMFloat API a bit.

    mtklein authored Commit bot committed
    Instead of set(SkPMColor), add a constructor SkPMFloat(SkPMColor).
    Replace setA(), setR(), etc. with a 4 float constructor.
    
    And, promise to stick to SkPMColor order.
    
    BUG=skia:
    
    Review URL: https://codereview.chromium.org/977773002
Commits on Mar 3, 2015
  1. @mtklein

    Trim the fat off SkPMFloat bench.

    mtklein authored Commit bot committed
    This bench was ~75% overhead, ~25% good bench.  It is now just about the
    opposite: about 30% of the runtime is loop and random number overhead, and
    about 70% of the time is spent doing SkPMColor <-> SkPMFloat work.
    
    BUG=skia:
    
    NOPRESUBMIT=true
    
    Review URL: https://codereview.chromium.org/968133005
Something went wrong with that request. Please try again.