This makes it easier to cross-compile for non-Android ARM (e.g. Raspberry PI)
Bug: skia:
Change-Id: I4414d933bc38d56009aefcbe10e68f7c70964d9c
Reviewed-on: https://skia-review.googlesource.com/10291
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Bug: skia:
Change-Id: Icdc01ffba00dfda37bcb467f2a4a33aef0991f56
Reviewed-on: https://skia-review.googlesource.com/10245
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Bug: skia:
Change-Id: I23184acc4e17d38861d27ab81172048a24c400d2
Reviewed-on: https://skia-review.googlesource.com/10288
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
This allows us to delete SkBlurDrawLooper (and leave only one draw
looper implementation).
BUG=skia:
Change-Id: I549af86b81babf19e3649bdffffe2fdb0b308d5a
Reviewed-on: https://skia-review.googlesource.com/10101
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
BUG=skia:
Change-Id: Id25e5f39d1393b8dec325d85afb4bc22a11f6bda
Reviewed-on: https://skia-review.googlesource.com/10283
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Fixes some gbr-8888 behaviors.
BUG=skia:
Change-Id: I1351b043129f7ed0e125bfdb626a0ecaf64c15cc
Reviewed-on: https://skia-review.googlesource.com/10169
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
Just as deferred and locked crash logging makes crashes easier to read,
so does deferred and locked failure logging make failures easier to read.
Change-Id: I71578d61b0056f8d7e692149762def1f155c0387
Reviewed-on: https://skia-review.googlesource.com/10280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
I forgot that if a png has the significant bit
chunk set to R=5, G=6, B=5, we will recommend
a decode to 565.
We need to avoid this. The codec does not
support color correct 565.
BUG=skia:
Change-Id: Ieb74bfaf100504d9748e4b8014a8a4e425428c7a
Reviewed-on: https://skia-review.googlesource.com/10166
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
Didn't know what options would be useful here (path renderers?), so I've
left them default. Obviously we can thread them through TestSrc options.
I now have "841 ok" and no failures on my Linux laptop, though I imagine
the GPU tests are all just no-op'd by the TODO at the bottom of the file.
Change-Id: Id934c0bdb5de96d96f2a391106b5d20116f41979
Reviewed-on: https://skia-review.googlesource.com/10213
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Linerization of quadratic Beziers was using recursive midpoint
subdivision, which can exceed the number of required points by
up to 2X if the second-last recursion level is just over the flatness
threshold. (This is particularly bad for circular arcs, since all
segments have a similar midpoint distance.)
Instead, compute the points of maximum curvature, and progressively
increase the number of segments until the flatness
metric is satisfied at the points of maximum curvature.
This is good for a 15-20% boost on MotionMark Fill Paths, and makes the
performance on Canvas Arcs with the verb limit removed competitive
with the software+upload path renderer.
NOTE: this cause minor pixel diffs in a number of path-related GMs.
BUG=skia:
Change-Id: Ia2c22e00e45acec538b15a23c6edcb7a7d4566b7
Reviewed-on: https://skia-review.googlesource.com/9956
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Here's how things work now:
~/skia (tests)> ninja -C out ok; and out/ok test
ninja: Entering directory `out'
[2/2] link ok
112 ok../tests/TestConfigParsing.cpp:336
configs[i]->getBackend().equals(expectedConfigs[i].backend)
211 ok, 1 failed../tests/ShadowUtilsTest.cpp:25 Expected shadow
tessellation to fail but it did not.
../tests/ShadowUtilsTest.cpp:30 Expected shadow tessellation to fail but it did not.
../tests/ShadowUtilsTest.cpp:36 Expected shadow tessellation to fail but it did not.
../tests/ShadowUtilsTest.cpp:42 Expected shadow tessellation to fail but it did not.
637 ok, 2 failed
Change-Id: I84b108d4fabb538a2674831dd1ca64b149d7d265
Reviewed-on: https://skia-review.googlesource.com/10209
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This reverts commit f4d443fd1b.
Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=705156
Original change's description:
> Fix SkImage_Gpu::getROPixels
>
> The dstColorSpace is a badly named parameter. It's a hint about where/how
> the returned pixels are going to be used. Raster and GPU are meant to
> ignore that information - codecs use it to drive our decoding heuristic.
>
> I've adopted that name in several places, although it's quite bad. Maybe
> usageColorSpace would be better?
>
> Bug: skia:
> Change-Id: I99acaac4bed57ed8acd8433e1c5b39a60c3af09e
> Reviewed-on: https://skia-review.googlesource.com/10109
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
>
TBR=msarett@google.com,robertphillips@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Id46226e41ca287ef3351710815ae2e842da4d293
Reviewed-on: https://skia-review.googlesource.com/10210
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
We need to make sure we cleanup the VkImage created when testing the
wrapping of a render target.
BUG=skia:
Change-Id: I60ea7e880fecccca309a250cc3b19eb29d6aa89c
Reviewed-on: https://skia-review.googlesource.com/10206
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
Plenty TODO remaining.
This can actually kind of run without a test reporter or GrContext:
$ out/ok test
784 ok, 56 crashed
... lots of stack traces ...
Most tests don't use the reporter unless they're going to fail.
Change-Id: I7333e2c63ade5e671ebf60022d19390f1fc1c93a
Reviewed-on: https://skia-review.googlesource.com/10201
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
BUG=skia:
Change-Id: I5ca9bbd43919e3f65ea940847c68f85cc78dfeda
Reviewed-on: https://skia-review.googlesource.com/10130
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Noticed all these while adding some unit test support to ok.
Change-Id: Ie33b96da95840628657211cb28b2134fd314a48a
Reviewed-on: https://skia-review.googlesource.com/10202
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Prep work for adding perspective support.
Bug: skia:
Change-Id: Id07d3050afb3f0d001b885e482adb8d03125b619
Reviewed-on: https://skia-review.googlesource.com/10167
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Assign names that indicate that they aren't just for the input phase since I plan to use them at the boundary between FPs and XPs as well.
Renamed GrProcOptInfo to GrColorFragmentProcessorAnalysis. This is now only used on the color side and the new name seems clearer to me.
Change GrMeshDrawOp::getFragmentProcessorAnalysisInputs to use the new color/coverage types directly rather than a class that has been reduced to simply bundling them together.
Change-Id: If93bae74c9d590486eecdf63f302418c96deab65
Reviewed-on: https://skia-review.googlesource.com/10161
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
This is mostly a demo, and to make sure it's easy.
If I'm thinking right, other non-ct options should Just Work.
Change-Id: I295db0fa04921ccdd766e1870e367594ca802462
Reviewed-on: https://skia-review.googlesource.com/10190
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This updates both Galaxy S7s to use the longer device_os added in
https://chrome-internal-review.googlesource.com/c/339125/
to avoid subtle version skew when Galaxy S7 applies an update but doesn't
toggle Android version.
BUG=skia:
NOTRY=true
Change-Id: I7c0a3197592f8738abae46ffb3e31dc0f50d2b6a
Reviewed-on: https://skia-review.googlesource.com/10178
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
lockf() is a simple way to prevent interlaced stack traces when there
are concurrent crashes. After a crashing process rethrows its signal
and dies for real, the OS unlocks the file for other processes.
I tested this by making SkCanvas::drawRRect() crash on Linux:
20-odd GM crashes with interlaced stack traces before, none after.
Change-Id: I99930756b8c85c552eef7c3a77778e4c00d34c42
Reviewed-on: https://skia-review.googlesource.com/10177
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
build:
crrev.com/232ecb4e8e9a3175db1c14449dca0230ae01b80c Switch to an explicit swarming.summary placeholder instead of json.output.
Bug: skia:
Change-Id: I7c0dd6ce6225d48541c574ff6f38ea70e1823f1f
Reviewed-on: https://skia-review.googlesource.com/10126
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This makes things like dladdr and backtrace_symbols not totally useless on Linux.
Change-Id: I26666a76c5b50fbf88aaf9709c869de0a697bb02
Reviewed-on: https://skia-review.googlesource.com/10176
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This makes everything a lot more like DM, for the same reason:
it's the best way to make Vias work.
Instead of exposing a canvas, Dsts take a Src to draw. Vias still are
Dsts that wrap Dsts. They do their internal work in draw() then pass a
proxy Src encapsulating that work to the next Dst's draw().
A little refactoring in ok.cpp allows arbitrary chains of Vias.
I removed the guarantee that Src methods are called in strict order.
It's easy enough to make each Src initialize itself as needed.
I moved the .png encoding back to ok.cpp. It seemed weird for Dsts to
have to think about files and paths. One day Dst will want a data()
method for non-image output (.pdf, .skp), and then we'll want ok.cpp to
be the one to coordinate what to write where.
Change-Id: Id4a3674b2d05aef2b5f10e0077df0a8407c07b61
Reviewed-on: https://skia-review.googlesource.com/10175
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Not sure if these simple Src/Dst interfaces will last.
Vias are a little tricky, and some may be impossible.
Change-Id: I42d19b1ee74b51a830bb781f25a888c0b32ba98c
Reviewed-on: https://skia-review.googlesource.com/10174
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Now ok.cpp handles only the high level coordination of Srcs and Dsts,
without having to know or care what they are.
Some minor refactoring to things like Options.
Change-Id: I02df890b26d6d069e980a125b6a1ce1a7067b900
Reviewed-on: https://skia-review.googlesource.com/10173
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This caused a performance regression after Skia started seeing the real GL strings.
BUG=chromium:703774
Change-Id: Ib0878062670b5ea51a005718a64a58d89fbaa42c
Reviewed-on: https://skia-review.googlesource.com/10165
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This reverts commit 9f4b0ae91e.
Reason for revert: Nanobench asserts.
../../../src/core/SkBitmapCache.cpp:81: fatal error: "assert(scaledWidth != image->width() || scaledHeight != image->height())"
Aborted
Command exited with code 134
step returned non-zero exit code: 134
https://chromium-swarm.appspot.com/task?id=351b1d10c7936310&refresh=10
Original change's description:
> simplify api to bitmapcache
>
> Force all Find callers to make a bitmpacachedesc, which now
> has more rigid validation.
>
> Goal is to ensure we never make two desc (which turn into keys)
> that look different but represent the same image/transformation.
>
> BUG=skia:
>
> Change-Id: I8571837ee4754a69acc99e949bee9a465fa25f2b
> Reviewed-on: https://skia-review.googlesource.com/10114
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Brian Osman <brianosman@google.com>
>
TBR=brianosman@google.com,fmalita@chromium.org,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Change-Id: I21b3c8a5bae409ba740cfc28b352c3b970dcf5af
Reviewed-on: https://skia-review.googlesource.com/10171
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
Change-Id: I47ac01f0c2c0f2f7b925de09c18d3c8265398c8a
Reviewed-on: https://skia-review.googlesource.com/10117
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>