Commit Graph

12761 Commits

Author SHA1 Message Date
bsalomon
7c5c9da436 GM/bench for text draws with various parameters and clip rects.
R=jvanverth@google.com, robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/319053002
2014-06-09 15:11:30 -07:00
humper
e9ea0d6b7d second try at landing improved blur rect
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon

Author: humper@google.com

Review URL: https://codereview.chromium.org/325703002
2014-06-09 14:35:21 -07:00
krajcevski
407d7c9022 Add sampler options to SkScaledBitmapSampler
R=scroggo@google.com, halcanary@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/321873003
2014-06-09 14:29:11 -07:00
mtklein
b83f6c3cbd Add assertHeld() to SkMutex.
BUG=skia:
R=bungeman@google.com, mtklein@google.com, reed@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/313823004
2014-06-09 14:18:03 -07:00
scroggo
919ed4c736 Revert of Gamma correction for distance field text. (https://codereview.chromium.org/258883002/)
Reason for revert:
Memory leaks. I suspect this is due to the lack of destructors in SkAutoGlyphCache

Original issue's description:
> Gamma correction for distance field text.
>
> Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/4d517fdbb145cb95e5e935470df331e1b6667cfc

NOTRY=true
NOTREECHECKS=true
R=reed@google.com, bungeman@google.com, robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/323513005
2014-06-09 13:06:34 -07:00
tfarina
880914c35c Reland "Clean up Test's resourcePath code."
This relands commit 91359bed48 (Clean up
Test's resourcePath code."

BUG=None
TEST=make dm && out/Debug/dm
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/321723002
2014-06-09 12:05:34 -07:00
jvanverth
4d517fdbb1 Gamma correction for distance field text.
Handles both non-LCD and LCD text. Uses a texture to look up the gamma correction values for a given text color or luminance.

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

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/258883002
2014-06-09 12:04:55 -07:00
egdaniel
8405ef9854 Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/311373003
2014-06-09 11:57:28 -07:00
cdalton
511923443f Generate path names on the client side
Pre-allocates a range of path names and manages allocations within
that range on the client side. This allows us to generate new path
objects in a feed-forward manner that doesn't require round trips to
the GL server.

BUG=skia:
R=bsalomon@google.com, markkilgard@gmail.com

Author: cdalton@nvidia.com

Review URL: https://codereview.chromium.org/304403003
2014-06-09 11:16:58 -07:00
krajcevski
9193e77db3 New etcbitmap baselines
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/325783003
2014-06-09 10:54:04 -07:00
krajcevski
3217c4a371 Make sure to copy the LATC alias when copying the GrGLCaps
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/320273003
2014-06-09 09:10:04 -07:00
krajcevski
748e9d37dc Add LATC to alpha only pixel config
R=robertphillips@google.com, bsalomon@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/323853003
2014-06-09 08:32:34 -07:00
mtklein
00dfb9ea7b bench_record: No need for --flags if there are no RecordingFlags anymore.
BUG=skia:
R=robertphillips@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/327533002
2014-06-09 08:04:15 -07:00
robertphillips
4cbf8e3dce Add some comments to GrRectanizer_skyline
R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/324693002
2014-06-09 07:59:25 -07:00
bsalomon
b6b0252643 Add dump() to SkClipStack to help with debugging.
R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/311263015
2014-06-09 07:59:06 -07:00
robertphillips
e2b78a7131 Fix Chrome build after 9f1c241e (https://codereview.chromium.org/316143003/)
Remove SkPicture::kUsePathBoundsForClip_RecordingFlag (https://codereview.chromium.org/316143003/) removed an SkPicture flag on which Chromium still relies.

R=scroggo@google.com
TBR=scroggo@google.com
NOTRY=true

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/325723002
2014-06-09 07:05:05 -07:00
epoger
89e8842821 remove GM result-grooming tools that use skia-autogen
BUG=skia:553
R=borenet@google.com

Author: epoger@google.com

Review URL: https://codereview.chromium.org/320443002
2014-06-09 06:49:13 -07:00
robertphillips
9f1c241e0d Remove SkPicture::kUsePathBoundsForClip_RecordingFlag
The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer?

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/316143003
2014-06-09 06:25:34 -07:00
robertphillips
5713352a64 Chromium should no longer need the legacy SkCanvas::drawPicture interface
With:
Switch Blink to using new Skia SkCanvas::drawPicture method - https://codereview.chromium.org/316863003/
Switch Chromium to new Skia SkCanvas::drawPicture method - https://codereview.chromium.org/315963003/

Chromium/Blink should no longer need this flag.

Note: this patch cannot be landed until the Blink change rolls into Chromium.

R=jvanverth@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/317193002
2014-06-08 13:17:54 -07:00
robertphillips
e2f2b98444 No longer limit SkPictureRecorder::partialReplay to Android
Toggling this for local testing is a bit of a chore.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/316173004
2014-06-08 13:12:44 -07:00
mtklein
91359bed48 Revert of Clean up Test's resourcePath code. (https://codereview.chromium.org/319473003/)
Reason for revert:
Some benchmarks are written in a way that makes this change unsafe (e.g. const char* resPath = GetResourcePath().c_str(); in SkipZeroesBench) and Valgrind and ASAN caught that.  We can try again after a more careful cleanup of GetResourcePath().

Original issue's description:
> Clean up resourcePath code.
>
> 1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
> 2) Make gResourcePath a static pointer to const char and move it inside the classes.
>
> BUG=None
> TEST=make tests && out/Debug/tests
>      make gm && out/Debug/gm
>      make bench && out/Debug/bench
> R=mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/52e4f413ffe2d281f9e90ff2147db08083ffcba7

R=tfarina@chromium.org
TBR=tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/320733002
2014-06-08 07:02:47 -07:00
robertphillips
643b8bd661 First pass at splitting out SkPictureRecord from SkPicture
This patch begins the process of splitting apart SkPicture, SkPicturePlayback and SkPictureRecord.

This is still a bit messy. In a follow up CL I hope to delay the creation of SkPictureRecorder's SkPicture until endRecording time.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/318763004
2014-06-08 05:55:05 -07:00
tfarina
52e4f413ff Clean up resourcePath code.
1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
2) Make gResourcePath a static pointer to const char and move it inside the classes.

BUG=None
TEST=make tests && out/Debug/tests
     make gm && out/Debug/gm
     make bench && out/Debug/bench

R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/319473003
2014-06-07 20:50:44 -07:00
mtklein
3d06b48660 whitespace to trigger builds
BUG=skia:

Committed: https://skia.googlesource.com/skia/+/5037fceeab7d29b99a6497bcdf1c97f03e532956

R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/314313004
2014-06-07 20:27:45 -07:00
mtklein
5037fceeab whitespace to trigger builds
BUG=skia:
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/314313004
2014-06-07 17:19:04 -07:00
Mike Klein
b77c7ef37f Clean up Skia for Clang's -Wtautological-undefined-compare
This is blocking Chrome from rolling a new Clang, and me too for our TSAN bots.

BUG=chromium:381910

Review URL: https://codereview.chromium.org/325603002
2014-06-07 19:15:14 -04:00
mtklein
19cae4fa2c use __atomics in SkBarriers_tsan.h
I am having a hard time getting TSAN's own atomic hooks to work on our bots,
but __atomic_foo work fine and are understood just fine by TSAN.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/320063003
2014-06-06 15:11:04 -07:00
djordje.pesut
aaf1df632d MIPS: modified gypi files to support build
R=teodora.petrovic@gmail.com, djsollen@google.com

Author: djordje.pesut@imgtec.com

Review URL: https://codereview.chromium.org/304903003
2014-06-06 14:09:12 -07:00
jvanverth
d78a2fac37 Rollback of fe689c46 and all subsequent changes
BUG=skia:
R=humper@google.com
TBR=humper@google.com
NOTRY=True
NOTREECHECKS=True

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/324463005
2014-06-06 13:40:36 -07:00
humper
9ab6c00f6c remove extra debug prints
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/314423002
2014-06-06 13:28:04 -07:00
humper
39dd491efe fix 10.6 shader tests
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/324543002
2014-06-06 12:55:23 -07:00
humper
e10a4ff45a repair math error introduced by windows build fix
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/320593003
2014-06-06 12:21:03 -07:00
jvanverth
a07213ac83 Disable bigblurs GM (for fe689c46a7)
BUG=skia:
R=humper@google.com
TBR=humper@google.com
NOTRY=True
NOTREECHECKS=True

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/325453002
2014-06-06 11:59:26 -07:00
humper
1afc04d877 one channel texture fix for blur shader
BUG=skia:
R=bsalomon@google.com
TBR=bsalomon
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/319543007
2014-06-06 11:55:24 -07:00
humper
da1c00914e disable GPU/CPU blur match test (possibly temporary)
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/322593002
2014-06-06 11:37:24 -07:00
humper
7bf666a00f fix blur test
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/323583002
2014-06-06 11:22:50 -07:00
humper
ede6cfc0f5 Revert of Revert of another GM to ignore for blur rebaseline (https://codereview.chromium.org/319943004/)
Reason for revert:
Hopefully working now

Original issue's description:
> Revert of another GM to ignore for blur rebaseline (https://codereview.chromium.org/319203002/)
>
> Reason for revert:
> Follow-on to fe689c46a7, which needs to be reverted due to bot failures.
>
> Original issue's description:
> > another GM to ignore for blur rebaseline
> >
> > BUG=skia:
> > TBR=jvanverth
> > NOTRY=True
> > NOTREECHECKS=True
> >
> > Committed: https://skia.googlesource.com/skia/+/f131055929afb9c9671aee3e575c380d48c5ee4d
>
> TBR=humper@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/f255de0fe160e33b340301859be1d9374c5607fe

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

Author: humper@google.com

Review URL: https://codereview.chromium.org/324453004
2014-06-06 11:18:17 -07:00
jvanverth
f255de0fe1 Revert of another GM to ignore for blur rebaseline (https://codereview.chromium.org/319203002/)
Reason for revert:
Follow-on to fe689c46a7, which needs to be reverted due to bot failures.

Original issue's description:
> another GM to ignore for blur rebaseline
>
> BUG=skia:
> TBR=jvanverth
> NOTRY=True
> NOTREECHECKS=True
>
> Committed: https://skia.googlesource.com/skia/+/f131055929afb9c9671aee3e575c380d48c5ee4d

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

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/319943004
2014-06-06 10:59:13 -07:00
humper
f131055929 another GM to ignore for blur rebaseline
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True

Author: humper@google.com

Review URL: https://codereview.chromium.org/319203002
2014-06-06 10:36:02 -07:00
humper
fe689c46a7 Faster GPU rect blur that doesn't require computing vertical and horizontal
scanlines on the CPU first.  Should make extremely large drop shadows fast
again.

BUG=skia:
R=bsalomon@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/316273004
2014-06-06 09:48:40 -07:00
mtklein
e4d3e605f7 DM: SKP source / PDF backend
Removed expectations code for PDF backend for now, given that we don't have any, and refactored a little to make that cleaner.

We can now test .skp -> .pdf -> .png in DM.  Neat eh?

BUG=skia:2598
R=halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/316643003
2014-06-06 09:28:43 -07:00
reed
d71be5d78b remove SK_SUPPORT_LEGACY_SETCONFIG_INFO and SK_SUPPORT_LEGACY_INSTALLPIXELSPARAMS from chrome
TBR=
NOTRY=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/320583003
2014-06-06 09:02:22 -07:00
kevin.petit
ea6b46b6c0 ARM Skia NEON patches - 39 - arm64 565 blitters
This enables all 565 blitters except S32A_D565_Opaque.

Here are some performance results:

S32_D565_Opaque:
================

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |    -18.37% |    -13.04% |
+-------+------------+------------+
|     2 |     -9.90% |    -13.78% |
+-------+------------+------------+
|     4 |     -8.28% |     -6.77% |
+-------+------------+------------+
|     8 |    157.63% |     78.15% |
+-------+------------+------------+
|    16 |     72.67% |     44.81% |
+-------+------------+------------+
|    64 |     76.78% |     40.89% |
+-------+------------+------------+
|   256 |     73.85% |     36.05% |
+-------+------------+------------+
|  1024 |     75.73% |     36.70% |
+-------+------------+------------+

S32_D565_Blend:
===============

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -9.99% |    -13.79% |
+-------+------------+------------+
|     2 |     -9.17% |     -6.74% |
+-------+------------+------------+
|     4 |     -6.73% |     -4.42% |
+-------+------------+------------+
|     8 |    163.31% |    112.82% |
+-------+------------+------------+
|    16 |     55.21% |     44.68% |
+-------+------------+------------+
|    64 |     54.09% |     41.99% |
+-------+------------+------------+
|   256 |     52.63% |     40.64% |
+-------+------------+------------+
|  1024 |     52.46% |     40.45% |
+-------+------------+------------+

S32A_D565_Blend:
================

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -5.88% |     -6.06% |
+-------+------------+------------+
|     2 |     -4.74% |     -0.01% |
+-------+------------+------------+
|     4 |     -5.42% |     -3.03% |
+-------+------------+------------+
|     8 |     78.78% |     77.96% |
+-------+------------+------------+
|    16 |     98.19% |     79.61% |
+-------+------------+------------+
|    64 |    111.56% |     72.60% |
+-------+------------+------------+
|   256 |    113.80% |     69.96% |
+-------+------------+------------+
|  1024 |    114.42% |     70.85% |
+-------+------------+------------+

S32_D565_Opaque_Dither:
=======================

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -4.18% |     -0.93% |
+-------+------------+------------+
|     2 |     -2.43% |     -2.04% |
+-------+------------+------------+
|     4 |     -1.09% |     -1.23% |
+-------+------------+------------+
|     8 |    184.89% |    136.53% |
+-------+------------+------------+
|    16 |    128.64% |     89.11% |
+-------+------------+------------+
|    64 |    132.68% |    100.98% |
+-------+------------+------------+
|   256 |    157.02% |    100.86% |
+-------+------------+------------+
|  1024 |    163.85% |    103.62% |
+-------+------------+------------+

S32_D565_Blend_Dither:
======================

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -4.87% |      0.01% |
+-------+------------+------------+
|     2 |     -2.71% |      2.97% |
+-------+------------+------------+
|     4 |     -2.20% |      0.28% |
+-------+------------+------------+
|     8 |    149.76% |    146.80% |
+-------+------------+------------+
|    16 |     85.69% |     95.77% |
+-------+------------+------------+
|    64 |     88.81% |    101.39% |
+-------+------------+------------+
|   256 |     97.32% |    107.22% |
+-------+------------+------------+
|  1024 |     98.08% |    115.71% |
+-------+------------+------------+

S32A_D565_Opaque_Dither:
========================

+-------+------------+------------+
| count | Cortex-A53 | Cortex-A57 |
+-------+------------+------------+
|     1 |     -1.86% |      0.02% |
+-------+------------+------------+
|     2 |     -0.58% |     -1.52% |
+-------+------------+------------+
|     4 |     -0.75% |      1.16% |
+-------+------------+------------+
|     8 |    240.74% |    155.16% |
+-------+------------+------------+
|    16 |    181.97% |    132.15% |
+-------+------------+------------+
|    64 |    203.11% |    136.48% |
+-------+------------+------------+
|   256 |    223.45% |    133.05% |
+-------+------------+------------+
|  1024 |    225.96% |    134.05% |
+-------+------------+------------+

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

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

Author: kevin.petit@arm.com

Review URL: https://codereview.chromium.org/317193003
2014-06-06 08:45:36 -07:00
mtklein
2e44b51b9a Effectively unlimited linking.
Ninja will still cap concurrency with it's default value (from -j), so we just
need a big number equal or greater than the number of cores in any machine.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/319153002
2014-06-06 08:27:07 -07:00
egdaniel
97724ed4cf Revert of Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds. (https://codereview.chromium.org/311373003/)
Reason for revert:
changed assert is failing

Original issue's description:
> Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/be4fd4f7349b97a7c34a4177ec26d8aea9616628

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

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/320573002
2014-06-06 07:47:17 -07:00
mtklein
1a50651524 Pull in GYP_LINK_CONCURRENCY=N support.
BUG=skia:
R=borenet@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/315183003
2014-06-06 07:37:46 -07:00
egdaniel
be4fd4f734 Fix Assert for gpu ConicalTwoPointGradient edgecase to be correct bounds.
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

Review URL: https://codereview.chromium.org/311373003
2014-06-06 07:26:16 -07:00
sugoi
0951fe1298 Fixing another clusterfuzz issue
This was introduced by removing SkValidatingReadBuffer::readBitmap in https://codereview.chromium.org/295793002/

Since SkReadBuffer::skip wasn't virtual, it was using the unsafe SkReadBuffer::skip within SkReadBuffer::readBitmap rather than using SkValidatingReadBuffer::skip. I also removed direct uses of fReader within SkReadBuffer::readBitmap so that it can use the virtual readInt / readFixed functions that have a version in SkValidatingReadBuffer.

Also, I changed SkReadBuffer::readPoint so that it uses the virtual readScalar, that way, it becomes redundant with SkValidatingReadBuffer::readPoint, which can then be removed.

BUG=380723
R=reed@google.com, mtklein@google.com, sugoi@google.com

Author: sugoi@chromium.org

Review URL: https://codereview.chromium.org/317003003
2014-06-06 06:44:17 -07:00
qiankun.miao
5102345029 Fix android_run_skia script running with command line options
This script cannot recognize command line options when running bench:
e.g. android_run_skia bench --config 8888.

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

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/314903003
2014-06-06 06:43:46 -07:00
tfarina
f9dae780c2 Remove GrIsPow2 in favor of SkIsPow2.
Looks like there is no good reason to have two copies of this function
doing the same thing with different name.

BUG=None
TEST=make tests
R=bsalomon@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/318873002
2014-06-06 06:35:28 -07:00