Commit Graph

28780 Commits

Author SHA1 Message Date
Ethan Nicholas
b4dc419f0b Re-land "Fixed an issue with sksl variable declarations"
This reverts commit affa6a3da8.

Bug: skia:
Change-Id: I5864830e31acbf786f3ea7ae91f42f10aae6d855
Reviewed-on: https://skia-review.googlesource.com/18459
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-02 15:11:19 +00:00
Stan Iliev
7e910df7f1 Implement an SkImage backed by a Android hardware buffer
Create a new SkImage public API to make an image from an Android
hardware buffer. Implementation is using a SkImageGenerator
derived class GrAndroidBufferImageGenerator.
A new EGLImage texture is created, which is then wrapped with
GrTextureProxy.

Bug: skia:
Change-Id: I610a4c5a58198686ce7c03e9a0adad3f9d2342e0
Reviewed-on: https://skia-review.googlesource.com/17789
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stan Iliev <stani@google.com>
2017-06-02 14:51:24 +00:00
Ethan Nicholas
affa6a3da8 Revert "Fixed an issue with sksl variable declarations"
This reverts commit 88bd8edcff.

Reason for revert: unhappy bots

Original change's description:
> Fixed an issue with sksl variable declarations
> 
> There was an issue where multiple variables defined in the same
> declaration were not being sequenced appropriately during analysis, so
> 'int x = 0, y = x + 1' would report that x was undefined.
> 
> Bug: skia:
> Change-Id: I882f7e216467306f6a6013a0a34aac30a4c60744
> Reviewed-on: https://skia-review.googlesource.com/18313
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
> 

TBR=csmartdalton@google.com,ethannicholas@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Change-Id: Ibc68674289dce70b6173a347a0e78bb0f1e6db1b
Reviewed-on: https://skia-review.googlesource.com/18457
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2017-06-02 13:57:39 +00:00
Mike Klein
370c2b304a minor refactor to SkRasterPipeline::BuildPipeline
I don't see any reason to have it be static...

Change-Id: I0fdc9c0629e2194c469f7c9c696d1bb55ffbc98a
Reviewed-on: https://skia-review.googlesource.com/18455
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-02 13:47:44 +00:00
Ethan Nicholas
88bd8edcff Fixed an issue with sksl variable declarations
There was an issue where multiple variables defined in the same
declaration were not being sequenced appropriately during analysis, so
'int x = 0, y = x + 1' would report that x was undefined.

Bug: skia:
Change-Id: I882f7e216467306f6a6013a0a34aac30a4c60744
Reviewed-on: https://skia-review.googlesource.com/18313
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-02 13:23:36 +00:00
Leon Scroggins III
ec4400bfe3 Avoid new for small arrays in SkBmpCodec
Use a buffer on the stack to avoid the cost of new/delete.

Change-Id: I5c9208ec283e8345c34553343925097926274978
Reviewed-on: https://skia-review.googlesource.com/18402
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-06-02 13:14:57 +00:00
Brian Osman
48c9919335 Expand texturability testing to cover mip-mapped textures, and fix iOS
Don't allow creation of mip-mapped textures when caps says we don't
support mip-mapping.

Skip testing of mip-mapped resources in the resource size test,
when creation will fail.

For iOS devices with ES2, the APPLE BGRA8888 extension is more
trouble than it's worth. Even though it lets the internal and
external formats not match, it appears that the driver remembers
the first external format, so subsequent attempts to upload with
the other swizzle will fail. Up until now, creation of these
textures was failing anyway, so now just make it more explicit
that we don't support BGRA in this situation.

Now that we're testing our TexStorage path, fix a few other problems
that showed  up:
- Command Buffer doesn't like extension formats.
- X86 PowerVR and Adreno devices don't like BGRA.

Re-land of   : https://skia-review.googlesource.com/18382
Re-re-land of: https://skia-review.googlesource.com/18261

BUG=skia:

Change-Id: Ie12793549a6807300d6ece68cd6b92495e85c3fe
Reviewed-on: https://skia-review.googlesource.com/18403
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-02 13:12:17 +00:00
recipe-roller
fcc8adc5e4 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/96fa295ab453feee177e3b6cf0992d576cf87af5 Revert "[.bat] Remove "depot_tools" override." (dnj@chromium.org)
  https://crrev.com/74809c1b318e7ae7cd472990728e76c8b5816f4c [.bat] Remove "depot_tools" override. (#2) (dnj@chromium.org)
  https://crrev.com/bbda9719b05612b3de5394ca7a2c9813749d3236 [gclient] Let --revision take repository URLs in addition to local paths. (dtu@chromium.org)
  https://crrev.com/74d7e13315bf0e31c065b9940d330f6f583f5f6b [auto_update] Add control script, allow disable. (dnj@chromium.org)
recipe_engine:
  https://crrev.com/09efd6f1bfd7040872c894fa6f70294a9575036a Remove all mentions of example.py (iannucci@chromium.org)
  https://crrev.com/e7ce42597641397a594380f0d5edd6fd7ade1037 [test] only clean up expectations if training was otherwise successful. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I1c0ef548cc14c114cccbaa7eebfe22b8bdcd3ef8
Reviewed-on: https://skia-review.googlesource.com/18450
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-02 12:04:45 +00:00
Kevin Lubick
c78a2d70fc Rename Chromecast CPU tests to GPU tests
Also fix command flags to use skps instead of svgs

Bug: skia:6706
Change-Id: Ie099abac738e6eb8808db9aef513a51940c5ccb1
Reviewed-on: https://skia-review.googlesource.com/18441
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-06-02 12:00:05 +00:00
Robert Phillips
18166eeaf2 Omnibus: Push instantiation of GrTextures later (post TextureSampler)
Split into:
   https://skia-review.googlesource.com/c/10485/ (More GrSurfaceProxy-clean up)
   https://skia-review.googlesource.com/c/15819/ (Expand GrTextureProxy to handle highestFilterMode)
   https://skia-review.googlesource.com/c/16714/ (Switch ImageStorageAccess over to GrTextureProxies)
   https://skia-review.googlesource.com/c/16908/ (Convert DstTexture to DstProxy)

Change-Id: I6cf3ba0f3bf0e1908d36749bc83571c066ddd568
Reviewed-on: https://skia-review.googlesource.com/10484
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-02 11:46:40 +00:00
Robert Iannucci
dec4c0b298 Rename example.py -> examples/full.py for all modules
`example.py` is going away; examples folder can now hold multiple
example recipes.

R=borenet@google.com

Bug: skia:
Change-Id: Ib28910987342217bc52040d4d966444174ce27a3
Reviewed-on: https://skia-review.googlesource.com/18432
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-02 11:40:36 +00:00
Mike Reed
d5bee5d50c add API to change max pointsize for font cache
Bug: skia:6585
Change-Id: I6df8c439dca0a154e8fbfce6d66c536665dff1d7
Reviewed-on: https://skia-review.googlesource.com/18314
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-01 20:55:16 +00:00
recipe-roller
c3cbd734f0 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/2f5f0b7a99c9df653b090e3ef00d13a2cab00a8d [.bat] Remove "depot_tools" override. (dnj@chromium.org)
  https://crrev.com/f1631cd003fa148c44a84f92b3d0696b2aeae6a7 [bot_update] Remove extraneous slash in revision parsing. (dtu@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ia6f0091e4d0ac129b7fefd081ac66ab2430b5a3d
Reviewed-on: https://skia-review.googlesource.com/18445
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-01 20:54:18 +00:00
Robert Phillips
1bfece8556 Rm int flavor of GrNextPow2 in favor of uint32_t flavor
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=18384

Change-Id: I8f62c5ea6146626916389429ac4f2f80c57a7d72
Reviewed-on: https://skia-review.googlesource.com/18384
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-01 20:30:54 +00:00
Kevin Lubick
8692b4a5ac Use ssh to trigger chromecast test
Using adb seemed to ignore errors in some cases, primarily
if nanobench crashed/hung.

Bug: skia:6706
Change-Id: I5def49d5b4d20bed6c486b7e85040190be856ac8
Reviewed-on: https://skia-review.googlesource.com/18404
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-01 20:11:47 +00:00
recipe-roller
06775d4510 Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/0209d792775b1efa537a6c30cfeee699a33a82da Fix toolchain packaging script for latest SDKs (brucedawson@chromium.org)
  https://crrev.com/7cf96a4b4bd80396252bac5e054666e3942262aa gclient_eval: use ordered dict (phajdan.jr@chromium.org)
  https://crrev.com/bcec9e741581857ff279c6a04a3c39da161b14f4 Pass user name and email to git-number's initial commit. (jbudorick@chromium.org)
  https://crrev.com/6cfe8d430161cc03089ca3b1fe2a4c418681b09d Add disable_syntax_validation gclient config to easily whitelist builders (phajdan.jr@chromium.org)
  https://crrev.com/56038f517d54e0fe69a81db23c26ff9eb873d73b rename example.py -> examples/full.py for all modules (iannucci@chromium.org)
recipe_engine:
  https://crrev.com/8ff178b2ec0c099d49ecb1df1c411f487c6bc657 [context] simplify step context implementation (iannucci@chromium.org)
  https://crrev.com/d878bba594c81c7ba4cc16b8bf078097b00a102d [recipe_modules/file] add real file module to engine. (iannucci@chromium.org)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I79343c4eb4f53e7192ba1429c7551d5735f40ab6
Reviewed-on: https://skia-review.googlesource.com/18440
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-06-01 19:44:06 +00:00
Lee Salzman
a836267029 fix premultiplied color generation in linear gradients when using fApplyAlphaAfterInterp
BUG=skia:

Change-Id: I771797498f60313022cd3a9e53037e98b3b3590b
Reviewed-on: https://skia-review.googlesource.com/17818
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-06-01 19:39:45 +00:00
Mike Klein
5df94d508e have shaders that need seed_shader call it themselves
This ought to make compose shader and our sprite blitter a bit more
efficient.  Compose shader can simply re-seed instead of saving the
xy values off to a buffer.  The sprite blitter doesn't need xy at all.

Change-Id: Ib4b3509288810f74a4c8e2978ce2ca14d8644980
Reviewed-on: https://skia-review.googlesource.com/18405
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-01 19:23:10 +00:00
recipe-roller
e0f7e164ee Roll recipe dependencies (nontrivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


Please review the expectation changes, and LGTM+CQ.


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/fc1c6f4c1fac4de7647da83425f4398dde6e77ca Correct Git show's path format on Windows (manzagop@chromium.org)
recipe_engine:
  https://crrev.com/458ce956c9d91d184e0107c5fa6b34a8267b8e9b [step_runner] run _merge_envs in simulation too. (iannucci@chromium.org)


R=martiniss@chromium.org, tansell@chromium.org

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic938b59f304189fdfb78a466e6a4a0e47f0548a6
Reviewed-on: https://skia-review.googlesource.com/18300
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-01 19:21:14 +00:00
Mike Klein
9b10f8ff0d plumb y through to SkJumper
There'll still be a little more refactoring after this, but this is the
main thing we want to do.

This makes y available in a general-purpose register in pipeline stages,
just like x.  Stages that need y (seed_shader and dither) can just use
it rather than pulling it off a context pointer.  seed_shader loses its
context pointer, and dither's gets simpler.

Change-Id: Ic2d1e13b03fb45b73e308b38aafbb3a14c29cf7f
Reviewed-on: https://skia-review.googlesource.com/18383
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-01 18:08:25 +00:00
Joe Gregorio
97b10ac484 [fiddle] Report GL driver info.
Bug: skia:
Change-Id: I5338d6abef062f7da420e8cddafa082bedcfff25
Reviewed-on: https://skia-review.googlesource.com/18310
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Joe Gregorio <jcgregorio@google.com>
2017-06-01 18:03:45 +00:00
Brian Osman
842a560470 Revert "Expand texturability testing to cover mip-mapped textures, and fix iOS"
This reverts commit c2b5175e99.

Reason for revert: Nexus 5

Original change's description:
> Expand texturability testing to cover mip-mapped textures, and fix iOS
> 
> Don't allow creation of mip-mapped textures when caps says we don't
> support mip-mapping.
> 
> Skip testing of mip-mapped resources in the resource size test,
> when creation will fail.
> 
> For iOS devices with ES2, the APPLE BGRA8888 extension is more
> trouble than it's worth. Even though it lets the internal and
> external formats not match, it appears that the driver remembers
> the first external format, so subsequent attempts to upload with
> the other swizzle will fail. Up until now, creation of these
> textures was failing anyway, so now just make it more explicit
> that we don't support BGRA in this situation.
> 
> Re-land of: https://skia-review.googlesource.com/18261
> 
> BUG=skia:
> 
> Change-Id: I910ffab0aa735647dce910d9054696c385f94933
> Reviewed-on: https://skia-review.googlesource.com/18382
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
BUG=skia:

Change-Id: I8f0fd87678cc584ad37b2a93a859bd4ef38c8092
Reviewed-on: https://skia-review.googlesource.com/18401
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-01 18:00:41 +00:00
Brian Osman
c2b5175e99 Expand texturability testing to cover mip-mapped textures, and fix iOS
Don't allow creation of mip-mapped textures when caps says we don't
support mip-mapping.

Skip testing of mip-mapped resources in the resource size test,
when creation will fail.

For iOS devices with ES2, the APPLE BGRA8888 extension is more
trouble than it's worth. Even though it lets the internal and
external formats not match, it appears that the driver remembers
the first external format, so subsequent attempts to upload with
the other swizzle will fail. Up until now, creation of these
textures was failing anyway, so now just make it more explicit
that we don't support BGRA in this situation.

Re-land of: https://skia-review.googlesource.com/18261

BUG=skia:

Change-Id: I910ffab0aa735647dce910d9054696c385f94933
Reviewed-on: https://skia-review.googlesource.com/18382
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-01 17:11:42 +00:00
Mike Klein
761d27c4d7 update SkRasterPipeline::run() to also take y
y isn't used yet.  This is just a warmup that updates the callers.

Change-Id: I78f4f44e2b82f72b3a39fa8a8bdadef1d1b8a99e
Reviewed-on: https://skia-review.googlesource.com/18381
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-01 17:05:13 +00:00
Matt Sarett
d16084ffdc Better image for copyTo4444 test
This one produces noticeable differences if we fail to dither.

Bug:720105
Change-Id: I208d0c8147f4cca1b484f2f55edc09ce1bef2dcb
Reviewed-on: https://skia-review.googlesource.com/18036
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-01 17:01:53 +00:00
Brian Osman
c674e26950 Revert "Expand texturability testing to cover mip-mapped textures, and fix iOS"
This reverts commit 9f6f41b01b.

Reason for revert: Command Buffer and ANGLE failures.

Original change's description:
> Expand texturability testing to cover mip-mapped textures, and fix iOS
> 
> Don't allow creation of mip-mapped textures when caps says we don't
> support mip-mapping.
> 
> Skip testing of mip-mapped resources in the resource size test,
> when creation will fail.
> 
> For iOS devices with ES2, the APPLE BGRA8888 extension is more
> trouble than it's worth. Even though it lets the internal and
> external formats not match, it appears that the driver remembers
> the first external format, so subsequent attempts to upload with
> the other swizzle will fail. Up until now, creation of these
> textures was failing anyway, so now just make it more explicit
> that we don't support BGRA in this situation.
> 
> BUG=skia:
> 
> Change-Id: Ic2e3ba1673398d542edd46a555ef47b5d0979c01
> Reviewed-on: https://skia-review.googlesource.com/18261
> Commit-Queue: Brian Osman <brianosman@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,brianosman@google.com
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
BUG=skia:

Change-Id: I68f6bb3be9fbafa7366ef5611a12e372274aa648
Reviewed-on: https://skia-review.googlesource.com/18380
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-01 16:22:44 +00:00
Florin Malita
69270fbb2b Add smartptr SkRWBuffer snapshot methods
Change-Id: Id816a38213a86bf090230ebaaef00d98a9487965
Reviewed-on: https://skia-review.googlesource.com/18266
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-01 16:00:45 +00:00
Robert Phillips
a16f6cb40a Update copyOp to split-opList world
Change-Id: Ib18fc0a589185b11b21241e50acb7b506c44bfac
Reviewed-on: https://skia-review.googlesource.com/17325
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-01 15:33:12 +00:00
Brian Osman
9f6f41b01b Expand texturability testing to cover mip-mapped textures, and fix iOS
Don't allow creation of mip-mapped textures when caps says we don't
support mip-mapping.

Skip testing of mip-mapped resources in the resource size test,
when creation will fail.

For iOS devices with ES2, the APPLE BGRA8888 extension is more
trouble than it's worth. Even though it lets the internal and
external formats not match, it appears that the driver remembers
the first external format, so subsequent attempts to upload with
the other swizzle will fail. Up until now, creation of these
textures was failing anyway, so now just make it more explicit
that we don't support BGRA in this situation.

BUG=skia:

Change-Id: Ic2e3ba1673398d542edd46a555ef47b5d0979c01
Reviewed-on: https://skia-review.googlesource.com/18261
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-01 15:28:07 +00:00
Robert Phillips
48567ac8ae update GrOp printouts
Change-Id: I19ac4ec7849e5eaae1726a746ac2051d5861e12f
Reviewed-on: https://skia-review.googlesource.com/18304
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-01 15:24:27 +00:00
Mike Klein
5cc9da6bbc raster pipeline sprite blitter
The color in the unit test turned out to be right on the edge
of not round tripping well, and I guess rounding pushed it over
the edge, so I've tweaked it to a new one that seems better.

Change-Id: I46095fafc9d6b68fd417ff9dc32003f42929c5a5
Reviewed-on: https://skia-review.googlesource.com/18238
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-01 15:02:08 +00:00
Mike Klein
c6912f712f make SkColorFilter::onAppendStages() pure
Change-Id: I2851e19648fb0478db9b940e86c6ddb2020000b3
Reviewed-on: https://skia-review.googlesource.com/18264
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-01 14:55:10 +00:00
Robert Phillips
fe50d9696a Remove GrSurface-based surfaceContext factories from GrContextPriv
This relies on both:
   https://skia-review.googlesource.com/c/13001/ (Rm makeRenderTargetContext in favor of deferred version)
   https://skia-review.googlesource.com/c/11125/ (Remove discard from GrRenderTarget & force it to always go through a RenderTargetContext)

Change-Id: Ia06469a6fa0048e162fb769ed4a11e4773cfacca
Reviewed-on: https://skia-review.googlesource.com/13130
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-01 14:47:31 +00:00
Christopher Cameron
eb0e60f1ec Ensure SkPictureImageFilter::onFilterImage doesn't double-convert color
Consider the following sequence of events:
1. SkPictureImageFilter::onFilterImage creates a local canvas, wraps it
   in a SkColorSpaceXformCanvas, and passed to...
2. SkPictureImageFilter::drawPictureAtLocalResolution creates a local
   canvas (localCanvas) wraps that in a SkColorSpaceXformCanvas, draws
   the picture to it, doing sRGB->fColorSpace conversion
3. We then call makeImageSnapshot to produce a SkSpecialImage, localImg,
   which is not tagged with any color space.
4. When the draw that localImg to the passed-in SkColorSpaceXformCanvas,
   which then performs sRGB->fColorSpace conversion a second time.

We now have performed color conversion twice.

One fix for this would be to have the image produced by the call to
localSurface->makeImageSnapshot() be tagged with fColorSpace. This is
somewhat involved.

The less invasive fix is to remove the SkColorSpaceXformCanvas in
SkPictureImageFilter::onFilterImage, and push it down into the two
branches, SkPictureImageFilter::drawPictureAtLocalResolution and
SkPictureImageFilter::drawPictureAtDeviceResolution.

BUG=728332

Change-Id: If2aa32e18ad660b3e361f1d90845eeb8555fe404
Reviewed-on: https://skia-review.googlesource.com/18282
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Christopher Cameron <ccameron@google.com>
Commit-Queue: Christopher Cameron <ccameron@google.com>
2017-06-01 14:42:24 +00:00
Mike Reed
a03d407aea fix and test colorfiltershader
Bug: skia:
Change-Id: I02fd77796880b42ce55549a8340b116e1c5f19d6
Reviewed-on: https://skia-review.googlesource.com/18305
Commit-Queue: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-01 13:58:05 +00:00
Robert Phillips
2f4ddf6964 Update more GrOps to split-opList world
Change-Id: I568e52f58372597abc2920aaee346a9731452d18
Reviewed-on: https://skia-review.googlesource.com/17324
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-06-01 13:20:37 +00:00
Robert Iannucci
baf41bd1c8 Convert last step.context stragglers.
These methods are removed in an upcoming version of the recipe engine.

R=borenet@google.com

Bug: skia:
Change-Id: I2db5cc683dac35b9ce65fe1b175e9f9a6d6b5efe
Reviewed-on: https://skia-review.googlesource.com/18324
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-06-01 11:39:57 +00:00
Eric Boren
c5a073d031 Fix missing CIPD package for Valgrind perf bots
Bug: skia:
Change-Id: Ia9fb42373d3214ea78976fc140062d5d9b38781a
Reviewed-on: https://skia-review.googlesource.com/18302
Reviewed-by: Eric Boren <borenet@google.com>
2017-06-01 11:31:46 +00:00
Mike Klein
823103384c reland: We can mask load and store with just AVX
Originally reviewed here: https://skia-review.googlesource.com/c/17452/

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind

Change-Id: I2e593e897ce93147ec593c2a5de143217274ba2a
Reviewed-on: https://skia-review.googlesource.com/18267
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-01 02:26:50 +00:00
Robert Phillips
8bf1f9ffcf Disable deferred proxies for M60 branch
Bug: 720325
Change-Id: I0529bbcd592bdc5d5a741731af8a66971e485649
Reviewed-on: https://skia-review.googlesource.com/18239
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-05-31 23:12:39 +00:00
recipe-roller
3f3075819f Roll recipe dependencies (trivial).
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).


More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
  https://crrev.com/fc5fd927e248e145b7364a95beade1582a6fa911 Print CQ dry run messages/warnings consistently across commands. (qyearsley@google.com)
  https://crrev.com/0c62da9864214b37564aad6a5b6ae418e809bb37 git_cl: Clean up spelling, docstrings and printed messages. (qyearsley@google.com)
recipe_engine:
  https://crrev.com/8d7bd42ec1713294cf6cb36127c96a1f439f9419 Enable unbuffered output for bundled recipes. (benjaminwagner@google.com)


TBR=borenet@google.com

Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ie57e5c27c018cf20133d586f751f0fa966fea28a
Reviewed-on: https://skia-review.googlesource.com/18270
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-05-31 22:06:18 +00:00
Mike Klein
91ea7eaf89 delete some dead code in SampleApp
Change-Id: Ie01859eafbde292fe7f5228512c4134acf6d452b
Reviewed-on: https://skia-review.googlesource.com/18265
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-05-31 20:59:39 +00:00
Florin Malita
83223bc5c4 Store SkPerlinNoiseShaderImpl's PaintingData inline
No reason to allocate dynamically, now that the impl is private.

Change-Id: I1b6f34fa903149d88fe82f5947c1df899446967e
Reviewed-on: https://skia-review.googlesource.com/18237
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-05-31 20:57:09 +00:00
Brian Osman
6799939b0a Blacklist sRGB MSAA on AMD (ATI) Macs
Fixes GrSurfaceTest failure on the trash can

BUG=skia:

Change-Id: I0def62ea7a2693043f6a359a47a3e9e1177ca84d
Reviewed-on: https://skia-review.googlesource.com/18152
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-05-31 20:52:55 +00:00
Chris Dalton
1d6163577c Add support for instanced draws
Adds an instance buffer to GrMesh and instance attribs to
GrPrimitiveProcessor. Implements support in GL and Vulkan. Adds unit
tests for instanced rendering with GrMesh.

Bug: skia:
Change-Id: If1a9920feb9366f346b8c37cf914713c49129b3a
Reviewed-on: https://skia-review.googlesource.com/16200
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-05-31 20:40:20 +00:00
Brian Osman
fa6d865215 Do color correction of vertex colors in GPU drawVertices
SkColor vertex colors need to be linearized (from sRGB),
and possibly converted from sRGB gamut to destination gamut.

Bug: skia:6659
Change-Id: I2b1b1dd0fa5938519693f56a728fed5957f13fd5
Reviewed-on: https://skia-review.googlesource.com/17534
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-05-31 20:28:07 +00:00
Mike Reed
25f3805efa slant colorfilter away from filterSpan4f
rename to make it easy to delete any impl that also had onAppendStages...
i.e. rename to make it clear that it is just an impl trick for rasterpipeline.

Bug: skia:
Change-Id: If3c3b2811eff12d399cdf7a77552c01e72c06996
Reviewed-on: https://skia-review.googlesource.com/18234
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-05-31 19:54:05 +00:00
Eric Boren
d696df74d4 Add CIPD asset for Valgrind
Bug: skia:6668
Change-Id: I324602b1381f701ec780c02b26775c5e9e09cb84
Reviewed-on: https://skia-review.googlesource.com/17834
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-05-31 19:41:13 +00:00
Ethan Nicholas
d9fe700672 fix incorrect variable not assigned error in skslc
Bug: skia:
Change-Id: Id89db8acb0b14024b79b00d98d32f9c10f019537
Reviewed-on: https://skia-review.googlesource.com/18121
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-05-31 19:04:56 +00:00
Ethan Nicholas
068acd5cf9 enable geometry shader support in GrGLShaderStringBuilder
Bug: skia:
Change-Id: Ibbd5209eb3aef9543b7195a114e39ee4254a56c3
Reviewed-on: https://skia-review.googlesource.com/18062
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-05-31 19:02:46 +00:00