Commit Graph

32608 Commits

Author SHA1 Message Date
Chris Dalton
faca00d993 ccpr: Unblacklist Mali
Bug: skia:
Change-Id: Ib0428f556d1fc22ffaa476279854847d0efc7747
Reviewed-on: https://skia-review.googlesource.com/96956
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-01-20 02:02:14 +00:00
Eric Karl
36591e5ffe Better handle context-loss in MakeBackendTextureFromSkImage
In context-loss situations, SkImage::getTexture may return nullptr,
even if SkImage::isTextureBacked() is true. Handle these cases
without crashing.

R=bsalomon@google.com

Bug: 803796
Change-Id: Ia877124160fb1893af08f839e43e3ee83c1b93ff
Reviewed-on: https://skia-review.googlesource.com/97341
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-20 01:55:14 +00:00
Mike Reed
81fe2a1413 remove some old old pict ops
Bug: skia:7512
Change-Id: I9df6f86103ce230f4a31ae6c6d9ca9c7bc6b1e75
Reviewed-on: https://skia-review.googlesource.com/97380
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-20 00:30:36 +00:00
Mike Reed
b76c717025 simplify GrFPArgs, isolating localmatrix
Bug: skia:
Change-Id: Icee24e0a355a7d1bae29b7721b4d95db8023ca77
Reviewed-on: https://skia-review.googlesource.com/97063
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-19 21:50:06 +00:00
Vladimir Levin
ad6660a639 Use equal_range for factory lookups
This patch uses equal_range instead of linear search to look up a
factory entry by name. This does require a sort, but the expected usage
is that the sort happens once and look ups happen many times.

This improves performance on Chromium's oop deserialization of
flattenables by about 10%

R=reed@chromium.org

Change-Id: I907f457a2ffb7d5b6d8261343099d982260b8415
Reviewed-on: https://skia-review.googlesource.com/96820
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
2018-01-19 21:17:56 +00:00
Florin Malita
16d0ad06b4 [skottie,sksg] Improved shape group semantics
* paints also apply to preceding nested geometries
  * path effects also apply to preceding nested geometries

TBR=
Change-Id: Ic72f8d032fb5823f506ff688630b786a23219f20
Reviewed-on: https://skia-review.googlesource.com/97222
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Florin Malita <fmalita@chromium.org>
2018-01-19 20:44:56 +00:00
Mike Reed
a99b393995 use GrFPArgs for maskfilters
Bug: skia:
Change-Id: I8516a3b0f6d8301c51f0861c65b9fe8f692fc5e5
Reviewed-on: https://skia-review.googlesource.com/97260
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-19 19:39:16 +00:00
Robert Phillips
c22e50bd31 Move more internal methods from GrContext to GrContextPriv (take 2)
Change-Id: I47108910517d61edeb52f82793d384fdb5605d45
Reviewed-on: https://skia-review.googlesource.com/97241
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-19 19:26:46 +00:00
Robert Phillips
4d12051d35 Add explicit abandoned flag to the GrProxyProvider
In the DDL world it is valid for the GrProxyProvider to not have a
GrResourceProvider so we need a separate marker for abandonment.

Change-Id: Iae18a25226d35e1152a902e17a8091e0058695f3
Reviewed-on: https://skia-review.googlesource.com/97220
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-19 19:18:16 +00:00
Greg Daniel
bd4bfa8a6e Add Android_API26 bot to CQ
Bug: skia:
Change-Id: I79bdb1ff137c488ef5d4998ffc0cc9cdc28ae9fb
Reviewed-on: https://skia-review.googlesource.com/97240
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-01-19 19:04:13 +00:00
Mike Reed
2826627187 drawimage + maskfilter bug fix
bug: we ignored maskfilter in spriteblitter case

Bug: skia:
Change-Id: I2c9423396a7a9ed3b81cd86e3a5edebbf34538db
Reviewed-on: https://skia-review.googlesource.com/96120
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-19 18:38:33 +00:00
Robert Phillips
88260b549f Split GrContext into Normal/DDL flavors
Change-Id: If37d8a236bd71e2d7121eaafb9d7c7b08328b10f
Reviewed-on: https://skia-review.googlesource.com/84863
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-19 18:36:35 +00:00
Mike Reed
9cec1bc1a7 check for crazy bounds from fuzzer
Bug: skia:7471
Change-Id: I1d6e2059a0c4f2b705d3b0fe2694f17b68c3ae5c
Reviewed-on: https://skia-review.googlesource.com/97122
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-19 18:30:13 +00:00
Hal Canary
07320e46c0 Revert "Move more internal methods from GrContext to GrContextPriv"
This reverts commit f440cecbfd.

Reason for revert: breaking android builds. 

Original change's description:
> Move more internal methods from GrContext to GrContextPriv
> 
> TBR=bsalomon@google.com
> Change-Id: Ia8cf0e0d30451c69bc7a08215aafa6abe6e0ddbe
> Reviewed-on: https://skia-review.googlesource.com/97080
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: If263f8161f0fbe3fc6ee8f34bb09e237705c3694
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/97200
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-19 18:18:24 +00:00
Hal Canary
b69a2f6644 SkQP: use bitmap.pixmap()
Change-Id: I8e372f75a1a0b32db88808b0b4d7314c7fba9cda
Reviewed-on: https://skia-review.googlesource.com/97161
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
2018-01-19 18:07:43 +00:00
Robert Phillips
f440cecbfd Move more internal methods from GrContext to GrContextPriv
TBR=bsalomon@google.com
Change-Id: Ia8cf0e0d30451c69bc7a08215aafa6abe6e0ddbe
Reviewed-on: https://skia-review.googlesource.com/97080
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-19 18:03:03 +00:00
Mike Reed
e58260031e make rrect's more self-consistent, check drawable index
Bug: skia:7403
Change-Id: Ifb8f9ffce2acb1c6f1ebc6c733ad3b6c0865409a
Reviewed-on: https://skia-review.googlesource.com/91503
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2018-01-19 17:59:13 +00:00
Leon Scroggins III
2cc7d13978 Stop defining SK_CODEC_PRINTF in debug
Too much spew during DM.

TBR=reed@google.com

Change-Id: Ifad53b1abb35d1768e83e7867f9e808df3fcaef1
Reviewed-on: https://skia-review.googlesource.com/97160
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-01-19 17:46:43 +00:00
Chris Dalton
0a94e4cc10 ccpr: Blacklist vertex shaders on ANGLE/Skylake
Bug: skia:
Change-Id: I9834fd6b819397c52f04bbd20aee5ab03944ebea
Reviewed-on: https://skia-review.googlesource.com/96944
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
2018-01-19 17:38:03 +00:00
Mike Reed
e3429e62b0 rename inner AsFPArgs to stand-alone GrFPArgs
This prepares us to share this with other effects (most notably maskfilters)

Bug: skia:
Change-Id: I12530fdf10c4e5f2a9ab6d394bf9e87c54ea60c4
Reviewed-on: https://skia-review.googlesource.com/97062
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-19 17:18:13 +00:00
Greg Daniel
59a1df225d Delete SkColorSpaceXformImageGenerator and SkImagePriv::SkMakeImageInColorSpace
These don't seem to be used by anyone anymore so lets kill them.

Bug: skia:
Change-Id: I7908a9c9357e9e3b3166af9a14899dab522c3f11
Reviewed-on: https://skia-review.googlesource.com/97144
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Greg Daniel <egdaniel@google.com>
2018-01-19 17:08:13 +00:00
Heather Miller
440f8382b0 Update Skia milestone to 66
TBR=reed@google.com

Bug: skia:
Change-Id: Ib011c6d4a6e54980d2e6e8b16a93551d99dcd948
Reviewed-on: https://skia-review.googlesource.com/97103
Reviewed-by: Heather Miller <hcm@google.com>
Commit-Queue: Heather Miller <hcm@google.com>
2018-01-19 17:07:13 +00:00
Brian Osman
cfe83d15f3 Add more asserts about MSAA render buffers and FBO 0
Bug: skia:
Change-Id: I46451b776461cc50f34fa532aa8d070fddb17852
Reviewed-on: https://skia-review.googlesource.com/97102
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-01-19 16:47:43 +00:00
Jim Van Verth
b1b80f7de4 Remove tonal color from DrawShadow internals
Bug: b/71719631
Change-Id: I676c34dfe5ea9b5e184ea53dd49a8b835d4e8cb6
Reviewed-on: https://skia-review.googlesource.com/95741
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
2018-01-19 16:32:13 +00:00
Hal Canary
8bad7e01ba SkQP: better logging
Change-Id: If0b093cfe646f5805cc4d0660c581150fbf992f4
Reviewed-on: https://skia-review.googlesource.com/96702
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-01-19 16:19:23 +00:00
Brian Osman
a9c8a05608 Be more explicit checking for render targets with MSAA render buffers
Previously, wrapping a non-0 FBO would always cause us to think it
was MSAA, causing it to be un-copyable.

Fixes https://github.com/flutter/flutter/issues/10284

Bug: skia:7412
Change-Id: If9c0f306ad8c0c3e23dee793a541a6852737f7d9
Reviewed-on: https://skia-review.googlesource.com/97100
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2018-01-19 16:07:43 +00:00
Mike Reed
5a0f345532 remove code from old picture serial guard
Bug: skia:
Change-Id: If50a76c7f570d6e88f6583d381d0354568398039
Reviewed-on: https://skia-review.googlesource.com/97060
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-19 14:30:33 +00:00
Robert Phillips
f625860554 Fix handling of red support for GalliumLLVM renderer
Change-Id: Ia4a71ca336a43dd2717a6aa4b5e254cd46406228
Reviewed-on: https://skia-review.googlesource.com/97061
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-19 14:13:53 +00:00
Update Docs
ad2cd562d9 Update markdown files
Automatic commit by the Housekeeper-Nightly-Bookmaker bot.

TBR=update-docs@skia.org
NO_MERGE_BUILDS

Change-Id: Ia4f71698390713b960689ab9d161597244bd4f5a
Reviewed-on: https://skia-review.googlesource.com/96990
Reviewed-by: Update Docs <update-docs@skia.org>
Commit-Queue: Update Docs <update-docs@skia.org>
2018-01-19 06:23:22 +00:00
Mike Reed
6e87eee2a0 add shadermaskfilter
next steps:
- gpu impl (will look a lot like shader's asFragProcessor
- special-case rect-input (?)
- explore stages w/ mtklein

Bug: skia:7500
Change-Id: I71089e421d32443a3ddded6967b3e5bc67ed43f2
Reviewed-on: https://skia-review.googlesource.com/95104
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
2018-01-18 21:24:38 +00:00
Mike Reed
e97e792c79 validate paint setters in readbuffer
Bug: skia:7425
Change-Id: I55213bc206cf5cfb8cbf4fbe8a682efd6eae59fa
Reviewed-on: https://skia-review.googlesource.com/96860
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Herb Derby <herb@google.com>
2018-01-18 21:14:19 +00:00
Chris Dalton
9ca27849d8 Extract a GrCCPathParser class that is decoupled from atlas ops
Allows coverage counts ultimately to be drawn either to an atlas or
directly to the framebuffer.

Bug: skia:
Change-Id: I6cc07fce562c223381b89586d19ae98298bafe4d
Reviewed-on: https://skia-review.googlesource.com/96083
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-18 19:46:48 +00:00
Ethan Nicholas
a583b813b9 SkSL now supports ternary lvalues
Bug: skia:
Change-Id: I859b756fe016f80c7a94f812623a16b4865204ba
Reviewed-on: https://skia-review.googlesource.com/96680
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-01-18 19:10:58 +00:00
Mike Reed
7b6ea19c9c detect fixed overflow in drawPoints
This particular test this is addressing is:

1. very large device (>32K in a test case)
2. drawPoints has special (fast) case where it converts all of the pts (rects) into fixed point
3. overflows fixed -- assert

Paths already don't draw into a device this large (they are limited by 32K I think, smaller if aa)
The (theoretical) solution for paths is to tile the draw itself. Perhaps that approach could be
applied everywhere in bitmapdevice...

This older issue sums up this idea: https://bugs.chromium.org/p/skia/issues/detail?id=2122
Will look into this general solution in a separate CL/effort.

Bug: skia:7425
Change-Id: I57f8da92df78127e6b8e42e422c43e50bb5748d6
Reviewed-on: https://skia-review.googlesource.com/96700
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
2018-01-18 19:05:18 +00:00
Mike Reed
09a57b935b check for inconsistent counts in drawTextRSXform
Bug: skia:7425
Change-Id: Iaf096124b86d34269cf926eeb2da28662ad686c5
Reviewed-on: https://skia-review.googlesource.com/96861
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-18 18:56:58 +00:00
Robert Phillips
40a29d7705 Move GrOpFlushState out of GrDrawingManager and onto the stack
Change-Id: If1b3481af7637bfed8a73d75be41c6422319951f
Reviewed-on: https://skia-review.googlesource.com/96540
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-18 18:31:58 +00:00
Hal Canary
3af7f6e2ce SkQP: fix broken JUnit tests & report output
Switches over to writing output to the sd card.

Change-Id: Ic287a741b9af471f823a7e97eb0c6d3d20f639d6
Reviewed-on: https://skia-review.googlesource.com/96380
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-01-18 17:38:20 +00:00
Mike Reed
a7f7ee96a7 turn assert into check for text
Bug: skia:7425
Change-Id: Ica173122dbe3cd1a3f94b2880a77c7e8b7e9cc8e
Reviewed-on: https://skia-review.googlesource.com/96640
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-18 16:53:48 +00:00
Ethan Nicholas
b6ba82ca0a sk_in array is now sized correctly in SPIR-V output
Bug: skia:
Change-Id: Id63c8d79a7b60485d2f4071caca245c46691c9d3
Reviewed-on: https://skia-review.googlesource.com/95780
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-01-17 21:57:27 +00:00
Brian Salomon
d8b01ad405 Remove old command buffer ES3 tex storage limitation
Change-Id: Icc7303e9a445827d9f5ccaf066439e59ec35d00e
Reviewed-on: https://skia-review.googlesource.com/95940
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-17 20:50:56 +00:00
Brian Salomon
e609e81485 Remove GrGLCaps::fTextureRedSupport
Change-Id: I585e70378beeef63466de88b5cbe4aa56c15df6e
Reviewed-on: https://skia-review.googlesource.com/95662
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
2018-01-17 20:50:47 +00:00
Ethan Nicholas
8f6c2aba63 cleaned up SkSL constant handling
Bug: skia:
Change-Id: I8131c4348f0f91bc2705e493918c4ca2d1f4867b
Reviewed-on: https://skia-review.googlesource.com/95920
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-01-17 20:09:37 +00:00
Robert Phillips
adbe132878 Remove GrSurfaceProxy::MakeWrapped (take 2)
TBR=bsalomon@google.com
Change-Id: I26fd911da502fb00addacb8b2c1a263efc5aa4ec
Reviewed-on: https://skia-review.googlesource.com/95881
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-17 19:43:57 +00:00
Mike Reed
fe266c2bce use safemath::mull for buffer sizes
Bug:780104
Change-Id: Ic683abd9c7d15ebb01b6e5d40dbeb6e76f102eff
Reviewed-on: https://skia-review.googlesource.com/95760
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Reed <reed@google.com>
2018-01-17 19:31:16 +00:00
Robert Phillips
e201ebc995 Revert "Remove GrSurfaceProxy::MakeWrapped"
This reverts commit 2ac5868f4a.

Reason for revert: Breaking Android
Original change's description:
> Remove GrSurfaceProxy::MakeWrapped
> 
> Change-Id: Ic44cf1745dc3be21cbbaa1dc4ac85c8b1b21c6bb
> Reviewed-on: https://skia-review.googlesource.com/94101
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Greg Daniel <egdaniel@google.com>

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

Change-Id: I312118106db1cf64fe959d36e65619a41d58e654
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://skia-review.googlesource.com/95860
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
2018-01-17 18:12:57 +00:00
Leon Scroggins III
b1b7f70103 Add Android ImageDecoder features to SkAnimatedImage
Bug: b/63909536
Bug: b/63908092

- Scale to an arbitrary size, using the decoding library if it supports
  it, and Skia otherwise
- Crop to a subset
- Post-processing with an SkPicture, to facilitate circle masks etc
- isRunning, to implement Animatable2 interface in Java

Change-Id: I13dbabee8e4a22e5cc193856aa3e94ce23ae4cb5
Reviewed-on: https://skia-review.googlesource.com/94660
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Leon Scroggins <scroggo@google.com>
2018-01-17 17:46:17 +00:00
Ethan Nicholas
9d8abc5816 fixed type error in RTAdjust application
Bug: skia:
Change-Id: I94ba5853812659920bba781ae983fc9fbb647f9c
Reviewed-on: https://skia-review.googlesource.com/95082
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
2018-01-17 17:46:02 +00:00
Robert Phillips
2ac5868f4a Remove GrSurfaceProxy::MakeWrapped
Change-Id: Ic44cf1745dc3be21cbbaa1dc4ac85c8b1b21c6bb
Reviewed-on: https://skia-review.googlesource.com/94101
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-17 17:40:47 +00:00
Mike Reed
8008df1080 handle large rects, rename helper
To fix gm/bigrect, needed to do adjust "largest" rect so it doesn't become empty when round-tripping with SkRect/SkIRect.
I renamed it after this.

Bug: skia:
Change-Id: I747782c8456da603cf298275d2300ea1996e7629
Reviewed-on: https://skia-review.googlesource.com/95563
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
2018-01-17 17:38:57 +00:00
Yuqian Li
33a86560ce Reuse the CPU 2pt conical code in the GPU backend
Bug: skia:
Change-Id: I7e58c4faee018138ae6f93e92850a4e0a0126854
Reviewed-on: https://skia-review.googlesource.com/94041
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2018-01-17 17:27:16 +00:00