Commit Graph

12776 Commits

Author SHA1 Message Date
tomhudson
e438ddbc74 Uses optional mutex to guard construction of the singleton, which
initializes the non-threadsafe libfontconfig. Without this change,
Skia's parallel path ops test runner crashes 6/10 and hangs 2/10 on
startup; with this change, 0/10 problems.

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

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

Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/355573006
2014-07-01 18:54:41 -07:00
jvanverth
dc1cf66483 Remove A8_LCD luminance hack.
It no longer appears to be necessary, and the powf function is slowing down
Android text rendering.

R=bungeman@google.com, bsalomon@google.com

Author: jvanverth@google.com

Review URL: https://codereview.chromium.org/337603008
2014-07-01 13:43:00 -07:00
mtklein
e41f3886ea Revert of Fix race condition in parallel font initialization. (https://codereview.chromium.org/355573006/)
Reason for revert:
canaries still slightly broken

Original issue's description:
> Fix race condition in parallel font initialization.
>
> Uses a mutex to guard construction of the singleton, which initialies
> the non-threadsafe libfontconfig.  Without this change, the parallel
> path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
> change, 0/10 problems.
>
> BUG=skia:2693
> R=mtklein@google.com,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8
>
> Committed: https://skia.googlesource.com/skia/+/60b08a0adfe73f593af62c8d3f55958438360e1b

R=bungeman@google.com, reed@google.com, tomhudson@google.com, tomhudson@chromium.org
TBR=bungeman@google.com, reed@google.com, tomhudson@chromium.org, tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2693

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/354133004
2014-07-01 13:33:32 -07:00
reed
f0aed97aec correctly plumb through explicit rowbytes for allocPixels
BUG=skia:
R=caryclark@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/357073003
2014-07-01 12:48:11 -07:00
tfarina
c846f4a96b Cleanup usage of GetResourcePath() after commit bcbc1788b4.
There was a clean up opportunity left over after
https://skia.googlesource.com/skia/+/bcbc1788b478b1e54079318ad073e8490aa66fae, that could make use of the default parameter of GetResourcePath() function to make some call sites cleaner.

We decided to make it in a separate CL to make reviewer's and author's life easier, so we could catch errors and/or mistakes easily.

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

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/351133003
2014-07-01 12:35:49 -07:00
fmalita
696d361176 Temporarily resurface matrix/clip save flags enum values.
Pending Android build fixes.

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

Author: fmalita@chromium.org

Review URL: https://codereview.chromium.org/365463005
2014-07-01 11:55:41 -07:00
mtklein
9bc86ed052 Hey, maybe we should _call_ glFinish.
BUG=skia:

CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Mac10.7-Clang-x86-Debug-Trybot
R=mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/345063004
2014-07-01 10:02:43 -07:00
robertphillips
db539905bb Rename SkPicturePlayback to SkPictureData
This is in preparation for splitting the playback portion of the new SkPictureData class into a new SkPicturePlayback class.

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/362773002
2014-07-01 08:47:04 -07:00
mtklein
bb6a028239 draft gpu support in nanobench
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/359473004
2014-07-01 08:43:42 -07:00
tomhudson
60b08a0adf Fix race condition in parallel font initialization.
Uses a mutex to guard construction of the singleton, which initialies
the non-threadsafe libfontconfig.  Without this change, the parallel
path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
change, 0/10 problems.

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

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

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/355573006
2014-07-01 08:06:14 -07:00
scroggo
950f89dd20 Specify the name of tool for creating a makefile.
When generating tool Android.mks from gyp files, specify the name
of the target needed.

This fixes a bug where nanobench was being added to the same
makefile as bench, which would not compile.

TODO: Make gyp_to_android more general, so that it handles this
case better. See http://skbug.com/2709

R=mtklein@google.com

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/366653002
2014-07-01 08:02:30 -07:00
mtklein
ec2ae5878d Add multithreaded mode to quilt mode in DM.
Default off for now.  Something to work toward.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/360793002
2014-07-01 07:46:50 -07:00
bsalomon
9245b7ee76 When performing offscreen rendering on windows, attempt to use a pbuffer context.
A pbuffer context is less likely to have a blocking SwapBuffers (due to vsync).

R=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/336863009
2014-07-01 07:20:11 -07:00
scroggo
2fd0d14b9b Adjust the alpha type for pixelRefs.
Move SkBitmap's validate_alphaType to SkImageInfo, with the new
name SkColorTypeValidateAlphaType. Use it in SkPixelRef's constructors,
as well as in SkDecodingImageGenerator. This fixes a bug where an
SkPixelRef's SkAlphaType could get out of sync with its SkBitmap,
when both were assigned the same SkAlphaType.

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

Author: scroggo@google.com

Review URL: https://codereview.chromium.org/346593003
2014-07-01 07:08:20 -07:00
Eric Boren
e8e8d0226c Revert of Update SKP version to 34 (https://codereview.chromium.org/347303003/)
Reason for revert:
This removed all bench expectations!

Original issue's description:
> Update SKP version to 34
>
> Automatic commit by the RecreateSKPs bot.
>
> TBR=
>
> Committed: https://skia.googlesource.com/skia/+/0808c82e83749c24183af92a43c2e0e69b35d745

TBR=
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/362753002
2014-07-01 09:39:00 -04:00
tomhudson
cad0cb2a2d Grant independence to SkBaseMutex on Windows.
Under POSIX, class SkMutex inherits from struct SkBaseMutex.
Since we can't have a POD mutex on Windows, we used to just
typedef SkMutex SkBaseMutex there. However, that makes it
impossible to forward-declare SkBaseMutex consistently across
platforms. With this CL we declare an empty struct SkBaseMutex
on Windows, which should have 0 cost but make the compiler happy.

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

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/364473002
2014-07-01 06:26:48 -07:00
henrik.smiding
4a2489f7bb Hide symbols in S32A_Opaque_BlitRow32_SSE4
Marks the symbols in the S32A_Opaque_BlitRow32_SSE4 files as hidden,
so Chromium can build.
Also enables the optimizations.

Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>

R=mtklein@google.com, joakim.landberg@intel.com

Author: henrik.smiding@intel.com

Review URL: https://codereview.chromium.org/368573002
2014-07-01 06:12:48 -07:00
reed
12ffdb31c9 remove flags that are now in chrome's SkUserConfig.h
R=reed@google.com
NOTRY=True

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/367483003
2014-07-01 02:51:26 -07:00
tfarina
10722184fd Cleanup: Delete SkJSON header.
It seems it does not have any implementation so it is unlikely it will
have any user, either internal or external.

BUG=None
TEST=make all
R=bsalomon@google.com, mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/353183006
2014-06-30 17:11:33 -07:00
reed
50a7b0e621 Revert of Fix race condition in parallel font initialization. (https://codereview.chromium.org/355573006/)
Reason for revert:
breaks chrome builds

Original issue's description:
> Fix race condition in parallel font initialization.
>
> Uses a mutex to guard construction of the singleton, which initialies
> the non-threadsafe libfontconfig.  Without this change, the parallel
> path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
> change, 0/10 problems.
>
> BUG=skia:2693
> R=mtklein@google.com,bungeman@google.com
>
> Committed: https://skia.googlesource.com/skia/+/df022f5972ae6a2a1d96d15c50eca52cade3abd8

R=mtklein@google.com, bungeman@google.com, reed@google.com, tomhudson@google.com, tomhudson@chromium.org
TBR=bungeman@google.com, mtklein@google.com, reed@google.com, tomhudson@chromium.org, tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2693

Author: reed@chromium.org

Review URL: https://codereview.chromium.org/365503003
2014-06-30 16:48:24 -07:00
tomhudson
df022f5972 Fix race condition in parallel font initialization.
Uses a mutex to guard construction of the singleton, which initialies
the non-threadsafe libfontconfig.  Without this change, the parallel
path ops test runner crashes 6/10 and hangs 2/10 on startup; with this
change, 0/10 problems.

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

Author: tomhudson@chromium.org

Review URL: https://codereview.chromium.org/355573006
2014-06-30 14:14:01 -07:00
reed
935a9f6609 force opaque if kCGImageAlpha returns None
BUG=skia:2424
R=caryclark@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/355403003
2014-06-30 14:06:00 -07:00
reed
e6772216b4 add SK_API to config helpers so chrome can call them
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/359353003
2014-06-30 14:00:41 -07:00
Ben Wagner
529b7f6d62 Expectations updates for DirectWrite change 761b25. 2014-06-30 16:18:24 -04:00
reed
6c6ddb8805 update dox
TBR=
NOTRY=True

Author: reed@google.com

Review URL: https://codereview.chromium.org/352873003
2014-06-30 12:44:03 -07:00
mtklein
170e00d640 Have Clang builders build in C++11 mode.
This ought to get us a little ahead on the transition.  Only minor fixes
are needed.  The one in MemoryBench is the most interesting: what used
to unambiguously be interpreted as concatenating two string literals is
now also ambiguously a user-defined literal; adding a space
disambiguates.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/361723002
2014-06-30 12:33:11 -07:00
bungeman
761b2509d5 DirectWrite to detect GDI only fonts.
The exist a number of webfonts which have poor hinting which look very
bad with any vertical subsampling. The fonts often rely on drop out
control to avoid zero coverage in the y direction. As a result, any font
with hints but no 'gasp' table is considered to be poorly hinted in this
way, and will not be rendered with vertical subsampling when hinted.

R=eae@chromium.org, reed@google.com, mtklein@google.com

Author: bungeman@google.com

Review URL: https://codereview.chromium.org/363433002
2014-06-30 12:19:41 -07:00
caseq
26337e9702 Fix SkTypeface::serialize() on Mac by properly indicating local fonts
We used to always set isLocalStream to false in SkTypeface_Mac::onGetFontDescriptor(),
which caused SkTypeface::serialize() to never actually serialize fonts.

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

Author: caseq@chromium.org

Review URL: https://codereview.chromium.org/353993003
2014-06-30 12:14:52 -07:00
reed
4eec156659 rebaseline srcmode for gpus -- now pass samplecount
TBR=
NOTRY=True
BUG=skia:

Author: reed@google.com

Review URL: https://codereview.chromium.org/357393002
2014-06-30 10:59:48 -07:00
mtklein
261fa58d24 Revert of Re-enable SSE4. (https://codereview.chromium.org/357593003/)
Reason for revert:
Mac Chrome builders still failing.

Original issue's description:
> Re-enable SSE4.
>
> I will roll this into Chrome with https://codereview.chromium.org/332393003.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/a75b0fadbdec4214afec6dd727fd224d34ed164f

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

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/337093004
2014-06-30 10:18:25 -07:00
bsalomon
f957254b15 Fix ANGLE build wrong glGetString being called issue
R=robertphillips@google.com
TBR=robertphillips@google.com

Author: bsalomon@google.com

Review URL: https://codereview.chromium.org/357343002
2014-06-30 09:26:52 -07:00
krajcevski
238b456a7c R11 EAC texture compression is introduced as part of the OpenGL ES 3.0 spec. This is a format that will likely be required on most mobile phones in the upcoming years, making it better to target than LATC, which is only available on NVIDIA GPUs.
R=bsalomon@google.com, robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/330763008
2014-06-30 09:09:22 -07:00
reed
52d9ac6c92 stop calling SkCanvas::getDevice
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com

Author: reed@google.com

Review URL: https://codereview.chromium.org/355193006
2014-06-30 09:05:34 -07:00
krajcevski
f3d15dc13a Add a preliminary R11 EAC compressor
R=robertphillips@google.com

Author: krajcevski@google.com

Review URL: https://codereview.chromium.org/358973004
2014-06-30 08:47:33 -07:00
robertphillips
952841bf41 Begin atlasing
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):

1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache

#1 is on hold until we have a recycling rectanizer

A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.

Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/354533004
2014-06-30 08:26:50 -07:00
mtklein
a75b0fadbd Re-enable SSE4.
I will roll this into Chrome with https://codereview.chromium.org/332393003.

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

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/357593003
2014-06-30 08:13:53 -07:00
kevin.petit
4dc94d9dfc ARM Skia NEON patches - 41 - arm64: SkXfermode::xfer32
Currently the NEON code for Xfermodes performs well on arm64
targets except for dstout and dstin which are significantly
slower than the C code. This patch fixes this and gives
further improvements on other modes.

Here are some perf results:

+------------+------------+------------+
| mode       | Cortex-A53 | Cortex-A57 |
+------------+------------+------------+
| multiply   |    +24.58% |    +23.71% |
+------------+------------+------------+
| exclusion  |    +22.72% |    +22.05% |
+------------+------------+------------+
| difference |    +34.67% |    +36.82% |
+------------+------------+------------+
| hardlight  |    +17.07% |    +14.74% |
+------------+------------+------------+
| lighten    |    +38.21% |    +32.87% |
+------------+------------+------------+
| darken     |    +37.59% |    +32.99% |
+------------+------------+------------+
| overlay    |    +17.36% |    +16.88% |
+------------+------------+------------+
| screen     |    +52.56% |    +54.43% |
+------------+------------+------------+
| modulate   |    +62.85% |    +61.32% |
+------------+------------+------------+
| plus       |    +91.52% |   +117.41% |
+------------+------------+------------+
| xor        |    +42.86% |    +43.38% |
+------------+------------+------------+
| dstatop    |    +48.46% |    +48.99% |
+------------+------------+------------+
| srcatop    |    +50.50% |    +48.51% |
+------------+------------+------------+
| dstout     |    +67.83% |    +78.09% |
+------------+------------+------------+
| srcout     |    +69.02% |    +78.26% |
+------------+------------+------------+
| dstin      |    +70.92% |    +79.24% |
+------------+------------+------------+
| srcin      |    +68.90% |    +78.23% |
+------------+------------+------------+
| dstover    |    +73.80% |    +68.10% |
+------------+------------+------------+

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

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

Author: kevin.petit@arm.com

Review URL: https://codereview.chromium.org/350343002
2014-06-30 07:32:19 -07:00
Florin Malita
5f6102d079 SaveFlags be-gone
Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.

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

Review URL: https://codereview.chromium.org/340403003
2014-06-30 10:13:28 -04:00
rmistry
fdecca8440 Whitespace change to test CQ
TBR=
CQ_EXCLUDE_TRYBOTS=tryserver.skia:Build-Win7-VS2010-x86-Debug-Trybot,Test-Ubuntu13.10-ShuttleA-NoGPU-x86_64-Debug-Trybot,Build-Ubuntu13.10-GCC4.8-x86_64-Release-Trybot,Build-Ubuntu13.10-Clang-x86_64-Debug-Trybot,Build-Mac10.8-Clang-x86_64-Release-Trybot

(SkipBuildbotRuns)

BUG=skia:

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/358393002
2014-06-30 06:46:58 -07:00
kkinnunen
80549fcdd5 Support using OpenGL ES context on desktop
Support using OpenGL ES context on desktop for unix and Android platforms. This
is mainly useful in development.

Add --gpuAPI flag to gm, dm, bench, bench_pictures and render_pictures. The
possible parameters for the flag are "gl" and "gles".

R=bsalomon@google.com, mtklein@google.com, robertphillips@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/319043005
2014-06-30 06:36:31 -07:00
rmistry
b8562be655 Whitespace change to test CQ
TBR=
CQ_TRYBOTS=tryserver.skia:Build-Ubuntu13.10-GCC4.8-Arm7-Debug-Android-Trybot,Build-Ubuntu13.10-Clang-x86_64-Debug-Trybot

(SkipBuildbotRuns)

BUG=skia:

Author: rmistry@google.com

Review URL: https://codereview.chromium.org/357313002
2014-06-30 06:31:46 -07:00
qiankun.miao
b2e1fa5b76 Push resources to Android device
The resources directory is required by some benchmarks. Push it to
device's /data/local/tmp. Add "-i /data/local/tmp/resources" to command
line when using these resources.

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

Author: qiankun.miao@intel.com

Review URL: https://codereview.chromium.org/352303003
2014-06-29 22:38:54 -07:00
robertphillips
e462f2bed3 Revert of Begin atlasing (https://codereview.chromium.org/354533004/)
Reason for revert:
Sigh

Original issue's description:
> Begin atlasing
>
> This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):
>
> 1) the atlased layers cannot be purged nor aged out
> 2) the texture backing the atlas is not pulled from (or returned to) the resource cache
>
> #1 is on hold until we have a recycling rectanizer
>
> A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.
>
> Committed: https://skia.googlesource.com/skia/+/55e61f0ef4e5c8c34ac107deaadc9b4ffef3111b

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/359953002
2014-06-29 17:16:27 -07:00
robertphillips
d9cf38aeaf Revert of Fix memory leak in "Begin atlasing" (https://codereview.chromium.org/361663002/)
Reason for revert:
Sigh

Original issue's description:
> Fix memory leak in (Begin atlasing  https://codereview.chromium.org/354533004/)
>
> TBR=bsalomon@google.com
>
> Committed: https://skia.googlesource.com/skia/+/40d9c0e331fe2b76b4e13ca6cdf1ea50451ba6cc

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

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/360663002
2014-06-29 17:04:24 -07:00
robertphillips
40d9c0e331 Fix memory leak in (Begin atlasing https://codereview.chromium.org/354533004/)
R=bsalomon@google.com
TBR=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/361663002
2014-06-29 16:38:58 -07:00
robertphillips
55e61f0ef4 Begin atlasing
This CL makes it possible for pulled-forward-layers to be atlased. It currently has a couple glaring limitations (which is why it is disabled):

1) the atlased layers cannot be purged nor aged out
2) the texture backing the atlas is not pulled from (or returned to) the resource cache

#1 is on hold until we have a recycling rectanizer

A separate major limitation (the non-atlased layers aren't cached) is blocked until we can transmute entries in the resource cache from scratch to non-scratch while potentially preserving their contents.

R=bsalomon@google.com

Author: robertphillips@google.com

Review URL: https://codereview.chromium.org/354533004
2014-06-29 15:08:31 -07:00
humper
d92f5b814d add a second interface to the resizer to exactly match what Chrome expects. Will make the migration much cleaner
BUG=skia:
R=mtklein@google.com

Author: humper@google.com

Review URL: https://codereview.chromium.org/353163005
2014-06-28 20:12:45 -07:00
senorblanco
1e2772ff92 Remove now-nonexistent SkCountdown.h from public_headers.
Seems to be breaking Chrome's GN build.

R=rmistry@google.com
TBR=rmistry
BUG=skia:

Author: senorblanco@chromium.org

Review URL: https://codereview.chromium.org/359183002
2014-06-28 17:42:55 -07:00
reed
bae704b050 add rowbytes option to allocPixels
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/345263005
2014-06-28 14:26:36 -07:00
reed
ce41ad1b33 remove SK_SUPPORT_LEGACY_INSTALLPIXELSPARAMS code
TBR=

Author: reed@google.com

Review URL: https://codereview.chromium.org/359143002
2014-06-28 13:25:31 -07:00