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
reed
4af35f348b
writepixels needs to bump genID
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/352573005
2014-06-27 17:47:49 -07:00
senorblanco
d4fa483504
Some straggler rebaselines for imagefiltersclipped.
...
NOTRY=true
NOTREECHECKS=true
R=rmistry@google.com
TBR=rmistry
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/348313006
2014-06-27 16:20:03 -07:00
senorblanco
d297d0f2c2
New baselines for imagefiltersclipped GM after perlin noise change.
...
R=rmistry@google.com
TBR=rmistry
NOTRY=true
NOTREECHECKS=true
BUG=skia:
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/361523003
2014-06-27 14:45:30 -07:00
Mike Klein
a40239ca1e
Drop --clone from commands in skia repo.
...
--clone, and SkPicture::clone(), are no longer.
CQ_EXTRA_TRYBOTS=tryserver.skia:Housekeeper-PerCommit-Trybot
BUG=skia:
R=rmistry@google.com
Review URL: https://codereview.chromium.org/343813006
2014-06-27 17:09:39 -04:00
senorblanco
ca6a7c2945
Make perlin noise do CTM-correct scaling.
...
When drawing perlin noise, generate noise at the resolution determined
by CTM, not by the resolution at construction time. This required moving
the generation of PaintingData to getContext() and asNewEffect() for the
raster and GPU paths, respectively.
It also required adjusting the matrices used during rendering
to be translate-only.
R=sugoi@chromium.org , bsalomon@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/358903002
2014-06-27 13:35:52 -07:00
mtklein
d3e474e20c
Deprecate SkPicture::clone().
...
Chrome will need -DSK_SUPPORT_LEGACY_PICTURE_CLONE.
This removes the modes from our tools that use clone(). No
bots run these. DM used clone() in a way that we can just
share the picture now.
I plan to bring back the ability to test multithreaded
picture rendering soon.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com , bsalomon@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/338633011
2014-06-27 12:34:44 -07:00
halcanary
67ec1f8eec
Switch SkPDFStream's internal storage from SkStream to SkData
...
Motivation: This makes SkPDFStream thread-safe for two threads
serializing it at once, since a SkStream has an internal position.
Updated SkPDFFont, SkPDFGraphicState, and SkPDFPage's use of
SkPDFStream to use the SkData constructor rather than the SkStream
constructor (saving a memcpy).
BUG=skia:2683
Committed: https://skia.googlesource.com/skia/+/c1dfa14b645ae274780f026dd86c9b633fbdad06
R=mtklein@google.com , djsollen@google.com , rmistry@google.com , robertphillips@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/340783013
2014-06-27 11:36:20 -07:00
reed
89443aba5b
change gpudevice and pdfdevice to inherit from basedevice
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/354133002
2014-06-27 11:34:19 -07:00
mtklein
479fbaf3bd
Disable SSE4 code.
...
Chrome canary failing to link chrome:
http://108.170.220.120:10115/builders/Canary-Chrome-Ubuntu13.10-Ninja-x86_64-ToT/builds/1009/steps/BuildChrome/logs/stdio
BUG=skia:
NOTRY=true
R=mtklein@google.com , rmistry@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/361493002
2014-06-27 11:28:06 -07:00
humper
4f96ab3618
Refactor bitmap scaler to make it easier to migrate rest of chrome to use it
...
Previously, the set of platform-specific function pointers to do fast convolution (e.g., neon, SSE) were passed in a structure to the scaler.
I refactored this so that the scaler fills in these function pointers after it's called, so the caller doesn't have to worry about it.
R=mtklein@google.com
TBR=mtklein
NOTRY=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/354193002
2014-06-27 11:27:03 -07:00
halcanary
1f8ed02222
Add lock to SkPDFDict
...
Add mutex lock to all functions. Remove dictionary iterator, and
replace with new thread-safe functions.
BUG=skia:2683
R=mtklein@google.com , djsollen@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/360473005
2014-06-27 10:37:27 -07:00
robertphillips
e5c1e3cd63
Fix RRect tranform bug
...
When a RRect is an oval transforming the rectangle and the radii separately can result in a non-oval result (i.e., due to numerical issues some tiny straight edges may creep in). This CL remedies the situation by computing the new radii directly from the transformed rect.
BUG=skia:2696
R=caryclark@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/354913004
2014-06-27 08:59:26 -07:00
tomhudson
a8377402ee
Mark SkBBoxHierarchyRecord destructor as virtual
...
Immediate parent classes have empty virtual destructors, but farther
up the inheritance tree there is complicated destruction going on.
This change may be unnecessary but makes the polymorphism explicit.
BUG=skia:1734
R=mtklein@google.com , tomhudson@google.com , mtklein
Author: tomhudson@chromium.org
Review URL: https://codereview.chromium.org/359773002
2014-06-27 08:19:35 -07:00
henrik.smiding
3bb195ef0d
Add SSE4 optimization of S32A_Opaque_Blitrow
...
Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
instruction set. Special case for when alpha is zero or opaque.
Performance increase of 10%-400% compared to the existing SSE2
optimization (measured on Silvermont architecture).
Noticeable in ~25 different skia bench subtests, especially in
bitmap_8888_*, repeatTile_*, and morph_*.
bitmap_8888_A - 100% faster
bitmap_8888_A_source_transparent - 250% faster
bitmap_8888_A_source_opaque - 25% faster
bitmap_8888_A_scale_bicubic - 75% faster
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e
Committed: https://skia.googlesource.com/skia/+/b5c281e1e06af3be804309877de1dac6145686b9
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/289473009
2014-06-27 08:03:17 -07:00
reed
982542dce8
add SkSurface::NewRasterDirectReleaseProc
...
allows for lifetime control of pixel memory on raster surface
BUG=skia:
R=fmalita@google.com , bsalomon@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/351373005
2014-06-27 06:48:14 -07:00