Commit Graph

16900 Commits

Author SHA1 Message Date
bsalomon
3f324321cd Add mechanism to proactively purge old resources in GrResourceCache.
This change leaves the feature turned off by default.

Review URL: https://codereview.chromium.org/1032873002
2015-04-08 11:01:55 -07:00
joshualitt
b7133bed55 Adding a cache + memory pool for GPU TextBlobs
BUG=skia:

Review URL: https://codereview.chromium.org/1055843002
2015-04-08 09:08:31 -07:00
halcanary
2ad228e8ff SkPDF: Remove Array's unused set(i) and get(i) (leaving only append())
BUG=skia:3585

Review URL: https://codereview.chromium.org/1071583003
2015-04-08 08:40:36 -07:00
bsalomon
e4579adfdf Add helper for creating a SkSurface from a client created texture.
Review URL: https://codereview.chromium.org/1071603002
2015-04-08 08:38:40 -07:00
caryclark
95bc5f3495 change isNestedRect to isNestedFillRect
R=reed@google.com, bsalomon@google.com

Let isNested(Fill)Rect return true if drawn path describes filled
rectangles.

Review URL: https://codereview.chromium.org/1073473002
2015-04-08 08:34:15 -07:00
mtklein
929f63fecc Make --undefok a little louder now that we're using it all the time.
BUG=skia:

Review URL: https://codereview.chromium.org/1073483002
2015-04-08 08:30:38 -07:00
joshualitt
b4c507e033 Adding bulk plot reffer to cached textblobs
This change will prevent the atlas from evicting glyphs the TextBlob
needs.

BUG=skia:

Committed: https://skia.googlesource.com/skia/+/7281c61e7bc689d484dcbda49be3cef4ce4f11c2

Review URL: https://codereview.chromium.org/1050113004
2015-04-08 08:07:59 -07:00
bungeman
693e993057 Remove unused InstCounterClass.
This was added with r4719 (f7943035) to support testing
SkTRefArray. With 703d3c70 SkTRefArray and the associated test was
removed, but the supporting InstCounterClass was not.

Review URL: https://codereview.chromium.org/1063403003
2015-04-08 08:06:26 -07:00
joshualitt
f1f8895cbe add realloc method to SkAutoSTMalloc
BUG=skia:

Review URL: https://codereview.chromium.org/1069013002
2015-04-08 07:33:33 -07:00
tomhudson
05e4abae89 Add missing override of willSaveLayer()
Also tweak formatting.

BUG=3624
R=djsollen@google.com

Review URL: https://codereview.chromium.org/1068163004
2015-04-08 06:52:59 -07:00
mtklein
c654e9016a Revert of SkCanvas::resetForNextPicture() (patchset #4 id:60001 of https://codereview.chromium.org/1067893002/)
Reason for revert:
https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1816

Original issue's description:
> SkCanvas::resetForNextPicture()
>
> No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.
>
>   picture_overhead_draw	1.62us ->  1.6us	0.99x
> picture_overhead_nodraw	 792ns ->  342ns	0.43x
>
> tiles and serialization modes will also test this a bit.
>
> BUG=chromium:470553
>
> Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d

TBR=mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:470553

Review URL: https://codereview.chromium.org/1062353002
2015-04-07 15:27:14 -07:00
mtklein
f920e468ac SkCanvas::resetForNextPicture()
No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu.

  picture_overhead_draw	1.62us ->  1.6us	0.99x
picture_overhead_nodraw	 792ns ->  342ns	0.43x

tiles and serialization modes will also test this a bit.

BUG=chromium:470553

Review URL: https://codereview.chromium.org/1067893002
2015-04-07 14:11:22 -07:00
mtklein
b0531a790c Move uninteresting MD5 check to after adding it to JSON.
BUG=skia:3676

Review URL: https://codereview.chromium.org/1067053002
2015-04-07 13:38:48 -07:00
rmistry
6c27535e6f Fix formatting in the sheriff documentation
BUG=skia:
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1066013002

Review URL: https://codereview.chromium.org/1066013002
2015-04-07 12:17:00 -07:00
senorblanco
d762ca2586 Switch textures created by DeviceImageFilterProxy to
approx-match.

This revealed some further 0..1 texture coordinate
depedencies,specifically in SkDisplacementMapEffect and
SkXfermodeImageFilter, fixed through use of
GrTextureDomain.

Note: causes minor pixel diffs in pictureimagefilter,
testimagefilters GMs.

Also causes minor pixel diffs in some Blink layout tests,
suppressed here: https://codereview.chromium.org/1064943002

BUG=skia:3532

Review URL: https://codereview.chromium.org/1065683002
2015-04-07 12:16:56 -07:00
reed
3006b2e013 re-enable neon opts for some xfermodes
BUG=skia:

Review URL: https://codereview.chromium.org/1068783003
2015-04-07 11:14:10 -07:00
halcanary
bb264b7750 SkPDF: SkPDFString is no longer aware of wide strings.
Since wide strings are only used in SkPDFDevice, I have moved the
function that manages them to that directory.

Motivation: The SkPDFString will be refactored later along with the
other SkPFObject heirarchy.

BUG=skia:3585

Review URL: https://codereview.chromium.org/1064013003
2015-04-07 10:40:03 -07:00
joshualitt
3cf9863bb6 Revert of Adding bulk plot reffer to cached textblobs (patchset #7 id:110001 of https://codereview.chromium.org/1050113004/)
Reason for revert:
Breaks linux builder

Original issue's description:
> Adding bulk plot reffer to cached textblobs
>
> This change will prevent the atlas from evicting glyphs the TextBlob
> needs.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/7281c61e7bc689d484dcbda49be3cef4ce4f11c2

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

Review URL: https://codereview.chromium.org/1061713003
2015-04-07 10:21:27 -07:00
joshualitt
7281c61e7b Adding bulk plot reffer to cached textblobs
This change will prevent the atlas from evicting glyphs the TextBlob
needs.

BUG=skia:

Review URL: https://codereview.chromium.org/1050113004
2015-04-07 10:02:25 -07:00
jvanverth
bb4a1cf0e6 Calculate inverse scale for distance field text in vertex shader
This is for the uniform scale case only. Using the dFdx() function on certain
Mali GPUs causes issues because the precision is too low, so we have to
compute 1/scale from the view matrix instead.

BUG=skia:3528

Committed: https://skia.googlesource.com/skia/+/5b143038cb47763974d2750ed78d436eb6c38bea

Review URL: https://codereview.chromium.org/1029423003
2015-04-07 09:06:00 -07:00
mtklein
0ea6d7150e Fix DM -r
source_options isn't always present.

BUG=skia:

Review URL: https://codereview.chromium.org/1067863002
2015-04-07 08:48:39 -07:00
mtklein
b7e8d69fc2 Add a Via to DM that records into two pictures and draws using the second.
I'm going to start hacking on SkCanvas a bit to allow a fast reset method,
and I want to have some testing checking me.

BUG=skia:

Review URL: https://codereview.chromium.org/1062043004
2015-04-07 08:30:32 -07:00
reed
687fa1c745 restore clipstack to heap-ptr, so clients can ref it
BUG=skia:

Review URL: https://codereview.chromium.org/1068883004
2015-04-07 08:00:56 -07:00
rmistry
04abf130bb Bypass owners check for dry run CLs.
BUG=skia:
NOTRY=true

Review URL: https://codereview.chromium.org/1068853002
2015-04-07 07:41:51 -07:00
bungeman
e3bea5cc60 Attempted mitigation of font tables released early.
On Mac, it appears that sometimes fonts created from data have
their table data used after the table data copy is freed.
This appears to be most common with 'sbix' fonts for some reason,
so pin that table while in use.

Review URL: https://codereview.chromium.org/1061123002
2015-04-07 07:34:36 -07:00
egdaniel
060a52c210 Set willReadFragmentPosition on XP when doing a DstCopy.
BUG=472872

Review URL: https://codereview.chromium.org/1068463004
2015-04-07 07:31:11 -07:00
scroggo
5965b73e54 Revert of Remove now-redundant SkPathOps enum. (patchset #1 id:1 of https://codereview.chromium.org/1051113005/)
Reason for revert:
Android is still using this. See 4c2968b94c/logs/build_error.log

Original issue's description:
> Remove now-redundant SkPathOps enum.
>
> R=caryclark,reed
> BUG=473772
>
> Committed: https://skia.googlesource.com/skia/+/143244e27d95255807d8fa505ce0affef96d1fc8

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

Review URL: https://codereview.chromium.org/1068873002
2015-04-07 06:53:21 -07:00
scroggo
fde1c85696 Add sheriff documentation for rebaselining.
Copied from notes Robert emailed me.
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=1051653006

Review URL: https://codereview.chromium.org/1051653006
2015-04-07 06:41:22 -07:00
mtklein
e35268ef4c Send SkPicture deletion message lazily.
If no one has read the picture's unique ID, there's no point invalidating it.

This is the same trick we pull with SkPixelRefs.

Before:
  26M	1	1.49µs	1.6µs	1.77µs	6.25µs	42%	picture_overhead_draw
  13M	32	742ns	749ns	756ns	823ns	2%	picture_overhead_nodraw

After:
  26M	1	1.27µs	1.33µs	1.49µs	5.51µs	45%	picture_overhead_draw
  14M	43	677ns	680ns	681ns	701ns	1%	picture_overhead_nodraw

BUG=skia:

Review URL: https://codereview.chromium.org/1061283002
2015-04-07 06:34:05 -07:00
reed
6cad1da6ef simplify xfers
BUG=skia:

Review URL: https://codereview.chromium.org/1061193003
2015-04-07 06:13:45 -07:00
reed
b679ca8926 reduce alloc overhead for SkCanvas
use pre-allocated space in the canvas to avoid initial calls to malloc

BUG=skia:

Review URL: https://codereview.chromium.org/1060583007
2015-04-07 04:40:48 -07:00
jvanverth
ff271c29a6 Revert of Calculate inverse scale for distance fields in vertex shader (patchset #6 id:100001 of https://codereview.chromium.org/1029423003/)
Reason for revert:
This appears to be breaking large text on Nexus 7.

Original issue's description:
> Calculate inverse scale for distance field text in vertex shader
>
> This is for the uniform scale case only. Using the dFdx() function on certain
> Mali GPUs causes issues because the precision is too low, so we have to
> compute 1/scale from the view matrix instead.
>
> BUG=skia:3528
>
> Committed: https://skia.googlesource.com/skia/+/5b143038cb47763974d2750ed78d436eb6c38bea

TBR=bsalomon@google.com,joshualitt@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3528

Review URL: https://codereview.chromium.org/1066613003
2015-04-06 13:58:59 -07:00
borenet
dfaebfba42 Remove get_uploaded hashes
Replaced with an inline script in
https://codereview.chromium.org/1068503002/

BUG=skia:3521

Review URL: https://codereview.chromium.org/1062873002
2015-04-06 13:19:26 -07:00
caryclark
08b3249494 fix valgrind bug
R=mtklein
BUG=skia:3654

Review URL: https://codereview.chromium.org/1064663003
2015-04-06 11:41:29 -07:00
jvanverth
5b143038cb Calculate inverse scale for distance field text in vertex shader
This is for the uniform scale case only. Using the dFdx() function on certain
Mali GPUs causes issues because the precision is too low, so we have to
compute 1/scale from the view matrix instead.

BUG=skia:3528

Review URL: https://codereview.chromium.org/1029423003
2015-04-06 11:38:52 -07:00
joshualitt
9a27e63948 Handle large paths in textblobs
BUG=skia:

Review URL: https://codereview.chromium.org/1057613002
2015-04-06 10:53:36 -07:00
senorblanco
94e50100eb When wrapping external textures, clamp the MSAA sample count to max.
This is the same clamp we do in onCreateTexture() for Skia-native textures.

Without this fix, setting to a count higher than the max in Chrome results
in a black screen.

BUG=skia:

Review URL: https://codereview.chromium.org/1056253003
2015-04-06 09:42:57 -07:00
schenney
143244e27d Remove now-redundant SkPathOps enum.
R=caryclark,reed
BUG=473772

Review URL: https://codereview.chromium.org/1051113005
2015-04-06 09:37:56 -07:00
mtklein
76f5cc6e9e Clean up BlockRef
- It's no longer needed to help the (2011?) transition to SkAutoTUnref.
  - It prevents us from making classes that go in SkAutoTUnrefs final,
    i.e. all ref-counted classes.

This had better not have been public API...
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1068443002
2015-04-06 08:57:32 -07:00
msarett
2f273a1ed0 Adding non-deterministic images to blacklist
BUG=skia:3653

Review URL: https://codereview.chromium.org/1054593006
2015-04-06 08:38:49 -07:00
mtklein
f559de4338 Expand bench to cover no-draw SkPictures too.
This looks a lot closer to what Chromium's profiling is showing.

BUG=chromium:470553

Review URL: https://codereview.chromium.org/1063723002
2015-04-06 07:25:04 -07:00
mtklein
20c1c047e0 DM: set source options only when non-empty.
BUG=skia:

Review URL: https://codereview.chromium.org/1063713002
2015-04-06 07:22:05 -07:00
skia.buildbots
26fc1bf340 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/1062703002
2015-04-05 01:14:18 -07:00
borenet
09ed480906 Add --uninterestingHashesFile to DM
The file is expected to contain a list of strings. If the hash for
any result is in this file, don't write an image for it.

BUG=skia:3521

Review URL: https://codereview.chromium.org/1059363002
2015-04-03 14:15:33 -07:00
mtklein
649e045170 Add a bench to measure SkPictureRecorder constant overhead.
BUG=chromium:470553

Review URL: https://codereview.chromium.org/1061633002
2015-04-03 13:25:13 -07:00
mtklein
7792dbf7ea Code's more readable when SkPMFloat is an Sk4f.
#floats

BUG=skia:
BUG=skia:3592

Committed: https://skia.googlesource.com/skia/+/6b5dab889579f1cc9e1b5278f4ecdc4c63fe78c9

CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm64-Debug-Android-Trybot

Review URL: https://codereview.chromium.org/1061603002
2015-04-03 13:08:28 -07:00
mtklein
e758579d4f Revert of Code's more readable when SkPMFloat is an Sk4f. (patchset #3 id:40001 of https://codereview.chromium.org/1061603002/)
Reason for revert:
missed some neon code

Original issue's description:
> Code's more readable when SkPMFloat is an Sk4f.
>  #floats
>
> BUG=skia:
> BUG=skia:3592
>
> Committed: https://skia.googlesource.com/skia/+/6b5dab889579f1cc9e1b5278f4ecdc4c63fe78c9

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

Review URL: https://codereview.chromium.org/1056143004
2015-04-03 12:47:48 -07:00
mtklein
6b5dab8895 Code's more readable when SkPMFloat is an Sk4f.
#floats

BUG=skia:
BUG=skia:3592

Review URL: https://codereview.chromium.org/1061603002
2015-04-03 12:45:05 -07:00
djsollen
b2a6fe7976 Enable both static and dynamically linked libpng
All platforms except android are configured to use the statically linked copy
of libpng. Android uses the system provided dynamic copy for SkImageDecoder
and the static copy for SkCodec. The exception being android framework builds
that currently use the dynamic copy everywhere.

This CL also enables NEON optimizations for libpng.

Review URL: https://codereview.chromium.org/1058823002
2015-04-03 12:35:27 -07:00
reed
aed98b80d9 enable sk4f xfermodes
BUG=skia:
TBR=

Review URL: https://codereview.chromium.org/1061543002
2015-04-03 09:48:30 -07:00