Commit Graph

20630 Commits

Author SHA1 Message Date
mtklein
3f20f511dc update CQ with new bot names
NOTRY=true
NOTREECHECKS=true

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1675643002

Review URL: https://codereview.chromium.org/1675643002
2016-02-05 06:10:38 -08:00
jcgregorio
e7d7f90b59 Revert of skia: Add support for CHROMIUM_image backed textures. (patchset #14 id:260001 of https://codereview.chromium.org/1623653002/ )
Reason for revert:
Seems to causing the DEPS roll to fail:

   https://codereview.chromium.org/1668293002/

Original issue's description:
> skia: Add support for CHROMIUM_image backed textures.
>
> I created a new abstract base class TextureStorageAllocator that consumers of
> Skia can subclass and pass back to Skia. When a surface is created with a
> pointer to a TextureStorageAllocator, any textures it creates, or that are
> derived from the original surface, will allocate and deallocate storage using
> the methods on TextureStorageAllocator.
>
> BUG=https://code.google.com/p/chromium/issues/detail?id=579664
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002
>
> Committed: https://skia.googlesource.com/skia/+/92098e691f10a010e7421125ba4d44c02506bb55

TBR=bsalomon@chromium.org,cblume@chromium.org,bsalomon@google.com,robertphillips@google.com,egdaniel@google.com,reed@google.com,erikchen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=https://code.google.com/p/chromium/issues/detail?id=579664

Review URL: https://codereview.chromium.org/1669213002
2016-02-04 19:51:25 -08:00
msarett
a87d6de6a5 Set sRGB flag for PNGs with an sRGB chunk
BUG=skia:3471
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667823004

Review URL: https://codereview.chromium.org/1667823004
2016-02-04 15:37:58 -08:00
robertphillips
16aad78602 Fix memory leak in SkSpecialSurface
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666373002

TBR=jcgregorio@google.com
NOTRY=true

Review URL: https://codereview.chromium.org/1666373002
2016-02-04 14:59:58 -08:00
fmalita
3a94c6c62c Add SkAutoPixmapStorage::detachPixelsAsData()
Allows passing pixels ownership to clients.

BUG=skia:4896
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662353002

Review URL: https://codereview.chromium.org/1662353002
2016-02-04 13:09:59 -08:00
erikchen
92098e691f skia: Add support for CHROMIUM_image backed textures.
I created a new abstract base class TextureStorageAllocator that consumers of
Skia can subclass and pass back to Skia. When a surface is created with a
pointer to a TextureStorageAllocator, any textures it creates, or that are
derived from the original surface, will allocate and deallocate storage using
the methods on TextureStorageAllocator.

BUG=https://code.google.com/p/chromium/issues/detail?id=579664
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1623653002

Review URL: https://codereview.chromium.org/1623653002
2016-02-04 12:03:08 -08:00
reed
f7cdb06d62 extend compose-colorfilter to 4f
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664663003

Review URL: https://codereview.chromium.org/1664663003
2016-02-04 11:35:27 -08:00
caryclark
eb10ed4090 speculatively comment out chrome mac perf test crasher
The Chrome Mac perf buildbot is mysteriously crashing.
Maybe it's related to this line of code.

Try taking it out to see if the crash goes away.

R=bsalomon@google.com
BUG=580313
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663673006

Review URL: https://codereview.chromium.org/1663673006
2016-02-04 11:35:06 -08:00
ethannicholas
299200c24b Fixed references to MakeMatrix function
TBR=joshualitt@chromium.org
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666213002

Review URL: https://codereview.chromium.org/1666213002
2016-02-04 11:19:40 -08:00
robertphillips
b6c65e9995 Add SkSpecialImage & SkSpecialSurface classes
Initial classes.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1579323002

Review URL: https://codereview.chromium.org/1579323002
2016-02-04 10:52:42 -08:00
ethannicholas
7471c780d4 JSON API cleanups
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664263002

Review URL: https://codereview.chromium.org/1664263002
2016-02-04 10:37:50 -08:00
djsollen
6b48984333 Don't print dialog box prior to crashing.
This returns us to our previous behavior when we used 0xbbadbeef
to cause the process to terminate.

BUG=skia:4893
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667113002

Review URL: https://codereview.chromium.org/1667113002
2016-02-04 08:59:35 -08:00
ethannicholas
0bd103497a Improved support for images/bitmaps in SkJSONCanvas
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662063003

Review URL: https://codereview.chromium.org/1662063003
2016-02-04 06:45:25 -08:00
scroggo
7b5e5536a1 Add SkAndroidCodec::getPixels
This is a synonym for the version of getAndroidPixels that accepts
only three parameters (i.e. no AndroidOptions). It is very similar
to SkCodec::getPixels, so I think the motivation for naming the
version with options differently does not apply here.

Add comments to the header describing defaults.

Update the test to use a template, and delete a lot of redundant code.

Rename a variable to stop shadowing another variable.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1647153002

Review URL: https://codereview.chromium.org/1647153002
2016-02-04 06:14:24 -08:00
robertphillips
bf536af15f Next round of GrGLSLFragmentProcessor-derived class cleanup
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661143003

Review URL: https://codereview.chromium.org/1661143003
2016-02-04 06:11:53 -08:00
joshualitt
29e5a8932d Modify skia serve to return clip rect and view matrix
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662003002

Review URL: https://codereview.chromium.org/1662003002
2016-02-04 06:08:33 -08:00
reed
a3d99a515b don't get dismayed by negative scales for HQ
needs https://codereview.chromium.org/1663793003/ to land first

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1668033002

Review URL: https://codereview.chromium.org/1668033002
2016-02-03 19:07:54 -08:00
reed
50b98b424c add note about security and new subclasses
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1667663004

Review URL: https://codereview.chromium.org/1667663004
2016-02-03 16:31:36 -08:00
benjaminwagner
ff172dab92 Revert of Work around exasperating Google3 Android build error. (patchset #1 id:1 of https://codereview.chromium.org/1649493005/ )
Reason for revert:
This workaround no longer seems to be necessary.

Original issue's description:
> Work around exasperating Google3 Android build error.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1649493005
>
> Committed: https://skia.googlesource.com/skia/+/900901fb1ba5170549670829fc8f9d9b590ff5f0

TBR=mtklein@google.com,reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:

Review URL: https://codereview.chromium.org/1669663003
2016-02-03 16:29:25 -08:00
msarett
e1daa48b9a Fix Unpremul Index8 tests
TBR=scroggo@google.com

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663323002

Review URL: https://codereview.chromium.org/1663323002
2016-02-03 15:31:18 -08:00
msarett
095742419d SSE optimizations for GrayAlpha -> RGBA/BGRA Premul/Unpremul
Swizzle Runtime (Dell Venue 8)
Unpremul 0.17x
Premul   0.20x

PNG Decode Runtime on GrayAlpha Encoded PNGs (Dell Venue 8)
Unpremul Regular  0.91x
Unpremul ZeroInit 0.92x
Premul   Regular  0.84x
Premul   ZeroInit 0.85x

BUG=skia:4767
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666853002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1666853002
2016-02-03 15:28:35 -08:00
Brian Salomon
de3a726ad3 Make SkImage::readYUV8Planes const
TBR=reed@google.com

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660393003
BUG=skia:

Review URL: https://codereview.chromium.org/1660393003 .
2016-02-03 17:09:00 -05:00
cdalton
e3fafcf7d1 Increase max vertex attrib count in GrPrimitiveProcessor
Increases the max vertex attrib count in GrPrimitiveProcessor from 6 to
8. This is the required minimum by ES 2.0 for GL_MAX_VERTEX_ATTRIBS.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663513004

Review URL: https://codereview.chromium.org/1663513004
2016-02-03 14:02:50 -08:00
halcanary
72002f28d5 SkMojo: generate on Darwin/x86_64
also clean up generate and skmojo.gyp to work right.

BUG=skia:4891
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1660043004

Review URL: https://codereview.chromium.org/1660043004
2016-02-03 13:54:03 -08:00
cdalton
e62cbdffcf Fix assert accessing pipeline from initBatchTracker
Marks fPipelineInstalled as true before calling initBatchTracker. The
batch subclass ought to be able to access the newly constructed
pipeline object during its init.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666813002

Review URL: https://codereview.chromium.org/1666813002
2016-02-03 13:29:19 -08:00
msarett
ebf440816b Fix bugs in SkBmpCodec
The decode should not depend on the requested alpha type.

These were exposed by:
https://codereview.chromium.org/1641273003

This should cause the number of untriaged images in Gold
to go to zero.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663303002

Review URL: https://codereview.chromium.org/1663303002
2016-02-03 13:12:38 -08:00
bungeman
1aeac30809 Revert "Factor out xcode c/cpp settings into variables to apply to cmake builds."
This reverts commit 32235eac4b.
This change should no longer be necessary now that gyp has been updated.

Review URL: https://codereview.chromium.org/1664923002
2016-02-03 13:06:28 -08:00
msarett
9e9444cad8 Test unpremul decodes
This is a workaround until SkCanvas supports drawing kUnpremul sources.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661913005

Review URL: https://codereview.chromium.org/1661913005
2016-02-03 12:39:11 -08:00
robertphillips
9cdb9920fc Clean up GrGLSLFragmentProcessor-derived classes
In some other patches it was observed that many of the GrGLSLFragmentProcessor-derived classes needlessly pass a parameter to their constructors.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666773002

Review URL: https://codereview.chromium.org/1666773002
2016-02-03 12:25:40 -08:00
benjaminwagner
d32d19a229 Reduce stack usage for Google3.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663013004

Review URL: https://codereview.chromium.org/1663013004
2016-02-03 12:20:19 -08:00
scroggo
8673714d75 Treat bad values passed to --images as a fatal error
If an option is passed to --images that is either a non-existent path or
a folder with no images matching the supported types, assume this is
an error and exit, so they can supply a valid path instead.

Share code between DM and nanobench in SkCommonFlags.

nanobench now behaves more like DM - it will check a directory for
images that match the supported extensions.

GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611323004

Review URL: https://codereview.chromium.org/1611323004
2016-02-03 12:19:11 -08:00
halcanary
7a76f9c8f4 SkMojo: test linking Skia against the Mojo SDK
TODO: build on systems other than Linux.

Add mojo_skd to the DEPS.

Add a DM::Via called `mojo-`.

everything is hidden behind the gyp variable `skia_mojo`.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644043003

Review URL: https://codereview.chromium.org/1644043003
2016-02-03 11:53:19 -08:00
bungeman
84de5c86f9 Roll third_party/externals/gyp 08429da795..87ac4d0e63fc (63 commits).
08429da795..87ac4d0e63

This is primarily to pick up changes to the CMake generator for Mac.

Review URL: https://codereview.chromium.org/1669503003
2016-02-03 11:25:26 -08:00
mtklein
136baaa927 DM: add uninteresting hashes FYI
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663223002

Review URL: https://codereview.chromium.org/1663223002
2016-02-03 11:21:45 -08:00
msarett
1e06079b25 NEON optimizations for GrayAlpha -> RGBA/BGRA Premul/Unpremul
PNG Decode Time Nexus 6P (for a test set of GrayAlpha encoded PNGs)
Regular   Unpremul 0.91x
Zero Init Unpremul 0.92x
Regular   Premul   0.84x
Zero Init Premul   0.86x

BUG=skia:4767
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663623002
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1663623002
2016-02-03 11:17:44 -08:00
robertphillips
ffad53aa75 Add an avoidXfermode GM to exercise coverage
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663133003

Review URL: https://codereview.chromium.org/1663133003
2016-02-03 10:46:01 -08:00
msarett
93e613d6bd Handle gray alpha conversions in SkSwizzler
Nothing fancy here.  By doing the entire conversion ourselves, we
only need to make one conversion pass over each row.  Additionally,
we optimize the premultiply since we know each color component of
the pixel is identical.

This will also enable us to follow up with platform specific
optimizations.

PNG Decode Time Nexus 6P (for a test set of GrayAlpha encoded PNGs)
Regular   Unpremul 0.95x
Zero Init Unpremul 0.94x
Regular   Premul   0.91x
Zero Init Premul   0.90x

BUG=skia:4767
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665583002

Review URL: https://codereview.chromium.org/1665583002
2016-02-03 10:44:46 -08:00
mtklein
65dfd2fe5d Add --benchType and --sourceType to nanobench.
To run only codec benches:
   $ out/Release/nanobench --images <> --benchType skcodec

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666743002

Review URL: https://codereview.chromium.org/1666743002
2016-02-03 10:40:55 -08:00
fmalita
be5cfa9a9e Rename SkBitmapProcStateAutoMapper methods
x(),y() -> fractionalIntX(), fractionalIntY()

(to clarify the return type)

Also add fixed & int helpers.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1666433003
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1666433003
2016-02-03 10:21:33 -08:00
reed
513d307263 use left-shift macro to fix/avoid undefined behvarior warnings
motivated by https://codereview.chromium.org/1657333002/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1661873003

Review URL: https://codereview.chromium.org/1661873003
2016-02-03 10:16:08 -08:00
reed
6dfc754360 optimize src mode (opaque src in srcover) singleton with aa (e.g. a8 text mask)
Before:
   8/8   MB	1	9.09ms	10.8ms	10.3ms	11.5ms	9%	█▆▆▁▁▁▂▅█▆	nonrendering	xfer4f_srcover_aa_1_opaque_linear
   8/8   MB	1	10.2ms	12.1ms	11.7ms	13.2ms	9%	▅▇▁▂▁▄█▆▅▆	nonrendering	xfer4f_srcover_aa_1_opaque_srgb

After:
   8/8   MB	1	1.6ms	1.68ms	1.73ms	2.17ms	10%	▄▄█▁▃▁▁▂▁▁	nonrendering	xfer4f_srcover_aa_1_opaque_linear
   8/8   MB	1	3.13ms	3.62ms	3.97ms	5.81ms	21%	█▃▁▂▆▂▂▂▃▂	nonrendering	xfer4f_srcover_aa_1_opaque_srgb

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1664713003

Review URL: https://codereview.chromium.org/1664713003
2016-02-03 10:09:23 -08:00
egdaniel
2829bb7b9e Make helper function on GrGLSLProgramDataManager non virtual
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663833002

Review URL: https://codereview.chromium.org/1663833002
2016-02-03 09:52:51 -08:00
msarett
2db45e9de6 Disable RAW decodes on Windows
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1662643003

Review URL: https://codereview.chromium.org/1662643003
2016-02-03 09:47:56 -08:00
reed
ef5252e48f extend gm to test aa[] parameter on xfer4f procs
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663643002

Review URL: https://codereview.chromium.org/1663643002
2016-02-03 09:47:46 -08:00
robertphillips
afb188de27 Add gpu implementation of SkAvoidXfermode
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658623002

TBR=bsalomon@google.com

Committed: https://skia.googlesource.com/skia/+/15691a055db9b68c9b48f589e48d8a85888cf83f

Review URL: https://codereview.chromium.org/1658623002
2016-02-03 09:42:49 -08:00
scroggo
c5560bef14 Support decoding opaque to *premul
If a client requests unpremul or premul from an opaque SkCodec,
support it. The opaque image can be treated as any of them, though
it will be less efficient to draw than if the client had used
opaque.

Change the filling code (i.e. for incomplete images) to base its color on
the source alpha type. Prior to adding the support to decode opaque to
any, it was fine to use either source or dest (which would have yielded
the same result). If the client requests non-opaque, we do not want this
to switch the fill value from black to transparent. This also allows
simplifying the signatures for getFillValue and onGetFillValue.

In CodexTest, expect the same result when decoding opaque to *premul,
and compare to the opaque version.

BUG=skia:4616
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641273003

Review URL: https://codereview.chromium.org/1641273003
2016-02-03 09:42:42 -08:00
mtklein
8ca88e41aa Hack together MSAN build.
- Build our own: freetype.
  - Avoid using: fontconfig, expat, GPU drivers.
  - Lie about safety: libjpeg (only from src/images... need to in src/codec?)

To run:
  $ tools/xsan_build memory dm
  $ out/Debug/dm -v --match ~Codec ~BlurLargeImage ~FontMgrAndroidParser

Notes:
  - Codec triggers issues in piex.
  - BlurLargeImage probably has bugs in the GM only.
  - FontMgrAndroidParser uses expat.

BUG=skia:4550
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1665823002

NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1665823002
2016-02-03 09:21:44 -08:00
jcgregorio
bd9dabdb3c Revert of Test CodecImageGenerator on GPU bots (patchset #1 id:1 of https://codereview.chromium.org/1663453002/ )
Reason for revert:
Failures:
D/skia    ( 3581): 	gpu image gen frame_larger_than_image.gif: Could not create a surface.
D/skia    ( 3581): 	gpu image gen offsets_too_large.gif: Could not create a surface.
D/skia    ( 3581): 	gpu image gen PANO_20121023_214540.jpg: Could not create a surface.
D/skia    ( 3581): 	gpu image gen interlaced1.png: Could not create a surface.
D/skia    ( 3581): 	gpu image gen interlaced2.png: Could not create a surface.
D/skia    ( 3581): 	gpu image gen interlaced3.png: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Canon_5D2.dng: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Fuji_X20.dng: Could not create a surface.
D/skia    ( 3581): 	gpu image gen HTC.dng: Could not create a surface.
D/skia    ( 3581): 	gpu image gen lg_g4_iso_800.dng: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Canon_G7X.CR2: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Pentax_K5.DNG: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Nikon_1AW1.NEF: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Nikon_1J4.NEF: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Nikon_P330.NRW: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Olympus_E-PL3.ORF: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Olympus_PL7.ORF: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Pentax_K5.PEF: Could not create a surface.
D/skia    ( 3581): 	gpu image gen Samsung_NX3000.SRW: Could not create a surface.

Original issue's description:
> Test CodecImageGenerator on GPU bots
>
> In crrev.com/1549473003, CodecImageGenerator implemented getYUV8Planes,
> so that we can test on a GPU bot. Update the arguments to DM so that
> we run CodecImageGenerator on GPU bots.
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1663453002
>
> Committed: https://skia.googlesource.com/skia/+/c9715406c4c9c995e5661a4ea2188fb8643845c0

TBR=msarett@google.com,scroggo@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1663143002
2016-02-03 08:31:07 -08:00
mtklein
1059b1fc9f Add SkMSAN.h
This lets us tag up pieces of code as requiring initialized inputs.

Almost all code requires initialized inputs, of course.  This is for
code that works correctly with uninitialized data but triggers false
positive warnings in MSAN.  E.g., imagine MSAN's found use of uninitialized
data in this max function:

  static uint8_t max(uint8_t x, uint8_t y) { return x > y ? x : y; }

There's no bug in here... if there's uninitialized data being branched upon
here for the first time, it's sure not max's fault, it's its caller's fault.

So we might do this:
  static uint8_t max(uint8_t x, uint8_t y) {
      // This function uses branching, so if MSAN finds a problem here,
      // we can assert x and y are initialized.  This will remind us the
      // problem somewhere in the caller or above, not here.
      sk_msan_assert_initialized(&x, &x+1);
      sk_masn_assert_initialized(&y, &y+1);
      return x > y ? x : y;
  }

By allowing code to assert its inputs must be initialized,
we can make the blame for use of uninitialized data more clear.

(Sometimes we have another option, to rewrite the code to avoid branching:
  static uint8_t max(uint8_t x, uint8_t y) {
      // This function is branchfree, so MSAN won't complain here.
      // No real need to assert anything as requiring initialization.
      int diff = x - y;
      int negative = diff >> (sizeof(int)*8 - 1);
      return (y & negative) | (x & ~negative);
  }
These approaches to fixing MSAN false positives are orthogonal.)

BUG=chromium:574114
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1658913005
CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

Review URL: https://codereview.chromium.org/1658913005
2016-02-03 07:25:02 -08:00
kulshin
69d1603266 Add option to specify a font collection when creating a
DirectWrite font manager.

The corresponding Chromium change can be found at
https://codereview.chromium.org/1591883002/ .

TBR=reed
This is a trivial and long planned addition to the API.

Review URL: https://codereview.chromium.org/1607083003
2016-02-03 07:22:52 -08:00