mtklein [Wed, 1 Jul 2015 20:56:53 +0000 (13:56 -0700)]
Add support for drawBitmapRect() to SkMiniRecorder.
BUG=chromium:503705
Review URL: https://codereview.chromium.org/
1220733006
Mike Klein [Wed, 1 Jul 2015 20:35:59 +0000 (16:35 -0400)]
Revert "Move headers used by headers in include/ to include/private."
This reverts commit
928e16565f3e69cd6661e9ad300ac17e3f33c0c8.
BUG=skia:
Review URL: https://codereview.chromium.org/
1213093004.
msarett [Wed, 1 Jul 2015 20:11:08 +0000 (13:11 -0700)]
Revert of Switch SkJpegCode to libjpeg-turbo (patchset #28 id:710001 of https://codereview.chromium.org/
1180983002/)
Reason for revert:
Broke iOS build.
Original issue's description:
> Add libjpeg-turbo library (depends on yasm)
> Mangle external function names to avoid conflict with libjpeg
> Take advantage of direct color conversion (RGBA, BGRA, 565)
> Prepare to use jpeg_skip_scanlines (when it is upstreamed)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
>
> Committed: https://skia.googlesource.com/skia/+/
f8bf9181d7b0463c8e371755cfbb9ece90b34fc5
>
> Committed: https://skia.googlesource.com/skia/+/
e9e3ee33f30c14c31afd5fc3fe4dda7f15783c75
TBR=scroggo@google.com,djsollen@google.com,emmaleer@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1213093003
mtklein [Wed, 1 Jul 2015 20:06:49 +0000 (13:06 -0700)]
Don't cap num_cores at 32 on 32-bit Windows.
See here for a similar change in Ninja. Wanna bet they just got Z840s too?
https://github.com/martine/ninja/commit/
8c8834acffdc0da0d94119725929acc712c9dfad
BUG=skia:
Review URL: https://codereview.chromium.org/
1213063011
joshualitt [Wed, 1 Jul 2015 19:39:07 +0000 (12:39 -0700)]
cleanup GLBenches
BUG=skia:
Review URL: https://codereview.chromium.org/
1214203004
msarett [Wed, 1 Jul 2015 19:36:18 +0000 (12:36 -0700)]
Add libjpeg-turbo library (depends on yasm)
Mangle external function names to avoid conflict with libjpeg
Take advantage of direct color conversion (RGBA, BGRA, 565)
Prepare to use jpeg_skip_scanlines (when it is upstreamed)
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
Committed: https://skia.googlesource.com/skia/+/
f8bf9181d7b0463c8e371755cfbb9ece90b34fc5
Review URL: https://codereview.chromium.org/
1180983002
mtklein [Wed, 1 Jul 2015 18:55:42 +0000 (11:55 -0700)]
Move headers used by headers in include/ to include/private.
Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h
used by (public) SkPictureRecorder.h.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
a89f55198bdc58f0b6f6196907ab25a6afc1a661
Review URL: https://codereview.chromium.org/
1217293004
bsalomon [Wed, 1 Jul 2015 18:02:50 +0000 (11:02 -0700)]
Revert of Fix SkTileImageFilter clipping/cropRect interaction issue (patchset #2 id:30001 of https://codereview.chromium.org/
1210053003/)
Reason for revert:
Perf regression: https://code.google.com/p/chromium/issues/detail?id=505564
Original issue's description:
> Fix SkTileImageFilter clipping/cropRect interaction issue
>
> BUG=499499
>
> Committed: https://skia.googlesource.com/skia/+/
157bcd0840b578060dbc3365daafffc6837da391
TBR=reed@google.com,senorblanco@google.com,senorblanco@chromium.org,robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=499499
Review URL: https://codereview.chromium.org/
1219193002
jvanverth [Wed, 1 Jul 2015 16:45:46 +0000 (09:45 -0700)]
Revert "Move headers used by headers in include/ to include/private."
This reverts commit
a89f55198bdc58f0b6f6196907ab25a6afc1a661.
Reason: breaking the roll.
TBR=mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1216033008
mtklein [Wed, 1 Jul 2015 15:41:14 +0000 (08:41 -0700)]
Move headers used by headers in include/ to include/private.
Some of this is transitive, like SkRecords.h used by SkMiniRecorder.h
used by (public) SkPictureRecorder.h.
BUG=skia:
Review URL: https://codereview.chromium.org/
1217293004
joshualitt [Wed, 1 Jul 2015 15:34:50 +0000 (08:34 -0700)]
fix for angle
BUG=skia:
Review URL: https://codereview.chromium.org/
1216963011
mtklein [Wed, 1 Jul 2015 14:04:37 +0000 (07:04 -0700)]
Thread through a flag to force SkPicture::playback() when recording subpictures.
This makes nanobench picture recording benchmarks somewhat useful again,
as opposed to all taking about 5us to run no matter the content.
ATTN Sheriff: this will probably trigger perf.skia.org alerts.
BUG=skia:
Review URL: https://codereview.chromium.org/
1219873002
msarett [Wed, 1 Jul 2015 13:50:35 +0000 (06:50 -0700)]
In the case of subset decodes, we will often not decode to
the bottom of the image. In our code before this patch,
this would result in cleanup code in onFinish() never being
called.
We can allow subclasses to take ownership of the
SkScanlineDecoder in order to make sure that it is
finished/deleted before deleting the decode manager.
BUG=skia:
Review URL: https://codereview.chromium.org/
1212593003
joshualitt [Wed, 1 Jul 2015 13:20:13 +0000 (06:20 -0700)]
Benchmark to test cost for additional vertex attributes
BUG=skia:
Review URL: https://codereview.chromium.org/
1213233011
kkinnunen [Wed, 1 Jul 2015 11:31:29 +0000 (04:31 -0700)]
Fix dm failures after Cleanup legacy NVPR-related definitions
Non-NV_path_rendering drivers should always return NULL context
for NVPR context type request. Fix this.
This was needed due to the previous patch trying to implement below:
NV_path_rendering drivers should return non-NULL context
for NVPR context type request, regardless whether path
rendering is actually supported or not. This is due to SAN
bots having older drivers and trying to run nvprmsaa config.
Review URL: https://codereview.chromium.org/
1220513005
kkinnunen [Wed, 1 Jul 2015 09:58:50 +0000 (02:58 -0700)]
Cleanup legacy NVPR-related definitions
Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.
Remove some NVPR API function typedefs that were left from initial
commits.
Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.
Avoid failing interface creation even if nvprmsaaXX config is
requested but the driver is not recent enough. The SAN bots have
old driver, but try to run nvprmsaa16 configs. Instead, print
out a warning.
Committed: https://skia.googlesource.com/skia/+/
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
Committed: https://skia.googlesource.com/skia/+/
e35b5d99d8dfcc6b2be844df28cba47436380809
Review URL: https://codereview.chromium.org/
1177243004
herb [Tue, 30 Jun 2015 21:23:29 +0000 (14:23 -0700)]
Revert of Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating. (patchset #1 id:1 of https://codereview.chromium.org/
1213033003/)
Reason for revert:
Add tsan annotations to repair tests.
Original issue's description:
> Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating.
>
> The ~ means "don't run this". This keeps all the other bots running the code, skipping it only on the whiny TSAN bot.
>
> BUG=skia:3997
>
> Committed: https://skia.googlesource.com/skia/+/
37cc0b2e31e4a078b12790253d7032d36271440c
TBR=mtklein@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3997
Review URL: https://codereview.chromium.org/
1218153004
herb [Tue, 30 Jun 2015 21:12:16 +0000 (14:12 -0700)]
Add annotations to SkSharedMutex.
BUG=skia:3997
Review URL: https://codereview.chromium.org/
1213663004
vmpstr [Tue, 30 Jun 2015 20:36:04 +0000 (13:36 -0700)]
Fix infinite matrix during an invert.
This patch ensures that when inverting a SkMatrix44, we handle small
floats properly. When inverted these can cause infinite values, but
still evaluate to true in an if condition.
BUG=chromium:498516
Review URL: https://codereview.chromium.org/
1209763002
msarett [Tue, 30 Jun 2015 20:29:37 +0000 (13:29 -0700)]
Fix CodecSubset benches seg faults for kIndex8
All of the CodecSubset benches fail when the color type is
kIndex8. We need to pass a color table to allocPixels()
when we want to decode to kIndex8 or it will throw a failure.
BUG=skia:
Review URL: https://codereview.chromium.org/
1213983003
bsalomon [Tue, 30 Jun 2015 19:04:40 +0000 (12:04 -0700)]
Add SkSurface factory for wrapping an FBO in SkSurface
Review URL: https://codereview.chromium.org/
1221853003
bsalomon [Tue, 30 Jun 2015 18:37:35 +0000 (11:37 -0700)]
Rename flushForExternalRead->flushForExternalIO and always call in SkSurface::getTextureHandle
Review URL: https://codereview.chromium.org/
1216243003
mtklein [Tue, 30 Jun 2015 17:51:50 +0000 (10:51 -0700)]
Skip SkSharedMutexMultiThreaded test on TSAN bot while investigating.
The ~ means "don't run this". This keeps all the other bots running the code, skipping it only on the whiny TSAN bot.
BUG=skia:3997
Review URL: https://codereview.chromium.org/
1213033003
borenet [Tue, 30 Jun 2015 17:24:03 +0000 (10:24 -0700)]
Add wrapper script for computing n-grams from SKPs on Cluster Telemetry
Add --n argument
BUG=skia:3840
Review URL: https://codereview.chromium.org/
1216073007
mtklein [Tue, 30 Jun 2015 16:49:49 +0000 (09:49 -0700)]
Pass arguments to SkRecords structs by const&.
This has the effect of using delay_copy() on every argument,
obviating the need for delay_copy() and, crucially, having
to remember to call delay_copy().
All these constructors are fully inlined, so we'll never pay
a penalty for passing small things by reference... the compiler
can see that and just pass by value.
BUG=skia:
Review URL: https://codereview.chromium.org/
1215523004
jvanverth [Tue, 30 Jun 2015 16:40:38 +0000 (09:40 -0700)]
Revert of Cleanup legacy NVPR-related definitions (patchset #4 id:60001 of https://codereview.chromium.org/
1177243004/)
Reason for revert:
Breaks the Ubuntu *SAN bots.
Original issue's description:
> Cleanup legacy NVPR-related definitions
>
> Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
> version 1.3 (PathFragmentInputGen) was left working. Remove
> backwards-compatibility code that was left behind.
>
> Remove some NVPR API function typedefs that were left from initial
> commits.
>
> Remove PathCoords function pointer from GrGLInterface, it has
> never been called and causes problems in the future, since it will
> not be implemented in the Chromium pseudo extension.
>
> Committed: https://skia.googlesource.com/skia/+/
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
>
> Committed: https://skia.googlesource.com/skia/+/
e35b5d99d8dfcc6b2be844df28cba47436380809
TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1219663005
bsalomon [Tue, 30 Jun 2015 16:38:35 +0000 (09:38 -0700)]
Remove default for --images in common flags
Review URL: https://codereview.chromium.org/
1214363002
rmistry [Tue, 30 Jun 2015 16:20:17 +0000 (09:20 -0700)]
Use AddStory instead of deprecated AddUserStory
BUG=skia:3967
TBR=nednguyen
NOTRY=true
Review URL: https://codereview.chromium.org/
1212843008
bsalomon [Tue, 30 Jun 2015 16:19:14 +0000 (09:19 -0700)]
Fix blur bug on Andreno 430 with bool cast to float
BUG=skia:3944
Review URL: https://codereview.chromium.org/
1214483007
rmistry [Tue, 30 Jun 2015 15:22:25 +0000 (08:22 -0700)]
Revert of Use page_set_module.PageSet instead of story.StorySet (patchset #1 id:1 of https://codereview.chromium.org/
1221553003/)
Reason for revert:
This should no longer be required due to Ned's fix in https://codereview.chromium.org/
1217823005/
Original issue's description:
> Use page_set_module.PageSet instead of story.StorySet
>
> BUG=skia:3967
> NOTRY=true
> TBR=nednguyen
>
> Committed: https://skia.googlesource.com/skia/+/
7b971f0152299ae9a924252a9bfd220318497bdd
TBR=nednguyen@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:3967
Review URL: https://codereview.chromium.org/
1214903008
joshualitt [Tue, 30 Jun 2015 14:43:14 +0000 (07:43 -0700)]
Add benchmarkstream to visualbench
BUG=skia:
Review URL: https://codereview.chromium.org/
1215033002
bsalomon [Tue, 30 Jun 2015 14:42:42 +0000 (07:42 -0700)]
Update blur image filter bench to have crop variation
BUG=skia:3944
Review URL: https://codereview.chromium.org/
1212973004
sammc [Tue, 30 Jun 2015 14:09:49 +0000 (07:09 -0700)]
Change initializer list order to match field declaration order.
BUG=chromium:505304
Review URL: https://codereview.chromium.org/
1214933004
joshualitt [Tue, 30 Jun 2015 13:50:10 +0000 (06:50 -0700)]
Move visualbench to its own folder
BUG=skia:
Review URL: https://codereview.chromium.org/
1216973002
rmistry [Tue, 30 Jun 2015 12:03:05 +0000 (05:03 -0700)]
Use page_set_module.PageSet instead of story.StorySet
BUG=skia:3967
NOTRY=true
TBR=nednguyen
Review URL: https://codereview.chromium.org/
1221553003
kkinnunen [Tue, 30 Jun 2015 10:59:50 +0000 (03:59 -0700)]
Cleanup legacy NVPR-related definitions
Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.
Remove some NVPR API function typedefs that were left from initial
commits.
Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.
Committed: https://skia.googlesource.com/skia/+/
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
Review URL: https://codereview.chromium.org/
1177243004
rmistry [Tue, 30 Jun 2015 10:54:07 +0000 (03:54 -0700)]
Migrate PageSets to StorySets in buildbot page sets
BUG=skia:3967
NOTRY=true
TBR=
Review URL: https://codereview.chromium.org/
1203433002
kkinnunen [Tue, 30 Jun 2015 06:01:28 +0000 (23:01 -0700)]
Refactor separable varying location info to be stored in GrGLProgram subclass
Refactor separable varying location info to be stored in GrGLProgram
subclass GrGLProgram instead of storing it in GrGLPathProcessor.
Separable varyings are exactly analoguous to uniforms: they are inputs
to the shader program. Shader compile-time information about uniforms is gathered to
GrGLProgramBuilder. This information is the converted to link-time
information, uniform locations, when constructing the program. Separable
varyings need to have same lifetime model.
This is needed in the future to support path rendering in Chromium. The
Chromium pseudo-extension will expose program fragment input binding
function similar to uniform binding function. Thus the separable varying
locations need to be decided and bound before link, e.g. before
GrGLProgram is created. This will be achieved in further patches by
overloading GrGLProgramBuilder::bindProgramResourceLocations() in
GrGLNvprProgramBuilder.
BUG=chromium:344330
Review URL: https://codereview.chromium.org/
1186113007
cdalton [Mon, 29 Jun 2015 21:15:19 +0000 (14:15 -0700)]
Hide NVPR text behind distance field flag
TODO: Rename the distance field flag to be more general.
BUG=skia:
Review URL: https://codereview.chromium.org/
1216973004
bungeman [Mon, 29 Jun 2015 21:12:41 +0000 (14:12 -0700)]
Remove old iOS porting files.
These files do not appear to be used, are unfinished, and should be
redundant with the mac porting files.
Review URL: https://codereview.chromium.org/
1197963003
reed [Mon, 29 Jun 2015 21:09:41 +0000 (14:09 -0700)]
augment surface tests to check legacy genID
BUG=skia:
Review URL: https://codereview.chromium.org/
1219793002
cdalton [Mon, 29 Jun 2015 21:06:10 +0000 (14:06 -0700)]
Make nanobench zoom animation time based
BUG=skia:
Review URL: https://codereview.chromium.org/
1211253003
herb [Mon, 29 Jun 2015 20:46:55 +0000 (13:46 -0700)]
Implement shared locks in the style of pthread's rwlock.
BUG=skia:
Review URL: https://codereview.chromium.org/
1215503005
borenet [Mon, 29 Jun 2015 19:54:25 +0000 (12:54 -0700)]
Add script for triggering Cluster Telemetry jobs using local scripts
BUG=skia:3979
Review URL: https://codereview.chromium.org/
1214843002
mtklein [Mon, 29 Jun 2015 19:16:26 +0000 (12:16 -0700)]
SoftLight with SkPMFloat
SSE speeds up about 4.5x over existing integer SSE,
NEON speeds up about 3x over serial integer code.
We expect 1-2 bit component diffs in the usual GMs.
Still guarded by SK_SUPPORT_LEGACY_XFERMODES,
which I'll now try to lift in Chrome.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
3e47d49b46b3ab62071218ef3dd44642c9713e04
CQ_EXTRA_TRYBOTS=client.skia:Test-ChromeOS-GCC-Daisy-CPU-NEON-Arm7-Debug-Trybot
Review URL: https://codereview.chromium.org/
1221493002
mtklein [Mon, 29 Jun 2015 19:04:10 +0000 (12:04 -0700)]
Edges matter, part 2.
Affected modes: lighten, hard-light, overlay (== hard-light).
This fixes a couple places where I used < when I should have used <=,
or swapped the logic as I've done here.
Caught by layout tests; our tests should be unchanged.
https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/68935/layout-test-results/css3/blending/background-blend-mode-crossfade-image-gradient-diffs.html
BUG=skia:
Review URL: https://codereview.chromium.org/
1217013003
caryclark [Mon, 29 Jun 2015 18:41:52 +0000 (11:41 -0700)]
don't fix winding for empty paths
A path can be non-empty but become empty when it is simplified.
For instance, a path with the same rectangle, twice, with opposite
windings.
No contours are created for empty paths, so don't try to
fix their winding direction.
Additionally, check for a NULL coincidence since the
OpBuilder assumes that no concidence edges can be present
after the paths are simplified. This code should not get
called, but it's worth the future-proofing to check.
R=fmalita@chromium.org
BUG=502792
Review URL: https://codereview.chromium.org/
1218863005
msarett [Mon, 29 Jun 2015 17:30:59 +0000 (10:30 -0700)]
Revert of Switch SkJpegCode to libjpeg-turbo (patchset #25 id:680001 of https://codereview.chromium.org/
1180983002/)
Reason for revert:
yasm is leaking memory :(.
https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-ASAN/builds/926/steps/build%20dm/logs/stdio
Original issue's description:
> Add libjpeg-turbo library (depends on yasm)
> Mangle external function names to avoid conflict with libjpeg
> Take advantage of direct color conversion (RGBA, BGRA, 565)
> Prepare to use jpeg_skip_scanlines (when it is upstreamed)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
>
> Committed: https://skia.googlesource.com/skia/+/
f8bf9181d7b0463c8e371755cfbb9ece90b34fc5
TBR=scroggo@google.com,djsollen@google.com,emmaleer@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1214023003
msarett [Mon, 29 Jun 2015 17:14:11 +0000 (10:14 -0700)]
Add libjpeg-turbo library (depends on yasm)
Mangle external function names to avoid conflict with libjpeg
Take advantage of direct color conversion (RGBA, BGRA, 565)
Prepare to use jpeg_skip_scanlines (when it is upstreamed)
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
Review URL: https://codereview.chromium.org/
1180983002
Matt Sarett [Mon, 29 Jun 2015 16:50:38 +0000 (12:50 -0400)]
Adding binary for yasm on x86 android devices
mtklein [Mon, 29 Jun 2015 16:37:29 +0000 (09:37 -0700)]
Revert of SoftLight with SkPMFloat (patchset #6 id:100001 of https://codereview.chromium.org/
1221493002/)
Reason for revert:
xfermodes and xfermodes2 show major diffs on Nexus 5 and Daisy (both ARMv7 w/NEON). Nexus 9 and SSE all look fine...
Original issue's description:
> SoftLight with SkPMFloat
>
> SSE speeds up about 4.5x over existing integer SSE,
> NEON speeds up about 3x over serial integer code.
>
> We expect 1-2 bit component diffs in the usual GMs.
>
> Still guarded by SK_SUPPORT_LEGACY_XFERMODES,
> which I'll now try to lift in Chrome.
>
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
3e47d49b46b3ab62071218ef3dd44642c9713e04
TBR=reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1221683002
reed [Mon, 29 Jun 2015 16:00:20 +0000 (09:00 -0700)]
remove premature discard optimization
BUG=skia:
Review URL: https://codereview.chromium.org/
1212613005
mtklein [Mon, 29 Jun 2015 15:40:30 +0000 (08:40 -0700)]
SoftLight with SkPMFloat
SSE speeds up about 4.5x over existing integer SSE,
NEON speeds up about 3x over serial integer code.
We expect 1-2 bit component diffs in the usual GMs.
Still guarded by SK_SUPPORT_LEGACY_XFERMODES,
which I'll now try to lift in Chrome.
BUG=skia:
Review URL: https://codereview.chromium.org/
1221493002
reed [Mon, 29 Jun 2015 14:37:01 +0000 (07:37 -0700)]
add getTextureHandle to SkSurface
BUG=485243
Review URL: https://codereview.chromium.org/
1210303003
joshualitt [Mon, 29 Jun 2015 13:58:06 +0000 (06:58 -0700)]
Fix for valgrind use of uninitialized variable
TBR=bsalomon@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/
1217843002
skia.buildbots [Sun, 28 Jun 2015 07:19:12 +0000 (00:19 -0700)]
Update SKP version
Automatic commit by the RecreateSKPs bot.
TBR=
NO_MERGE_BUILDS
Review URL: https://codereview.chromium.org/
1218683003
joshualitt [Fri, 26 Jun 2015 21:20:41 +0000 (14:20 -0700)]
Benchmark to test native perf of GL Instanced Ararys
BUG=skia:
Review URL: https://codereview.chromium.org/
1216663002
cdalton [Fri, 26 Jun 2015 20:32:53 +0000 (13:32 -0700)]
Don't suppress nanobench output table in verbose mode
Changes verbose mode to print both the table and the individual sample
values. No need to hold back information in verbose mode.
BUG=skia:
Review URL: https://codereview.chromium.org/
1208763003
joshualitt [Fri, 26 Jun 2015 19:46:36 +0000 (12:46 -0700)]
add drawArraysInstanced to caps
BUG=skia:
Review URL: https://codereview.chromium.org/
1202383006
robertphillips [Fri, 26 Jun 2015 19:17:59 +0000 (12:17 -0700)]
Make SkPaint::glyphsToUnichars use explicit SkSurfaceProps
BUG=skia:3984,skia:3934
Review URL: https://codereview.chromium.org/
1211413003
mtklein [Fri, 26 Jun 2015 18:45:03 +0000 (11:45 -0700)]
remove SkInstCnt
It's been outclassed by Valgrind and leak sanitizer,
and it seems to be causing problems for external folks building Skia.
I'm not sure why our own builds seem unaffected.
Latest thread:
https://groups.google.com/forum/#!topic/skia-discuss/oj9FsQwwSF0
BUG=skia:
Review URL: https://codereview.chromium.org/
1217573002
mtklein [Fri, 26 Jun 2015 18:43:30 +0000 (11:43 -0700)]
Kill mixedxfermodes
It's too random to be helpful.
BUG=skia:
Review URL: https://codereview.chromium.org/
1215703005
bsalomon [Fri, 26 Jun 2015 18:38:25 +0000 (11:38 -0700)]
Turn off buffer mapping in Chromium
BUG=chromium:496224
Review URL: https://codereview.chromium.org/
1211363006
mtklein [Fri, 26 Jun 2015 18:10:28 +0000 (11:10 -0700)]
Add extra braces for uintNNxMx4_t initializers.
These structs are always implemented as
struct uintNNxMx4_t {
uintNNxM val[4];
};
So, the first set of braces is for the struct, the second for val.
BUG=skia:
Review URL: https://codereview.chromium.org/
1221453002
djsollen [Fri, 26 Jun 2015 18:03:56 +0000 (11:03 -0700)]
Android scripts now notify gyp that your building with clang
Review URL: https://codereview.chromium.org/
1217443004
mtklein [Fri, 26 Jun 2015 17:46:31 +0000 (10:46 -0700)]
Color dodge and burn with SkPMFloat.
Both 25-35% faster with SSE.
With NEON, Burn measures as a ~10% regression, Dodge a huge 2.9x improvement.
The Burn regression is somewhat artificial: we're drawing random colored rects onto an opaque white dst, so we're heavily biased toward the (d==da) fast path in the serial code. In the vector code there's no short-circuiting and we always pay a fixed cost for ColorBurn regardless of src or dst content.
Dodge's fast paths, in contrast, only trigger when (s==sa) or (d==0), neither of which happens any more than randomly in our benchmark. I don't think (d==0) should happen at all. Similarly, the (s==0) Burn fast path is really only going to happen as often as SkRandom allows.
In practice, the existing Burn benchmark is hitting its fast path 100% of the time. So I actually feel really great that this only dings the benchmark by 10%.
Chrome's still guarded by SK_SUPPORT_LEGACY_XFERMODES, which I'll lift after finishing the last xfermode, SoftLight.
BUG=skia:
Review URL: https://codereview.chromium.org/
1214443002
reed [Fri, 26 Jun 2015 17:23:07 +0000 (10:23 -0700)]
Revert of Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/
1203983003/)
Reason for revert:
fixes have landed in android
Original issue's description:
> Revert of remove SK_SUPPORT_LEGACY_PATHOP_ENUMS (patchset #1 id:1 of https://codereview.chromium.org/
1200323005/)
>
> Reason for revert:
> Breaking the Android build.
>
> Original issue's description:
> > remove SK_SUPPORT_LEGACY_PATHOP_ENUMS
> >
> > BUG=skia:
> > TBR=
> >
> > Committed: https://skia.googlesource.com/skia/+/
8bcc7a00febd737f7e82513bd5e4a697526626de
>
> TBR=reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
ba9a4aa8550c982c480d03cb6ba2cabaf6209b41
TBR=scroggo@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1218523002
egdaniel [Fri, 26 Jun 2015 15:12:46 +0000 (08:12 -0700)]
Fix nanobench to reset gl/gr context after every config run.
BUG=skia:
Review URL: https://codereview.chromium.org/
1214703002
robertphillips [Fri, 26 Jun 2015 15:07:39 +0000 (08:07 -0700)]
Fix SkTileImageFilter clipping/cropRect interaction issue
BUG=499499
Review URL: https://codereview.chromium.org/
1210053003
reed [Fri, 26 Jun 2015 14:26:19 +0000 (07:26 -0700)]
add/fix copyrights
BUG=skia:
TBR=
Review URL: https://codereview.chromium.org/
1212393002
fmalita [Fri, 26 Jun 2015 14:18:24 +0000 (07:18 -0700)]
Revert of Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #1 id:1 of https://codereview.chromium.org/
1212833002/)
Reason for revert:
Manual roll is in: https://codereview.chromium.org/
1212373002
Let's re-land this.
Original issue's description:
> Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/
1180903006/)
>
> Reason for revert:
> speculative revert to try to fix DEPS roll (layouttests)
>
> Original issue's description:
> > added stroking support to GrAALinearizingConvexPathRenderer
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
2436f191e6602953b32a51cf50f2d7a4e2af90fd
>
> TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
9730f4a663534009d216c2f6d834bd534dd44a3d
TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com,reed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1209003004
reed [Fri, 26 Jun 2015 12:06:43 +0000 (05:06 -0700)]
Revert of added stroking support to GrAALinearizingConvexPathRenderer (patchset #6 id:100001 of https://codereview.chromium.org/
1180903006/)
Reason for revert:
speculative revert to try to fix DEPS roll (layouttests)
Original issue's description:
> added stroking support to GrAALinearizingConvexPathRenderer
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
2436f191e6602953b32a51cf50f2d7a4e2af90fd
TBR=bsalomon@google.com,robertphillips@google.com,ethannicholas@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1212833002
reed [Fri, 26 Jun 2015 04:29:25 +0000 (21:29 -0700)]
Revert of Revert of Return GrGLContext from GrTestTarget (patchset #1 id:1 of https://codereview.chromium.org/
1211123004/)
Reason for revert:
un-referting, did not help DEPS roll
Original issue's description:
> Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/
1207393002/)
>
> Reason for revert:
> speculative revert to unblock DEPS roll (layout-tests)
>
> Original issue's description:
> > Return GrGLContext from GrTestTarget
> >
> > BUG=skia:
> >
> > Committed: https://skia.googlesource.com/skia/+/
b6d93ea428ca5d13641c35faca7d0380980a3a17
>
> TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
1852ec2b46a2a0efbb3550ff4d8b640f56a810e9
TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1215593002
cdalton [Fri, 26 Jun 2015 02:17:08 +0000 (19:17 -0700)]
Add samplingTime mode to nanobench
Adds a nanobench mode that takes samples for a fixed amount of time,
rather than taking a fixed amount of samples.
BUG=skia:
Review URL: https://codereview.chromium.org/
1204153002
reed [Fri, 26 Jun 2015 01:59:32 +0000 (18:59 -0700)]
Revert of Return GrGLContext from GrTestTarget (patchset #3 id:40001 of https://codereview.chromium.org/
1207393002/)
Reason for revert:
speculative revert to unblock DEPS roll (layout-tests)
Original issue's description:
> Return GrGLContext from GrTestTarget
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b6d93ea428ca5d13641c35faca7d0380980a3a17
TBR=bsalomon@google.com,joshualitt@google.com,joshualitt@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1211123004
reed [Thu, 25 Jun 2015 23:25:25 +0000 (16:25 -0700)]
implement drawAtlas natively on gpu-device
BUG=skia:
Review URL: https://codereview.chromium.org/
1216433002
joshualitt [Thu, 25 Jun 2015 22:02:22 +0000 (15:02 -0700)]
Return GrGLContext from GrTestTarget
BUG=skia:
Review URL: https://codereview.chromium.org/
1207393002
ethannicholas [Thu, 25 Jun 2015 21:42:34 +0000 (14:42 -0700)]
added stroking support to GrAALinearizingConvexPathRenderer
BUG=skia:
Review URL: https://codereview.chromium.org/
1180903006
reed [Thu, 25 Jun 2015 21:26:11 +0000 (14:26 -0700)]
fix up virtual / override stuff
BUG=skia:
Review URL: https://codereview.chromium.org/
1210283002
reed [Thu, 25 Jun 2015 19:32:03 +0000 (12:32 -0700)]
add drawImageNine
this also exposes nine-patch drawing directly to devices, and creates a shared iterator for unrolling a nine-patch into single rect->rect draws.
BUG=skia:
Review URL: https://codereview.chromium.org/
1211583003
cdalton [Thu, 25 Jun 2015 17:51:56 +0000 (10:51 -0700)]
Add loopSKP flag to nanobench
Adds a loopSKP flag that forces SKPBenches to draw with only 1 loop.
BUG=skia:
Review URL: https://codereview.chromium.org/
1203193002
mtklein [Thu, 25 Jun 2015 17:26:46 +0000 (10:26 -0700)]
What did we learn today? 255 != 256
vcvt_n_f32_u32 and _u32_f32 work in power-of-2 fixed point, so (...,8)
meant 'please multiply or divide by 256'. We need to use 255. :(
BUG=skia:
Review URL: https://codereview.chromium.org/
1204363002
mtklein [Thu, 25 Jun 2015 15:56:28 +0000 (08:56 -0700)]
Convert SkPMFloat to [0,1] range and prune its API.
Now that Sk4px exists, there's a lot less sense in eeking out every
cycle of speed from SkPMFloat: if we need to go _really_ fast, we
should use Sk4px. SkPMFloat's going to be used for things that are
already slow: large-range intermediates, divides, sqrts, etc.
A [0,1] range is easier to work with, and can even be faster if we
eliminate enough *255 and *1/255 steps. This is particularly true
on ARM, where NEON can do the *255 and /255 steps for us while
converting float<->int.
We have lots of experimental SkPMFloat <-> SkPMColor APIs that
I'm now removing. Of the existing APIs, roundClamp() is the sanest,
so I've kept only that, now called round(). The 4-at-a-time APIs
never panned out, so they're gone.
There will be small diffs on:
colormatrix coloremoji colorfilterimagefilter fadefilter imagefilters_xfermodes imagefilterscropexpand imagefiltersgraph tileimagefilter
BUG=skia:
Review URL: https://codereview.chromium.org/
1201343004
fmalita [Thu, 25 Jun 2015 15:42:24 +0000 (08:42 -0700)]
Revert of Cleanup legacy NVPR-related definitions (patchset #3 id:40001 of https://codereview.chromium.org/
1177243004/)
Reason for revert:
Broke the GPU SAN bots: https://build.chromium.org/p/client.skia/builders/Test-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/779/steps/dm/logs/stdio
Original issue's description:
> Cleanup legacy NVPR-related definitions
>
> Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
> version 1.3 (PathFragmentInputGen) was left working. Remove
> backwards-compatibility code that was left behind.
>
> Remove some NVPR API function typedefs that were left from initial
> commits.
>
> Remove PathCoords function pointer from GrGLInterface, it has
> never been called and causes problems in the future, since it will
> not be implemented in the Chromium pseudo extension.
>
> Committed: https://skia.googlesource.com/skia/+/
fb8d6884e0e01d0c2f8596adf5af1efb0d08de7e
TBR=joshualitt@google.com,cdalton@nvidia.com,bsalomon@google.com,kkinnunen@nvidia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1206333003
borenet [Thu, 25 Jun 2015 15:05:19 +0000 (08:05 -0700)]
Fix link error when running `make tools` with skia_shared_lib=1
I'm getting this error, which is fixed by this change:
[75/76] LINK skpdiff
FAILED: c++ -m64 -pie -Wl,-rpath=\$ORIGIN/lib/ -Wl,-rpath-link=lib/ -o skpdiff -Wl,--start-group obj/tools/skpdiff/skpdiff.skpdiff_main.o obj/tools/skpdiff/skpdiff.SkDiffContext.o obj/tools/skpdiff/skpdiff.SkImageDiffer.o obj/tools/skpdiff/skpdiff.SkPMetric.o obj/tools/skpdiff/skpdiff.skpdiff_util.o obj/tools/skpdiff/skpdiff.SkDifferentPixelsMetric_cpu.o obj/gyp/libflags.a obj/gyp/libpicture_utils.a -Wl,--end-group lib/libskia.so -lrt -lz
/usr/bin/ld: obj/tools/skpdiff/skpdiff.SkDiffContext.o: undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
BUG=skia:
Review URL: https://codereview.chromium.org/
1206333002
borenet [Thu, 25 Jun 2015 14:47:40 +0000 (07:47 -0700)]
Add lua scripts for generating n-grams from SKPs
BUG=skia:3840
Review URL: https://codereview.chromium.org/
1204283002
kkinnunen [Thu, 25 Jun 2015 09:06:56 +0000 (02:06 -0700)]
Cleanup legacy NVPR-related definitions
Fixed-function NVPR codepaths were removed a while ago. Only NVPR API
version 1.3 (PathFragmentInputGen) was left working. Remove
backwards-compatibility code that was left behind.
Remove some NVPR API function typedefs that were left from initial
commits.
Remove PathCoords function pointer from GrGLInterface, it has
never been called and causes problems in the future, since it will
not be implemented in the Chromium pseudo extension.
Review URL: https://codereview.chromium.org/
1177243004
mtklein [Wed, 24 Jun 2015 22:18:39 +0000 (15:18 -0700)]
Implement four more xfermodes with Sk4px.
HardLight, Overlay, Darken, and Lighten are all
~2x faster with SSE, ~25% faster with NEON.
This covers all previously-implemented NEON xfermodes.
3 previous SSE xfermodes remain. Those need division
and sqrt, so I'm planning on using SkPMFloat for them.
It'll help the readability and NEON speed if I move that
into [0,1] space first.
The main new concept here is c.thenElse(t,e), which behaves like
(c ? t : e) except, of course, both t and e are evaluated. This allows
us to emulate conditionals with vectors.
This also removes the concept of SkNb. Instead of a standalone bool
vector, each SkNi or SkNf will just return their own types for
comparisons. Turns out to be a lot more manageable this way.
BUG=skia:
Committed: https://skia.googlesource.com/skia/+/
b9d4163bebab0f5639f9c5928bb5fc15f472dddc
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm64-Debug-Android-Trybot
Review URL: https://codereview.chromium.org/
1196713004
mtklein [Wed, 24 Jun 2015 22:14:48 +0000 (15:14 -0700)]
Revert of Switch SkJpegCode to libjpeg-turbo (patchset #11 id:540001 of https://codereview.chromium.org/
1180983002/)
Reason for revert:
https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-MipsDSP2-Debug-Android/builds/1136/steps/build%20most/logs/stdio
Original issue's description:
> Add libjpeg-turbo library (depends on yasm)
> Mangle external function names to avoid conflict with libjpeg
> Take advantage of direct color conversion (RGBA, BGRA, 565)
> Prepare to use jpeg_skip_scanlines (when it is upstreamed)
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b60c3f8291529303299262dba19b1a896060bd2d
TBR=scroggo@google.com,djsollen@google.com,emmaleer@google.com,msarett@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1199253006
msarett [Wed, 24 Jun 2015 22:10:25 +0000 (15:10 -0700)]
Add libjpeg-turbo library (depends on yasm)
Mangle external function names to avoid conflict with libjpeg
Take advantage of direct color conversion (RGBA, BGRA, 565)
Prepare to use jpeg_skip_scanlines (when it is upstreamed)
BUG=skia:
Review URL: https://codereview.chromium.org/
1180983002
bsalomon [Wed, 24 Jun 2015 22:04:13 +0000 (15:04 -0700)]
Revert of remove workaround for dx9 angle slow rgba pixel ops (patchset #1 id:1 of https://codereview.chromium.org/
1207003002/)
Reason for revert:
users are still on dx9 angle :(
Original issue's description:
> remove workaround for dx9 angle slow rgba pixel ops
>
> TBR=robertphillips@google.com
>
> Committed: https://skia.googlesource.com/skia/+/
1e1adc33ba1acb9a2ad41c0a5a9b6166ee9d7a2a
TBR=robertphillips@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1205183002
mtklein [Wed, 24 Jun 2015 21:52:24 +0000 (14:52 -0700)]
Add a 64-bit ARM builder to the CQ.
It's possible this rarely breaks, but I do write ARMv8 code frequently
enough that it'll help prevent broken trees.
BUG=skia:
Review URL: https://codereview.chromium.org/
1209763003
mtklein [Wed, 24 Jun 2015 21:30:43 +0000 (14:30 -0700)]
Revert of Implement four more xfermodes with Sk4px. (patchset #16 id:290001 of https://codereview.chromium.org/
1196713004/)
Reason for revert:
64-bit ARM build failures.
Original issue's description:
> Implement four more xfermodes with Sk4px.
>
> HardLight, Overlay, Darken, and Lighten are all
> ~2x faster with SSE, ~25% faster with NEON.
>
> This covers all previously-implemented NEON xfermodes.
> 3 previous SSE xfermodes remain. Those need division
> and sqrt, so I'm planning on using SkPMFloat for them.
> It'll help the readability and NEON speed if I move that
> into [0,1] space first.
>
> The main new concept here is c.thenElse(t,e), which behaves like
> (c ? t : e) except, of course, both t and e are evaluated. This allows
> us to emulate conditionals with vectors.
>
> This also removes the concept of SkNb. Instead of a standalone bool
> vector, each SkNi or SkNf will just return their own types for
> comparisons. Turns out to be a lot more manageable this way.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/
b9d4163bebab0f5639f9c5928bb5fc15f472dddc
TBR=reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/
1205703008
mtklein [Wed, 24 Jun 2015 21:27:35 +0000 (14:27 -0700)]
Implement four more xfermodes with Sk4px.
HardLight, Overlay, Darken, and Lighten are all
~2x faster with SSE, ~25% faster with NEON.
This covers all previously-implemented NEON xfermodes.
3 previous SSE xfermodes remain. Those need division
and sqrt, so I'm planning on using SkPMFloat for them.
It'll help the readability and NEON speed if I move that
into [0,1] space first.
The main new concept here is c.thenElse(t,e), which behaves like
(c ? t : e) except, of course, both t and e are evaluated. This allows
us to emulate conditionals with vectors.
This also removes the concept of SkNb. Instead of a standalone bool
vector, each SkNi or SkNf will just return their own types for
comparisons. Turns out to be a lot more manageable this way.
BUG=skia:
Review URL: https://codereview.chromium.org/
1196713004
bsalomon [Wed, 24 Jun 2015 20:22:50 +0000 (13:22 -0700)]
remove workaround for dx9 angle slow rgba pixel ops
TBR=robertphillips@google.com
Review URL: https://codereview.chromium.org/
1207003002
bungeman [Wed, 24 Jun 2015 20:08:51 +0000 (13:08 -0700)]
Clarify iOS flush-to-zero status.
Modern processors support flush-to-zero and denormalized-are-zero
for floating point operations (with ARM NEON unable to disable them).
However, iOS on ARM is the only current system which defaults
processes to using both all the time. However, this is only iOS on
ARM, iOS on x86 (the simulator) does not. Correctly defining this
allows the math tests to run error free in the simulator.
Review URL: https://codereview.chromium.org/
1203533003
herb [Wed, 24 Jun 2015 20:06:21 +0000 (13:06 -0700)]
Cleanup: Comment and ordering changes.
This should be a whitespace only change.
BUG=skia:
Review URL: https://codereview.chromium.org/
1194423004
jvanverth [Wed, 24 Jun 2015 18:07:07 +0000 (11:07 -0700)]
Add default for GrGLSLCaps::fGLSLGeneration
Review URL: https://codereview.chromium.org/
1203153002
reed [Wed, 24 Jun 2015 17:29:17 +0000 (10:29 -0700)]
add SkCanvas::drawAtlas
BUG=skia:
Review URL: https://codereview.chromium.org/
1181913003
robertphillips [Wed, 24 Jun 2015 17:09:57 +0000 (10:09 -0700)]
Fix debugger compilation
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/
1205933002