Found by static analysis.
Change-Id: I566da96938a735d29acc854cd700fcb944bc09fc
Reviewed-on: https://skia-review.googlesource.com/8026
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Multiple ambient and spot shadows can be cached for each geometry.
Spot shadows can be reused when x,y light offset is different.
We categorize spot shadows for rrects as either transparent, opaque with partial umbra occlusion, or opaque with full umbra occlusion and use that to improve cache performance.
Change-Id: Id530bdaa5092edb46c8f584979090fbb766307fc
Reviewed-on: https://skia-review.googlesource.com/7987
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Testing premul f16 is enough test coverage, and we aren't doing
this correctly right now anyways (the drawing code assumes a
premul bitmap, we would need to premultiply after the unpremul
decode).
BUG=skia:
Change-Id: I798f56db67faadd0348974453a05cd726b9a509c
Reviewed-on: https://skia-review.googlesource.com/8020
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>
Hopefully this get things pushed to and reading from directories under
com.google.dm's Documents. I've hardcoded to DM's app for now.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release
Change-Id: Iea54b3604b65551e4a486b50d6c7ea9aba26f869
Reviewed-on: https://skia-review.googlesource.com/8004
Reviewed-by: Mike Klein <mtklein@chromium.org>
Just like Android, there's enough special ceremony needed to move files
to and from iOS devices that this reads most clearly as its own flavor.
CQ_INCLUDE_TRYBOTS=skia.primary:Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release
Change-Id: I01c8e5494c364cc61e219568f022219f7c3f5fdc
Reviewed-on: https://skia-review.googlesource.com/7988
Reviewed-by: Mike Klein <mtklein@chromium.org>
Change-Id: I42a9d06a18928588347a6dea2f6150518ba29aa8
Reviewed-on: https://skia-review.googlesource.com/7886
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Some regions were being incorrectly filled due to setting
connector edges winding to zero *after* merging collinear edges.
This would cause the merge to add the wrong winding value. Putting the
adjust before the call to merge_collinear_edges() fixes the problem.
Also, some pixels were not getting coverage due the inner edge being
+1 winding. Using -2 winding for inner edges ensure the interior
regions are -1 winding, which gives coverage in more cases of
self-intersection. This required flipping the comparisons on the
intruding-vertices workaround.
BUG=skia:
Change-Id: I216fa3d30c196a6b7773637e48802f6572c993c7
Reviewed-on: https://skia-review.googlesource.com/7962
Commit-Queue: Stephan White <senorblanco@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
BUG=skia:6119
Change-Id: Id3a3042df6254e3367713b82f3b08257e0be71b1
Reviewed-on: https://skia-review.googlesource.com/7992
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
not sure about api -- perhaps it could just return the bounds, and make them 0,0,0,0 if the path
is empty -- the caller can trivially know if the path is empty themselves.
BUG=skia:
Change-Id: I2dbb861e8d981b27c5a6833643977f5bd6802217
Reviewed-on: https://skia-review.googlesource.com/7989
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Change-Id: Ice2e1aeef724595844799ee26140f653a1acb0e4
Reviewed-on: https://skia-review.googlesource.com/7985
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: I723631d1744b128350546d480201da5d4159af65
Reviewed-on: https://skia-review.googlesource.com/7983
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: I749e4fe8887f84a943cbef2c49971195ef381508
Reviewed-on: https://skia-review.googlesource.com/7980
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Long-term we probably want to have all four of these builds (arm64 for
real, arm for reference) but right now the only one we need is
arm-Release to drive Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release.
The other builds just delay getting that Test bot working.
Change-Id: Idf3d10dd9f66cc0a4c1000a1cb9295ea778827d2
Reviewed-on: https://skia-review.googlesource.com/7944
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Change-Id: I3536cf695d7dfd07862beb23f1a459ba316cf8c5
Reviewed-on: https://skia-review.googlesource.com/7943
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This replaces all GYP-based iOS bots with one new GN-based one.
Ordinarily I'd do this more incrementally but we have only one iPad.
This new bot will start very broken, but should be the quickest
to cycle builds once I get it working.
Change-Id: I41865e3ad431dea3cf023d0b33ccc88e175cf227
Reviewed-on: https://skia-review.googlesource.com/7941
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Fixes clip polygon and centroid calculation.
Clips interior umbra region against original path.
BUG=skia:6119
Change-Id: I37a740ae004c38b75405e05158d92cf9fd954eda
Reviewed-on: https://skia-review.googlesource.com/7823
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This reverts commit de4d301881.
Reason for revert: several Chrome rendering bugs on Mac
BUG=skia:
Change-Id: I492082b0b7e7c902ede4b598c5809f604d210ce1
Reviewed-on: https://skia-review.googlesource.com/7887
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
BUG=skia:6070
Change-Id: I86b3f039c27bd8287516c1db8bd1cae62888171b
Reviewed-on: https://skia-review.googlesource.com/7890
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
BUG=skia:6070
Change-Id: I02edcb0b1a98967e5d84f89a5ef578b36efadd8f
Reviewed-on: https://skia-review.googlesource.com/7825
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
This allows the ProxyTest to run on the Vulkan backend.
Change-Id: I89a3212bdc2d4a1ceb0c27d0ff60f558d7b12647
Reviewed-on: https://skia-review.googlesource.com/7880
Reviewed-by: Greg Daniel <egdaniel@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
I've only been running F16 tests in "colorImage" mode.
We really should be running our "image" tests to F16 as well - so
they can be tested with scaling, subsets, etc.
This CL fixes bugs so that we can enable those tests.
BUG=skia:
Change-Id: I8137eb4fce7ea12f2c9d233a029d946d4a63e6b0
Reviewed-on: https://skia-review.googlesource.com/7801
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
1) Transform the path center to device space before computing the shadow offset.
2) Modulate the shadow color by the color filter's output color.
3) Make the scale of path points in the spot tessellator be relative to the path centroid.
4) Clamp the shadow alphas at 1.
Change-Id: I480476df79b959f11c1eca0ba2a49a134d355cbb
Reviewed-on: https://skia-review.googlesource.com/7860
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: I11dd76fcb687e46c708feb725aef6f1102d74d0a
Reviewed-on: https://skia-review.googlesource.com/7881
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Change-Id: If882186225621af4af4b4ddae0c786ec33ff40f3
Reviewed-on: https://skia-review.googlesource.com/7643
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
With the expansion in https://skia-review.googlesource.com/c/7864/ (Add test for proactive proxy-creation failure) the ProxyTest is now failing for the PixelXL and N6p in Vulkan mode
Change-Id: Iebefa1be4f1a5deb450e1f2083a06f3f2249c382
Reviewed-on: https://skia-review.googlesource.com/7870
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
BUG=skia:6186
Change-Id: I7e76ca2c76b287e03c046076745130ebae50efbe
Reviewed-on: https://skia-review.googlesource.com/7869
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
AFAICT cc/output/gl_renderer.cc only calls SkImage:getTexture to determine the origin of the backing GrTexture. What do y'all think of this CL as a means of removing that call to getTexture?
One alternative would be to add a new entry point like:
bool SkImage::getBackendTextureDesc(GrBackendTextureDesc* desc) const;
which fills in the entire desc and returns whether the image is texture backed.
Change-Id: Idd302c0a11d69ad08e0100bcf546b3bbaa7cf27e
Reviewed-on: https://skia-review.googlesource.com/7788
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
We now expect MakeDeferred to baulk if the ultimate texture/rendertarget will not be instantiable.
Added checks for MakeWrapped too since, technically, it too can baulk.
BUG=676753
Change-Id: I3e052ebf98303fc46124272082c10f303d89da27
Reviewed-on: https://skia-review.googlesource.com/7830
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
This is a follow up to https://skia-review.googlesource.com/c/7828/ (Add more pre-checks to surfaceProxy creation)
BUG=687174
Change-Id: I97385afbdaf1881b806ee37737020564e3f4d444
Reviewed-on: https://skia-review.googlesource.com/7864
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>