Commit Graph

27159 Commits

Author SHA1 Message Date
Ben Wagner
e0a34e7dcd Only set dw antialias mode to grayscale for A8.
The previous code would also set 'grayscale' for aliased which would
then cause the code to use the new renderer, which has issues with
aliased glyphs.

BUG=skia:5416

Change-Id: Ia856322b59d0eba258522d73c3a4d827ab4429e1
Reviewed-on: https://skia-review.googlesource.com/9834
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-03-17 16:01:11 +00:00
Brian Salomon
d02b6f331b Make dstreadshuffle not crash in with --preAbandonGpuContext and look better in 565
BUG=skia:6386

Change-Id: I90578f57ba7076d65e6d8ebe61ec325ebba8e35d
Reviewed-on: https://skia-review.googlesource.com/9828
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-17 15:26:02 +00:00
Herb Derby
2fb3662364 Fix overflow bug in slow span.
Fix an overflow in the address calculation in the sampler.

BUG=chromium:700836

Change-Id: Ifadbdc9541138219e8aec08c1342a241da75705c
Reviewed-on: https://skia-review.googlesource.com/9815
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Herb Derby <herb@google.com>
2017-03-17 14:39:20 +00:00
Brian Osman
9bc39bbd1a Add highp to specular lighting intermediate to fix iOS bots
Looks like math was over/under-flowing at default precision, leading to garbage output. This appears to be the minimal change to fix it.

BUG=skia:

Change-Id: I9381dea380be0d8f5af1e765f4ed1403b0ceac70
Reviewed-on: https://skia-review.googlesource.com/9827
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2017-03-17 14:33:04 +00:00
Mike Reed
e88a1cb20e Revert[2] "More SkVertices implementation work""
The fix was to release the array of vertices in the picturerecorder
destructor (where we also release textblobs etc.

This reverts commit 1eb3fef136.

BUG=skia:

Change-Id: I3bf4acd6ad209205b0832a3cb7f94cd89dfcefc5
Reviewed-on: https://skia-review.googlesource.com/9826
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-17 14:27:33 +00:00
Brian Salomon
a392dbaa99 Revert "Revert "Revert "Revert "Detect Chrome either by renderer or version strings.""""
Fixes issue with usage of sscanf.

This reverts commit fd47ca5cea.

Change-Id: Ie2e462a353a19d74eb18715ef44c14d1198fb5f8
Reviewed-on: https://skia-review.googlesource.com/9814
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-03-17 13:24:59 +00:00
Mike Reed
1eb3fef136 Revert "More SkVertices implementation work"
This reverts commit 14583e11fd.

Reason for revert: leaking

Direct leak of 499104 byte(s) in 2112 object(s) allocated from:
    #0 0x1e195f0 in operator new(unsigned long) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x1e195f0)
    #1 0x3142b0a in SkVertices::Builder::init(SkCanvas::VertexMode, int, int, SkVertices::Sizes const&) (/b/swarm_slave/w/irazbR79/out/Debug/dm+0x3142b0a)


Original change's description:
> More SkVertices implementation work
> 
> - change virtuals to take const SkVertices*, as we do for TextBobs and Images
> - override onDrawVerticesObject in recording canvases
> - deserialize raw-vertices into SkVertices object
> 
> Possibly a follow-on would intercept the raw-form directly in canvas,
> and remove the virtual, and only support the object form.
> 
> BUG=skia:6366
> 
> Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0
> Reviewed-on: https://skia-review.googlesource.com/9633
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> 

TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6366

Change-Id: I40bb7a20698ef6aa0a9ef71a3d6ac4c1473e081c
Reviewed-on: https://skia-review.googlesource.com/9825
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-17 13:09:52 +00:00
Eric Boren
73e21af213 Revert "Add color spin test for SkColorSpaceXformCanvas"
This reverts commit cb01aec63b.

Reason for revert: Breaks Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-SK_USE_DISCARDABLE_SCALEDIMAGECACHE

Original change's description:
> Add color spin test for SkColorSpaceXformCanvas
> 
> Also changes behavior to treat nullptr srcs as sRGB.
> 
> Testing locally, it looks like 353 gms have no diffs from 8888.
> There are 269 diffs - some are fine (gms that do color space stuff)
> and some are bugs.
> 
> BUG=skia:
> 
> Change-Id: I55c2825f4f4b857e0b0a0ec050c6db82ac881492
> Reviewed-on: https://skia-review.googlesource.com/9738
> Reviewed-by: Brian Osman <brianosman@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
> 

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

Change-Id: I70bb69f747b863d267494e37a60888a51ab0184c
Reviewed-on: https://skia-review.googlesource.com/9823
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-03-17 11:52:14 +00:00
Mike Reed
14583e11fd More SkVertices implementation work
- change virtuals to take const SkVertices*, as we do for TextBobs and Images
- override onDrawVerticesObject in recording canvases
- deserialize raw-vertices into SkVertices object

Possibly a follow-on would intercept the raw-form directly in canvas,
and remove the virtual, and only support the object form.

BUG=skia:6366

Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0
Reviewed-on: https://skia-review.googlesource.com/9633
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-17 11:03:38 +00:00
Ben Wagner
dea7428b96 Enable Bazel build for ppc and arm.
External portion of internal cl/150002340.

NOTRY=true

Change-Id: Ic42ccd80bd26546b523fbdde058d8b0ee29d65f5
Reviewed-on: https://skia-review.googlesource.com/9821
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-03-16 23:18:57 +00:00
Kevin Lubick
8627124006 Reboot PixelCs before every task
Just like the NexusPlayers, swarming can't reboot the PixelCs. This may
be causing the strange state we see in tasks like:
https://chromium-swarm.appspot.com/task?id=34ed0f1bdcd5a610&refresh=10



BUG=skia:

Change-Id: Icb0b4a5564d34093abb463ca8ef5da43d066db4a
Reviewed-on: https://skia-review.googlesource.com/9818
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-03-16 20:43:11 +00:00
Mike Reed
5fa6645dbe remove unused VerticesFlags
Deferring removing the flags parameter from the virtuals until a
later CL (as it collides with another related CL)

BUG=skia:6366

Change-Id: I817fae3df03ecebe5ec3532f691ed06deab890e6
Reviewed-on: https://skia-review.googlesource.com/9739
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-16 20:08:50 +00:00
Brian Salomon
c48af93460 Revert "Remove GrPipeline from GrDrawOp."
This reverts commit 2bf4b3a97b.

Reason for revert: nanobench assertion

Original change's description:
> Remove GrPipeline from GrDrawOp.
> 
> GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering.
> 
> GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs.
> 
> NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder.
> 
> The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes.
> 
> Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff
> Reviewed-on: https://skia-review.googlesource.com/7279
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1bc64f6cbbd5f482417637a034342c2b5371dc5c
Reviewed-on: https://skia-review.googlesource.com/9817
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 19:51:55 +00:00
Herb Derby
a839fc0b63 Add Chromium's fuzz_fileter_fuzz to skia.
Move the fuzzer in
chromium/src/skia/tools/filter_fuzz_stub/filter_fuzz_stub.cc
to Skia's fuzzer.

I recommend removing filter_fuzz_stub from chromium and only
using Skia's fuzzer.

BUG=chromium:700836

Change-Id: Ibab1a9b696e54a3042ee61f5524d196c12df2888
Reviewed-on: https://skia-review.googlesource.com/9802
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-03-16 19:25:57 +00:00
Brian Salomon
fd47ca5cea Revert "Revert "Revert "Detect Chrome either by renderer or version strings."""
This reverts commit c551fa4218.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Revert "Detect Chrome either by renderer or version strings.""
> 
> This reverts commit 1165b1ef6f.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Revert "Detect Chrome either by renderer or version strings."
> > 
> > This reverts commit be4eed2ef7.
> > 
> > Reason for revert: <INSERT REASONING HERE>
> > 
> > Original change's description:
> > > Detect Chrome either by renderer or version strings.
> > > 
> > > We currently detect Chrome by GL_RENDERER. In anticipation of changes in Chrome to no longer override the renderer string we now also check the version string.
> > > 
> > > Change-Id: Ice4ac3ae8ced5ac3d8fd2099300f0a3285f9c197
> > > Reviewed-on: https://skia-review.googlesource.com/9807
> > > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > > 
> > 
> > TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > 
> > Change-Id: I0100ce266ca9bf7b71a752495e509e67ff323870
> > Reviewed-on: https://skia-review.googlesource.com/9811
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > 
> 
> TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: I43acf948b4f2339a79abc2b5c4e2bb3183a3c350
> Reviewed-on: https://skia-review.googlesource.com/9812
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> 

TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ifc458640f05c87861909530c8901ad2d7e3e1f6c
Reviewed-on: https://skia-review.googlesource.com/9813
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 19:22:14 +00:00
Brian Salomon
c551fa4218 Revert "Revert "Detect Chrome either by renderer or version strings.""
This reverts commit 1165b1ef6f.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Revert "Detect Chrome either by renderer or version strings."
> 
> This reverts commit be4eed2ef7.
> 
> Reason for revert: <INSERT REASONING HERE>
> 
> Original change's description:
> > Detect Chrome either by renderer or version strings.
> > 
> > We currently detect Chrome by GL_RENDERER. In anticipation of changes in Chrome to no longer override the renderer string we now also check the version string.
> > 
> > Change-Id: Ice4ac3ae8ced5ac3d8fd2099300f0a3285f9c197
> > Reviewed-on: https://skia-review.googlesource.com/9807
> > Reviewed-by: Greg Daniel <egdaniel@google.com>
> > Commit-Queue: Brian Salomon <bsalomon@google.com>
> > 
> 
> TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> 
> Change-Id: I0100ce266ca9bf7b71a752495e509e67ff323870
> Reviewed-on: https://skia-review.googlesource.com/9811
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> 

TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I43acf948b4f2339a79abc2b5c4e2bb3183a3c350
Reviewed-on: https://skia-review.googlesource.com/9812
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 19:20:53 +00:00
Mike Reed
aa9e3326f7 Revert[4] "store vertices arrays inline with object""""
This reverts commit 0c492cfe17.

BUG=skia:

Change-Id: I63bce834fee6dd6f043b3889ac4ec287dd03d2e6
Reviewed-on: https://skia-review.googlesource.com/9809
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-16 19:17:11 +00:00
Brian Salomon
2bf4b3a97b Remove GrPipeline from GrDrawOp.
GrDrawOp subclasses are now free to construct their pipelines at flush time and now in theory could use multiple GrPipelines for multipass rendering.

GrProcessorSet may be used to retain the processors from a GrPaint with "pending execution" style refs.

NVPR and Instanced rendering are updated to create their pipelines at flush time without a GrPipelineBuilder.

The monolithic pipeline creation/management that was on GrDrawOp is moved to GrMeshDrawOp. However, this is temporary and will be removed in coming changes.

Change-Id: I124282e3cea5d070970b5460c8a679fcaf7a8eff
Reviewed-on: https://skia-review.googlesource.com/7279
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-03-16 19:10:15 +00:00
Brian Salomon
1165b1ef6f Revert "Detect Chrome either by renderer or version strings."
This reverts commit be4eed2ef7.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Detect Chrome either by renderer or version strings.
> 
> We currently detect Chrome by GL_RENDERER. In anticipation of changes in Chrome to no longer override the renderer string we now also check the version string.
> 
> Change-Id: Ice4ac3ae8ced5ac3d8fd2099300f0a3285f9c197
> Reviewed-on: https://skia-review.googlesource.com/9807
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> 

TBR=egdaniel@google.com,bsalomon@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I0100ce266ca9bf7b71a752495e509e67ff323870
Reviewed-on: https://skia-review.googlesource.com/9811
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 19:04:04 +00:00
Brian Salomon
be4eed2ef7 Detect Chrome either by renderer or version strings.
We currently detect Chrome by GL_RENDERER. In anticipation of changes in Chrome to no longer override the renderer string we now also check the version string.

Change-Id: Ice4ac3ae8ced5ac3d8fd2099300f0a3285f9c197
Reviewed-on: https://skia-review.googlesource.com/9807
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 18:07:17 +00:00
Ben Wagner
22253064ce Support pixel antialising in DirectWrite.
DirectWrite2 supports pixel antialiasing and rendering without hinting.
To maintain the infered size based decisions of the previous rendering,
only use the new renderer when it is needed.

BUG=skia:5416

Change-Id: Ia87fdf8fc91dc7ff0f0ce4284c90a5d79045308f
Reviewed-on: https://skia-review.googlesource.com/9805
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-03-16 18:00:40 +00:00
Ethan Nicholas
dc3c336c84 fixed missing dependency in spirv-tools/BUILD.gn
Change-Id: Ib0381e2bc10649e62d3fb8ddfc34be46537a2e5b
Reviewed-on: https://skia-review.googlesource.com/9804
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-03-16 16:58:48 +00:00
Brian Salomon
510dd42a63 In GrClipStackClip check whether op bounds are inside RT before checking for empty clip stack.
Also fixes the bounds of aa bevel stroked rectangles.

Change-Id: I4c80deb9066ebbf9514ce3d4b270ff566bf12e02
Reviewed-on: https://skia-review.googlesource.com/9786
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
2017-03-16 16:58:06 +00:00
Mike Reed
0c492cfe17 Revert[3] "store vertices arrays inline with object"""
This reverts commit 7d9f9e3020.

Reason for revert: speculative revert to try to fix google3

Original change's description:
> Revert[2] "store vertices arrays inline with object""
> 
> This reverts commit 9e62df6ecd.
> 
> Reason for revert: behavior in reader32 fixed
> 
> Fix is here: https://skia-review.googlesource.com/c/9729/
> 
> Original change's description:
> > Revert "store vertices arrays inline with object"
> > 
> > This reverts commit eaaebb19a1.
> > 
> > Reason for revert: may call SkReader32::read(null, 0) -- reader needs to handle this
> > 
> > Original change's description:
> > > store vertices arrays inline with object
> > > 
> > > Also unify some of naming (esp. around texCoords)
> > > 
> > > BUG=skia:6366
> > > 
> > > Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f
> > > Reviewed-on: https://skia-review.googlesource.com/9705
> > > Commit-Queue: Mike Reed <reed@google.com>
> > > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > > 
> > 
> > TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=skia:6366
> > 
> > Change-Id: Ie421654bcd74d74f8be6676291e3d6e16e2a7a16
> > Reviewed-on: https://skia-review.googlesource.com/9727
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> > 
> 
> TBR=bsalomon@google.com,reviews@skia.org,reed@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:6366
> 
> Change-Id: I1f12108fff8f551d66455cfadd6d5dd9412e9aa8
> Reviewed-on: https://skia-review.googlesource.com/9760
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> 

TBR=bsalomon@google.com,reviews@skia.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6366

Change-Id: Ie23130a07fbecd5664e37291bc167008a6b496bc
Reviewed-on: https://skia-review.googlesource.com/9806
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-16 16:44:39 +00:00
Ben Wagner
3fe326114a Marker for AMD driver update.
BUG=skia:6317
NOTRY=true

Change-Id: I2a02d069f8414a4f45b5b9eb48ae12167e210b97
Reviewed-on: https://skia-review.googlesource.com/9803
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
2017-03-16 16:16:55 +00:00
Ethan Nicholas
ceb9905003 turned off SPIR-V validation on ASAN bots
BUG=skia:

Change-Id: Ia86abbc5f0922a4818075c487c76b6fb0560a6c8
Reviewed-on: https://skia-review.googlesource.com/9800
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2017-03-16 16:15:14 +00:00
Yuqian Li
9e9188f84b Revert "Remove budgeted parameter from SkSurface::makeImageSnapshot"
This reverts commit b64bcbdc3a.

Reason for revert: 

Android build failed as shown below.

frameworks/base/libs/hwui/VkLayer.cpp:32:41: error: too many arguments to function call, expected 0, have 1
    mImage = surface->makeImageSnapshot(SkBudgeted::kNo);

Original change's description:
> Remove budgeted parameter from SkSurface::makeImageSnapshot
> 
> This unused feature complicates MDB.
> 
> Chrome compiles locally for me with this CL.
> 
> Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72
> Reviewed-on: https://skia-review.googlesource.com/9734
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Iae6e313c15b2352bd0d4fc7b5629de0a51ac398e
Reviewed-on: https://skia-review.googlesource.com/9788
Reviewed-by: Yuqian Li <liyuqian@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>
2017-03-16 15:05:04 +00:00
Ethan Nicholas
a6ae1f7cda wired up SPIR-V validator
Change-Id: I33dfd5e7ea3ea048b88c6db2f14389b16a0af7c8
Reviewed-on: https://skia-review.googlesource.com/9688
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
2017-03-16 14:42:20 +00:00
Mike Klein
3338914bc7 Support all gradient types in SkColorSpaceXformCanvas.
This shader introspection still doesn't seem like the right way to go,
but while we've got it might as well fill in the rest of gradient types.

These are low-hanging and among the most egregious gbr-8888/8888 diffs.

Change-Id: Iaee67b615e49873c3aa8e2a67396a311efa75060
Reviewed-on: https://skia-review.googlesource.com/9746
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-16 14:20:50 +00:00
Brian Salomon
859621fadb Outset dst texture bounds by a pixel to fix corruption in dstreadshuffle.
BUG=skia:6380

Change-Id: I90ed1a6e942bcc44f246795aeb8f87922e0ddddf
Reviewed-on: https://skia-review.googlesource.com/9785
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 14:02:34 +00:00
Robert Phillips
b64bcbdc3a Remove budgeted parameter from SkSurface::makeImageSnapshot
This unused feature complicates MDB.

Chrome compiles locally for me with this CL.

Change-Id: I611e464885fb984030eace43ead42cf39d0e7f72
Reviewed-on: https://skia-review.googlesource.com/9734
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-16 13:36:06 +00:00
Christopher Cameron
755a2c6b42 Add SK_API to SkCreateColorSpaceXformCanvas
BUG=skia:6242

API change just makes already public API actually accessible.

TBR=reed@google.com

Change-Id: I72f9271db5f14e6fc35628bed5e16b01b304de4c
Reviewed-on: https://skia-review.googlesource.com/9743
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
2017-03-16 13:35:49 +00:00
Jim Van Verth
830104632f Rename GrAADistanceFieldPathRenderer to GrSmallPathRenderer
Also disables use of small distance fields in Android framework.

Change-Id: I1ba40ce85aa34d067608587e1fbe1d42e8a42868
Reviewed-on: https://skia-review.googlesource.com/9731
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
2017-03-16 13:22:31 +00:00
Brian Salomon
69225d0250 Make SkTArray not allocate unless reserve or initial count > 0
This also makes it so that it doesn't shrink back into preallocated storage and therefore doesn't need to store the reserve count.

Change-Id: Ia320fed04c329641a5494947db39cefd2fb6d80f
Reviewed-on: https://skia-review.googlesource.com/9531
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2017-03-16 13:08:04 +00:00
Robert Phillips
0c984a0af3 More pre-emptive proxification
These methods are not called yet. This CL is broken out of: https://skia-review.googlesource.com/c/8823/ (Remove GrFragmentProcessor-derived class' GrTexture-based ctors)

Change-Id: I2bf38202750e91e66a8044a790ccfe34d59e08a7
Reviewed-on: https://skia-review.googlesource.com/9683
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2017-03-16 12:31:50 +00:00
Hal Canary
f49b1e0ad9 FuzzCanvas: only valid ChannelSelectors
BUG=skia:6374
Change-Id: Idf925dbe32298672d7e5debb7e95499269d93706
Reviewed-on: https://skia-review.googlesource.com/9781
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2017-03-16 11:51:54 +00:00
Robert Iannucci
2ba659e85f Update recipes.py to f605e5c0bc2e748170ca851383cb552c7225316b
This will enable it to be compatible with both the textpb and
upcoming jsonpb form of recipes.cfg.

BUG=chromium:699379

Change-Id: Ieabf2b0c3e41bbb250e987a90902ee1bdb71b73d
Reviewed-on: https://skia-review.googlesource.com/9749
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2017-03-16 11:50:07 +00:00
Mike Reed
b66fa526b8 Revert "Support pixel antialising in DirectWrite."
This reverts commit 34db1eee20.

Reason for revert: breaks the chrome roll

E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
        GaspRange range{bitmapPPEM, bitmapPPEM, 0};
                                                ^
                                                {}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(287,49):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
        GaspRange range{bitmapPPEM, bitmapPPEM, 0};
                                                ^
                                                {}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
                range = GaspRange{bitmapPPEM, bitmapPPEM, 0};
                                                          ^
                                                          {}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(290,59):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
                range = GaspRange{bitmapPPEM, bitmapPPEM, 0};
                                                          ^
                                                          {}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
        GaspRange range = {0, 0xFFFF, 0};
                                      ^
                                      {}
E:\b\c\b\win_clang\src\third_party\skia\src\ports\SkScalerContext_win_dw.cpp(338,39):  error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
        GaspRange range = {0, 0xFFFF, 0};
                                      ^
                                      {}


Original change's description:
> Support pixel antialising in DirectWrite.
> 
> DirectWrite2 supports pixel antialiasing and rendering without hinting.
> 
> BUG=skia:5416
> 
> Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431
> Reviewed-on: https://skia-review.googlesource.com/9145
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Ben Wagner <bungeman@google.com>
> 

TBR=mtklein@google.com,bungeman@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5416

Change-Id: Ic5f09abc3be8dd85d213a007780b3fe15fc11d92
Reviewed-on: https://skia-review.googlesource.com/9747
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-15 23:51:33 +00:00
Mike Reed
5eefb853c6 remove legacy clipop names
BUG=skia:

Change-Id: Ie34288ef77554eefe726a1bc07a64d0972785004
Reviewed-on: https://skia-review.googlesource.com/9784
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-15 23:44:46 +00:00
Ben Wagner
34db1eee20 Support pixel antialising in DirectWrite.
DirectWrite2 supports pixel antialiasing and rendering without hinting.

BUG=skia:5416

Change-Id: I215245b20dd403669dbccd37e34cb2fcd5e06431
Reviewed-on: https://skia-review.googlesource.com/9145
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
2017-03-15 21:38:10 +00:00
Matt Sarett
cb01aec63b Add color spin test for SkColorSpaceXformCanvas
Also changes behavior to treat nullptr srcs as sRGB.

Testing locally, it looks like 353 gms have no diffs from 8888.
There are 269 diffs - some are fine (gms that do color space stuff)
and some are bugs.

BUG=skia:

Change-Id: I55c2825f4f4b857e0b0a0ec050c6db82ac881492
Reviewed-on: https://skia-review.googlesource.com/9738
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
2017-03-15 21:17:18 +00:00
Brian Salomon
8336e949b8 Make dstreadshuffle GM more visually comprehensible
Change-Id: I1f42f474fb753e3dfbb574864f0279f139dce7e9
Reviewed-on: https://skia-review.googlesource.com/9732
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2017-03-15 20:55:11 +00:00
Hal Canary
0361d49e2a FuzzCanvas: make fuzzing drawImgNine easier
Change-Id: I82c8723d0b9192008b323f65232054d9acafddcc
Reviewed-on: https://skia-review.googlesource.com/9724
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-03-15 20:45:04 +00:00
Hal Canary
0b83319b7f SkDynamicMemoryWStream::detachAsStream() returns unique_ptr
https://crrev.com/2747183002 must land first.
Change-Id: I65d1285a24d63c2c2f18662d511dea1c399511e1
Reviewed-on: https://skia-review.googlesource.com/9682
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
2017-03-15 19:25:45 +00:00
Kevin Lubick
81538ee611 Run gen tasks
BUG=skia:
NOTRY=true

Change-Id: I2fe67029b5e4e7e1696697876f94fd10c184f728
Reviewed-on: https://skia-review.googlesource.com/9736
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2017-03-15 18:59:49 +00:00
Hal Canary
44801cac9a FuzzCanvas: NativeGLCanvas
Change-Id: I7e032d19a5d464e0c46e76acac399786dd79b735
Reviewed-on: https://skia-review.googlesource.com/9721
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2017-03-15 18:50:38 +00:00
Robert Phillips
18ea816aad Revert "Add pre-Flush callback to GrDrawingManager"
This reverts commit d222ec492f.

Reason for revert: TegraX1 Vulkan bot

Original change's description:
> Add pre-Flush callback to GrDrawingManager
> 
> This will allow internal systems (e.g., fonts & path renderers) to create pre-flush atlases.
> 
> Depends on: https://skia-review.googlesource.com/c/8988/ (Allow GrSurfaceProxy-derived classes to use flags when instantiating)
> 
> Change-Id: I307796595d651cf376838bff1f9e4385c3753547
> Reviewed-on: https://skia-review.googlesource.com/8679
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> 

TBR=bsalomon@google.com,robertphillips@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I852648adc12d2aa58cd09c57d961c340d657776c
Reviewed-on: https://skia-review.googlesource.com/9735
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-15 18:41:31 +00:00
Mike Klein
d492db941a SkColorSpaceXformCanvas: simple support for shaders
So far it looks like we can hit the major shader subclasses without
needing to add new calls to SkShader.  Not married to this approach,
but it's a big head start.

I've left out nonlinear gradient types just to keep this CL clear.
Will follow up with them... they won't be interestingly different.

Change-Id: I8711ff464f384d8be1671c139ba10a20502d9c0f
Reviewed-on: https://skia-review.googlesource.com/9742
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2017-03-15 18:41:10 +00:00
Mike Reed
7d9f9e3020 Revert[2] "store vertices arrays inline with object""
This reverts commit 9e62df6ecd.

Reason for revert: behavior in reader32 fixed

Fix is here: https://skia-review.googlesource.com/c/9729/

Original change's description:
> Revert "store vertices arrays inline with object"
> 
> This reverts commit eaaebb19a1.
> 
> Reason for revert: may call SkReader32::read(null, 0) -- reader needs to handle this
> 
> Original change's description:
> > store vertices arrays inline with object
> > 
> > Also unify some of naming (esp. around texCoords)
> > 
> > BUG=skia:6366
> > 
> > Change-Id: I5a6793f029cccf0cd0a2c1d180b259ce4eab526f
> > Reviewed-on: https://skia-review.googlesource.com/9705
> > Commit-Queue: Mike Reed <reed@google.com>
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > 
> 
> TBR=bsalomon@google.com,reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:6366
> 
> Change-Id: Ie421654bcd74d74f8be6676291e3d6e16e2a7a16
> Reviewed-on: https://skia-review.googlesource.com/9727
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
> 

TBR=bsalomon@google.com,reviews@skia.org,reed@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:6366

Change-Id: I1f12108fff8f551d66455cfadd6d5dd9412e9aa8
Reviewed-on: https://skia-review.googlesource.com/9760
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2017-03-15 18:35:18 +00:00
Robert Phillips
a4c41b3e83 Push setMipColorMode calls further down-stack & add to GrTextureProxy
setMipColorMode seems like an odd call. 

Change-Id: I24a1ac3883d52499f3be27282d006144d15b26f1
Reviewed-on: https://skia-review.googlesource.com/9725
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2017-03-15 18:34:32 +00:00