Commit Graph

15188 Commits

Author SHA1 Message Date
egdaniel
7c66342a39 Make all blending up to GrOptDrawState be handled by the xp/xp factory.
In this cl the blending information is extracted for the xp and stored in the ODS
which is then used as it currently is. In the follow up cl, an XP backend will be added
and at that point all blending work will take place inside XP's.

BUG=skia:

Review URL: https://codereview.chromium.org/759713002
2014-12-08 11:20:40 -08:00
fmalita
a2bd24fd15 Tweak SkPictureShader's tile semantics.
Currently, the tile offset is added when drawing the picture. This might
have made a tiny bit of sense when the picture was always positioned at
origin, but with a picture cull rect offset things looks really strange.

For example, to specify a tile == the picture cull rect we have to pass
in [-cullrect.x, -cullrect.y, cullrect.width, cullrect.height]. Yikes.

(there's also a bug when not passing a tile, as we use a default tile
== cullrect but don't compensate for the above oddity)

This changes the semantics of the tile offset: it is now subtracted when
drawing the picture tile. As a consequence, one can pass in a tile equal
to the cull rect and get the expected behavior (same when not passing
a tile).

This will require a minor Blink change with the roll, as one client
works around the current behavior:
https://codereview.chromium.org/789503003

R=reed@google.com,robertphillips@google.com
BUG=440046

Review URL: https://codereview.chromium.org/733203005
2014-12-08 11:13:27 -08:00
Brian Salomon
cf56009d90 Massive N10 Rebaseline Part 2
BUG=skia:3205

Review URL: https://codereview.chromium.org/790533002
2014-12-08 13:57:30 -05:00
robertphillips
9a264107fb Add new GM (filterfastbounds)
This new GM visualizes the fast bounds computed by various image-filter-based SkPaints. This is lead up to fixing some issues in fast bound computation.

BUG=418417

Review URL: https://codereview.chromium.org/788613003
2014-12-08 09:18:58 -08:00
fmalita
2be0fd8dcb Constify CreatePictureShader's picture arg.
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/768113004
2014-12-08 09:04:05 -08:00
jvanverth
999f5e73a1 Update dftext expectations after https://codereview.chromium.org/772633003/.
BUG=skia:3195, skia:3188
TBR=scroggo@google.com

Review URL: https://codereview.chromium.org/778043003
2014-12-08 08:10:31 -08:00
reed
08c357c914 remove device::clear -- no longer called
BUG=skia:

Review URL: https://codereview.chromium.org/778373003
2014-12-08 08:00:29 -08:00
Brian Salomon
7d74cd1312 Massive N10 Rebaseline
BUG=skia:3193

Review URL: https://codereview.chromium.org/783173002
2014-12-08 10:50:04 -05:00
reed
b9bb38cd18 make SkColorShader private, use public factory
BUG=skia:

Need https://codereview.chromium.org/785823002/ to land first

Review URL: https://codereview.chromium.org/788533002
2014-12-08 06:06:36 -08:00
caryclark
d3d1a988b1 add convexity logic and tests for scalar max, Inf, and NaN
PathOps relies on isConvex() only returning true for trivially
convex paths. The old logic also returns true if the paths that
contain NaNs and Infinities. Return kUnknown_Convexity instead
in those cases and in cases where the convexity logic computes
intermediaries that overflow.

Review URL: https://codereview.chromium.org/784593002
2014-12-08 04:57:38 -08:00
reed
f4e0d9eb2d clear() is now an alias for drawPaint, so remove its virtual
Needs these to land first:
https://codereview.chromium.org/733343005
https://codereview.chromium.org/777413004

BUG=skia:

Review URL: https://codereview.chromium.org/780393002
2014-12-05 20:49:03 -08:00
jvanverth
28f9c606e4 Add support for half float alpha textures.
This allows us to create distance field textures with better precision,
which may help text quality.

BUG=skia:3103

Review URL: https://codereview.chromium.org/762923003
2014-12-05 13:06:35 -08:00
egdaniel
915187b71d Check XpFactory equality in DrawState
BUG=skia:

Review URL: https://codereview.chromium.org/767873006
2014-12-05 12:58:28 -08:00
reed
e78f11e9b1 rebaseline after GM change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/784603002
2014-12-05 12:46:23 -08:00
egdaniel
ced90108b7 Fix include for GrPortderDuffXferProcessor.cpp
TBR=bsalomon@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/771353005
2014-12-05 12:40:52 -08:00
bungeman
5f14c5e038 Factor text size device mapping in SkScalerContext.
All of our font back-ends use the text size in some way other than
simple concatentation with the current matrix. The code here finds
the full device matrix and then decomposes it to extract the text
size.

FreeType, GDI, and DirectWrite use the text size as the pre-hint scale.
CoreText will not scale color emoji above the requested text size,
and certain features like 'trak' are performed on the text size.

Review URL: https://codereview.chromium.org/748883005
2014-12-05 12:26:44 -08:00
joshualitt
03d3bb00bb get rid of static gps
This may cause a perf regression

TBR=
BUG=skia:

Review URL: https://codereview.chromium.org/749413003
2014-12-05 12:14:43 -08:00
egdaniel
8bf2bd335f Move GrPorterDuffXferProcessor to include/gpu/effects.
BUG=skia:

Review URL: https://codereview.chromium.org/780263003
2014-12-05 12:14:27 -08:00
qiankun.miao
69469b570c Use size of SkRect as the key for blur mask cache
BUG=429409

Review URL: https://codereview.chromium.org/708073002
2014-12-05 11:16:25 -08:00
reed
22c9ae18e2 rebaseline after change to imagefilterscropped gm change
BUG=skia:
NOTRY=True
TBR=

Review URL: https://codereview.chromium.org/779313002
2014-12-05 09:18:28 -08:00
jvanverth
95f9b5f134 Fix overoptimization in distance field code on N7 and N10.
BUG=skia:3188

Review URL: https://codereview.chromium.org/772633003
2014-12-05 07:56:54 -08:00
reed
f4aa9ccd97 remove unnecessary save/clip/restore
BUG=skia:

Review URL: https://codereview.chromium.org/785493003
2014-12-05 07:33:00 -08:00
mtklein
5a8fc33320 Don't upload metrics we don't want to track.
BUG=skia:

Review URL: https://codereview.chromium.org/758853004
2014-12-05 07:25:16 -08:00
bungeman
a9bf1aadcd Tolerate unstarted builds in rebaseline server.
Currently server.py --rietveld-issue will crash if there are any
unstarted trybots on the latest patch. Instead of crashing, warn
that the bot hasn't started yet.

Review URL: https://codereview.chromium.org/758793003
2014-12-05 07:14:53 -08:00
skia.buildbots
0be41a06d7 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/781043002
2014-12-04 23:03:33 -08:00
jvanverth
b35760e286 Ignore failures for n7 and n10 dftext GM.
BUG=skia:3188
TBR=halcanary@google.com

Review URL: https://codereview.chromium.org/785433002
2014-12-04 16:01:53 -08:00
bsalomon
c92aadcf9a clean up default precision handling
R=joshualitt@google.com

Review URL: https://codereview.chromium.org/766753006
2014-12-04 13:02:47 -08:00
joshualitt
eb2a676165 Remove backend factories
BUG=skia:

Review URL: https://codereview.chromium.org/778453002
2014-12-04 11:35:34 -08:00
mtklein
e109145bf3 nanobench: upload peak memory usage as its own trace.
We'll end up with a result like this:
      "memory_usage" : {
         "meta" : {
            "max_rss_mb" : 57
         }
      }

BUG=skia:

Review URL: https://codereview.chromium.org/780013002
2014-12-04 10:47:02 -08:00
jvanverth
787cdf9ab0 Ganesh text rendering cleanup.
Rename GrTextStrike.{cpp.h} to GrFontCache.{cpp,h}
Move contents of GrTextStrike_impl.h to GrFontCache.h
Move glyph uploading to a separate function and remove harmful gotos
Add assert on glyph upload failure (shouldn't happen)

Review URL: https://codereview.chromium.org/780923002
2014-12-04 10:46:52 -08:00
halcanary
32fee2907e rebaseline pdf-native
TBR=
NOTRY=true

Review URL: https://codereview.chromium.org/779073002
2014-12-04 10:41:45 -08:00
joshualitt
87f48d997e create and thread batch tracker object
I remove the factory on the next CL

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294

Review URL: https://codereview.chromium.org/772513002
2014-12-04 10:41:40 -08:00
halcanary
4b8128ce9a pdf-mac clear to black rebaseline
NOTRY=true
TBR=
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/783543002
2014-12-04 10:21:04 -08:00
joshualitt
dafa4d09cb move program descriptor generation to flush
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

Review URL: https://codereview.chromium.org/777673003
2014-12-04 08:59:10 -08:00
mtklein
051e56df8f Upload picture byte size and op count metrics for SKP recording.
Look okay?

{
   "results" : {
      "desk_amazon.skp_1264_3999" : {
         "nonrendering" : {
            "bytes" : 75656,
            "max_ms" : 1.150187,
            "mean_ms" : 1.150187,
            "median_ms" : 1.150187,
            "min_ms" : 1.150187,
            "ops" : 659,
            "options" : {
               "bench_type" : "recording",
               "clip" : "0 0 1000 1000",
               "name" : "desk_amazon.skp",
               "scale" : "1",
               "source_type" : "skp"
            }
         }
      },
...

BUG=skia:

Review URL: https://codereview.chromium.org/773323002
2014-12-04 08:46:51 -08:00
robertphillips
eeb6f0c3c0 Rebaseline multipicturedraw GMs
This is clean up after https://codereview.chromium.org/753253002/ (Use variable length key (rather than accumulated matrix) as save layer hoisting key)

TBR=halcanary@google.com

Review URL: https://codereview.chromium.org/783523002
2014-12-04 08:43:54 -08:00
reed
b19ce3146c quick fix to land clear() change
BUG=skia:
TBR=
NOTRY=True

Review URL: https://codereview.chromium.org/774863003
2014-12-04 08:39:09 -08:00
robertphillips
63242d7d24 Fix SKPBench tiling so MPD and non-MPD match
Two issues with the SKPBench tile computation were causing the MPD path to do more work:

The clip from the parent canvas wasn't being used to trim content off the edges of the MPD tiles

The non-MPD path was not taking the scale into account in its tile placement (resulting in it having fewer, larger active tiles when scaling).

Review URL: https://codereview.chromium.org/776273002
2014-12-04 08:31:03 -08:00
reed
89dee4298e check (thread-tricky) colortable after we've copied the bitmap into a per-thread context
BUG=skia:

Review URL: https://codereview.chromium.org/766283004
2014-12-04 08:06:18 -08:00
mtklein
c88cedaf88 Fix up RecordReplaceDrawTest memory leak.
http://build.chromium.org/p/client.skia/builders/Test-Ubuntu12-ShuttleA-GTX550Ti-x86_64-Release-Valgrind/builds/151/steps/dm/logs/stdio

BUG=skia:

Review URL: https://codereview.chromium.org/779973002
2014-12-04 07:53:21 -08:00
reed
8eddfb50c0 Change clear() to respect the clip
This reverts commit af641a1c10.

BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/783493002
2014-12-04 07:50:14 -08:00
qiankun.miao
60f3c657cc Add SSSE3 acceleration for S32_D16_filter_DXDY
With this CL, related nanobench can be improved for 565 config.
                bitmap_BGRA_8888_scale_rotate_bilerp     115us -> 70.5us       0.61x
bitmap_BGRA_8888_update_volatile_scale_rotate_bilerp     115us -> 70.5us       0.61x
         bitmap_BGRA_8888_update_scale_rotate_bilerp     112us ->   68us       0.6x

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/45a05780867a06b9f8a8d5240cf6c5d5a2c15a35

Review URL: https://codereview.chromium.org/773753002
2014-12-04 06:27:03 -08:00
joshualitt
f78c60c92a Revert of move program descriptor generation to flush (patchset #7 id:120001 of https://codereview.chromium.org/777673003/)
Reason for revert:
breaking linux build

Original issue's description:
> move program descriptor generation to flush
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/829e1b80b1020b17f2078020c990e079b70c077c

TBR=egdaniel@google.com,bsalomon@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/776243005
2014-12-04 06:01:45 -08:00
joshualitt
841a6b54c1 Revert of create and thread batch tracker object (patchset #9 id:160001 of https://codereview.chromium.org/772513002/)
Reason for revert:
Breaking linux layout test

Original issue's description:
> create and thread batch tracker object
>
> I remove the factory on the next CL
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/c3a6eb23483e5d28073b509a5f637f41660de294

TBR=bsalomon@google.com,joshualitt@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/774133003
2014-12-04 06:00:41 -08:00
reed
b8eb85cd2f make clear private (before we delete it)
BUG=skia:

Review URL: https://codereview.chromium.org/781593002
2014-12-04 03:48:34 -08:00
skia.buildbots
748ea60790 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/776873006
2014-12-03 23:04:09 -08:00
jam
9da051ad41 Revert of Add SSSE3 acceleration for S32_D16_filter_DXDY (patchset #3 id:40001 of https://codereview.chromium.org/773753002/)
Reason for revert:
breaks build when not using SSE3, since the two method definitions differ in parameter types (typo)

Original issue's description:
> Add SSSE3 acceleration for S32_D16_filter_DXDY
>
> With this CL, related nanobench can be improved for 565 config.
>                 bitmap_BGRA_8888_scale_rotate_bilerp     115us -> 70.5us       0.61x
> bitmap_BGRA_8888_update_volatile_scale_rotate_bilerp     115us -> 70.5us       0.61x
>          bitmap_BGRA_8888_update_scale_rotate_bilerp     112us ->   68us       0.6x
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/45a05780867a06b9f8a8d5240cf6c5d5a2c15a35

TBR=mtklein@google.com,qkmiao@gmail.com,qiankun.miao@intel.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/761103003
2014-12-03 15:56:36 -08:00
joshualitt
c3a6eb2348 create and thread batch tracker object
I remove the factory on the next CL

BUG=skia:

Review URL: https://codereview.chromium.org/772513002
2014-12-03 15:34:20 -08:00
joshualitt
829e1b80b1 move program descriptor generation to flush
BUG=skia:

Review URL: https://codereview.chromium.org/777673003
2014-12-03 13:57:37 -08:00
reed
e5750729e4 Revert of Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/777003002/)
Reason for revert:
fix landed in chrome to allow this (I hope)

Original issue's description:
> Revert of remove unused device::eraseColor (patchset #1 id:1 of https://codereview.chromium.org/765643004/)
>
> Reason for revert:
> ../../skia/ext/bitmap_platform_device_cairo.cc:131:13: error: no member named 'eraseColor' in 'skia::BitmapPlatformDevice'
>
>
> Original issue's description:
> > remove unused device::eraseColor
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/b1ab276c3719d6690e58f347c25126d2b8929c5d
>
> TBR=reed@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/8b0197ef2e32be9d62e79d58f8b50811975c79c6

TBR=halcanary@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Review URL: https://codereview.chromium.org/779543004
2014-12-03 13:17:29 -08:00