Commit Graph

27383 Commits

Author SHA1 Message Date
Jim Van Verth
291932e8e4 Fix is_convex() check for inset polys.
Change-Id: I1a8a24132b0cf9eb80dd586bf2f1b930adb7b582
Reviewed-on: https://skia-review.googlesource.com/10525
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2017-03-29 19:32:34 +00:00
Brian Salomon
1c6025cc9d Make analysis optional to GrPipeline::init().
GrXPFactory::createXferProcessor now takes GrPipelineAnalysisColor and GrPipelineAnalysisCoverage rather than GrProcessorSet::FragmentProcessorAnalysis.

This will make it so ops do not have to retain the analysis or rerun it to create pipelines at flush time.

Change-Id: Ib28ba65de425b20c2647329275f209aec168c3df
Reviewed-on: https://skia-review.googlesource.com/10474
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-03-29 19:05:06 +00:00
Greg Daniel
978533c302 Remove blacklist of Vulkan GPUMemoryTest
This was blacklisted on Nvidia Windows. A recent change was made that may
be a possible fix for this test involving the uploading of initial mip map
memory.

BUG=skia:6092

Change-Id: Ie75c4665bea1f5139a674b9e0f53a9aac4a97f98
Reviewed-on: https://skia-review.googlesource.com/10285
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2017-03-29 18:29:22 +00:00
Robert Phillips
769e80d23d More GrSurfaceProxy-clean up
Split out of: https://skia-review.googlesource.com/c/10484/ (Omnibus: Push instantiation of GrTextures later (post TextureSampler))

Change-Id: I1ee39a23c749e420dce0ad561ee1c8b09bdcc763
Reviewed-on: https://skia-review.googlesource.com/10485
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-29 18:28:02 +00:00
bungeman
3e306f6bf4 Use FontWeight symbols when available on Mac.
Newer versions of macOS have NSFontWeightXXX symbols and iOS has
UIFontWeightXXX symbols to provide the conversion between [-1, 1]
CTFontDescriptor weights and [0, 1000] CSS weights. Currently the
values these symbols provide are hard coded (for expediency), but the
symbols should be used when available since the values may change
without notice.

Change-Id: I0875c6a96c5b14e456f91bccf7a84f0306a3d63a
Reviewed-on: https://skia-review.googlesource.com/10163
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-03-29 18:16:22 +00:00
Robert Phillips
301431d751 Miscellaneous GrSurfaceProxy-related cleanup
This is pulled out of: https://skia-review.googlesource.com/c/10284/ (Remove GrSurface-derived classes from ops)

Change-Id: I083c0beefe4899b3517d0b0569bb25096809f410
Reviewed-on: https://skia-review.googlesource.com/10483
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-29 17:00:16 +00:00
Brian Salomon
e7d30484ea Remove GrPipelineOptimizations computation from GrPipeline::init and nest in GrMeshDrawOp.
Change-Id: I4a702c83857606c1cb050294c408922eef5769ea
Reviewed-on: https://skia-review.googlesource.com/10414
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-03-29 16:46:07 +00:00
Kevin Lubick
4a24e10a0b Add skia_use_egl flag
This allows us to specify it for Linux Arm devices (like chromebooks, and
possibly RPIs)
Bug: skia:6442

Change-Id: I043bc3b3686caf28fedfe1a6ab1dfd300cc4f066
Reviewed-on: https://skia-review.googlesource.com/10469
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-03-29 15:56:45 +00:00
Greg Daniel
a1b282be3f Fix copy offset when uploading initial mip data in Vulkan
This is a fix to an original fix which was reverted

BUG=skia:

Change-Id: I21fcda28a5d342984784a35d2b3e985c6e4199cf
Reviewed-on: https://skia-review.googlesource.com/10290
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-03-29 15:40:15 +00:00
Ben Wagner
2f3db61fed Remove SK_IGNORE_DW_GRAY_FIX.
Users have been updated and this define is no longer used.

Change-Id: I0430039978171c16ffe19fb3037897bcdf313e42
Reviewed-on: https://skia-review.googlesource.com/10417
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-03-29 15:00:47 +00:00
Forrest Reiling
44f85712f4 Add unistd.h include to GrVkGpu.cpp on unix for sleep
Fixes Fuchsia build

Change-Id: Ieb3b7092586495f5153ba18d14a94d8dcdab1dbd
Reviewed-on: https://skia-review.googlesource.com/10261
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-29 14:26:08 +00:00
Ben Wagner
fcf3aba250 Marker for driver update on Win10 Golo GT610
BUG=chromium:705001
NOTRY=true

Change-Id: I84c888cec3ed644be4ef1bf5f7ea219bf3b8ded3
Reviewed-on: https://skia-review.googlesource.com/10411
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-03-29 14:07:18 +00:00
Brian Salomon
318538484f Remove GrXferProcessor::getOptimizations.
This replaces GrXferProcessor::getOptimizations with a new function on GrXPFactory. The results are made available via FragmentProcessorAnalysis.

Bug: skia:
Change-Id: I535985458c9d13ad858cac94e957e2fdbe332036
Reviewed-on: https://skia-review.googlesource.com/10218
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-29 13:17:50 +00:00
Robert Phillips
02bb6df081 Retract GrPipeline from setRenderTargetState calls
Split out of: https://skia-review.googlesource.com/c/10284/ (Remove GrSurface-derived classes from ops)

Change-Id: Ib3dda649875b8da31def20476e4b5a87a4aa7cac
Reviewed-on: https://skia-review.googlesource.com/10320
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-29 12:48:18 +00:00
Robert Phillips
1ec1faaff4 Remove GrSurface::flushWrites
Change-Id: Ifac5af00ef852ee212964baa113b490a03e0168d
Reviewed-on: https://skia-review.googlesource.com/10293
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-29 12:48:17 +00:00
Kevin Lubick
334e88c21a Update Galaxy S7s to March 2017 patch
Bug: skia:6434
NOTRY=true
NOTREECHECKS=true

Change-Id: I7daaccbf14facb4dec8929e0e819add7c4e41a46
Reviewed-on: https://skia-review.googlesource.com/10398
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-03-29 12:07:21 +00:00
recipe-roller
c1cd59be24 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
(or complain)

build:
  https://crrev.com/bb49d6609717078440ca257a1960cd34033bd047 build_scan.py: Add scripts/master to path (hinoka@google.com)

TBR=iannucci@chromium.org

Change-Id: I6ccf0620c27c3bbcda4c9093a6e8ef79fbd0f967
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10335
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:53:49 +00:00
recipe-roller
520822338a 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
(or complain)

build:
  https://crrev.com/bb49d6609717078440ca257a1960cd34033bd047 build_scan.py: Add scripts/master to path (hinoka@google.com)

TBR=iannucci@chromium.org

Change-Id: I10045227a914796ac5cae9f5f638b2b084ad15a6
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10334
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:36:49 +00:00
recipe-roller
a20de4626d 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
(or complain)

build:
  https://crrev.com/bb49d6609717078440ca257a1960cd34033bd047 build_scan.py: Add scripts/master to path (hinoka@google.com)

TBR=iannucci@chromium.org

Change-Id: Ia2d6af47decbe6dee57071f5606c898cf517d919
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10333
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:28:18 +00:00
recipe-roller
03fde118be 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
(or complain)

build:
  https://crrev.com/bb49d6609717078440ca257a1960cd34033bd047 build_scan.py: Add scripts/master to path (hinoka@google.com)

TBR=iannucci@chromium.org

Change-Id: I82c58c585d6a3e470aee13b788c32c52cc6e6297
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10332
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:18:38 +00:00
recipe-roller
497d313f24 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
(or complain)

build:
  https://crrev.com/d67cc72477ac9cf51dac9ff5aa56fd5f996f09d9 Roll recipe dependencies (trivial). (recipe-roller@chromium.org)
  https://crrev.com/720ae5cfa1f63afa71fa2e753a3d43cc0b166b28 [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)
depot_tools:
  https://crrev.com/b2e5564353be2974b1241d1bd57b3259100b14ea [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)

TBR=borenet@google.com

Change-Id: I5f5f7f8186224fb35c5fb34df07a79616c08aac7
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10331
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:05:18 +00:00
recipe-roller
4dcce9e3ea 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
(or complain)

build:
  https://crrev.com/d67cc72477ac9cf51dac9ff5aa56fd5f996f09d9 Roll recipe dependencies (trivial). (recipe-roller@chromium.org)
  https://crrev.com/720ae5cfa1f63afa71fa2e753a3d43cc0b166b28 [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)
depot_tools:
  https://crrev.com/b2e5564353be2974b1241d1bd57b3259100b14ea [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)

TBR=borenet@google.com

Change-Id: Ie6076adc7f44992cf63ee7ed86f70896a6cec5b7
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10330
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 23:03:38 +00:00
Brian Salomon
a5002c384d Add debug helper for finding leaks in GrMemoryPool.h
Change-Id: I1d11769f9e99606af5e7752b3a6d055a5bf6a48d
Reviewed-on: https://skia-review.googlesource.com/10289
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-03-28 22:51:34 +00:00
recipe-roller
90b49b5f84 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
(or complain)

build:
  https://crrev.com/d67cc72477ac9cf51dac9ff5aa56fd5f996f09d9 Roll recipe dependencies (trivial). (recipe-roller@chromium.org)
  https://crrev.com/720ae5cfa1f63afa71fa2e753a3d43cc0b166b28 [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)
depot_tools:
  https://crrev.com/b2e5564353be2974b1241d1bd57b3259100b14ea [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)

TBR=borenet@google.com

Change-Id: Ie827fe882fc5ec16a539b590d1b76575766118a1
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10329
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 22:48:34 +00:00
recipe-roller
8383ac46c6 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
(or complain)

build:
  https://crrev.com/d67cc72477ac9cf51dac9ff5aa56fd5f996f09d9 Roll recipe dependencies (trivial). (recipe-roller@chromium.org)
  https://crrev.com/720ae5cfa1f63afa71fa2e753a3d43cc0b166b28 [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)
depot_tools:
  https://crrev.com/b2e5564353be2974b1241d1bd57b3259100b14ea [recipes.cfg] set autoroll recipe options (iannucci@chromium.org)

TBR=borenet@google.com

Change-Id: I8e4aea83c0d89e6933d1563bd790bd85cc5e33f2
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Reviewed-on: https://skia-review.googlesource.com/10328
Reviewed-by: Recipe Roller <recipe-roller@chromium.org>
Commit-Queue: Recipe Roller <recipe-roller@chromium.org>
2017-03-28 22:37:34 +00:00
Matt Sarett
58c7b9235b Fix msan errors in webp decoder
Bug: skia:
Change-Id: I919a24fc61137c4a30160c97ad69fa4a2eadd031
Reviewed-on: https://skia-review.googlesource.com/10325
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-03-28 22:22:31 +00:00
Kevin Lubick
2677a9a135 Add extra_asmflags
This makes it easier to cross-compile for non-Android ARM (e.g. Raspberry PI)

Bug: skia:
Change-Id: I4414d933bc38d56009aefcbe10e68f7c70964d9c
Reviewed-on: https://skia-review.googlesource.com/10291
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-03-28 20:39:17 +00:00
Robert Iannucci
d60ec06047 [recipes.cfg] set autoroll recipe options
Bug: skia:
Change-Id: Icdc01ffba00dfda37bcb467f2a4a33aef0991f56
Reviewed-on: https://skia-review.googlesource.com/10245
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-03-28 19:57:32 +00:00
Matt Sarett
3725f0a7dd Add codec and color xform support for 565
Bug: skia:
Change-Id: I23184acc4e17d38861d27ab81172048a24c400d2
Reviewed-on: https://skia-review.googlesource.com/10288
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-03-28 19:39:42 +00:00
Matt Sarett
56ea77ac5f Implement SkBlurDrawLooper with SkLayerDrawLooper
This allows us to delete SkBlurDrawLooper (and leave only one draw
looper implementation).

BUG=skia:

Change-Id: I549af86b81babf19e3649bdffffe2fdb0b308d5a
Reviewed-on: https://skia-review.googlesource.com/10101
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Derek Sollenberger <djsollen@google.com>
2017-03-28 19:29:00 +00:00
Mike Klein
8cb66485e5 turn on hidden visibility flags on iOS
These new images came up when I turned them off the other day:

https://gold.skia.org/search?blame=eec23d113149569414e325ac6fd5a9253945628b&fdiffmax=-1&fref=false&frgbamax=-1&head=true&include=false&limit=50&match=gamma_correct&match=name&metric=combined&neg=false&pos=false&query=source_type%3Dgm&sort=desc&unt=true

Some sort of ODR problem?  :/

Change-Id: I9b2575948c3bd5710476e6501e8ec27933c277f6
Reviewed-on: https://skia-review.googlesource.com/10287
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-28 18:37:09 +00:00
Greg Daniel
2041e44c3d Revert "Fix copy offset when uploading initial mip data in Vulkan"
This reverts commit f6c360f7ce.

Reason for revert: breaking write tests.
Original change's description:
> Fix copy offset when uploading initial mip data in Vulkan
> 
> BUG=skia:
> 
> Change-Id: Id25e5f39d1393b8dec325d85afb4bc22a11f6bda
> Reviewed-on: https://skia-review.googlesource.com/10283
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Jim Van Verth <jvanverth@google.com>
> 

TBR=egdaniel@google.com,jvanverth@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Change-Id: If7f9eccc7f1ba923393a14c5e11678610986faa6
Reviewed-on: https://skia-review.googlesource.com/10286
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-03-28 18:00:38 +00:00
Robert Iannucci
7a69340368 Manually roll recipes (trivial)
build:
  https://crrev.com/cd172a28588cc11a2ea2d3ee591bbcb7a1fc3ba8 Dart: Remove ie10 from builders, remove some FYI builders
  https://crrev.com/f0b49fc15bf7bc2d9e39210e091f0dd4481da1c4 Revert "chromite: Change cbuildbot/api to to cbuildbot_launch."
  https://crrev.com/988789b7bf6b0bdf1033ee178da4e28340137dab Roll recipe dependencies (trivial).

depot_tools:
  https://crrev.com/5904e2a3d7b88b8609681c7354bf2ae2c1f2bed6 Roll recipe dependencies (trivial).

recipe_engine:
  https://crrev.com/4fcdb75517198a9ca32c7c4aecbe2e6f54b8b6c2 [package.proto] convert deps from list to map.

Bug: skia:
Change-Id: I7aa2236d39e2ec6f882d589a4719dca4baca7500
Reviewed-on: https://skia-review.googlesource.com/10243
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-03-28 17:29:34 +00:00
Greg Daniel
f6c360f7ce Fix copy offset when uploading initial mip data in Vulkan
BUG=skia:

Change-Id: Id25e5f39d1393b8dec325d85afb4bc22a11f6bda
Reviewed-on: https://skia-review.googlesource.com/10283
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-03-28 17:25:14 +00:00
Robert Phillips
a2cedff029 Fix gaussianedge GM
Change-Id: Ia4523ea13992b325cb59f42e4458a199c7a98c4b
Reviewed-on: https://skia-review.googlesource.com/10219
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-28 16:36:54 +00:00
Matt Sarett
d2adc66efe Use SkTransferFunctionBehavior for raster pixel conversions
Fixes some gbr-8888 behaviors.

BUG=skia:

Change-Id: I1351b043129f7ed0e125bfdb626a0ecaf64c15cc
Reviewed-on: https://skia-review.googlesource.com/10169
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-03-28 16:07:04 +00:00
Greg Daniel
20ece3a966 Always initialize testing textures in vulkan with some data
BUG=skia:

Change-Id: I0fb99df77496835446f13d886ba29a5ea579ff54
Reviewed-on: https://skia-review.googlesource.com/10281
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-03-28 14:56:07 +00:00
Mike Klein
200f6da4cd ok, unify failure and crash logging
Just as deferred and locked crash logging makes crashes easier to read,
so does deferred and locked failure logging make failures easier to read.

Change-Id: I71578d61b0056f8d7e692149762def1f155c0387
Reviewed-on: https://skia-review.googlesource.com/10280
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-28 14:11:38 +00:00
Matt Sarett
f86bc2ce7f SkImage_Generator::onMakeColorSpace avoid 565
I forgot that if a png has the significant bit
chunk set to R=5, G=6, B=5, we will recommend
a decode to 565.

We need to avoid this.  The codec does not
support color correct 565.

BUG=skia:

Change-Id: Ieb74bfaf100504d9748e4b8014a8a4e425428c7a
Reviewed-on: https://skia-review.googlesource.com/10166
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-03-28 13:08:50 +00:00
Mike Klein
4a77cf8696 ok, plumb in GrContextFactory
Didn't know what options would be useful here (path renderers?), so I've
left them default.  Obviously we can thread them through TestSrc options.

I now have "841 ok" and no failures on my Linux laptop, though I imagine
the GPU tests are all just no-op'd by the TODO at the bottom of the file.

Change-Id: Id934c0bdb5de96d96f2a391106b5d20116f41979
Reviewed-on: https://skia-review.googlesource.com/10213
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-28 12:40:44 +00:00
Stephen White
36e4f06368 GrTessellator: speed up linearized quadratic Beziers.
Linerization of quadratic Beziers was using recursive midpoint 
subdivision, which can exceed the number of required points by
up to 2X if the second-last recursion level is just over the flatness
threshold. (This is particularly bad for circular arcs, since all
segments have a similar midpoint distance.)

Instead, compute the points of maximum curvature, and progressively 
increase the number of segments until the flatness
metric is satisfied at the points of maximum curvature.

This is good for a 15-20% boost on MotionMark Fill Paths, and makes the
performance on Canvas Arcs with the verb limit removed competitive
with the software+upload path renderer.

NOTE: this cause minor pixel diffs in a number of path-related GMs.

BUG=skia:

Change-Id: Ia2c22e00e45acec538b15a23c6edcb7a7d4566b7
Reviewed-on: https://skia-review.googlesource.com/9956
Commit-Queue: Stephen White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-28 12:13:52 +00:00
Robert Iannucci
654dfeeace Manually roll recipes (trivial)
Also converts recipes.cfg to new JSONPB format.

build:
  https://crrev.com/cf2a231cfaea22f03affe7d3ccdf8634d35a855d flutter: rename libsky_shell.so to libflutter.so
  https://crrev.com/47f1d3af26e30e7120f18450f28dd9ad095f69ba Roll recipe dependencies (trivial).
  https://crrev.com/67b26be7760cdce0e165e39e3d7cc88101725429 Allow passing arg to `repo sync` in chromite module
  https://crrev.com/6b2f23904dfb05b0b382cea4a9db373ec1041696 chromium: Adding tansell@chromium.org as OWNER for Chromium recipes.
  https://crrev.com/3966f1d05c265be673d4a4e52983370680bd2741 Dart: Add gclient runhooks to SDK builder recipe.
  https://crrev.com/3f370ccee1f85de227a40a27f384b1fd47811148 Install goma for cbuildbots.
  https://crrev.com/c9ea42272c232c77bffb476a64243ca6663fff44 Roll recipe dependencies (trivial).
  https://crrev.com/2458a11e565207234a11f0745b6c04c042e7d636 Roll recipe dependencies (trivial).
  https://crrev.com/c255c84a5881e193dcc7c6037cc37badb35c26c9 flutter: rename sky_shell to flutter_tester
  https://crrev.com/49099195df9831c746bc6437aea4b50bce14965d chromite: Change cbuildbot/api to to cbuildbot_launch.
  https://crrev.com/0ce9a9f88802d6be5e016b8a4efc190a21441e29 Roll recipe dependencies (trivial).
  https://crrev.com/e2406a2458aa7697979d6df86e92892077f16822 Roll recipe dependencies (trivial).

depot_tools:
  https://crrev.com/2e401be12ef1ec44f4a81c6bc8acaf793c71e4de Roll recipe dependencies (trivial).
  https://crrev.com/8b5b594115480a6b4c4bbe384cc7afaecd814a4b add "generic" infra path config
  https://crrev.com/284e34ae2878ddd2cda671554b444db8512fa2ab Revert "add "generic" infra path config"
  https://crrev.com/f7023e7cf0a6606080d9f53c5a9e6e8271443914 Roll recipe dependencies (trivial).
  https://crrev.com/757f20796948ff4a9264dad5293bdff2f94d9c43 Reland: add "generic" infra path config
  https://crrev.com/e663133f6f2695efba0705e82ee581f6eb424e6c Roll recipe dependencies (trivial).

recipe_engine:
  https://crrev.com/51395b1ba1ea684f5e99d2bb03c934f2ac441984 [recipes.cfg] ONLY support jsonpb.
  https://crrev.com/230fcdf5d57a084071e3617885b3286353ab1350 [package.proto] add options for autoroller recipe to recipes.cfg.
  https://crrev.com/8ec7b6d3ca59e7c178ad1b03e4408da556fddafa [recipes.cfg] set canonical_url and autoroller options

Bug:

Change-Id: I8308cf3633258703a3bd24ab49bf6e0db6c87cc9
Reviewed-on: https://skia-review.googlesource.com/10242
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-03-28 11:51:16 +00:00
Mike Klein
6105e4bf2d ok, make tests really work
Here's how things work now:
    ~/skia (tests)> ninja -C out ok; and out/ok test
    ninja: Entering directory `out'
    [2/2] link ok
    112 ok../tests/TestConfigParsing.cpp:336
    configs[i]->getBackend().equals(expectedConfigs[i].backend)
    211 ok, 1 failed../tests/ShadowUtilsTest.cpp:25    Expected shadow
    tessellation to fail but it did not.
    ../tests/ShadowUtilsTest.cpp:30    Expected shadow tessellation to fail but it did not.
    ../tests/ShadowUtilsTest.cpp:36    Expected shadow tessellation to fail but it did not.
    ../tests/ShadowUtilsTest.cpp:42    Expected shadow tessellation to fail but it did not.
    637 ok, 2 failed

Change-Id: I84b108d4fabb538a2674831dd1ca64b149d7d265
Reviewed-on: https://skia-review.googlesource.com/10209
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-28 00:26:52 +00:00
Brian Salomon
2084ffa9a3 Revert "Fix SkImage_Gpu::getROPixels"
This reverts commit f4d443fd1b.

Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=705156

Original change's description:
> Fix SkImage_Gpu::getROPixels
> 
> The dstColorSpace is a badly named parameter. It's a hint about where/how
> the returned pixels are going to be used. Raster and GPU are meant to
> ignore that information - codecs use it to drive our decoding heuristic.
> 
> I've adopted that name in several places, although it's quite bad. Maybe
> usageColorSpace would be better?
> 
> Bug: skia:
> Change-Id: I99acaac4bed57ed8acd8433e1c5b39a60c3af09e
> Reviewed-on: https://skia-review.googlesource.com/10109
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>
> 

TBR=msarett@google.com,robertphillips@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id46226e41ca287ef3351710815ae2e842da4d293
Reviewed-on: https://skia-review.googlesource.com/10210
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-27 22:02:58 +00:00
Ben Wagner
c119a2f3b5 Omit ImageStorageLoad on IntelBayTrail Ubuntu
BUG=skia:6358
NOTRY=true

Change-Id: I1d85bc37008988220c0454e8ec4a72bef2ec043d
Reviewed-on: https://skia-review.googlesource.com/10100
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-03-27 21:02:29 +00:00
Greg Daniel
af40127570 Minor fix to VkWrapTest
We need to make sure we cleanup the VkImage created when testing the
wrapping of a render target.

BUG=skia:

Change-Id: I60ea7e880fecccca309a250cc3b19eb29d6aa89c
Reviewed-on: https://skia-review.googlesource.com/10206
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-03-27 20:48:00 +00:00
Mike Klein
d63442d87c ok: add basic unit test support
Plenty TODO remaining.

This can actually kind of run without a test reporter or GrContext:
    $ out/ok test
    784 ok, 56 crashed
    ... lots of stack traces ...
Most tests don't use the reporter unless they're going to fail.

Change-Id: I7333e2c63ade5e671ebf60022d19390f1fc1c93a
Reviewed-on: https://skia-review.googlesource.com/10201
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-27 19:33:31 +00:00
csmartdalton
8c67909e04 Add a simple tool for isolating a path from an SKP
BUG=skia:

Change-Id: I5ca9bbd43919e3f65ea940847c68f85cc78dfeda
Reviewed-on: https://skia-review.googlesource.com/10130
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
2017-03-27 19:19:19 +00:00
Mike Klein
b338484d23 quiet some annoying logging in unit tests
Noticed all these while adding some unit test support to ok.

Change-Id: Ie33b96da95840628657211cb28b2134fd314a48a
Reviewed-on: https://skia-review.googlesource.com/10202
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-27 19:16:59 +00:00
Jim Van Verth
b436655ad5 Add height function to shadow tessellators.
Prep work for adding perspective support.

Bug: skia:
Change-Id: Id07d3050afb3f0d001b885e482adb8d03125b619
Reviewed-on: https://skia-review.googlesource.com/10167
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-27 19:06:59 +00:00