Commit Graph

18088 Commits

Author SHA1 Message Date
msarett
40141b57f0 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

Review URL: https://codereview.chromium.org/1180983002
2015-07-01 14:41:02 -07:00
mtklein
c50acf2321 Remove SkThread.h, include SkMutex.h or SkAtomics.h as appropriate.
SkThread.h doesn't do anything anymore execept include those two,
and thankfully, it doesn't seem to be mentioned outside Skia.

No public API changes.
TBR=reed@google.com

BUG=skia:

Review URL: https://codereview.chromium.org/1215393002
2015-07-01 14:00:57 -07:00
mtklein
64b4c789fd Add support for drawBitmapRect() to SkMiniRecorder.
BUG=chromium:503705

Review URL: https://codereview.chromium.org/1220733006
2015-07-01 13:56:53 -07:00
Mike Klein
478c9e4851 Revert "Move headers used by headers in include/ to include/private."
This reverts commit 928e16565f.

BUG=skia:

Review URL: https://codereview.chromium.org/1213093004.
2015-07-01 16:35:59 -04:00
msarett
aa2a7de0ff 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
2015-07-01 13:11:08 -07:00
mtklein
a760942b35 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?
8c8834acff

BUG=skia:

Review URL: https://codereview.chromium.org/1213063011
2015-07-01 13:06:49 -07:00
joshualitt
74a07db2df cleanup GLBenches
BUG=skia:

Review URL: https://codereview.chromium.org/1214203004
2015-07-01 12:39:07 -07:00
msarett
e9e3ee33f3 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
2015-07-01 12:36:18 -07:00
mtklein
928e16565f 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
2015-07-01 11:55:42 -07:00
bsalomon
ebaf6a69bf 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
2015-07-01 11:02:50 -07:00
jvanverth
4417c7f8bb Revert "Move headers used by headers in include/ to include/private."
This reverts commit a89f55198b.

Reason: breaking the roll.

TBR=mtklein@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1216033008
2015-07-01 09:45:46 -07:00
mtklein
a89f55198b 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
2015-07-01 08:41:15 -07:00
joshualitt
bd929d9570 fix for angle
BUG=skia:

Review URL: https://codereview.chromium.org/1216963011
2015-07-01 08:34:50 -07:00
mtklein
d711d115d2 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
2015-07-01 07:04:37 -07:00
msarett
c0e80c139e 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
2015-07-01 06:50:35 -07:00
joshualitt
f06c389f0f Benchmark to test cost for additional vertex attributes
BUG=skia:

Review URL: https://codereview.chromium.org/1213233011
2015-07-01 06:20:13 -07:00
kkinnunen
8b2b3807e6 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
2015-07-01 04:31:29 -07:00
kkinnunen
cfe62e3084 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
2015-07-01 02:58:50 -07:00
herb
19fb80ed14 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
2015-06-30 14:23:29 -07:00
herb
dec1afcf34 Add annotations to SkSharedMutex.
BUG=skia:3997

Review URL: https://codereview.chromium.org/1213663004
2015-06-30 14:12:16 -07:00
vmpstr
a8d4559fd6 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
2015-06-30 13:36:04 -07:00
msarett
7f6283bdf8 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
2015-06-30 13:29:37 -07:00
bsalomon
d3e259a16c Add SkSurface factory for wrapping an FBO in SkSurface
Review URL: https://codereview.chromium.org/1221853003
2015-06-30 12:04:40 -07:00
bsalomon
c49e8682ab Rename flushForExternalRead->flushForExternalIO and always call in SkSurface::getTextureHandle
Review URL: https://codereview.chromium.org/1216243003
2015-06-30 11:37:35 -07:00
mtklein
37cc0b2e31 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
2015-06-30 10:51:50 -07:00
borenet
3691e669ae 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
2015-06-30 10:24:03 -07:00
mtklein
c845fa0788 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
2015-06-30 09:49:49 -07:00
jvanverth
439f23e563 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
2015-06-30 09:40:38 -07:00
bsalomon
73bb435a58 Remove default for --images in common flags
Review URL: https://codereview.chromium.org/1214363002
2015-06-30 09:38:35 -07:00
rmistry
16857e46bb Use AddStory instead of deprecated AddUserStory
BUG=skia:3967
TBR=nednguyen
NOTRY=true

Review URL: https://codereview.chromium.org/1212843008
2015-06-30 09:20:17 -07:00
bsalomon
ffe6ebb8a8 Fix blur bug on Andreno 430 with bool cast to float
BUG=skia:3944

Review URL: https://codereview.chromium.org/1214483007
2015-06-30 09:19:15 -07:00
rmistry
8f74c160c3 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
2015-06-30 08:22:25 -07:00
joshualitt
962cc98eb4 Add benchmarkstream to visualbench
BUG=skia:

Review URL: https://codereview.chromium.org/1215033002
2015-06-30 07:43:14 -07:00
bsalomon
2757e3f09d Update blur image filter bench to have crop variation
BUG=skia:3944

Review URL: https://codereview.chromium.org/1212973004
2015-06-30 07:42:42 -07:00
sammc
98fc73c7a9 Change initializer list order to match field declaration order.
BUG=chromium:505304

Review URL: https://codereview.chromium.org/1214933004
2015-06-30 07:09:49 -07:00
joshualitt
91b6f32e07 Move visualbench to its own folder
BUG=skia:

Review URL: https://codereview.chromium.org/1216973002
2015-06-30 06:50:10 -07:00
rmistry
7b971f0152 Use page_set_module.PageSet instead of story.StorySet
BUG=skia:3967
NOTRY=true
TBR=nednguyen

Review URL: https://codereview.chromium.org/1221553003
2015-06-30 05:03:05 -07:00
kkinnunen
e35b5d99d8 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
2015-06-30 03:59:50 -07:00
rmistry
dd3b12e270 Migrate PageSets to StorySets in buildbot page sets
BUG=skia:3967
NOTRY=true
TBR=

Review URL: https://codereview.chromium.org/1203433002
2015-06-30 03:54:07 -07:00
kkinnunen
7aedda57f8 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
2015-06-29 23:01:28 -07:00
cdalton
e04edd8c86 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
2015-06-29 14:15:19 -07:00
bungeman
3fdde4e129 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
2015-06-29 14:12:41 -07:00
reed
09b2c932d8 augment surface tests to check legacy genID
BUG=skia:

Review URL: https://codereview.chromium.org/1219793002
2015-06-29 14:09:41 -07:00
cdalton
63a82855b1 Make nanobench zoom animation time based
BUG=skia:

Review URL: https://codereview.chromium.org/1211253003
2015-06-29 14:06:10 -07:00
herb
c782b2a046 Implement shared locks in the style of pthread's rwlock.
BUG=skia:

Review URL: https://codereview.chromium.org/1215503005
2015-06-29 13:46:55 -07:00
borenet
8cd8f9429a Add script for triggering Cluster Telemetry jobs using local scripts
BUG=skia:3979

Review URL: https://codereview.chromium.org/1214843002
2015-06-29 12:54:25 -07:00
mtklein
823b2a76e2 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
2015-06-29 12:16:26 -07:00
mtklein
b743c6679a 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
2015-06-29 12:04:10 -07:00
caryclark
218f21ac09 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
2015-06-29 11:41:52 -07:00
msarett
f657b1093e 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
2015-06-29 10:30:59 -07:00