Commit Graph

29301 Commits

Author SHA1 Message Date
Brian Salomon
c5886036cb Move GrTypesPriv.h to include/private
Bug: skia:
Change-Id: I68610fed67a70454a815229c47b78ea6d9463a43
Reviewed-on: https://skia-review.googlesource.com/24624
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-19 17:16:14 +00:00
Florin Malita
2f924b4b0e Use raster pipeline for repeat/mirror radial gradients
The legacy clamp specialization is still faster, but for repeat and
mirror RP wins (at low color stop counts).

Change-Id: Ifef3eb5b3111b3741d3a033310a4cdb58e592247
Reviewed-on: https://skia-review.googlesource.com/24283
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-19 17:13:44 +00:00
Brian Salomon
0c15ae82f0 Revert "Revert "Revert "Revert "Improvements to GPU dither.""""
This reverts commit f2290cb924.

Reason for revert: SPIRV codegen fix has landed

Original change's description:
> Revert "Revert "Revert "Improvements to GPU dither."""
> 
> This reverts commit 0f01b2e8b5.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Revert "Improvements to GPU dither.""
> > 
> > This reverts commit 38fb308f31.
> > 
> > Reason for revert: Reland with SkSL caps fix for vulkan
> > 
> > Original change's description:
> > > Revert "Improvements to GPU dither."
> > > 
> > > This reverts commit 1806e33e6a.
> > > 
> > > Reason for revert: <INSERT REASONING HERE>
> > > 
> > > Original change's description:
> > > > Improvements to GPU dither.
> > > > 
> > > > 1) Makes the range of the offset dependent on the config.
> > > > 
> > > > 2) Uses an ordered dither on GPUs that support integers in shaders.
> > > > 
> > > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
> > > > 
> > > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
> > > > 
> > > > Bug: skia:
> > > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> > > > Reviewed-on: https://skia-review.googlesource.com/23485
> > > > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > > > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > > 
> > > TBR=bsalomon@google.com,robertphillips@google.com
> > > 
> > > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: skia:
> > > Reviewed-on: https://skia-review.googlesource.com/24325
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > 
> > TBR=bsalomon@google.com,robertphillips@google.com
> > 
> > Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/24282
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com
> 
> Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/24480
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I112df51494bc3cc832fde9c22a6532082df85a81
Reviewed-on: https://skia-review.googlesource.com/24285
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-07-19 16:07:34 +00:00
Brian Salomon
dcbb9d90db Add SkDebugf trace event handler.
Also adds more trace events to GPU backend.

Change-Id: Ifa5f0cd4b1fd582f0cc30d37d9e6414dc498c75d
Reviewed-on: https://skia-review.googlesource.com/24622
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-19 15:41:34 +00:00
Ethan Nicholas
925f52d03b fixed SPIR-V int->uint conversion
Bug: skia:
Change-Id: I31c035ac5839d60521ee9d8f73c879776ef5d22d
Reviewed-on: https://skia-review.googlesource.com/24621
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-07-19 15:25:09 +00:00
Brian Salomon
fc26f3ca5f Remove GrAnalyticRectOp, the last legacy GrMeshDrawOp
Change-Id: I2b8d1f4c1585af4a157d269a526874bccc74ac81
Reviewed-on: https://skia-review.googlesource.com/23484
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-19 15:21:05 +00:00
Mike Reed
883c9bce67 experimental: draw into unpremul
raster-only

Bug: skia:
Change-Id: I3af19f031083c9cc258f73ba6a2f6020bb15f110
Reviewed-on: https://skia-review.googlesource.com/24400
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-07-19 15:20:04 +00:00
Mike Reed
9291b2921b remove google3 colortable flag
Bug: skia:6828
Change-Id: Id2d8b4ef2d1e1f9ca0ef610d550cde9021a3845e
Reviewed-on: https://skia-review.googlesource.com/24331
Reviewed-by: Mike Reed <reed@google.com>
2017-07-19 15:10:12 +00:00
Florin Malita
fff3a40767 Singleton SRGB color filters
Change-Id: I67e976e63bbb9ebb47616613e02adb97e6e2345c
Reviewed-on: https://skia-review.googlesource.com/24303
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-19 14:55:24 +00:00
Greg Daniel
139eb805ca Add blacklist to vk win intel for skp
This blacklist the desk_skbug6850overlay2 which is causing llvm to crash
on the intel win bot when running vulkan.

Bug: skia:6863
Change-Id: I2c3ca597a3312e6c0a1bacae0056fcb1c19679bf
Reviewed-on: https://skia-review.googlesource.com/24264
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2017-07-19 14:52:14 +00:00
Hal Canary
10ccb02fee SkPDF: Fix color glyphs with absolute positioning
BUG=chromium:617403
BUG=chromium:717570
BUG=skia:3489
Change-Id: I6b336836359e2cdccf5712edce5efd89f682a74d
Reviewed-on: https://skia-review.googlesource.com/24620
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-19 14:49:57 +00:00
Leon Scroggins III
e726e7ca0c Report first GIF frame after knowing its meta data
Previously, we reported the first image as soon as it was available. As
a result, in crrev.com/2565323003, InitializeNewFrame might be called
before the metadata is known, meaning it would read the wrong metadata.

Instead of looking at the imagesCount(), SkGifCodec::NewFromStream looks
at frameContext(0), which may still exist even if it's not yet counted
in imagesCount().

Add a test that confirms the desired behavior.

Change-Id: Ib392721ecd2218ba0fcd35aaa64117c0ba3e4ea6
Reviewed-on: https://skia-review.googlesource.com/24405
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2017-07-19 14:43:26 +00:00
Ravi Mistry
d81977f51b Download material design SVGs from Google Storage
NoTry: true
Bug: skia:6865
Change-Id: Id857d6ad0b5cdccbadb11810bf07a093467544ec
Reviewed-on: https://skia-review.googlesource.com/24086
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-19 13:44:34 +00:00
Brian Osman
430e4c84e9 Some basic Flutter/Fuchsia docs
No-Try: true
Docs-Preview: https://skia.org/?cl=24406
Bug: skia:
Change-Id: I18ba9bf86b44b27262c9785cc0b5edbc982ae076
Reviewed-on: https://skia-review.googlesource.com/24406
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-07-19 13:17:54 +00:00
Jungshik Shin
cae60da0a9 Add aliases mapping Windows CJ fonts to Noto Serif CJK
CrOS will have Noto Serif CJK as the default serif fonts for CJK.
Aliases in Skia need to be updated.

See https://chromium-review.googlesource.com/c/576708/ and
    https://chromium-review.googlesource.com/c/576789/

BUG=chromium:722470
TEST=With all the related CLs in, Noto Serif CJK {JP,SC,TC} are used
when MS (P)Mincho,(N)Simsun,(P)MingLiu are requested.

Change-Id: I8340c2b460671c0b2854360a89b051e0e9e8d57c
Reviewed-on: https://skia-review.googlesource.com/24521
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-07-19 13:12:14 +00:00
Brian Salomon
44acb5b09b Revert "Revert "Make GrAtlasTextOp a non-legacy GrMeshDrawOp""
This reverts commit e3e9628ecf.

Adds blendmode_mask_* benchs to blacklist for Chromecast.
Otherwise a clean revert of the revert.

Bug: skia:
Change-Id: I9f64ae55804fa4aad97c1785834281039570c56c
Reviewed-on: https://skia-review.googlesource.com/24409
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-07-19 12:17:34 +00:00
Robert Phillips
5af44defbd Add GrResourceAllocator class + unit test
Change-Id: I2700e8cb4213479b680519ba67f078cc3fb71376
Reviewed-on: https://skia-review.googlesource.com/23661
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-07-19 11:43:54 +00:00
UpdateSKPs
11f898f154 Update SKP version
Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: I5a6701b2d2fae53bede23669a6c3ae7d668da23d
Reviewed-on: https://skia-review.googlesource.com/24500
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>
2017-07-18 22:56:24 +00:00
Chris Dalton
7bd55c2149 gl: print shader sources one line at a time
This ensures they don't get truncated by the ADB log.

Bug: skia:
Change-Id: I5ad0222e54f667c0dd3a5b1174d43588d90ca231
Reviewed-on: https://skia-review.googlesource.com/24421
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-07-18 22:53:24 +00:00
Mike Klein
968af43f72 remove gather_i8, unify memory-touching contexts
gather_i8 is now unused, so we can remove it.
That in turn makes the ctable field of SkJumper_GatherCtx unused.

After removing ctable, SkJumper_GatherCtx and SkJumper_PtrStride look
identical, so I've now fused them into SkJumper_MemoryCtx, which will
eventually be used by everything loading from, gathering from, or
storing to memory.

Change-Id: Ia882d2dbd54c9fcf9a8250a1ce83304389dd284a
Reviewed-on: https://skia-review.googlesource.com/24085
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-07-18 21:22:34 +00:00
Mike Reed
1e0ca8598a fix android-only function
Bug: skia:
Change-Id: I4225bcc368fb5ac0898f4e34221e47cd50f93061
Reviewed-on: https://skia-review.googlesource.com/24407
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-07-18 21:15:24 +00:00
Brian Salomon
f2290cb924 Revert "Revert "Revert "Improvements to GPU dither."""
This reverts commit 0f01b2e8b5.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Revert "Improvements to GPU dither.""
> 
> This reverts commit 38fb308f31.
> 
> Reason for revert: Reland with SkSL caps fix for vulkan
> 
> Original change's description:
> > Revert "Improvements to GPU dither."
> > 
> > This reverts commit 1806e33e6a.
> > 
> > Reason for revert: <INSERT REASONING HERE>
> > 
> > Original change's description:
> > > Improvements to GPU dither.
> > > 
> > > 1) Makes the range of the offset dependent on the config.
> > > 
> > > 2) Uses an ordered dither on GPUs that support integers in shaders.
> > > 
> > > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
> > > 
> > > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
> > > 
> > > Bug: skia:
> > > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> > > Reviewed-on: https://skia-review.googlesource.com/23485
> > > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > > Reviewed-by: Robert Phillips <robertphillips@google.com>
> > 
> > TBR=bsalomon@google.com,robertphillips@google.com
> > 
> > Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: skia:
> > Reviewed-on: https://skia-review.googlesource.com/24325
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com
> 
> Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/24282
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: I5ce47b06a1b451942faf9066b1a45a716b1b3f3c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24480
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-18 21:13:15 +00:00
Brian Osman
92ed61e624 Revert "Revert "remove dead code for legacy image encode api""
This reverts commit 1e0779ba11.

Reason for revert: Flutter and Fuchsia have both been switched to new API!

Original change's description:
> Revert "remove dead code for legacy image encode api"
> 
> This reverts commit 41ed7f3379.
> 
> Reason for revert: Need this in temporarily to navigate Flutter and Fuchsia rolls.
> 
> Original change's description:
> > remove dead code for legacy image encode api
> > 
> > Bug: skia:
> > Change-Id: Ia90d776946281473c56cd93006df1b523475696a
> > Reviewed-on: https://skia-review.googlesource.com/23022
> > Reviewed-by: Leon Scroggins <scroggo@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> 
> TBR=scroggo@google.com,reed@google.com
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: skia:
> Change-Id: I078762fc13de0c455dc6f8a5725d9529af03bffc
> Reviewed-on: https://skia-review.googlesource.com/23385
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Brian Osman <brianosman@google.com>

TBR=scroggo@google.com,brianosman@google.com,reed@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: skia:
Change-Id: I2b45facf21a97d01a81c7f311252d2f45eb1f61e
Reviewed-on: https://skia-review.googlesource.com/24281
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-07-18 21:08:35 +00:00
Brian Salomon
0f01b2e8b5 Revert "Revert "Improvements to GPU dither.""
This reverts commit 38fb308f31.

Reason for revert: Reland with SkSL caps fix for vulkan

Original change's description:
> Revert "Improvements to GPU dither."
> 
> This reverts commit 1806e33e6a.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Improvements to GPU dither.
> > 
> > 1) Makes the range of the offset dependent on the config.
> > 
> > 2) Uses an ordered dither on GPUs that support integers in shaders.
> > 
> > 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
> > 
> > 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
> > 
> > Bug: skia:
> > Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> > Reviewed-on: https://skia-review.googlesource.com/23485
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > Reviewed-by: Robert Phillips <robertphillips@google.com>
> 
> TBR=bsalomon@google.com,robertphillips@google.com
> 
> Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: skia:
> Reviewed-on: https://skia-review.googlesource.com/24325
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>

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

Change-Id: Ic38ac276c8b88b8d993a29d1fcbfe37e84becd2a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24282
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-18 20:45:35 +00:00
Ravi Mistry
312f4b24f9 Copy over private SKPs during SKP asset create command
Bug: skia:6850
Change-Id: Idaa92d2b4233b9f03a15d70cc185261f0090bab4
Reviewed-on: https://skia-review.googlesource.com/24404
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
2017-07-18 19:59:33 +00:00
Hal Canary
4f29c20f20 SkPDF: Re-use Jpeg Image Shaders
Also, de-dup shader better.

  - SkBitmapKeyFromImage function factors out image de-dup code.
  - SkPDFUtils::ToBitmap funtion factors out to-bitmap code
  - make_image_shader function now takes Image rather than Bitmap.

All tests render the same.  Some are significantly smaller PDFs.

Change-Id: Id8dd36b31c8e573f44a5e9f6058d5a1d622b6385
Reviewed-on: https://skia-review.googlesource.com/24081
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-18 19:33:34 +00:00
Ethan Nicholas
e46828675c sksl now sees vulkan caps
Bug: skia:
Change-Id: I41714d80685427a7711b000e61f7fc7e70371253
Reviewed-on: https://skia-review.googlesource.com/24182
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-07-18 18:39:08 +00:00
Jim Van Verth
b55eb28a17 Add some convexity checks to shadow code.
To address https://github.com/flutter/flutter/issues/11221.

Change-Id: I5ccd7f9eb2f3ee0d168aa4ca5474bfdfba14ca9c
Reviewed-on: https://skia-review.googlesource.com/24124
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-18 18:37:38 +00:00
Mike Klein
3b92b6907a start on raster pipeline 2d mode
- Add run_2d(x,y,w,h) and start_pipeline_2d().
  - Add and test a 2d-compatible store_8888_2d stage.

Change-Id: Ib9c225d1b8cb40471ae4333df1d06eec4d506f8a
Reviewed-on: https://skia-review.googlesource.com/24401
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
2017-07-18 18:34:04 +00:00
Chris Dalton
135e446b9f vk: Fix geometry-shader input varying locations
Bug: skia:
Change-Id: I60e0c25fa05ea53b0969fdee54620bec639ae159
Reviewed-on: https://skia-review.googlesource.com/24440
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2017-07-18 18:32:33 +00:00
Ethan Nicholas
c432b0ca8a fixed use-after-free in sksl switch statements
Bug: skia:
Change-Id: I66ef1cd2af9c654bfa40a71b2218cfde49f3a54e
Reviewed-on: https://skia-review.googlesource.com/24329
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-07-18 17:44:34 +00:00
Mike Klein
140635504c minor fixes to start_pipeline_lowp
- in _lowp.cpp, JUMPER is always defined, so no need to check.
   - the return type of this function has been void for a while.

Change-Id: I5271e8dab784f46c7ffa9cfba6eb55b5e399b537
Reviewed-on: https://skia-review.googlesource.com/24326
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-07-18 17:30:23 +00:00
Ravi Mistry
863ffef385 Do not move over webpage archives, they are needed for capturing SKPs
NoTry: true
Bug: skia:6850
Change-Id: I35ac2c10ae58561ab5424033d9bb5e14b75c526f
Reviewed-on: https://skia-review.googlesource.com/24327
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-18 17:29:14 +00:00
Chris Dalton
97598a5061 Add two test bots for coverage counting path renderer
Bug: skia:
Change-Id: Ib8e89e5e9a75d24b69c23873168fcc23f9eb5c45
Reviewed-on: https://skia-review.googlesource.com/24063
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2017-07-18 17:21:23 +00:00
Brian Salomon
38fb308f31 Revert "Improvements to GPU dither."
This reverts commit 1806e33e6a.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Improvements to GPU dither.
> 
> 1) Makes the range of the offset dependent on the config.
> 
> 2) Uses an ordered dither on GPUs that support integers in shaders.
> 
> 3) Enables dithering for all paints with dither flag when the color type of the dst is 4444
> 
> 4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).
> 
> Bug: skia:
> Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
> Reviewed-on: https://skia-review.googlesource.com/23485
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>

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

Change-Id: Ie82e88bd9032bf8eee745d32d9b57c335a8997c9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:
Reviewed-on: https://skia-review.googlesource.com/24325
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-18 17:03:24 +00:00
Brian Salomon
1806e33e6a Improvements to GPU dither.
1) Makes the range of the offset dependent on the config.

2) Uses an ordered dither on GPUs that support integers in shaders.

3) Enables dithering for all paints with dither flag when the color type of the dst is 4444

4) Dithers r,g,b and clamps to 0,a rather than dithering all four channels (same as CPU backend).

Bug: skia:
Change-Id: Ie22c3adc38c6d1dbbcd97e4b7d16fc843e392c2e
Reviewed-on: https://skia-review.googlesource.com/23485
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-07-18 16:43:23 +00:00
Mike Reed
086a427b0c guard references to SkColorTable
Bug: skia:6828
Change-Id: I0c8c78e70b118f51cb59dc45675e4ddcd4776108
Reviewed-on: https://skia-review.googlesource.com/24260
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
2017-07-18 15:50:43 +00:00
Hal Canary
918ad9d5f1 Commit Queue: add Build-Debian9-GCC-arm-Chromecast
Motivation:  This compiler configuration has a few quirks.
Change-Id: I9c50a15510f4b770f8643b21e9e7cdf57264bc50
Reviewed-on: https://skia-review.googlesource.com/24324
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-18 14:49:06 +00:00
Ethan Nicholas
07990de817 added sksl support for integerSupport cap
Bug: skia:
Change-Id: I7e33af9b845db3f862a3a21cba7f2d56e8ea2909
Reviewed-on: https://skia-review.googlesource.com/24323
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-07-18 14:23:16 +00:00
Hal Canary
9b9510a711 Revert "Revert "SkPDF: Non-outline glyphs as images""
This reverts commit 63b6f8b932.

SkPDF: Non-outline glyphs as images

    - Cache images in PDF Canon for de-duping
    - For now, rasterize at text scale.  In the future, look at CTM and
      fRasterScale.

Original CL: https://skia-review.googlesource.com/24080
BUG=chromium:705480
BUG=skia:3489
Reviewed-by: Ben Wagner <bungeman@google.com>
Change-Id: I99783df72c945cfb4b24b6d4db99418aa34e0897
Reviewed-on: https://skia-review.googlesource.com/24322
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-07-18 14:06:56 +00:00
Brian Salomon
cda20154b6 Make dither range symmetric about 0
Change-Id: I0c2eec60beb665c7dca9b9fddc00ac112a1ff2e1
Reviewed-on: https://skia-review.googlesource.com/24121
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-07-18 12:40:16 +00:00
Florin Malita
0aa492d0f4 Remove leftover Android ctable reference
TBR=

Change-Id: I6d8ed2fc2267e2a9b249b3c780495a26f0b5e1c6
Reviewed-on: https://skia-review.googlesource.com/24320
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-18 11:51:14 +00:00
Florin Malita
001e72263f Add guard to unblock the Chromium roll
TBR=

Change-Id: I87f96fb88479de770490ce4cce6ad840acb90241
Reviewed-on: https://skia-review.googlesource.com/24261
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2017-07-18 08:35:36 +00:00
Leon Scroggins III
e43fdb389f Use SkRasterPipeline to blend GIF frames and use proper offset
Mimics SkWebpCodec, but it is simpler, because each pixel is either
opaque or transparent, so blending just means using the new pixel if not
transparent.

Correct the offset when blending f16 frames. It needs to be doubled,
since the swizzler used a 4-byte format while f16 is 8-byte.

Remove an unnecessary call to sk_bzero.

Bug: skia:6750
Change-Id: I8b88d1d66bff660c98c2083031231678a7be5460
Reviewed-on: https://skia-review.googlesource.com/24240
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2017-07-18 00:04:36 +00:00
Mike Klein
ea23a04a1c add 32-bit Windows SkJumper backend
The most interesting part of this is getting the call to start_pipeline
to work.  From there it should be just like the other x86 backend.

The 32-bit calling conventions are the same across Linux/Mac and
Windows, so that's nice.  The tricky bit is that Linux and Mac
align the stack to 16 bytes, while Windows only to 4.  I think
this force_align_arg_pointer attribute on start_pipeline does the trick.

This needs a guard for layout tests.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win2k8-MSVC-GCE-CPU-AVX2-x86-Debug;master.tryserver.blink:win10_blink_rel,win7_blink_rel;master.tryserver.chromium.win:win_chromium_rel_ng

Change-Id: Ia74d22e5a4ce5483c9817b8a8f89dd21885bbd14
Reviewed-on: https://skia-review.googlesource.com/20968
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-07-17 23:57:26 +00:00
Mike Reed
26e9dddf59 Don't store colortables in pixmaps or pixelrefs
Lots more changes coming later (need to remove colortable parameters from bitmaps and pixmaps)

Bug: skia:6828
Change-Id: Ic63e89570644839fab068141f49915b3f66d1053
Reviewed-on: https://skia-review.googlesource.com/24127
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-17 23:19:09 +00:00
Mike Reed
63b6f8b932 Revert "SkPDF: Non-outline glyphs as images"
This reverts commit 3cf6b79e50.

Reason for revert: breaking build

../../../../../work/skia/src/pdf/SkPDFDevice.cpp: In member function 'void SkPDFDevice::internalDrawText(const void*, size_t, const SkScalar*, SkTextBlob::GlyphPositioning, SkPoint, const SkPaint&, const uint32_t*, uint32_t, const char*)':
../../../../../work/skia/src/pdf/SkPDFDevice.cpp:1578:31: error: missing initializer for member 'SkPoint::fX' [-Werror=missing-field-initializers]
                 SkPoint xy = {};
                               ^

Original change's description:
> SkPDF: Non-outline glyphs as images
> 
>     - Cache images in PDF Canon for de-duping
>     - For now, rasterize at text scale.  in the future, look at CTM and
>       fRasterScale.
>     - add a test that works on MacOS
> 
> BUG=chromium:705480
> BUG=skia:3489
> Change-Id: I4fbc42f218e5b81ea15ea6cdccc61c91e532f6d0
> Reviewed-on: https://skia-review.googlesource.com/24080
> Commit-Queue: Hal Canary <halcanary@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

TBR=halcanary@google.com,bungeman@google.com

Change-Id: I3d8800fcb33817c6065da0860a534eb14350d132
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:705480, skia:3489
Reviewed-on: https://skia-review.googlesource.com/24160
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-07-17 21:12:30 +00:00
Florin Malita
0983268dd5 Skip bilerp for integral-translate-only matrices
BUG=chromium:744674

Change-Id: I053a0c26b0f644faa11f469b8a6486302a5efae6
Reviewed-on: https://skia-review.googlesource.com/24126
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
2017-07-17 20:57:48 +00:00
Hal Canary
3cf6b79e50 SkPDF: Non-outline glyphs as images
- Cache images in PDF Canon for de-duping
    - For now, rasterize at text scale.  in the future, look at CTM and
      fRasterScale.
    - add a test that works on MacOS

BUG=chromium:705480
BUG=skia:3489
Change-Id: I4fbc42f218e5b81ea15ea6cdccc61c91e532f6d0
Reviewed-on: https://skia-review.googlesource.com/24080
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-07-17 20:52:08 +00:00
Mike Reed
df80e39eab remove SK_SUPPORT_LEGACY_INDEX_8_COLORTYPE for google3
Bug: skia:
Change-Id: I0469f125c9eb50370ce97287017401082066fcaf
Reviewed-on: https://skia-review.googlesource.com/24141
Reviewed-by: Mike Reed <reed@google.com>
2017-07-17 20:41:24 +00:00