bungeman
33eb30fed8
Clean up DirectWrite typeface cache matching.
...
The matching code was difficult to follow due to naming issues,
and performed some duplicate work which is not wanted.
This change will either fix the associated bug or make it possible
to track the cause.
CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Release-DirectWrite-Trybot
BUG=384529
R=reed@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/338923003
2014-06-17 18:12:51 -07:00
mtklein
db6346a5b1
Revert of Add SSE4 optimization of S32A_Opaque_Blitrow ( https://codereview.chromium.org/289473009/ )
...
NOTREECHECKS=true
NOTRY=true
Reason for revert:
Valgrind bot's seeing this code use uninitialized memory, and it's somehow blocking our roll into Chrome too:
> ld: warning: could not create compact unwind for
S32A_Opaque_BlitRow32_SSE4_asm:
> stack subq instruction is too different from dwarf stack size
> [10339/10982 | 3247.792] PACKAGE FRAMEWORK "Chromium Framework.framework",
> POSTBUILDS
> FAILED: ./gyp-mac-tool package-framework "Chromium Framework.framework" A &&
> (export
> BUILT_PRODUCTS_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release;
> export CONFIGURATION=Release; export CONTENTS_FOLDER_PATH="Chromium
> Framework.framework/Versions/A"; export
> DYLIB_INSTALL_NAME_BASE=@executable_path/../Versions/37.0.2056.0; export
> EXECUTABLE_NAME="Chromium Framework"; export EXECUTABLE_PATH="Chromium
> Framework.framework/Versions/A/Chromium Framework"; export
> FULL_PRODUCT_NAME="Chromium Framework.framework"; export
> INFOPLIST_PATH="Chromium Framework.framework/Versions/A/Resources/Info.plist";
> export
LD_DYLIB_INSTALL_NAME="@executable_path/../Versions/37.0.2056.0/Chromium
> Framework.framework/Chromium Framework"; export MACH_O_TYPE=mh_dylib; export
> PRODUCT_NAME="Chromium Framework"; export
> PRODUCT_TYPE=com.apple.product-type.framework; export
>
SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk;
> export
>
SRCROOT=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/../../chrome;
> export SOURCE_ROOT="${SRCROOT}"; export
> TARGET_BUILD_DIR=/Volumes/data/b/build/slave/mac_gpu/build/src/out/Release;
> export TEMP_DIR="${TMPDIR}"; export
UNLOCALIZED_RESOURCES_FOLDER_PATH="Chromium
> Framework.framework/Versions/A/Resources"; export WRAPPER_NAME="Chromium
> Framework.framework"; (cd ../../chrome && ../build/mac/tweak_info_plist.py
> "--breakpad=1" "--breakpad_uploads=0" "--keystone=0" "--scm=1"
> "--branding=Chromium" && ln -fns Versions/Current/Libraries
> "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Libraries" &&
> tools/build/mac/verify_order _ChromeMain
> "${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}"); G=$?; ((exit $G) || rm -rf
> 'Chromium Framework.framework') && exit $G) && touch "Chromium
> Framework.framework"
> tools/build/mac/verify_order: unordered symbols in
> /Volumes/data/b/build/slave/mac_gpu/build/src/out/Release/Chromium
> Framework.framework/Versions/A/Chromium Framework:
> S32A_Opaque_BlitRow32_SSE4_asm
> _S32A_Opaque_BlitRow32_SSE4_asm
> ninja: build stopped: subcommand failed.
Original issue's description:
> 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 , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com , henrik.smiding@intel.com , mtklein@chromium.org
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/336413007
2014-06-17 17:37:05 -07:00
Ben Wagner
60741912fd
Rebaseline ANGLE bots.
2014-06-17 18:39:09 -04:00
Brian Salomon
08fe01362d
Try to roll angle again.
...
BUG=skia:2272
NOTRY=True
NOTREECHECKS=True
R=reed@google.com
Review URL: https://codereview.chromium.org/306483014
2014-06-17 17:28:17 -04:00
fmalita
6ca763f362
More SaveFlags removal twiddling.
...
This is a follow up to https://codereview.chromium.org/338913002/ . More
tweaks to allow migrating clients to the new API.
1) switch the shim call direction willSave(SaveFlags) -> willSave()
(internal users are still using the former, so external overriders of
the latter will not be notified otherwise - doh)
2) ensure willSave() stays visible in SkProxyCanvas (Chromium's
TimingCanvas attempts to call it explicitly).
BUG=skia:2297
R=reed@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/334393008
2014-06-17 13:52:18 -07:00
djsollen
dbb7b30429
Update the name of the friended android class and add the appropriate guards.
...
R=scroggo@google.com , robertphillips@google.com , reed@google.com
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/344473002
2014-06-17 13:42:59 -07:00
humper
4a24cd8ff4
Fifth attempt to land faster rect blur. Remove unnecessary conditionals from the shader.
...
approved over in https://codereview.chromium.org/331863006/ ; reuploading
because it had the wrong base url
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/341543005
2014-06-17 13:39:31 -07:00
Ben Wagner
9323b01e90
Update Windows baselines due to VS2013 update.
...
Floating point operations now differ in the low bits from before.
2014-06-17 16:28:20 -04:00
reed
0992d0764b
rebaseline after changing labels in bitmapfilters
...
TBR=
NOTRY=True
NOTREECHECKS=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340583004
2014-06-17 12:31:49 -07:00
mtklein
887f3979f0
Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.
...
The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP.
After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331573004
2014-06-17 12:08:16 -07:00
mtklein
24ad096540
Silence warnings about using offsetof on near-POD structs.
...
This is coming up with SkMatrix, which is POD according to GCC >= 4.6
but not before (specifically, not at GCC 4.4).
BUG=skia:
R=reed@google.com , mtklein@google.com , bungeman@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/339193002
2014-06-17 11:47:40 -07:00
henrik.smiding
b5c281e1e0
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
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-17 11:32:47 -07:00
dandov
baa860c297
* Removed bitmapshaders from expectations/gm/ignored-tests.txt.
...
* Rebaseline bitmapshaders, gpu didn't produce the same images when using only alpha bitmaps
because it didn't consider the skpaint's color.
BUG=skia:2293
R=jvanverth@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/339923004
2014-06-17 11:21:46 -07:00
bungeman
6d867d494a
DirectWrite to use PostScript name for PDF.
...
The PDF backend expects info->fFontName to be the PostScript name.
Prior to this change the '<family> <sytle>' name was used instead.
R=vandebo@chromium.org , halcanary@google.com , reed@google.com , thestig@chromium.org
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/324403010
2014-06-17 10:48:04 -07:00
reed
057ef35280
rebaseline after GM change to bitmapfilters
...
TBR=
NOTRY=True
NOTREECHECKS=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/341593003
2014-06-17 10:32:31 -07:00
reed
12d4aa69b5
ignore bitmapfilters failures until we can rebaseline
...
TBR=
NOTRY=True
NOTREECHECKS=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/339153004
2014-06-17 10:28:08 -07:00
reed
859b92448b
move some headers out of public
...
patch from issue 338263003
BUG=skia:
R=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/339183002
2014-06-17 09:04:45 -07:00
reed
c3b3266b7d
hide SkBitmap::Config entirely (behind a flag)
...
patch from issue 339463002
TBR=
I think the NoGPU failure is unrelated, so ignoring
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340533002
2014-06-17 08:38:31 -07:00
mtklein
a272d6d065
Move SkStringUtils.h to src/core.
...
Doesn't need to be in include/.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/335413004
2014-06-17 07:42:35 -07:00
mtklein
4c07b6b58f
BenchSysTimer_mach drops all sub-ms precision. Fix that!
...
BUG=skia:
R=bungeman@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/336903005
2014-06-17 07:06:29 -07:00
caryclark
da085e6ab3
fix chrome
...
had #if SK_DEBUG instead of #ifdef SK_DEBUG
R=reed@android.com
TBR=reed
NOTRY=true
NOTREECHECKS=true
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/338333002
2014-06-17 05:41:12 -07:00
caryclark
dac1d17027
Enabling the canvas bit to turn the clip stack into a flat replace exposed around 100 failures when testing the 800K skp set generated from the top 1M web sites.
...
This fixes all but one of those failures.
Major changes include:
- Replace angle indices with angle pointers. This was motivated by the need to add angles later but not renumber existing angles.
- Aggressive segment chase. When the winding is known on a segment, more aggressively passing that winding to adjacent segments allows fragmented data sets to succeed.
- Line segments with ends nearly the same are treated as coincident first.
- Transfer partial coincidence by observing that if segment A is partially coincident to B and C then B and C may be partially coincident.
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/272153002
2014-06-17 05:15:38 -07:00
mtklein
d6043b20b6
Add nanomsg to third_party, with some demos.
...
This isn't something I want to make part of Skia, but just a substrate to build cross-process demos on top of. If I client were to use Skia cross-process, they'd drop their own IPC system in here.
If you're not familiar, nanomsg (nanomsg.org) is the next-gen zeromq (zeromq.org), from the same author, righting all his design wrongs from zeromq.
It's a lot like the lower half of mojo, dealing with making the connections and getting messages reliably from A to B. Think, better sockets, and it spans nicely across in-process (with zero-copy), inter-process, and TCP.
BUG=skia:
R=bsalomon@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/294873004
2014-06-16 20:21:06 -07:00
mtklein
4aa000df08
Split out DEPS change from 294873004 to land first.
...
BUG=skia:
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331913004
2014-06-16 20:03:43 -07:00
reed
0349864b75
remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE -- not needed
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/332163005
2014-06-16 15:18:25 -07:00
mtklein
90c471e73f
Refine bench_record and bench_playback:
...
- use high-precision wall timer only
- warm caches once before measuring
- measure independent samples, calculating statistics
- add --verbose to control how much data we output
Also removed some unloved features from bench_record.
BUG=skia:
R=jcgregorio@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/338203002
2014-06-16 14:04:34 -07:00
borenet
ad2ab61b4e
Fix Windows bots
...
BUG=skia:
R=mtklein@google.com , rmistry@google.com
Author: borenet@google.com
Review URL: https://codereview.chromium.org/339733002
2014-06-16 13:41:25 -07:00
mtklein
9ccabf7f94
Revert of Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots. ( https://codereview.chromium.org/331193004/ )
...
Reason for revert:
Experiment is over: disabling SSSE3 is a 25-50% perf regression for bitmap scaling on every machine we've got.
Original issue's description:
> Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots.
>
> BUG=372232
>
> Committed: https://skia.googlesource.com/skia/+/f1e5a04832e4d350f9ebf5d556c6d3897345f883
R=reed@google.com , mtklein@chromium.org
TBR=mtklein@chromium.org , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=372232
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/332213005
2014-06-16 13:11:27 -07:00
fmalita
07fc662d7e
Prepare for internal SaveFlags removal.
...
Chromium has a couple of SkCanvas subclasses which override willSave().
This adds a transitional shim to facilitate converting these to the
parameter-less API.
BUG=skia:2297
R=reed@google.com , scroggo@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/338913002
2014-06-16 12:13:39 -07:00
piotaixr
0eb02a6abb
Cleaned a repeated if(condition) with the same condition
...
R=junov@chromium.org
Author: piotaixr@chromium.org
Review URL: https://codereview.chromium.org/338933002
2014-06-16 11:50:49 -07:00
senorblanco
f3b50276a4
Perlin noise cleanup.
...
Remove Simplex noise implementation and now-redundant base classes.
BUG=skia:
R=sugoi@chromium.org , sugoi@google.com , reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/336043002
2014-06-16 10:49:58 -07:00
mtklein
f1e5a04832
Temporarily limit x86 SIMD to SSE2 only, to see effect on all benches and bots.
...
BUG=372232
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331193004
2014-06-16 10:22:12 -07:00
kevin.petit
cf2187267b
Armv8/64bit doesn't (apparently) need rebaselining
...
BUG=skia:
R=reed@google.com
NOTRY=True
Author: kevin.petit@arm.com
Review URL: https://codereview.chromium.org/334743009
2014-06-16 10:05:41 -07:00
senorblanco
92b323e3ab
Add sugoi@ to CQ_COMMITTERS.
...
R=junov@chromium.org
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/337033005
2014-06-16 08:54:57 -07:00
reed
885f2ea46e
fix legacy code path for SK_SUPPORT_LEGACY_IMAGEDECODER_CONFIG
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/332223002
2014-06-16 08:25:57 -07:00
Eric Boren
9118413608
Enable compiling with automatically-downloaded VS toolchain on Windows bots
...
Requires that the bots have CHROME_HEADLESS=1 and CHROME_PATH set.
BUG=skia:2216
R=epoger@google.com
Review URL: https://codereview.chromium.org/332833002
2014-06-16 10:02:42 -04:00
borenet
d6e614c0aa
Update SKP version to 24
...
Automatic commit by the RecreateSKPs bot.
TBR=
Author: borenet@google.com
Review URL: https://codereview.chromium.org/332983003
2014-06-15 23:52:57 -07:00
tfarina
851eabe564
Minor cleanups in picture_utils header file.
...
1) Remove unused include.
2) Remove unused forward declarations.
BUG=None
TEST=make tests
R=epoger@google.com
TBR=epoger@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/339493004
2014-06-15 20:10:44 -07:00
borenet
09b187c9bd
Update SKP version to 23
...
Automatic commit by the RecreateSKPs bot.
TBR=
Author: borenet@google.com
Review URL: https://codereview.chromium.org/332843006
2014-06-14 23:47:32 -07:00
reed
0689d7b12e
stop using SkBitmap::Config
...
R=scroggo@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/338493005
2014-06-14 05:30:20 -07:00
borenet
c6dbd6f95e
Update SKP version to 22
...
Automatic commit by the RecreateSKPs bot.
TBR=
Author: borenet@google.com
Review URL: https://codereview.chromium.org/332013002
2014-06-14 04:50:12 -07:00
tfarina
055cf91416
Delete unused path_utils.* component.
...
filter tool includes it but isn't using, and nobody else seems to
be using it either. So just remove it now.
BUG=None
TEST=make filter
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/324273002
2014-06-14 04:50:04 -07:00
reed
f252f64f17
hide virtuals on device for width/height/isopaque
...
R=bsalomon@google.com
NOTREECHECKS=True
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334993002
2014-06-14 04:24:57 -07:00
rmistry
937fdeb8a2
Testing trybot triggering
...
CQ_EXTRA_TRYBOTS=tryserver.skia:Build-Ubuntu13.10-GCC4.8-x86_64-Debug-CrOS_Link-Trybot
BUG=skia:2659
NOTREECHECKS=true
TBR=
(SkipBuildbotRuns)
Author: rmistry@google.com
Review URL: https://codereview.chromium.org/332933005
2014-06-13 11:59:44 -07:00
kkinnunen
cb9a2c8934
Extract "text align proc" functions as reusable classes
...
Extract "text align proc" as reusable classes. These classes need to be used
when writing GrTextContext subclasses.
Moves "text align proc" code that is duplicated in SkDraw and
SkBitmapTextContext to SkDrawProcs.h and SkTextMapState.h. This functionality is
also used in the new GrStencilAndCoverTextContext.
Creates new functor classes SkTextAlignProc and SkTextAlignProcScalar which
represent the previous "text align procs".
Moves TextMapState from SkDraw to SkTextMapStateProc and make it similar functor.
The transform should be comparable in speed, as the compiler can and does avoid
the call and eliminate some of the branches.
R=jvanverth@google.com , reed@google.com
Author: kkinnunen@nvidia.com
Review URL: https://codereview.chromium.org/335573002
2014-06-12 23:06:28 -07:00
rs.prinja
39e58adb99
Randomize seed for SkDiscretePathEffect::filterPath()
...
Fix for https://code.google.com/p/skia/issues/detail?id=2581 . Randomizes
the seed in SkDiscretePathEffect::filterPath(). Prior to this we were
using the path length as a seed.
Now, if we have two different paths with identical contents and we
apply an SkDiscretePathEffect to each, we obtain two different random
paths. Previously, we would obtain two overlapping paths (identical
path contents leading to the same seed).
BUG=skia:
R=reed@google.com , scroggo@google.com
Author: rs.prinja@samsung.com
Review URL: https://codereview.chromium.org/311803002
2014-06-12 22:55:08 -07:00
reed
bfefc7c95f
hide Config in SkImageDecoder -- use SkColorType instead
...
patch from issue 334613003
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334793002
2014-06-12 17:40:00 -07:00
senorblanco
9a8699f45c
New baselines for perlin noise tests affected by ce6a35.
...
New baselines for perlinnoise, imagefiltersclipped and
imagefiltersscaled GMs.
R=scroggo@google.com
TBR=scroggo
NOTRY=true
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/336703002
2014-06-12 14:31:57 -07:00
robertphillips
02830f0448
Remove SkPicture SK_SUPPORT_LEGACY_RECORDING_FLAG flag
...
Chromium/Blink should no longer need this flag after:
Chromium: Remove use of kUsePathBoundsForClip_RecordingFlag https://codereview.chromium.org/322123002/
Blink: Remove use of kUsePathBoundsForClip_RecordingFlag https://codereview.chromium.org/326953002/
R=mtklein@google.com , scroggo@google.com , reed@google.com , bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/328343002
2014-06-12 12:56:58 -07:00
reed
2526f0e5fd
rebaselines for removal of unitmapper
...
TBR=
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/330513005
2014-06-12 12:53:01 -07:00