Commit Graph

14736 Commits

Author SHA1 Message Date
jvanverth
6f1cad4030 Rebaseline for https://codereview.chromium.org/703463002/.
TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/709043002
2014-11-07 08:16:49 -08:00
reed
d23f45d047 document the SkStrAppend methods
BUG=skia:

Review URL: https://codereview.chromium.org/709063002
2014-11-07 07:37:33 -08:00
jvanverth
4736e1434a Get gpudft support working in dm, gm, nanobench and bench_pictures
Adds a new config to test distance field text.
Clean up some flags and #defines to read "distance field text",
not "distance field fonts" to be consistent with Chromium

NOTREECHECKS=true

Committed: https://skia.googlesource.com/skia/+/06ba179838ba4fe187cf290750aeeb4a02a2960b

Review URL: https://codereview.chromium.org/699453005
2014-11-07 07:12:46 -08:00
skia.buildbots
7376b6a1a1 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/693583003
2014-11-07 06:12:39 -08:00
tfarina
a71d3af100 Cleanup: Use SkAutoGraphics in gm and tests.
BUG=None
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/704413002
2014-11-07 06:12:30 -08:00
scroggo
0ee2627026 When running DM, write test failures to json.
Add skiatest::Failure to keep track of data about a test failure.

Reporter::reportFailed and ::onReportFailed now take Failure as a
parameter. This allows the implementation to treat the failure as it
wishes. Provide a helper to format the failure the same as prior to
the change.

Update the macros for calling reportFailed (REPORTER_ASSERT etc) to
create a Failure object.

Convert a direct call to reportFailed to the macro ERRORF.

Write Failures to Json.
Sample output when running dm on the dummy test crrev.com/705723004:
{
   "test_results" : {
      "failures" : [
         {
            "condition" : "0 > 3",
            "file_name" : "../../tests/DummyTest.cpp",
            "line_no" : 10,
            "message" : ""
         },
         {
            "condition" : "false",
            "file_name" : "../../tests/DummyTest.cpp",
            "line_no" : 4,
            "message" : ""
         },
         {
            "condition" : "1 == 3",
            "file_name" : "../../tests/DummyTest.cpp",
            "line_no" : 5,
            "message" : "I can too count!"
         },
         {
            "condition" : "",
            "file_name" : "../../tests/DummyTest.cpp",
            "line_no" : 6,
            "message" : "seven is 7"
         },
         {
            "condition" : "1 == 3",
            "file_name" : "../../tests/DummyTest.cpp",
            "line_no" : 14,
            "message" : "I can too count!"
         }
      ]
   }
}

Report all of the failures from one test.
Previously, if one test had multiple failures, only one was reportered.
e.g:

Failures:
  test Dummy: ../../tests/DummyTest.cpp:6   seven is 7
  test Dummy2: ../../tests/DummyTest.cpp:10 0 > 3
  test Dummy3: ../../tests/DummyTest.cpp:14 I can too count!: 1 == 3
3 failures.

Now, we get all the messages:

Failures:
  test Dummy: ../../tests/DummyTest.cpp:4   false
        ../../tests/DummyTest.cpp:5 I can too count!: 1 == 3
        ../../tests/DummyTest.cpp:6 seven is 7
  test Dummy2: ../../tests/DummyTest.cpp:10 0 > 3
  test Dummy3: ../../tests/DummyTest.cpp:14 I can too count!: 1 == 3
3 failures.

(Note that we still state "3 failures" because 3 DM::Tasks failed.)

BUG=skia:3082
BUG=skia:2454

Review URL: https://codereview.chromium.org/694703005
2014-11-07 06:07:32 -08:00
halcanary
f0de423f09 for X in {Dec,BigDec,Scalar}, SkWStream::write"X"AsText no longer mallocs
Review URL: https://codereview.chromium.org/706063002
2014-11-07 06:07:23 -08:00
scroggo
978d37b343 Add LOCAL_PICKUP_FILES to dm and bench makefiles.
Update the generator to include a line for LOCAL_PICKUP_FILES. When
generating makefiles for our tests, they will now have the following line:

LOCAL_PICKUP_FILES := \
    $(LOCAL_PATH)/../resources

This allows testing infrastructure to pick up resource files used by
our tests.

Update expectations files to test LOCAL_PICKUP_FILES.

BUG=skia:2454

Review URL: https://codereview.chromium.org/704393002
2014-11-07 06:02:20 -08:00
cdalton
38e13adc18 Remove 1d glyph positions from nvpr text
Removes the case for x-only glyph positions from nvpr text, opting to
always send 2d glyph positions instead. The 1d glyph positions saved a
bit on memory bandwidth, but ended up a net loss because they required
more updates to the view matrix. Now we can draw an entire paragraph
without touching the GL state, whereas before we would have to update
the view matrix at every new line.

BUG=skia:

Review URL: https://codereview.chromium.org/700283002
2014-11-07 06:02:15 -08:00
jvanverth
aa30ab3079 Revert of Get gpudft support working in dm, gm, nanobench and bench_pictures (patchset #2 id:20001 of https://codereview.chromium.org/699453005/)
Reason for revert:
Not compiling in ANGLE build

Original issue's description:
> Get gpudft support working in dm, gm, nanobench and bench_pictures
>
> Adds a new config to test distance field text.
> Clean up some flags and #defines to read "distance field text",
> not "distance field fonts" to be consistent with Chromium
>
> NOTREECHECKS=true
>
> Committed: https://skia.googlesource.com/skia/+/06ba179838ba4fe187cf290750aeeb4a02a2960b

TBR=bsalomon@google.com,mtklein@google.com,reed@google.com
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/707723005
2014-11-06 13:52:45 -08:00
jvanverth
06ba179838 Get gpudft support working in dm, gm, nanobench and bench_pictures
Adds a new config to test distance field text.
Clean up some flags and #defines to read "distance field text",
not "distance field fonts" to be consistent with Chromium

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/699453005
2014-11-06 13:38:52 -08:00
joshualitt
2c93efeb6f Clip in grdrawtarget
NOTREECHECKS=true
BUG=skia:

Review URL: https://codereview.chromium.org/685883003
2014-11-06 12:57:13 -08:00
mtklein
2ecf86e55e Revert of Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #1 id:1 of https://codereview.chromium.org/693933004/)
Reason for revert:
Try again with loops overflow fix landed.

Original issue's description:
> Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
>
> Reason for revert:
> Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.
>
> Original issue's description:
> > Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
> >
> > This brings DM and nanobench's default configs in line with GM's.
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739
>
> TBR=bsalomon@google.com,mtklein@google.com,mtklein@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/d5cd4ee5b81b51e43be7ed13f3c0f0f6c1b3fe14

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

Review URL: https://codereview.chromium.org/685923003
2014-11-06 08:06:39 -08:00
mtklein
527930fdbb Detect loops overflow for gpu benches.
NOTREECHECKS=true

BUG=skia:

Review URL: https://codereview.chromium.org/709473002
2014-11-06 08:04:35 -08:00
egdaniel
e27065ae24 Send coverage VA as floats instead of bytes
NOTREECHECKS=True

BUG=skia:

Review URL: https://codereview.chromium.org/700943005
2014-11-06 08:00:48 -08:00
skia.buildbots
cdccd75925 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=

Review URL: https://codereview.chromium.org/701363002
2014-11-05 23:19:12 -08:00
bsalomon
3343557421 Add mock context and use in ResourceCacheTest.
BUG=skia:2889

Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30

Review URL: https://codereview.chromium.org/702083003
2014-11-05 14:47:42 -08:00
egdaniel
d5cd4ee5b8 Revert of Turn on NVPR 4x MSAA by default when supported in DM and nanobench. (patchset #2 id:20001 of https://codereview.chromium.org/704563003/)
Reason for revert:
Timing out on nvpr when drawing conics. Fix will take some thought so reverting for now.

Original issue's description:
> Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
>
> This brings DM and nanobench's default configs in line with GM's.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/31f88675718966bbb7f09718b40de10c7e214739

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

Review URL: https://codereview.chromium.org/693933004
2014-11-05 14:21:33 -08:00
bsalomon
fdcf2c0863 Revert of Add mock context and use in ResourceCacheTest. (patchset #4 id:60001 of https://codereview.chromium.org/702083003/)
Reason for revert:
Breaking tests

Original issue's description:
> Add mock context and use in ResourceCacheTest.
>
> BUG=skia:2889
>
> Committed: https://skia.googlesource.com/skia/+/820dd6c335411aad889c1d7e8a857642ecd87e30

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

Review URL: https://codereview.chromium.org/704563004
2014-11-05 12:30:32 -08:00
mtklein
31f8867571 Turn on NVPR 4x MSAA by default when supported in DM and nanobench.
This brings DM and nanobench's default configs in line with GM's.

BUG=skia:

Review URL: https://codereview.chromium.org/704563003
2014-11-05 12:28:26 -08:00
bsalomon
820dd6c335 Add mock context and use in ResourceCacheTest.
BUG=skia:2889

Review URL: https://codereview.chromium.org/702083003
2014-11-05 12:09:45 -08:00
bsalomon
4d0fb61367 S4 Rebaselines
TBR=

Review URL: https://codereview.chromium.org/706653003
2014-11-05 11:59:25 -08:00
mtklein
225fb98e1e Avoid dec = -dec overflow when appending most negative signed integers.
BUG=skia:3096

Review URL: https://codereview.chromium.org/700953003
2014-11-05 11:35:21 -08:00
robertphillips
76c4fa6e30 Add new baselines for remaining dashing5 GM images
This are the baselines for the problem children:
The N5 & N10 gpu images related to Issue 3097
The perspective Windows images

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/702143002
2014-11-05 09:00:22 -08:00
egdaniel
036a2bbbcc Remove gm from ignore expectation file
No gm's actually changed from my recent change to dashing gm. This was the desired
outcome since the added calls were lines of length zero

TBR=robertphillips@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/706633002
2014-11-05 08:57:16 -08:00
robertphillips
07f5fffffc Add baselines for the new dashing5 GM
These are all the correct images

TBR=egdaniel@google.com

Review URL: https://codereview.chromium.org/707513002
2014-11-05 08:25:40 -08:00
robertphillips
2b9ee63c24 Add unit test for SkDashPathEffect::asPoints' culling
This is a follow on to (Crop the fast path dashed lines to the cull rect - https://codereview.chromium.org/699623003/)

Review URL: https://codereview.chromium.org/701133002
2014-11-05 08:06:40 -08:00
mtklein
e974c6244c Whitelist intentionally racy TRACE_EVENT reads and writes.
Chrome's tracing framework appears to be intentionally racy on its
quick-reject checks, trading some data loss for better performance
when disabled.  People will never notice the data loss, but TSAN does.
Let's assuage TSAN with some annotations.

The 'volatile' val in SK_ANNOTATE_UNPROTECTED_WRITE was making this
not compile, but that volatile doesn't really make sense there: the value we're
writing is not what we care about, it's the destination.

CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu13.10-GCE-NoGPU-x86_64-Release-TSAN-Trybot

No API changes.
TBR=reed

BUG=skia:

Review URL: https://codereview.chromium.org/702883002
2014-11-05 08:03:27 -08:00
egdaniel
a3d3065eea Revert of Bisect Mac performance regression. (patchset #6 id:100001 of https://codereview.chromium.org/693213002/)
Reason for revert:
Block deps roll by breaking webkit test hit-test-counts on mac.

Original issue's description:
> With https://chromium.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20 blink_perf.layout regressed. It appears that the typeface cache is being missed. This is a partial revert of the Skia change which reverts the smallest amount of code to restore performance.
>
> BUG=chromium:425566
>
> Committed: https://skia.googlesource.com/skia/+/47eda52e8fb88f0725b401762a3e0bddc98e9fb3

TBR=reed@google.com,bungeman@google.com
NOTREECHECKS=true
NOTRY=true
BUG=chromium:425566

Review URL: https://codereview.chromium.org/683753003
2014-11-05 07:40:07 -08:00
tfarina
f6e59b5035 Cleanup: Remove unused InstallNewHandler() function from SkGraphics.
BUG=None
TEST=None
R=bsalomon@google.com

Review URL: https://codereview.chromium.org/701813006
2014-11-05 07:20:51 -08:00
bsalomon
63b2196286 Workaround for PowerVR clear issue.
BUG=skia:

Review URL: https://codereview.chromium.org/701573002
2014-11-05 07:05:34 -08:00
bungeman
0737922ca2 Add suppression to valgrind.supp for fun:FcConfigEvaluate.
Any allocation under FcConfigValues will be 'lost'.
Update the valgrind suppression to reflect this.

Review URL: https://codereview.chromium.org/703893003
2014-11-05 06:44:11 -08:00
egdaniel
21402e3851 Bug fix for cull_line in SkDashPathEffect.
In cull_line we must also check if both points are the same. Otherwise we
fail the assert in the else "SkASSERT(dy && !dx)".

This is currently blocking the roll as it fails a webkit test.

BUG=skia:

Review URL: https://codereview.chromium.org/703783002
2014-11-05 05:02:27 -08:00
robertphillips
9f2251c73e Crop the fast path dashed lines to the cull rect
Without:

maxrss  loops   min     median  mean    max     stddev  samples         config  bench
  56M   1       13.3ms  13.6ms  13.6ms  14.2ms  2%      Ooooo.....      8888    GM_dashing5_bw
  56M   13      390us   417us   416us   459us   5%      ooooO..o.o      gpu     GM_dashing5_bw
  56M   1       13.4ms  13.9ms  14.1ms  15ms    3%      Oooo..ooOo      8888    GM_dashing5_aa
  56M   13      402us   421us   416us   425us   2%      Ooo.ooOOOO      gpu     GM_dashing5_aa

With:

  40M   1       1.53ms  1.54ms  1.54ms  1.55ms  0%      oo.O...o..      8888    GM_dashing5_bw
  40M   12      407us   412us   415us   445us   3%      ...Oo.....      gpu     GM_dashing5_bw
  40M   1       1.7ms   1.7ms   1.7ms   1.72ms  0%      o.O.......      8888    GM_dashing5_aa
  43M   13      405us   409us   409us   415us   1%      ooo.Ooo..o      gpu     GM_dashing5_aa

The GM images (including the new one) are the same with and without this CL.

BUG=428296

Review URL: https://codereview.chromium.org/699623003
2014-11-04 13:33:50 -08:00
jvanverth
0e66aaa503 DFText: fix placement of glyphs when we fall back to paths
Rendering a glyph with a path wants to place it at the (sx, sy) we get
as input to the method, but we add (dx, dy) for the clipRect check.
Hence, we need to subtract that out before we render the path.

Review URL: https://codereview.chromium.org/699283003
2014-11-04 13:32:53 -08:00
reed
7b8646669f update slides
BUG=skia:

Review URL: https://codereview.chromium.org/686853005
2014-11-04 13:24:47 -08:00
piotaixr
2bf8d09689 Revert of Override SkCanvas::drawImage() in SkDeferredCanvas and SkGPipe (patchset #8 id:140001 of https://codereview.chromium.org/613673005/)
Reason for revert:
The patch is breaking the telemetry blink build on some windows configurations

Original issue's description:
> Override SkCanvas::drawImage() in SkDeferredCanvas and SkGPipe
>
> Depend on https://codereview.chromium.org/663233002
>
> BUG=skia:2947
>
> Committed: https://skia.googlesource.com/skia/+/687732fe046c9cfec940f2d7f661cd97651d10a8
>
> Committed: https://skia.googlesource.com/skia/+/9bb7539a59ab15749fe26fecfec05330cffae684

BUG=skia:2947, 426708

Review URL: https://codereview.chromium.org/705633002
2014-11-04 13:21:41 -08:00
bungeman
e32ed6899c Additional baselines for 4b86bacb04.
The Nexus9 lacked a trybot at the time.
2014-11-04 15:28:51 -05:00
danakj
8f757f540a Add tracing to the SkCanvas drawFoo() methods to find long draw ops.
BUG=skia:3088

Review URL: https://codereview.chromium.org/702473004
2014-11-04 11:48:44 -08:00
mtklein
a30b2ee0da PictureRecordBench's benchmarks are no longer relevant with SkRecord.
BUG=skia:

Review URL: https://codereview.chromium.org/698163004
2014-11-04 11:14:48 -08:00
reed
36c9c11ed9 add more typeface methods to lua
BUG=skia:
NOTRY=True
TBR=

Review URL: https://codereview.chromium.org/697053004
2014-11-04 10:58:42 -08:00
bungeman
4b86bacb04 Allow all font weights on Android and respect overrides.
This removes the code which forces 400 and 700 weights only,
and also overrides the font weight with the configured weight.

Review URL: https://codereview.chromium.org/694533006
2014-11-04 10:54:32 -08:00
bungeman
47eda52e8f With https://chromium.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20 blink_perf.layout regressed. It appears that the typeface cache is being missed. This is a partial revert of the Skia change which reverts the smallest amount of code to restore performance.
BUG=chromium:425566

Review URL: https://codereview.chromium.org/693213002
2014-11-04 10:27:35 -08:00
jvanverth
d86b07a8ff Fix PictureTest for new GPU veto
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/702733002
2014-11-04 08:50:16 -08:00
scroggo
ccae588932 Include SkTypes so that SK_SUPPORT_GPU is meaningful.
For the Android framework build, we get our defines from
SkUserConfig, rather than from the makefile, so we need to
include it (via SkTypes) before we can use our defines.

Fixes Android framework build.

Review URL: https://codereview.chromium.org/700893002
2014-11-04 08:11:07 -08:00
jvanverth
f7007b023d Enable distance field path rendering in Chrome.
- Add stat tracking for df-renderable paths
- Modify GPU rasterization veto to account for df-renderable paths
- Remove #define hiding df paths from Chromium and Android

BUG=skia:2935

Review URL: https://codereview.chromium.org/685113003
2014-11-04 07:59:01 -08:00
bungeman
bd1b76c40c Roll common to d7c2e2b9464.
Picks up code removal and changes to download_file.

https://skia.googlesource.com/common.git/+log/5eee100ab..d7c2e2b9464

Review URL: https://codereview.chromium.org/700763003
2014-11-04 07:55:41 -08:00
joshualitt
d1aa8ff870 removing setVertexArraySource from drawtarget
BUG=skia:

Review URL: https://codereview.chromium.org/699733002
2014-11-04 07:47:55 -08:00
scroggo
7a10fb6bea Separate JSON functions from DMWriteTask.
Add JsonWriter, which handles Json output from DM, in preparation for
adding json output for tests. This change should not affect behavior.

BUG=skia:2454

Review URL: https://codereview.chromium.org/702513003
2014-11-04 07:21:10 -08:00
robertphillips
b32f0ad891 Fix layer cache memory leak
The issue was that, with caching disabled, the layer cache code was removing layers outside of a purge (i.e., in unlock) but not correctly cleaning up the GrPictureInfo objects (as is done in purgePlot).

Review URL: https://codereview.chromium.org/703643002
2014-11-04 06:46:11 -08:00