| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make this work, we tag their pixelrefs as temporarily immutable, allowing
ourselves to restore the pixels to mutability only when the image drops away.
This should allow us to wobble back and forth between writing to the Surface
and reading from the Image without a COW, with the Surface seeing mutable
pixels and the Image seeing immutable pixels.
The big idea is, Image doesn't need forever-immutable pixels, it just needs
pixels that are immutable as long as it's alive.
BUG=skia:
patch from issue 804523002 at patchset 40001 (http://crrev.com/804523002#ps40001)
Review URL: https://codereview.chromium.org/1254383006
|
|
|
|
|
|
|
| |
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1262143002
|
|
|
|
|
|
|
|
| |
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e
Review URL: https://codereview.chromium.org/1257073003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1257073003/)
Reason for revert:
breaking write pixels test on bots
Original issue's description:
> Move draw on upload decision in GrGpu
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/0341b4427e5f037e3b501ed6e57dfdb7b40f150e
TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1260293004
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1257073003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1239193002
|
|
|
|
|
|
|
|
|
|
| |
This is a contract change for SkPath::getBounds(), which formally was defined to return 0,0,0,0 for a 1-point path, regardless of the coordinates of that point. This seems wacky/inconsistent, and was causing other bugs (incorrect bounds) when this was unioned with other rects.
Does anyone remember why we defined it this way?
BUG=513799
Review URL: https://codereview.chromium.org/1261773002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The divide by w can generate slightly erroneous results even
for t == 0 or t == 1. The error in turn defeats detecting
a point in common for a pair of curves that travel in
opposite directions.
Instead, special case endpoints when the t is 0 or 1.
TBR=reed@google.com
BUG=514118
Review URL: https://codereview.chromium.org/1259513004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SkSurface_Raster snapshots do not lock their backing bitmaps when the
pixel ref is shared - they only lock on deep-copy.
But since for raster surfaces the pixels are always in memory, I think
it would be OK to also lock in the former case.
This allows for optimized (zero-copy) reads of raster surface snapshot
data.
R=reed@google.com
Review URL: https://codereview.chromium.org/1256993002
|
|
|
|
|
|
|
|
|
| |
DOCS_PREVIEW= https://skia.org/?cl=1228553010
BUG=skia:4042
R=borenet@google.com, mtklein@google.com
Review URL: https://codereview.chromium.org/1228553010
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mark collapsed segments as done and remove collapsed
segment references from the coincidence array.
Also add test names to global debugging.
R=fmalita@chromium.org
BUG=512592
Review URL: https://codereview.chromium.org/1250293002
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1244143004
|
|
|
|
|
|
|
|
|
| |
Improves max relative error from 0.00175126 to 0.000650197.
Also add unit tests to check error bounds.
BUG=chromium:511458
Review URL: https://codereview.chromium.org/1251423002
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1251383003
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1252593002
|
|
|
|
|
|
| |
GrGpu.
Review URL: https://codereview.chromium.org/1255483005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1251173002
|
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/1250003003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows codecs that support subsets natively (i.e. WEBP) to do so.
Add a field on SkCodec::Options representing the subset.
Add a method on SkCodec to find a valid subset which approximately
matches a desired subset.
Implement subset decodes in SkWebpCodec.
Add a test in DM for decoding subsets.
Notice that we only start on even boundaries. This is due to the
way libwebp's API works. SkWEBPImageDecoder does not take this into
account, which results in visual artifacts.
FIXME: Subsets with scaling are not pixel identical, but close. (This
may be fine, though - they are not perceptually different. We'll just
need to mark another set of images in gold as valid, once
https://skbug.com/4038 is fixed, so we can tests scaled webp without
generating new images on each run.)
Review URL: https://codereview.chromium.org/1240143002
|
|
|
|
|
|
| |
R=reed@google.com,robertphillips@google.com,bsalomon@google.com
Review URL: https://codereview.chromium.org/1244093005
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1233253003
|
|
|
|
|
|
|
|
|
| |
This reverts commit 91110195a2eee170c11885da9d16f94b00a39f87.
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/1240753003
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1235393003/)
Reason for revert:
breaking android framework build
Original issue's description:
> guard to remove DrawBitmapRectFlags
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/6fb0b6779e40ce05c20cf279f0ecff31fa3cd60d
TBR=fmalita@chromium.org,djsollen@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1230823007
|
|
|
|
|
|
|
|
| |
width & height, name them appropriately.
BUG=240827
Review URL: https://codereview.chromium.org/1234873005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1226123012/)
Reason for revert:
breaks tests, e.g.
https://build.chromium.org/p/client.skia.android/builders/Test-Android-GCC-Nexus9-GPU-TegraK1-Arm64-Release/builds/752/steps/dm/logs/stdio
Original issue's description:
> Remove rt flags that are not necessary
>
> Committed: https://skia.googlesource.com/skia/+/b6b0a6ef179f4143c94ba7e0e1be6e7ce4b0a23a
TBR=joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1234503004
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1226123012
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1234313002
|
|
|
|
|
|
|
| |
Check for GL context when printing NVPR error string.
Fix some indenting.
Review URL: https://codereview.chromium.org/1235283004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new test is disabled by default, as it's quite slow.
We can run it if we suspect problems by passing -x to DM.
This test would have been failing before the bug fix, and now is passing.
Assuming the Priv on the end means it's not considered public API...
TBR=reed@google.com
BUG=skia:4052
Review URL: https://codereview.chromium.org/1228333003
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1235393003
|
|
|
|
|
|
| |
FontMgrAndroidParserTest deos not free the font families it creates.
This issue was discovered by asan when enabling this test on Linux
platforms.
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1234233002
|
|
|
|
|
|
|
|
| |
Let's not ignore the offset.
R=reed@google.com,mtklein@google.com
Review URL: https://codereview.chromium.org/1235953004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and are treated as convex when they are not.
Allow the SkPath::Iter to leave degenerate path
segments unmolested by passing an additional exact
bool to next().
Treat any non-zero length as significant in addPt().
R=reed@google.com,robertphillips@google.com
BUG=493450
Review URL: https://codereview.chromium.org/1228383002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1226203013
|
|
|
|
| |
Review URL: https://codereview.chromium.org/1230193006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While investigating my bug (skia:4052) I saw this TODO and figured
it'd make me feel better about an otherwise unsuccessful investigation.
This speeds up HardLight and Overlay (same code) by about 15% with SSE, mostly
by rewriting the logic from 1 cheap comparison and 2 expensive div255() calls
to 2 cheap comparisons and 1 expensive div255().
NEON speeds up by a more modest ~3%.
BUG=skia:
Review URL: https://codereview.chromium.org/1230663005
|
|
|
|
|
|
|
|
|
|
|
| |
Follow-on work
- unify around SrcRectConstraint (i.e. drawBitmapRect)
- remove silly drawBitmapRectToRect alias
- clean-up (possibly remove) alias problems around drawBitmapRect + IRect parameter
BUG=skia:
Review URL: https://codereview.chromium.org/1228083004
|
|
|
|
|
|
| |
The existing Light filter and the upcoming Lighting Shader both need a Point3 class
Review URL: https://codereview.chromium.org/1229693009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inspired by https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/69169/layout-test-results/results.html
I think the root cause is overflow.
Also, adds tests for Sk16b::operator<(). It wasn't wrong, but it was suspect
(used in all three of these xfermode implementations) and so it's best to have
tests.
BUG=skia:
Review URL: https://codereview.chromium.org/1228393006
|
|
|
|
|
|
|
|
|
|
|
| |
When only the left or top edge of a crop rect is given, the
right and bottom should be computed based on the incoming width
and height, not based on the crop rect's width & height. This
complies more accurately with SVG semantics.
BUG=240827
Review URL: https://codereview.chromium.org/1232873002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1229143007
|
|
|
|
|
|
| |
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/1232173002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1231163002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make getScanlineDecoder return a new object each time, which is
owned by the caller, and independent from any existing scanline
decoders and the SkCodec itself.
Since the SkCodec already contains the entire state machine, and it
is used by the scanline decoders, simply create a new SkCodec which
is now owned by the scanline decoder.
Move code that cleans up after using a scanline decoder into its
destructor
One side effect is that creating the first scanline decoder requires
a duplication of the stream and re-reading the header. (With some
more complexity/changes, we could pass the state machine to the
scanline decoder and make the SkCodec recreate its own state machine
instead.) The typical client of the scanline decoder (region decoder)
uses an SkMemoryStream, so the duplication is cheap, although we
should consider the extra time to reread the header/recreate the state
machine. (If/when we use the scanline decoder for other purposes,
where the stream may not be cheaply duplicated, we should consider
passing the state machine.)
One (intended) result of this change is that a client can create a
new scanline decoder in a new thread, and decode different pieces of
the image simultaneously.
In SkPngCodec::decodePalette, use fBitDepth rather than a parameter.
Review URL: https://codereview.chromium.org/1230033004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DEPS:
Update to pull v0.4.3 of libwebp from upstream
gyp/libwebp.gyp:
Add new files, as referenced by the gyp file used by Chromium.
resource/tests:
Add regression tests for particular images.
BUG=skia:3442
BUG=skia:3315
BUG=skia:3429
Committed: https://skia.googlesource.com/skia/+/3aa0fb4d80c76b559ff4b82d5e569993aea06da1
Review URL: https://codereview.chromium.org/1178013008
|
|
|
|
|
|
|
|
| |
When reusing the pixel ref, we need to observe its rowBytes.
R=reed@google.com
Review URL: https://codereview.chromium.org/1227413002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1231903006
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1223413002
|
|
|
|
|
|
| |
BUG=skia:
Review URL: https://codereview.chromium.org/1229933003
|