Commit Graph

13473 Commits

Author SHA1 Message Date
robertphillips
6f294af43b Refactor GrLayerCache for new API
The only substantive change in this CL is skipping atlasing
for any layers that are involved in nesting. Prior versions
have allowed nesting layers to be atlased.

--------------------------------------------------------

All times are on Windows with a repeat count of 200.
Format is: <time in ms> (<# of glBindframebuffer calls>)

How to interpret this:

For the boogie page:

 both columns should be the same (since boogie has no
        nested layers)
 without the new API the tiled case doesn't show any real
        benefit from hoisting

For the carsvg page:

 The nesting change does increase the number of FBO
      switches but doesn't kill performance
 Because of the location & size of the layers the
      tile case does show some improvement (even
      without the new API)

boogie
-------

		   w/o nested change   w/ nested change

simple                5.62 (811)           N/A

tiled                 7.72 (811)           N/A

simple w/ hoisting    5.23 (409)        5.77 (409)
(but no caching)

tiled w/ hoisting     7.57 (809)        7.49 (809)
(but no caching)

carsvg
------

		   w/o nested change   w/ nested change

simple 		      60.37 (141990)        N/A

tiled                115.13 (256929)        N/A

simple w/ hoisting    41.57 (64570)      42.82 (72279)
(but no caching)

tiled w/ hoisting     84.24 (154352)     84.71 (165630)
(but no caching)

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/476833004
2014-08-18 08:50:03 -07:00
mtklein
479601b9a7 Small tweaks and a bug fix.
Bug fixed: I was calling paint->canComputeFastBounds() where I should have been calling fSaveStack[i].paint->canComputeFastBounds().

This suggested I factor out the paint adjusting code, now called AdjustForPaint().  This removes the getImageFilter() check for SaveLayers, which seems like an optimization we can add back later if it proves important.

We're going to want to intersect the bounds with the current clip bounds eventually, so might as well land that here too.

Plus, more const.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/481543002
2014-08-18 08:45:33 -07:00
mtklein
0459cc732b Android.mk: bench_pictures -> nanobench
We're only keeping bench_pictures around for the bots now.  For human-initiated work, nanobench is the way to go.

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/484663002
2014-08-18 08:44:54 -07:00
halcanary
ea4673fde6 SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.
R=reed@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/465823003
2014-08-18 08:27:09 -07:00
mtklein
0ed4e863c0 Stop sorting the results of SkBBH::search().
We only seem to need to sort with SkQuadTree, which is not actively used by
client code.  So it's really just wasted work.  SkQuadTree is interesting, but
I'd rather disable it than slow down the production code path.

BUG=skia:2834
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/471063004
2014-08-18 08:23:19 -07:00
borenet
dc0fcbb925 Fix Android platform self-tests
Remove things related to no-longer-existing unittests, run makefile_writer_tests --rebaseline

BUG=skia:2843
R=djsollen@google.com, scroggo@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/481943002
2014-08-18 08:13:12 -07:00
reed
bbe7a2ad32 eliminate code related to SkBitmap::Config
BUG=skia:
R=reed@google.com, mike@reedtribe.org

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/483593002
2014-08-18 08:13:03 -07:00
jshin
ad77e55cc0 Add alias mapping for Noto Sans CJK for ja/hans
Chrome/Chromium OS are getting a brand new CJK fonts (Noto Sans CJK).
We want them to be used in place of common Japanese and Simplified
Chinese sans-serif fonts.

BUG=chromium:399080
TEST=With CrOS CL
(https://chromium-review.googlesource.com/#/c/212624/), web pages
using 'Simhei' and 'MSP Gothic' are rendered with Noto Sans CJK.

R=reed@chromium.org, bungeman@google.com

Author: jshin@chromium.org

Review URL: https://codereview.chromium.org/476203003
2014-08-18 08:07:51 -07:00
bungeman
0a25b2ccf8 Correct order for alignment in name iterator record.
We must be quite careful about the order of fields in a 'pragma pack(1)'.
On Android the order 'uint16_t, void*' will misalign the pointer,
potentially leading to a crash.

In the future we should move anything which is not strictly part of the
table definition outside of the packed region.

R=mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/474313002
2014-08-18 08:07:44 -07:00
reed
f92c86642a simplify SkCanvas::init()
BUG=skia:
R=robertphillips@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/472123002
2014-08-18 08:02:43 -07:00
krajcevski
95498ed2d8 Fix typo
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/478533002
2014-08-18 08:02:33 -07:00
bungeman
ec730b9caf Remove fOrigFontID from SkScalerContextRec.
With the recent Android changes and removal of chaining, this is no longer used.

R=djsollen@google.com, reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/476713003
2014-08-18 07:57:35 -07:00
bungeman
8a98672192 Remove unused SkGlyphCache::VisitAllCaches.
R=reed@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/472153002
2014-08-18 07:57:26 -07:00
krajcevski
0f149e5a78 Add scraper to find paths that fallback to software
R=robertphillips@google.com, krajcevski@gmail.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/475433004
2014-08-18 07:52:25 -07:00
krajcevski
b1aded8edd Add flag to bench/render pictures
R=robertphillips@google.com, bsalomon@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/464423003
2014-08-18 07:52:17 -07:00
borenet
de512d9a6c Rebaseline astcbitmap and etc1bitmap on Recipes bot
BUG=skia:761
NOTREECHECKS=true
R=robertphillips@google.com, bsalomon@google.com, krajcevski@google.com

Author: borenet@google.com

Review URL: https://codereview.chromium.org/481883003
2014-08-18 06:50:33 -07:00
dandov
7e5598a004 Added bench for grid of patches.
It is on top of my previous cl to fix the mem leaks of the regular patch bench.

NOTREECHECKS=true
BUG=skia:
R=egdaniel@google.com, bsalomon@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/470543004
2014-08-15 13:30:47 -07:00
mtklein
a723b576ae SkRecordDraw: incorporate clip into BBH
NOTREECHECKS=true

BUG=skia:
R=robertphillips@google.com, senorblanco@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/474983002
2014-08-15 11:49:49 -07:00
senorblanco
673d9732bf Check all scratch texture allocations for image filters.
BUG=403677
R=bsalomon@google.com
NOTREECHECKS=true

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/473283002
2014-08-15 10:48:43 -07:00
reed
cccb3b44e4 remove SkBitmap::Config support from android
NOTREECHECKS=True
NOTRY=True
R=djsollen@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/470933003
2014-08-15 10:13:35 -07:00
stephana
a1aa5c2806 This passes the URL of the diff image to the front-end, thus removing the need to keep frontend code for URL generation in sync with the backend.
BUG=skia:
NOTREECHECKS=true
NOTRY=true
R=epoger@google.com

Author: stephana@google.com

Review URL: https://codereview.chromium.org/471033003
2014-08-15 06:53:23 -07:00
dandov
45f7842de7 Fixed memory leak for nanobench and crashing in SampleApp
NOTREECHECKS=True

BUG=skia:2830
R=mtklein@google.com, egdaniel@google.com

Author: dandov@google.com

Review URL: https://codereview.chromium.org/469333002
2014-08-15 06:06:47 -07:00
mtklein
5a246bb487 int SkPicture::approximateOpCount()
NOTREECHECKS=true

BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/470333002
2014-08-14 19:17:21 -07:00
halcanary
86cfff0a4d valgrind suppression for zlib Flate Test
NOTREECHECKS=true
NOTRY=true
R=bsalomon@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/477733002
2014-08-14 13:08:45 -07:00
bsalomon
87c35adbda Remove aarects benchmark. Redundant with rotated_rects* bench and *much* slower.
NOTREECHECKS=true
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/469373003
2014-08-14 13:03:58 -07:00
bsalomon
a7f79b47fa remove internal repeat count from gradient benches
NOTREECHECKS=true
R=mtklein@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/476923002
2014-08-14 12:24:46 -07:00
Brian Salomon
f878e3cb3c Rebaseline and remove tests from ignored-tests.txt
BUG=skia:

Review URL: https://codereview.chromium.org/475013002
2014-08-14 13:51:16 -04:00
mtklein
60c7707958 Guard ANGLE and MESA instead of defining them as native when unsupported.
Since we've added "angle" to the default list of configs we've been running
kNative_GLContextType tests twice in DM, once for the real native, once for
angle.  This pointlessly doubles the GPU critical path in DM.  Whoops.

NOTREECHECKS=true

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/471063002
2014-08-14 10:36:55 -07:00
epoger
9f1ae465c8 rebaseline_server: show Pending Approval tab if viewing SKP expectations vs actuals
BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/473973002
2014-08-14 09:55:36 -07:00
bsalomon
776d355147 Make null gpu context threadsafe(r) and make sure buffer objects are destroyed.
NOTREECHECKS=true
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/470993002
2014-08-14 08:13:27 -07:00
epoger
b492c6ff30 add --descriptions flag to render_pictures tool
Needed because right now, when you look at the full set of SKP results in
rebaseline_server, you can't tell which renderMode (or builder) generated each
one.

BUG=skia:2833
R=borenet@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/466153006
2014-08-14 07:32:50 -07:00
krajcevski
e1c78ae553 Rebaseline R11 and ASTC bitmap GMs
TBR=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/471723002
2014-08-14 07:24:53 -07:00
epoger
5c4b137592 rebaseline_server: include setA/setB descriptions in output JSON
This is needed for rebaselining using the shared rebaseline_server instance:
by telling the client which git revision was used to fetch expectations, we
allow the client to pass that back along with new baselines (so the server
knows which revision to patch).

This is also handy in that it allows the server to tell the client more about the
different result sets (which files they were generated from).

BUG=skia:1918
NOTRY=true
R=rmistry@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/474813002
2014-08-14 07:12:46 -07:00
djsollen
3b6255493e Remove SkPaintOptionsAndroid
Committed: https://skia.googlesource.com/skia/+/f32331ffdb5de0440bb337aa7cbdd6f33e9ff23b

R=reed@google.com, mtklein@google.com, tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/447873003
2014-08-14 06:29:03 -07:00
epoger
30e26cdb41 rebaseline_server UI: add link to raw JSON
patchset 3 from https://codereview.chromium.org/467843002

NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/475623002
2014-08-13 19:29:49 -07:00
epoger
4c808253f4 rebaseline_server: move more code into common path for GET_live_results and GET_prefetch_results
patchset 1 from issue 467843002

BUG=skia:1918
NOTREECHECKS=true
NOTRY=true
R=stephana@google.com
TBR=stephana

Author: epoger@google.com

Review URL: https://codereview.chromium.org/465143004
2014-08-13 19:23:33 -07:00
stephana
e8d74d988a This is a bit of a hack, but will work. I have a cleaner fix ready (but still need to fix some broken tests).
BUG=skia:
NOTRY=true
R=epoger@google.com

Author: stephana@google.com

Review URL: https://codereview.chromium.org/472703002
2014-08-13 19:12:59 -07:00
Brian Salomon
81ecaa2e4c Fix typo in ignored-tests.txt
BUG=skia:

Review URL: https://codereview.chromium.org/475583002
2014-08-13 18:31:03 -04:00
bsalomon
c15e28a522 Revert of Remove SkPaintOptionsAndroid (patchset #5 of https://codereview.chromium.org/447873003/)
Reason for revert:
Breaks the Chromium build: http://108.170.220.120:10117/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-DRT/builds/2469/steps/BuildContentShell_1/logs/stdio

Original issue's description:
> Remove SkPaintOptionsAndroid
>
> Committed: https://skia.googlesource.com/skia/+/f32331ffdb5de0440bb337aa7cbdd6f33e9ff23b

R=reed@google.com, mtklein@google.com, tomhudson@google.com, djsollen@google.com
TBR=djsollen@google.com, mtklein@google.com, reed@google.com, tomhudson@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/473543004
2014-08-13 15:18:46 -07:00
mtklein
6cfa73a29a Start tracking the CTM while filling the BBH in SkRecordDraw.
Depends on https://codereview.chromium.org/475473002/

BUG=skia:
R=robertphillips@google.com, reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/468193003
2014-08-13 13:33:49 -07:00
djsollen
f32331ffdb Remove SkPaintOptionsAndroid
R=reed@google.com, mtklein@google.com, tomhudson@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/447873003
2014-08-13 13:09:49 -07:00
mtklein
828ce1f34b Start filling BBH in SkRecordDraw.
This starts with a skeleton of how to calculate bounds for ops which don't have
their own bounds.  For any given Save/Restore block, we'll find the union of the
bounds of all the draws inside it (including other Save/Restore blocks), then say
those are the bounds of all non-draws in the block, including the Save and Restore.

To implement this, we keep a stack of active Save blocks.  Any time we hit a
non-drawing op ("control"), we'll add it to that Save block (implemented with a
separate stack of indices and a count of control ops in the entry on the Save
stack).  Save and SaveLayer push onto the stack, and Restore pops the stack, at
which point we can fill in the bounds for all the control ops in the block.

BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/475473002
2014-08-13 12:58:45 -07:00
epoger
536e9539b4 roll common deps
NOTRY=true
R=borenet@google.com
TBR=borenet

Author: epoger@google.com

Review URL: https://codereview.chromium.org/469043003
2014-08-13 12:51:57 -07:00
krajcevski
12b3544028 Add runtime flag to turn compressed alpha masks on
R=bsalomon@google.com, robertphillips@google.com, mtklein@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/468293002
2014-08-13 12:06:26 -07:00
mtklein
3140576f2f Baseline Android-Reference-Unknown-Arm64
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/474563002
2014-08-13 11:59:53 -07:00
tomhudson
7a4747f4f6 Update path to Android font config file
In version LMP, Android is expected to change the path to their font
configuration file (and condense several files into one), as well as
changing the format (qv http://crrev.com/446473003/). This patch tries
the new path before falling back to the old path.

The new fonts are incompatible with assumptions made by the old
SkFontConfigInterfaceAndroid, so this patch MUST NOT land until
https://crrev.com/462073002/ or the equivalent has turned on the
new SkFontManager.

BUG=chromium:400801
R=djsollen@google.com, bungeman@google.com, tomhudson@google.com

Committed: https://skia.googlesource.com/skia/+/94fa4b99e2a53e997a90c7808cc5263f1bf40c9f

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/458543002
2014-08-13 11:06:43 -07:00
krajcevski
69a5560ea5 Add entry point for passing options to the GrContextFactory
R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/465073002
2014-08-13 10:46:31 -07:00
robertphillips
b3f319fbb0 Add support for new drawPicture entry point to debugger
R=fmalita@google.com, fmalita@chromium.org

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/464063003
2014-08-13 10:46:24 -07:00
tomhudson
c773390eef Delete the old font management implementation based on SkFontConfigInterface, now that SkFontMgr_Android is live.
BUG=chromium:400801
R=djsollen@google.com, bungeman@google.com

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/445143002
2014-08-13 10:41:25 -07:00
mtklein
e556be7084 Don't leak the shader in PatchBench.
BUG=skia:
R=dandov@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/465083003
2014-08-13 10:41:16 -07:00