Commit Graph

17047 Commits

Author SHA1 Message Date
mtklein
ea6075e3ea Default iOS builds to our code signing identity.
It's super tedious to keep setting it every time I rerun ./gyp_skia.
Doesn't look like it'll bother the bots.

BUG=skia:

Review URL: https://codereview.chromium.org/1053493005
2015-04-16 13:29:59 -07:00
tfarina
1df3325345 contrib: Simplify the command to create a feature branch.
You can create a work branch off origin/master by simply running:

$ git checkout -b my-feature origin/master

BUG=None
R=borenet@google.com
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1057513004

Review URL: https://codereview.chromium.org/1057513004
2015-04-16 13:28:06 -07:00
mtklein
a863e41d7f This section is moot: we divert ios to opts_none above.
(We never set arm_version = 7 for iOS...)

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Mac10.7-Clang-Arm7-Debug-iOS-Trybot

BUG=skia:

Review URL: https://codereview.chromium.org/1092753002
2015-04-16 12:45:38 -07:00
bungeman
fd0ecf46ce Add SkTPin.
Currently there exist SkScalarPin and SkPin32, and in a future change
another version is desired. This change introduces SkTPin and changes
SkScalarPin and SkPin32 to use it.

Review URL: https://codereview.chromium.org/1090003002
2015-04-16 12:18:28 -07:00
senorblanco
5b9f42c4d1 Improve tessellating path rasterizer performance on dashed paths.
With dashed paths, we get a lot of geometry on the same sort line.
Since the vertices are sorted, it makes more sense to insert edges
from the end (in sort order) than the beginning. This requires
maintaining both the head and tail of the active edge list.

This gives a ~20% perf improvement on tabl_digg.skp.

BUG=skia:3733

Review URL: https://codereview.chromium.org/1089903002
2015-04-16 11:47:18 -07:00
joshualitt
26ffc00bfa add textblob cache freeall
BUG=skia:

Review URL: https://codereview.chromium.org/1088683004
2015-04-16 11:24:04 -07:00
egdaniel
8dc7c3a839 Rename GrStencilBuffer to GrStencilAttachment
BUG=skia:

Review URL: https://codereview.chromium.org/1083133002
2015-04-16 11:22:42 -07:00
zoran.jovanovic
9c798207b7 SkScaledBitmapSampler: fix memory overwritten
Memory will be overwritten while downsampling some
interlaced gif images, most commonly with odd sizes,
when index of destination row stores in the current
line computed from GifInterlaceIter meets:

 X is an integer in [0..height-1]
   and
 (X < height)
 && ((X - sampleSize/2) % sampleSize == 0)
 && ((X - sampleSize/2)/sampleSize >= height/sampleSize)

Signed-off-by: Lu Tong <lu.x.tong@sonymobile.com>

BUG=skia:

Review URL: https://codereview.chromium.org/1085253002
2015-04-16 11:03:16 -07:00
cdalton
72badbd99e Add ReverseIter to GrTRecorder
BUG=skia:

Review URL: https://codereview.chromium.org/1035083004
2015-04-16 10:42:49 -07:00
jcgregorio
bdb0bf5f88 Revert of remove unused (by clients) SkPathUtils (patchset #1 id:1 of https://codereview.chromium.org/1088383003/)
Reason for revert:
This change is causing the DEPS roll to fail:

http://build.chromium.org/p/tryserver.chromium.linux/builders/android_chromium_gn_compile_rel/builds/78771/steps/gn/logs/stdio

Original issue's description:
> remove unused (by clients) SkPathUtils
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/aab35d91b8b80acd1902594bbf542083fdfa4bb7

TBR=scroggo@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1060703003
2015-04-16 09:47:36 -07:00
mtklein
6ef68ab2cd Don't serialize anything for SkEmptyShader.
BUG=skia:3735

Review URL: https://codereview.chromium.org/1097433002
2015-04-16 07:59:12 -07:00
Brian Salomon
6318016469 widen output png size of bmp_filter_quality_repeat
BUG=skia:

Review URL: https://codereview.chromium.org/1097443002
2015-04-16 10:46:18 -04:00
bsalomon
8cf1d95487 Add GM that tests bmp filter qualities with repeat mode
TBR=reed@google.com

Review URL: https://codereview.chromium.org/1086203002
2015-04-16 06:54:28 -07:00
reed
aab35d91b8 remove unused (by clients) SkPathUtils
BUG=skia:

Review URL: https://codereview.chromium.org/1088383003
2015-04-16 06:16:38 -07:00
mtklein
f7aaadb570 Zero jpeg_decompress_struct before calling jpeg_calc_output_dimensions().
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/38/steps/dm/logs/stdio

(Must have been https://codereview.chromium.org/1076923002 ?)

BUG=skia:

Review URL: https://codereview.chromium.org/1094603002
2015-04-16 06:09:27 -07:00
reed
0b71278679 remove older version of cubic->coeff
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084623004
2015-04-15 19:57:54 -07:00
reed
6983f66d8b Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/1078413003/)"
ah ha! Check for the define *after* we pull in SkUserConfig.h (indirectly)

This reverts commit 639a82855b.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1084283003
2015-04-15 18:23:03 -07:00
reed
a12225bd32 Revert of make blitAntiH2 virtual, to prep for larger change (patchset #1 id:1 of https://codereview.chromium.org/1048323005/)
Reason for revert:
end of test

Original issue's description:
> make blitAntiH2 virtual, to prep for larger change
>
> testing...
>
> BUG=skia:
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/33afdaa5213cf118b3ca290bb343253c8593756d

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1086293002
2015-04-15 18:05:47 -07:00
reed
33afdaa521 make blitAntiH2 virtual, to prep for larger change
testing...

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1048323005
2015-04-15 17:34:27 -07:00
reed
639a82855b Revert of Speeup hairline curves (quads and cubics) (patchset #7 id:120001 of https://codereview.chromium.org/1078413003/)
Reason for revert:
Crazy failings in chrome tests
http://build.chromium.org/p/client.skia/builders/Linux%20Tests/builds/1862

Original issue's description:
> Speeup hairline curves (quads and cubics)
>
> /skia/trunk> cat ../old.txt
> maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
>    9M	1	4.28ms	4.32ms	4.36ms	4.67ms	3%	▄▁▁▃▂▂▁▁▂█	8888	path_hairline_small_AA_cubic
>    9M	1	743µs	767µs	770µs	825µs	4%	▃▃▇▃▁▁▅▁█▁	8888	path_hairline_small_AA_conic
>    9M	1	533µs	606µs	598µs	680µs	9%	▁▂▂█▆▇▇▄▂▂	8888	path_hairline_small_AA_quad
>    9M	1	451µs	452µs	456µs	495µs	3%	▁▁▁▁█▁▁▁▁▁	8888	path_hairline_small_AA_line
>
> /skia/trunk> cat ../new.txt
> maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
>    9M	1	827µs	827µs	831µs	869µs	2%	▁▁▁▁▁▁▁█▁▁	8888	path_hairline_small_AA_cubic
>    9M	1	515µs	517µs	517µs	518µs	0%	▇█▆▅▃▃▁▁▁▅	8888	path_hairline_small_AA_conic
>    9M	1	310µs	311µs	315µs	332µs	2%	▂▁█▆▁▁▁▁▁▁	8888	path_hairline_small_AA_quad
>    9M	1	254µs	254µs	258µs	276µs	3%	▁▁▁▁▁▁▁█▇▂	8888	path_hairline_small_AA_line
>
> Edited revert of https://codereview.chromium.org/1085013003
>
> TBR=
>
> Expectations:
> - no effect on chrome, as it is guarded
> - lots of tiny rebaselines for skia

TBR=
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1092483003
2015-04-15 14:38:09 -07:00
bsalomon
bed83a66f5 Don't draw if SkShader::asNewFragmentProcessor fails.
BUG=chromium:473156

Review URL: https://codereview.chromium.org/1089063002
2015-04-15 14:18:34 -07:00
jvanverth
bc0273524b Fix LCD text and add path fix for Mali.
dFdy(st.y) produces negative values, so we need to take
abs() to get the right inverse scale.

BUG=skia:3528

Review URL: https://codereview.chromium.org/1086183002
2015-04-15 13:41:31 -07:00
reed
a0246165ea Speeup hairline curves (quads and cubics)
/skia/trunk> cat ../old.txt
maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
   9M	1	4.28ms	4.32ms	4.36ms	4.67ms	3%	▄▁▁▃▂▂▁▁▂█	8888	path_hairline_small_AA_cubic
   9M	1	743µs	767µs	770µs	825µs	4%	▃▃▇▃▁▁▅▁█▁	8888	path_hairline_small_AA_conic
   9M	1	533µs	606µs	598µs	680µs	9%	▁▂▂█▆▇▇▄▂▂	8888	path_hairline_small_AA_quad
   9M	1	451µs	452µs	456µs	495µs	3%	▁▁▁▁█▁▁▁▁▁	8888	path_hairline_small_AA_line

/skia/trunk> cat ../new.txt
maxrss	loops	min	median	mean	max	stddev	samples   	config	bench
   9M	1	827µs	827µs	831µs	869µs	2%	▁▁▁▁▁▁▁█▁▁	8888	path_hairline_small_AA_cubic
   9M	1	515µs	517µs	517µs	518µs	0%	▇█▆▅▃▃▁▁▁▅	8888	path_hairline_small_AA_conic
   9M	1	310µs	311µs	315µs	332µs	2%	▂▁█▆▁▁▁▁▁▁	8888	path_hairline_small_AA_quad
   9M	1	254µs	254µs	258µs	276µs	3%	▁▁▁▁▁▁▁█▇▂	8888	path_hairline_small_AA_line

Edited revert of https://codereview.chromium.org/1085013003

TBR=

Review URL: https://codereview.chromium.org/1078413003
2015-04-15 13:13:48 -07:00
halcanary
00b7e5eb97 SkPDF/Device/ImageFilter: Fix ImageFilter fallback code
Broken in https://chromium.googlesource.com/skia/+/76033be

I have confirmed that this fixes 470083.

BUG=470083

Review URL: https://codereview.chromium.org/1080923004
2015-04-15 13:05:18 -07:00
jvanverth
221360a514 Real fix for the Mali bug.
The dFdy(st.y) computation seems to be better than the dFdx(st.x) computation
on the Mali, so using that. The end result should be about the same.

BUG=skia:3528

Review URL: https://codereview.chromium.org/1082913006
2015-04-15 12:31:22 -07:00
joshualitt
ddb714b09a remove randomness in dstreadshuffle
BUG=skia:

Review URL: https://codereview.chromium.org/1085443005
2015-04-15 08:08:28 -07:00
reed
793a6ddd44 add blitter api for aa-hairlines
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1088143002
2015-04-15 07:51:15 -07:00
senorblanco
6bd5137e11 Change tessellator sweep direction to depend on path aspect ratio.
The tessellating path renderer uses several sweep-line algorithms,
whose sweep direction can be either in X or Y.

It is currently set to in-X at compile time, but a better approach is to
make it runtime-configurable, and use the path aspect ratio as
a heuristic to determine the optimal sweep direction.

BUG=skia:3725

Review URL: https://codereview.chromium.org/1089073002
2015-04-15 07:32:27 -07:00
msarett
e16b04aa60 SkJpegCodec
Enables basic decoding for jpegs

Includes rewinding

565, YUV, and Jpeg encoding are not yet implemented

BUG=skia:3257

Review URL: https://codereview.chromium.org/1076923002
2015-04-15 07:32:20 -07:00
jcgregorio
f91e676f94 Revert of add new blit2 methods in support of antialiased hairlines guard flag SK_SUPPORT_LEGACY_BLITANTIH2V2 (patchset #2 id:20001 of https://codereview.chromium.org/1060153003/)
Reason for revert:
DEPS roll is failing, one such example:

http://build.chromium.org/p/tryserver.chromium.win/builders/win8_chromium_rel/builds/73847/steps/ash_unittests%20%28with%20patch%29/logs/stdio

More here:

   https://codereview.chromium.org/1091483003

This CL was the only CL in the roll when things started to fail.

Original issue's description:
> add new blit2 methods in support of antialiased hairlines
>
> before:
>    9M	1	528µs	530µs	539µs	607µs	5%	▁▁▁▁▁▁▁▁█▂	8888	path_hairline_small_AA_quad
>
> after:
>    9M	1	355µs	356µs	358µs	375µs	2%	▂▁▁▁▁▁▁▁▁█	8888	path_hairline_small_AA_quad
>
> BUG=skia:
>
> does require new baselines (bug chrome is guarded)
>
> Committed: https://skia.googlesource.com/skia/+/dd83031b98db4c6d3d0de2353bf115152a7d1464

TBR=caryclark@google.com,reed@chromium.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/1085013003
2015-04-15 06:17:10 -07:00
zoran.jovanovic
7f00acbda6 Return cropBitmap
cropBitmap returns 'true' on success and 'false' on failure.
Propagate its return value so that cascading failures can be avoided.

Signed-off-by: Mykola Kondratenko <mykola.kondratenko@sonymobile.com>

BUG=skia:

Review URL: https://codereview.chromium.org/1088093003
2015-04-15 05:48:54 -07:00
joshualitt
ad802c66c9 Convert BitmapTextBatch from STArray to AutoSTMalloc
BUG=skia:

Review URL: https://codereview.chromium.org/1088533002
2015-04-15 05:31:57 -07:00
borenet
a49a742f76 Roll common DEPS: fix string concat error in gs_utils upload
TBR=jcgregorio
BUG=skia:3723

Review URL: https://codereview.chromium.org/1057653006
2015-04-15 04:49:32 -07:00
reed
dd83031b98 add new blit2 methods in support of antialiased hairlines
before:
   9M	1	528µs	530µs	539µs	607µs	5%	▁▁▁▁▁▁▁▁█▂	8888	path_hairline_small_AA_quad

after:
   9M	1	355µs	356µs	358µs	375µs	2%	▂▁▁▁▁▁▁▁▁█	8888	path_hairline_small_AA_quad

BUG=skia:

does require new baselines (bug chrome is guarded)

Review URL: https://codereview.chromium.org/1060153003
2015-04-14 18:39:57 -07:00
joshualitt
c3c5990ac0 Convert BitmapTextBlob from using STArray to AutoSTMalloc
BUG=skia:

Review URL: https://codereview.chromium.org/1083703002
2015-04-14 14:33:37 -07:00
halcanary
7e79818137 DM: add --multiPage option
Motivation: I want to switch back to single-page output by default for
direct comparison to raster backends in Gold.

I can still test the multi-page option via a command-line switch.

BUG=skia:3721

Review URL: https://codereview.chromium.org/1063873004
2015-04-14 14:06:18 -07:00
mtklein
115acee938 Sk4h and Sk8h for SSE
These will underly the SkPMFloat-like class for uint16_t components.

Sk4h will back a single-pixel version, and Sk8h any larger number than that.

BUG=skia:

Review URL: https://codereview.chromium.org/1088883005
2015-04-14 14:02:52 -07:00
djsollen
a669bc37c6 cleanup codec names being produced by dm and uploaded to gold
Review URL: https://codereview.chromium.org/1072933004
2015-04-14 13:47:51 -07:00
joshualitt
9e36c1a930 Start canonicalizing color for all A8 textblobs
BUG=skia:

Review URL: https://codereview.chromium.org/1076593002
2015-04-14 12:17:27 -07:00
mtklein
8fe8fffdfa Rename SkNi to SkNb.
As used today, SkNi is used in bool-y contexts.  This keeps that, but under a
new name, SkNb.  This makes room for a new SkNi that's focused on integer-y
things like loads, stores, arithmetic, etc.

The main reason to split these is that we want different specializations for
each use case: for bools, it's important for us to specialize 32- and 64-bit to
support efficient float- and double- comparisons, but for integer work we're
more likely to be looking at 8- and 16- bit lanes.  Keeping these use cases
siloed helps me manage the compexity of the backend NEON and SSE code.

BUG=skia:

Review URL: https://codereview.chromium.org/1083123002
2015-04-14 11:49:14 -07:00
reed
5dc6b7d1a8 change hairline procs to take array of points
BUG=skia:

Review URL: https://codereview.chromium.org/1085883002
2015-04-14 10:40:44 -07:00
borenet
b5de630d10 Update common DEPS: adding retries to GS upload
BUG=skia:3723

Review URL: https://codereview.chromium.org/1083663006
2015-04-14 10:37:33 -07:00
robertphillips
f5ac972207 Add GM to exercise high quality anisotropic scaling
High quality anisotropic is an interesting edge case for the gpu backend. For scales that are both minimizing and maximizing Ganesh falls back to MipMaps which can turn out too blurry.

BUG=472864

Review URL: https://codereview.chromium.org/1058133003
2015-04-14 08:19:01 -07:00
halcanary
86e5ab6338 GM: add fadefilter gm
BUG=470083

Review URL: https://codereview.chromium.org/1081173002
2015-04-14 06:25:19 -07:00
caryclark
30ac464d48 early return from stream peek
Don't assert if resources are missing

R=scroggo@google.com
BUG=skia:3719

Review URL: https://codereview.chromium.org/1080073002
2015-04-14 06:08:04 -07:00
msarett
164d5b09b7 Fixing use of initialized memory.
Disabling scanline decoding to kIndex8 until it can be implemented.

BUG=skia:3715

Review URL: https://codereview.chromium.org/1082923002
2015-04-14 05:37:36 -07:00
senorblanco
7ef63c85c5 Enable tessellating GPU path renderer.
This also contains a fix to remove recursion from the sorted_merge()
step. This was essentially tail-recursion, and was causing stack
exhaustion on some platforms. Making it iterative fixes the issue.

Note: this CL will affect a large number of GPU GM results.

R=bsalomon@google.com
BUG=

Review URL: https://codereview.chromium.org/1080113004
2015-04-13 14:27:37 -07:00
borenet
22ecae88ee Blacklist desk_wikipedia pdf on Valgrind bots
BUG=skia:3506

Review URL: https://codereview.chromium.org/1056763004
2015-04-13 13:29:26 -07:00
egdaniel
f103cd8539 Set resScale on stroker when stroking path on gpu.
BUG=skia:3686

Review URL: https://codereview.chromium.org/1048333003
2015-04-13 13:06:46 -07:00
mtklein
1dda2194e0 Fix minor undercounting in SkRecord::bytesUsed().
When an SkRecord has more than kInlineRecords ops in it (today, 5 or more), the
current logic undercounts the bytes used by the SkRecord by sizeof(Record) *
kInlineRecords, i.e. 32 bytes.  This isn't a huge deal... by the time you've
recorded 5 ops, we're typically up around 1KB anyway, and it's only ever off by
that constant 32 bytes, so somewhere between 3% to 0% error as the picture grows.

But now that I've noticed, we might as well fix it.  Basically, this is a
reminder that the inline space used to store those first kInlineRecords ops
goes to waste once we pass that threshold.  In contrast, fInlineAlloc, the
space we preallocate for the SkVarAlloc, never goes to waste.  It always holds
the first few ops' data even when we grow past it.

BUG=skia:

Review URL: https://codereview.chromium.org/1081433002
2015-04-13 12:17:02 -07:00