Commit Graph

29169 Commits

Author SHA1 Message Date
Ethan Nicholas
c352f3b89a fixed improved perlin noise effect on ANGLE
Bug: skia:6772
Change-Id: Id674d7f20ccd32fb79005d66351b5c49c51b3c90
Reviewed-on: https://skia-review.googlesource.com/20224
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-19 16:09:13 +00:00
Hal Canary
d6e6e6699a factor out hexadecimal constants.
Now we don't have to rely on the linker to de-duplicate
so many gHex[] constants.

Change-Id: Ia86d3a92648415afdb8d29499b4faded5ed05c7d
Reviewed-on: https://skia-review.googlesource.com/20180
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-06-19 15:56:33 +00:00
Greg Daniel
6d28730b2b Update Angle GLPrograms test blacklist to only be on the one broked config
Bug: skia:4717, skia:6772
Change-Id: I7a50228722b6ea4034410a57e138de050398b20f
Reviewed-on: https://skia-review.googlesource.com/20222
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-19 15:16:21 +00:00
Greg Daniel
c64ee46a98 Add return to surface semaphore calls to indicate when we don't support them
Bug: skia:
Change-Id: I00118637bf6555278ca61707275ed60372de581d
Reviewed-on: https://skia-review.googlesource.com/20061
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-19 15:01:28 +00:00
Florin Malita
d4a70ee367 Disable dithering of const paints
... except for 565.

Change-Id: I8ab633661c54583478234a46942ef804eb74a619
Reviewed-on: https://skia-review.googlesource.com/19880
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2017-06-19 14:59:38 +00:00
Mike Reed
0bdaf05fc1 remove unused mode parameter from SkMergeImageFilter
Bug: skia:
Change-Id: Iaa46aaef130a337987c3528685f59c56387d4a7d
Reviewed-on: https://skia-review.googlesource.com/20210
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-19 14:01:56 +00:00
Mike Reed
ce6b4b004b imagefilters should take const array
Bug: skia:
Change-Id: I6f069c843ab27b41c4d1e87f76130e2ba2daf048
Reviewed-on: https://skia-review.googlesource.com/20211
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-19 03:12:07 +00:00
Mike Reed
ab51d1b297 Revert "remove unused TableMaskFilter"
This reverts commit d72b55b32c.

Reason for revert: used by android

Original change's description:
> remove unused TableMaskFilter
> 
> will revert if its needed in android
> 
> Bug: skia:
> Change-Id: I2ef777d31de4bbed6556d013054083ff6ff2cb8c
> Reviewed-on: https://skia-review.googlesource.com/20206
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=djsollen@google.com,reed@google.com,stani@google.com

Change-Id: I8ea36a912496e12c9fbfb73587d11e002252e8b8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20212
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-19 02:50:18 +00:00
Mike Reed
6b9cd051b4 remove unused variants in imagefilter factories
Bug: skia:
Change-Id: Ife12bfa1c16f9dd87b24f73d3b260b0d2f46c7df
Reviewed-on: https://skia-review.googlesource.com/20207
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-19 01:57:51 +00:00
Mike Reed
d72b55b32c remove unused TableMaskFilter
will revert if its needed in android

Bug: skia:
Change-Id: I2ef777d31de4bbed6556d013054083ff6ff2cb8c
Reviewed-on: https://skia-review.googlesource.com/20206
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-19 01:45:21 +00:00
Mike Reed
1a74c53105 reduce SkDisplacementImageFilter size.
Saves ~8K on mac laptop
    
    - remove templates
    - check for 0 0r 0xFF in alpha
    
    Before: (using modified bench w/o caching)
    
      23/23  MB     2       134µs   151µs   146µs   156µs   6%      █▇▆▆▆▆▄▁▁▁      8888    displacement_full_large
      23/23  MB     2       253µs   254µs   255µs   260µs   1%      █▄▄▅▂▁▂▁▁▁      8888    displacement_alpha_large
      24/24  MB     1       410µs   410µs   415µs   445µs   3%      █▃▁▂▁▁▁▁▁▁      8888    displacement_zero_large
      24/24  MB     151     840ns   841ns   853ns   938ns   4%      █▁▁▁▁▁▁▂▁▁      8888    displacement_full_small
      24/24  MB     180     832ns   835ns   836ns   851ns   1%      █▂▁▂▂▁▂▂▂▂      8888    displacement_alpha_small
      24/24  MB     9       60µs    60.9µs  69.9µs  101µs   19%     █▄▄▄▁▁▁▁▁▁      8888    displacement_zero_small
    
    After:
    
      23/23  MB     3       47.4µs  48µs    48.2µs  51.4µs  2%      █▂▂▃▃▁▁▁▂▁      8888    displacement_full_large
      23/23  MB     2       140µs   141µs   145µs   166µs   7%      ▂▁▁▁▁▁▁▁▇█      8888    displacement_alpha_large
      24/24  MB     2       189µs   196µs   197µs   225µs   5%      █▃▂▂▂▂▃▂▁▁      8888    displacement_zero_large
      24/24  MB     134     588ns   594ns   597ns   616ns   1%      ▂▁▁█▂▆▂▂▃▄      8888    displacement_full_small
      24/24  MB     168     590ns   592ns   592ns   599ns   0%      ▃▂▁▁▁▁▁█▂▂      8888    displacement_alpha_small
      24/24  MB     9       8.39µs  8.41µs  8.42µs  8.53µs  0%      █▄▃▂▁▁▃▂▁▂      8888    displacement_zero_small

This reverts commit 3f93b7265f.

fix: use PMColor shifts, not RGBA shifts

Bug: skia:
Change-Id: I044ef323b56d842f00cc50a828e14374aea8bb9e
Reviewed-on: https://skia-review.googlesource.com/20204
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-18 13:11:27 +00:00
Mike Reed
3f93b7265f Revert "reduce SkDisplacementImageFilter size"
This reverts commit ed68a92ca6.

Reason for revert: breaks layouttests (on BGRA?)

Original change's description:
> reduce SkDisplacementImageFilter size
> 
> saves ~8K on mac laptop
> 
> - remove templates
> - check for 0 0r 0xFF in alpha
> 
> Before: (using modified bench w/o caching)
> 
>   23/23  MB	2	134µs	151µs	146µs	156µs	6%	█▇▆▆▆▆▄▁▁▁	8888	displacement_full_large
>   23/23  MB	2	253µs	254µs	255µs	260µs	1%	█▄▄▅▂▁▂▁▁▁	8888	displacement_alpha_large
>   24/24  MB	1	410µs	410µs	415µs	445µs	3%	█▃▁▂▁▁▁▁▁▁	8888	displacement_zero_large
>   24/24  MB	151	840ns	841ns	853ns	938ns	4%	█▁▁▁▁▁▁▂▁▁	8888	displacement_full_small
>   24/24  MB	180	832ns	835ns	836ns	851ns	1%	█▂▁▂▂▁▂▂▂▂	8888	displacement_alpha_small
>   24/24  MB	9	60µs	60.9µs	69.9µs	101µs	19%	█▄▄▄▁▁▁▁▁▁	8888	displacement_zero_small
> 
> After:
> 
>   23/23  MB	3	47.4µs	48µs	48.2µs	51.4µs	2%	█▂▂▃▃▁▁▁▂▁	8888	displacement_full_large
>   23/23  MB	2	140µs	141µs	145µs	166µs	7%	▂▁▁▁▁▁▁▁▇█	8888	displacement_alpha_large
>   24/24  MB	2	189µs	196µs	197µs	225µs	5%	█▃▂▂▂▂▃▂▁▁	8888	displacement_zero_large
>   24/24  MB	134	588ns	594ns	597ns	616ns	1%	▂▁▁█▂▆▂▂▃▄	8888	displacement_full_small
>   24/24  MB	168	590ns	592ns	592ns	599ns	0%	▃▂▁▁▁▁▁█▂▂	8888	displacement_alpha_small
>   24/24  MB	9	8.39µs	8.41µs	8.42µs	8.53µs	0%	█▄▃▂▁▁▃▂▁▂	8888	displacement_zero_small
> 
> Bug: skia:
> Change-Id: Ia3b12dc8420b32b65633bb1cf76a15241e420eac
> Reviewed-on: https://skia-review.googlesource.com/20181
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Reed <reed@google.com>

TBR=mtklein@google.com,robertphillips@google.com,fmalita@chromium.org,reed@google.com

Change-Id: I811c5f25a328c75527ce5caa0d9b8e123d535583
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20182
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-18 10:49:43 +00:00
UpdateSKPs
f21254fbe0 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Iaa82decbf93652f412d4aa5649c953a20d50fdd2
Reviewed-on: https://skia-review.googlesource.com/20201
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-06-18 06:08:22 +00:00
Mike Reed
ed68a92ca6 reduce SkDisplacementImageFilter size
saves ~8K on mac laptop

- remove templates
- check for 0 0r 0xFF in alpha

Before: (using modified bench w/o caching)

  23/23  MB	2	134µs	151µs	146µs	156µs	6%	█▇▆▆▆▆▄▁▁▁	8888	displacement_full_large
  23/23  MB	2	253µs	254µs	255µs	260µs	1%	█▄▄▅▂▁▂▁▁▁	8888	displacement_alpha_large
  24/24  MB	1	410µs	410µs	415µs	445µs	3%	█▃▁▂▁▁▁▁▁▁	8888	displacement_zero_large
  24/24  MB	151	840ns	841ns	853ns	938ns	4%	█▁▁▁▁▁▁▂▁▁	8888	displacement_full_small
  24/24  MB	180	832ns	835ns	836ns	851ns	1%	█▂▁▂▂▁▂▂▂▂	8888	displacement_alpha_small
  24/24  MB	9	60µs	60.9µs	69.9µs	101µs	19%	█▄▄▄▁▁▁▁▁▁	8888	displacement_zero_small

After:

  23/23  MB	3	47.4µs	48µs	48.2µs	51.4µs	2%	█▂▂▃▃▁▁▁▂▁	8888	displacement_full_large
  23/23  MB	2	140µs	141µs	145µs	166µs	7%	▂▁▁▁▁▁▁▁▇█	8888	displacement_alpha_large
  24/24  MB	2	189µs	196µs	197µs	225µs	5%	█▃▂▂▂▂▃▂▁▁	8888	displacement_zero_large
  24/24  MB	134	588ns	594ns	597ns	616ns	1%	▂▁▁█▂▆▂▂▃▄	8888	displacement_full_small
  24/24  MB	168	590ns	592ns	592ns	599ns	0%	▃▂▁▁▁▁▁█▂▂	8888	displacement_alpha_small
  24/24  MB	9	8.39µs	8.41µs	8.42µs	8.53µs	0%	█▄▃▂▁▁▃▂▁▂	8888	displacement_zero_small

Bug: skia:
Change-Id: Ia3b12dc8420b32b65633bb1cf76a15241e420eac
Reviewed-on: https://skia-review.googlesource.com/20181
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-06-17 23:27:13 +00:00
Hal Canary
05784d9b1a Image Encoder: more benches
Change-Id: I35973ee9223c2db3e2250dae4c5dd3cc13a5aa92
Reviewed-on: https://skia-review.googlesource.com/20156
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-06-17 22:45:33 +00:00
Chris Dalton
1b0126b015 Add a verbs iterator to SkPathPriv
Bug: skia:
Change-Id: If846eeac2722b67a80266f01ede7ef03ef027ac8
Reviewed-on: https://skia-review.googlesource.com/20027
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-06-17 14:34:02 +00:00
Bruce Dawson
f86d3680b1 Enable constexpr for VC++ 2017
VC++ 2017 fixes the internal compiler error which prevented using
constexpr for some BlendFormula arrays, so tweak the #ifdefs to
enable constexpr for 2017.

This gets rid of two constructors and slightly shrinks chrome_child.dll

BUG=chromium:341941

Change-Id: Ic4079b2da393ee89dd38da5bbb2d7c8ede8020e8
Reviewed-on: https://skia-review.googlesource.com/20160
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-06-17 00:30:01 +00:00
Mike Klein
95d19f3ba2 support g8 and 4444 in SkRPBlitter
BUG=skia:6766

Change-Id: I1bf8720cac24092352fd99d8d509252a10270b54
Reviewed-on: https://skia-review.googlesource.com/20020
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-06-17 00:23:32 +00:00
Mike Klein
741d7261f2 Trim gEntries down from 24K to 3K.
Today gCount maxes out at 66, so 128 seems like plenty of room for now.

Change-Id: Id29d7a0232047d07a5ea7c43e4f2d874f055165a
Reviewed-on: https://skia-review.googlesource.com/19740
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-06-17 00:21:51 +00:00
Mike Reed
0c182fc77e refactor lighting imagefilter to save codesize
Goal was to just remove template args and add virtuals where needed.
Ended up having to also move a couple of classes/helpers earlier in the file, but nothing beyond that.

Size savings (on Mac laptop) : 67896

Before:
   8/8   MB	1	30.6ms	30.7ms	30.7ms	30.9ms	0%	█▁▅▁▄▃▄▁▃▃	8888	lightingspotlitspecular_large
   8/8   MB	1	34.2ms	37.6ms	38.5ms	45.9ms	9%	▂▂▃▅▁▅█▂▅▂	8888	lightingspotlitspecular_small
   8/8   MB	1	31.3ms	35ms	34.6ms	38.4ms	7%	▁▄▅▆▆▁▇▃▂█	8888	lightingdistantlitspecular_large
   8/8   MB	1	29.9ms	33.5ms	34.3ms	39.2ms	8%	▁▅█▃▄▇▄▂▄▆	8888	lightingdistantlitspecular_small
   8/8   MB	1	30.4ms	34.1ms	34.5ms	40.7ms	11%	▂▄█▃▁▅▂▅▁▇	8888	lightingpointlitspecular_large
   8/8   MB	1	29.8ms	36.2ms	34.8ms	41.4ms	12%	▂▃▅▁▅▇▂▁▆█	8888	lightingpointlitspecular_small
   8/8   MB	1	16.3ms	19.5ms	20.5ms	26.6ms	17%	▁▆▃▃█▃▂▅▁▆	8888	lightingspotlitdiffuse_large
   8/8   MB	1	17.3ms	19.3ms	19.4ms	23.3ms	10%	▄▁▂▁▆▅▁▃▂█	8888	lightingspotlitdiffuse_small
   8/8   MB	1	12.7ms	14.9ms	17ms	27.9ms	30%	▂▁█▁▂▄▂▂▂▆	8888	lightingdistantlitdiffuse_large
   8/8   MB	1	12.4ms	14.5ms	15.8ms	24.7ms	23%	▁▂▅▂▁▃█▂▃▂	8888	lightingdistantlitdiffuse_small
   8/8   MB	1	13.6ms	14.9ms	16.6ms	22.5ms	22%	▁█▅▁▆▂▁▂▁█	8888	lightingpointlitdiffuse_large
   8/8   MB	1	13.8ms	17ms	16.5ms	19.2ms	11%	▆▆▁▁▆▅▅█▃▂	8888	lightingpointlitdiffuse_small

After:
   8/8   MB	1	23.5ms	23.6ms	23.8ms	25.1ms	2%	▃▁█▁▁▂▁▂▁▁	8888	lightingspotlitspecular_large
   8/8   MB	1	23.5ms	23.6ms	23.9ms	24.9ms	2%	█▅▂▁▁▁▁▁▆▃	8888	lightingspotlitspecular_small
   8/8   MB	1	21.6ms	21.8ms	21.9ms	22.3ms	1%	█▆▃▁▄▄▃▂▄▂	8888	lightingdistantlitspecular_large
   8/8   MB	1	21.6ms	21.7ms	21.9ms	22.7ms	2%	█▅▂▂▂▁▂▂▂▃	8888	lightingdistantlitspecular_small
   8/8   MB	1	22.3ms	22.9ms	22.8ms	23.2ms	1%	▇▆▁▄▆▄▃█▄▆	8888	lightingpointlitspecular_large
   8/8   MB	1	22.1ms	22.2ms	22.5ms	23.6ms	3%	██▁▁▂▂▁▁▂▂	8888	lightingpointlitspecular_small
   8/8   MB	1	12.8ms	13ms	13ms	13.3ms	2%	▃▇█▇▁▅▄▃▂▄	8888	lightingspotlitdiffuse_large
   8/8   MB	1	12.8ms	13ms	13ms	13.2ms	1%	▄▃██▄▁▃▅▂▇	8888	lightingspotlitdiffuse_small
   8/8   MB	1	10.6ms	10.7ms	10.8ms	11.1ms	2%	▂▄██▂▁▃▃▂▂	8888	lightingdistantlitdiffuse_large
   8/8   MB	1	10.6ms	10.7ms	10.8ms	11.3ms	2%	▂▂▇█▃▁▂▅▁▂	8888	lightingdistantlitdiffuse_small
   8/8   MB	1	10.9ms	11.1ms	11.2ms	11.6ms	2%	▁▂▇▁█▃▂▂▇▁	8888	lightingpointlitdiffuse_large
   8/8   MB	1	10.9ms	11.1ms	11.1ms	11.5ms	2%	▄▃█▅▃▃▁▃▂▁	8888	lightingpointlitdiffuse_small

Bug: skia:
Change-Id: I7542a5ca1f209a732630f646b4ceb4fb08150ce4
Reviewed-on: https://skia-review.googlesource.com/20155
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-06-16 23:38:29 +00:00
Brian Salomon
5f970fe6be Fix logic error when drawing path as nested rects
Bug: chromium:732350
Change-Id: I42770e9fa8c201780f16ce8df58b208e08aef640
Reviewed-on: https://skia-review.googlesource.com/20158
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-16 21:55:57 +00:00
Hal Canary
7a808d618e ICC: SkICC::WriteToICC Description Tag is function of input
BUG=skia:6720
Change-Id: I038079a6e15f884eb77b84d9c7c75f6b7fbedd37
Reviewed-on: https://skia-review.googlesource.com/20152
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
2017-06-16 21:30:37 +00:00
Florin Malita
93323eb401 Enable SVG DM sources for vector sinks
SVG->SKP is a useful/valid case.

Change-Id: I81fd7b8d5e422b4dbf55f59eca9e9471ab578180
Reviewed-on: https://skia-review.googlesource.com/20153
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-06-16 20:04:14 +00:00
Eric Boren
3e2ffd74b5 [recipes] Switch to file module from recipe_engine
Bug: skia:6704
Change-Id: Id3cefa643316e5676d2038a75240e16d929d6d63
Reviewed-on: https://skia-review.googlesource.com/20146
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
2017-06-16 17:41:28 +00:00
Greg Daniel
6ecc911070 Revert "Revert "Remove Gr*Gpu includes from header files.""
This reverts commit 56af45b03c.

Reason for revert: Relanding now that pre CL has relanded

Original change's description:
> Revert "Remove Gr*Gpu includes from header files."
> 
> This reverts commit 2bd381bffd.
> 
> Reason for revert: Need to revert change this landed on top of
> 
> Original change's description:
> > Remove Gr*Gpu includes from header files.
> > 
> > Some general cleanup to try to keep use of the backend gpu class in cpps.
> > 
> > Bug: skia:
> > Change-Id: I1a28e0e5c2e55562b3fff56c284c3405b5b6d8bc
> > Reviewed-on: https://skia-review.googlesource.com/20057
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> 
> TBR=egdaniel@google.com,robertphillips@google.com
> 
> Change-Id: I5b27d50654a17502c056d59b2d4f9609376d189e
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/20064
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,robertphillips@google.com

Change-Id: Id1656a7708223bc4dcc8eb4444ef41ada61be5d0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20148
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-16 16:17:15 +00:00
Brian Salomon
35186b5db5 Remove GrRectOpFactory::MakeAAFillWithDevRect
This was only used in a rare case.

Change-Id: I69aaca40ce6529a492311fa0893a85adcc08aa4d
Reviewed-on: https://skia-review.googlesource.com/20143
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-16 15:10:44 +00:00
Brian Salomon
f86d37be5b Rename GrDrawOp::xpRequiresDstTexture to finalize and change return type to an enum
Bug: skia:
Change-Id: I0f9d9d3ef1dd20821f171f7d6237491921fbbd97
Reviewed-on: https://skia-review.googlesource.com/20142
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-06-16 14:24:34 +00:00
Greg Daniel
a5cb781c17 Revert "Revert "Add API for flushing surfaces with gpu semaphores""
This reverts commit 7292231905.

This change relands the original plus the follow on change:
https://skia-review.googlesource.com/20059.

Additionally it adds a blacklist for the mac intel bots which
don't see to respect the added fences on the GPU.

Original change's description:
> Revert "Add API for flushing surfaces with gpu semaphores"
> 
> This reverts commit 66366c6978.
> 
> Reason for revert: Failing test on mac bots
> 
> Original change's description:
> > Add API for flushing surfaces with gpu semaphores
> > 
> > BUG=skia:
> > 
> > Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
> > Reviewed-on: https://skia-review.googlesource.com/11488
> > Commit-Queue: Greg Daniel <egdaniel@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Forrest Reiling <freiling@google.com>
> 
> TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com
> 
> Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/20063
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com

Change-Id: I4dc6c0e1deb0398eeb165a34f0a26af7a58259f1
Reviewed-on: https://skia-review.googlesource.com/20141
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-06-16 14:22:34 +00:00
Brian Salomon
610842af9e Make SkTArray maintain reserve count
Bug: skia:6690
Change-Id: I01f5bb56c654f513365d6ce9f19712d9be07a08d
Reviewed-on: https://skia-review.googlesource.com/20055
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2017-06-16 12:17:19 +00:00
Robert Phillips
881f143aec Hide GrGpuResourceRef from prying eyes
Change-Id: I5535b8cc8e82ed4b6fe847b96b417531b4bae348
Reviewed-on: https://skia-review.googlesource.com/19967
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-16 12:17:18 +00:00
Robert Phillips
ade9f618e5 Add GrTextureProxy.h to GrAHardwareBufferImageGenerator.cpp (for Android roll)
TBR=rmistry@google.com

Change-Id: Id08f821447dc6b1229667a07b7845f87399b1cce
Reviewed-on: https://skia-review.googlesource.com/20140
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-06-16 11:33:51 +00:00
Brian Salomon
60fb0b2548 Make GrAAConvexPathRenderer use vertex color
Change-Id: Iea2902a73fad9493d69b24e8bc88cdafd6aea9fc
Reviewed-on: https://skia-review.googlesource.com/20060
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-15 23:44:51 +00:00
Greg Daniel
7292231905 Revert "Add API for flushing surfaces with gpu semaphores"
This reverts commit 66366c6978.

Reason for revert: Failing test on mac bots

Original change's description:
> Add API for flushing surfaces with gpu semaphores
> 
> BUG=skia:
> 
> Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
> Reviewed-on: https://skia-review.googlesource.com/11488
> Commit-Queue: Greg Daniel <egdaniel@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Forrest Reiling <freiling@google.com>

TBR=egdaniel@google.com,jvanverth@google.com,bsalomon@google.com,brianosman@google.com,freiling@google.com

Change-Id: I75633a2732d2d48b1926f9ad818a9f1a9196d211
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20063
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-06-15 21:55:03 +00:00
Greg Daniel
56af45b03c Revert "Remove Gr*Gpu includes from header files."
This reverts commit 2bd381bffd.

Reason for revert: Need to revert change this landed on top of

Original change's description:
> Remove Gr*Gpu includes from header files.
> 
> Some general cleanup to try to keep use of the backend gpu class in cpps.
> 
> Bug: skia:
> Change-Id: I1a28e0e5c2e55562b3fff56c284c3405b5b6d8bc
> Reviewed-on: https://skia-review.googlesource.com/20057
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,robertphillips@google.com

Change-Id: I5b27d50654a17502c056d59b2d4f9609376d189e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20064
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-15 21:51:58 +00:00
Greg Daniel
625ac3e8f9 Revert "Add caps check for fence sync in SurfaceSemaphoreTest"
This reverts commit 643fcfa02f.

Reason for revert: Need to revert change this landed on top of

Original change's description:
> Add caps check for fence sync in SurfaceSemaphoreTest
> 
> Bug: skia:
> Change-Id: I2a941cdb2ae108728eb01f89f8ebed6b79a2df68
> Reviewed-on: https://skia-review.googlesource.com/20059
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Greg Daniel <egdaniel@google.com>

TBR=egdaniel@google.com,rmistry@google.com,brianosman@google.com

Change-Id: Ie45ee86cff6c3d23f7ef82c16c1a8d99994add10
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20062
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-15 21:49:59 +00:00
Ben Wagner
453888f1c3 Improve computeMatrices singular matrix handling.
The existing singular matrix detection in computeMatrices is sufficient
but not necessary. Since compute matrices is already doing a QR
decomposition, use that to determine singularity instead. This is both
faster and more accurate than the previous method for the common case.

BUG=https://bugzilla.mozilla.org/show_bug.cgi?id=1305085

Change-Id: Iccef8368527b45e4eb565eddbebbbcf41ca66a2c
Reviewed-on: https://skia-review.googlesource.com/20054
Reviewed-by: Lee Salzman <lsalzman@mozilla.com>
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-06-15 21:37:51 +00:00
Greg Daniel
2bd381bffd Remove Gr*Gpu includes from header files.
Some general cleanup to try to keep use of the backend gpu class in cpps.

Bug: skia:
Change-Id: I1a28e0e5c2e55562b3fff56c284c3405b5b6d8bc
Reviewed-on: https://skia-review.googlesource.com/20057
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-15 21:07:21 +00:00
Brian Salomon
10978a6ead Migrate AAConvexPathOp off of GrLegacyMeshDrawOp
Change-Id: If6df4292ec5c78a7f2fdde0a4540f7327e69e294
Reviewed-on: https://skia-review.googlesource.com/20058
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-06-15 21:04:31 +00:00
Greg Daniel
643fcfa02f Add caps check for fence sync in SurfaceSemaphoreTest
Bug: skia:
Change-Id: I2a941cdb2ae108728eb01f89f8ebed6b79a2df68
Reviewed-on: https://skia-review.googlesource.com/20059
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-15 21:01:30 +00:00
Brian Osman
e18ceb1995 Blacklist MSAA readPixels test on Iris540 Vk
Bug: skia:
Change-Id: Ifd184c71bbc33f6c1415fad464da9542071de13f
Reviewed-on: https://skia-review.googlesource.com/20056
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-15 20:33:19 +00:00
Kevin Lubick
b6d09b72c3 Add CPU Chromecast Perf Job
Bug: skia:
NOTRY=true
Change-Id: Ieb4c05b5f430c125ad8fd1a360d82385279dcf29
Reviewed-on: https://skia-review.googlesource.com/20049
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-06-15 20:07:19 +00:00
Mike Klein
1f8796dbde Revert "explore always using SkRasterPipeline for color space transforms"
This reverts commit 58564425e5.

Reason for revert: iOS

Original change's description:
> explore always using SkRasterPipeline for color space transforms
> 
> On my trashcan, bench times change: mostly slowdowns, some speedups.
> On the other hand, this cuts about 270K of code out of Skia.
> 
> Change-Id: Ib1069792508ced361c11ea809b0b8187f5e28a5c
> Reviewed-on: https://skia-review.googlesource.com/19744
> Reviewed-by: Matt Sarett <msarett@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>

TBR=mtklein@chromium.org,msarett@google.com

Change-Id: I26469e174f0281597ac5720ec790686ef3fbb4e0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/20036
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2017-06-15 19:50:39 +00:00
Greg Daniel
66366c6978 Add API for flushing surfaces with gpu semaphores
BUG=skia:

Change-Id: Ia4bfef784cd5f2516ceccafce958be18a86f91d1
Reviewed-on: https://skia-review.googlesource.com/11488
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Forrest Reiling <freiling@google.com>
2017-06-15 19:49:18 +00:00
Robert Phillips
000182881a Readd GrResourceProvider.h to GrAHardwareBufferImageGenerator.cpp (for Android roll)
TBR=rmistry@google.com

Change-Id: If6aa6a024bcc87846c3b24b0d004ffe7177895a8
Reviewed-on: https://skia-review.googlesource.com/20052
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-15 19:36:28 +00:00
Brian Salomon
82dfd3d1b2 Add processor info dumping to non-legacy mesh draw ops
Change-Id: I2ee77f0971a1b627905ac547bc0511042c40ac38
Reviewed-on: https://skia-review.googlesource.com/19816
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-15 19:10:28 +00:00
Greg Daniel
8ea60736aa Revert "implemented mustImplementGSInvocationsWithLoop workaround in sksl"
This reverts commit d5d323f457.

Reason for revert: Looks like this might be breaking vulkan

Original change's description:
> implemented mustImplementGSInvocationsWithLoop workaround in sksl
> 
> Bug: skia:
> Change-Id: I8434be89537a8baf9e9c5c7a643d28c03108f4ea
> Reviewed-on: https://skia-review.googlesource.com/18154
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

TBR=csmartdalton@google.com,ethannicholas@google.com

Change-Id: I606aad071d3c084eb7eb7ec6c1c1a3cf10479cec
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/20045
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-06-15 18:30:29 +00:00
Brian Osman
bcf65edf2c Bail out of test if MSAA surface creation fails
Bug: skia:
Change-Id: I44768314fad49fb0e094e30037a3fe159ebcbd0b
Reviewed-on: https://skia-review.googlesource.com/20044
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-06-15 18:29:56 +00:00
Robert Phillips
009e9af554 Remove GrGpu.h from GrResourceProvider.h
Noticed this while cleaning up GrResourceProvider.h's usage. It seems like a powerful header to just be splashing around.

Change-Id: I686fea61354a7e3c1c759627ffe4a560f7945f83
Reviewed-on: https://skia-review.googlesource.com/20040
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-06-15 18:27:28 +00:00
Ethan Nicholas
d5d323f457 implemented mustImplementGSInvocationsWithLoop workaround in sksl
Bug: skia:
Change-Id: I8434be89537a8baf9e9c5c7a643d28c03108f4ea
Reviewed-on: https://skia-review.googlesource.com/18154
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-06-15 18:06:58 +00:00
Brian Osman
eee3c09e96 Unit test to demonstrate Galaxy S6 MSAA readPixels bug
After lots of tinkering, this is the smallest test case I've
found to reproduce the bug. Frequently, bitmap b4 will be
cleared to blue, but not contain the oval drawn right before.
Bitmap b5 will contain the oval, so the diff of the two
bitmaps will detect the error.

There may be something else that can be removed, but I
haven't found it.

Interesting note:

In the original version, all surfaces were cleared to
black. When I started trying to change the clear colors to
figure out if we were getting an old surface, the bug went
away. In particular, the first clear color is irrelevant,
but the last three clears must all be the same color. If
any are different, the bug doesn't occur.

Bug: skia:6653
Change-Id: Iacafcc140b60594fab208e82987b0f37416975f3
Reviewed-on: https://skia-review.googlesource.com/19817
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-06-15 17:58:08 +00:00