Change-Id: If20a43a905ae65643d071978b345d9ff09c04cf1
Reviewed-on: https://skia-review.googlesource.com/19541
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
New version limits the workaround to unorm configs.
This reverts commit fdd117025f.
Change-Id: I47a08a0ea4cf1acd88ca3c1bf9922cf0a8d215cc
Reviewed-on: https://skia-review.googlesource.com/19490
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Now we just look at the paint to decide if the user wants to dither.
Needs this to land first:
https://skia-review.googlesource.com/c/19448/
Bug: skia:
Change-Id: I31940696e114922bcc8fb9ca3c24c2eb0a622800
Reviewed-on: https://skia-review.googlesource.com/19496
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Cause DeferredTextureImageData functionality to support low bit depth
(4444, 565) image formats (with dithering).
Updated to handle colorspace + 4444 colortype correctly.
Bug: 720105
Change-Id: Ib7e14d937849f4f6b08fda6992a240bb203d0089
Reviewed-on: https://skia-review.googlesource.com/19094
Commit-Queue: Eric Karl <ericrk@chromium.org>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This relands the original change with a modification. We should
not check for non-null pixels because this breaks the Android
hw bitmap use case.
Bug: b/62482405
Change-Id: I081412bb46754d33b69e02e5754f04a082e081ae
Reviewed-on: https://skia-review.googlesource.com/19494
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
We'll encode F16 .pngs at 16-bit linear, so don't to_srgb them.
We'll encode F16 .jpgs and .webps as 8-bit sRGB, so tag them as sRGB.
Change-Id: Ibc5b5e2d3aea68cdf1531026cbe8b6191f7e39ea
Reviewed-on: https://skia-review.googlesource.com/19498
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Even though it's in homogeneous coordinates, we still get unfortunate
artifacts if this math is not done in double precision. Prioritizing
correctness for now; we can revisit in the future as the need for
performance dictates.
Bug: skia:
Change-Id: If416ef6b70291f1454fcb9f7630d1108644ac2a5
Reviewed-on: https://skia-review.googlesource.com/19501
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
If a point in the path rounds to +inf/-inf, the intersection code can
produce NaN, which is unsortable. Fix: ignore non-finite intersections.
Quadratic interpolation can sometimes produce NaN, which will never
satisfy the flatness criterion. Abort if any of the interpolated points
are non-finite.
Bug:732023
Change-Id: If5881796e589c75b8f74459f42d00918619713a2
Reviewed-on: https://skia-review.googlesource.com/19467
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
No-Try: true
Change-Id: I4372c50b183d040e5145ac3ca665cd813da6256a
Reviewed-on: https://skia-review.googlesource.com/19497
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Bug: skia:
Change-Id: I6296fa0bd3b14ffc9ed0b3630196a794f1556299
Reviewed-on: https://skia-review.googlesource.com/19448
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
This template is only used for GrBuffers now.
Change-Id: Ia9e95576b01124657e64007231fbc0a83276e13f
Reviewed-on: https://skia-review.googlesource.com/19484
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
No behavior change here, just using the safe, non-asserting API...
Change-Id: I982079a44dad311850b383d1ef44c6f0f4d3edea
Reviewed-on: https://skia-review.googlesource.com/19486
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
This fixes some correctness issues introduced by the previous workaround in MSAA gm images. It hopefully improves performance regressions introduced in MSAA benchmarks from calling glFlush.
A comment on the workaround is updated to indicate that the original line-drop-out bug was seen on the N5 running driver 127.0. It simply showed up in different GMs that on the N7 running 127.0
Bug: skia:6755
Change-Id: Ief066fd9b223c043a80e7fe07ff13aac07a48970
Reviewed-on: https://skia-review.googlesource.com/19481
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
This logically shouldn't change anything, but it does a bit:
- no diffs in 565
- sRGB and 8888 show minor diffs, only when unpremul is non-trivial
- f16 shows minor diffs all over, and major ones in shallow gradients
I think the shallow gradient diffs make sense. F16's high-precision is
being quantized down to a much narrower range (something like 10-40
values), so where the lines are drawn between sRGB bits will come down
to all sorts of things, especially rounding.
Change-Id: I156b7c613b73d6d6089221e61d0c529798ac1f9f
Reviewed-on: https://skia-review.googlesource.com/19449
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This just cleans up an unused half->float entry point.
Change-Id: I7b869d3fd049d807453745c3cca4eab1162848d8
Reviewed-on: https://skia-review.googlesource.com/19451
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
depot_tools:
https://crrev.com/59a74ed5585087e85ff4b7fa2ac18ef3648d05b0 Add cleanup dir, use with bot_update. (dnj@chromium.org)
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: I9021158a90cb8ba0c939a45c2d480271506da65b
Reviewed-on: https://skia-review.googlesource.com/19099
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
SkArithmeticMode is unreachable, so delete it
Bug: skia:
Change-Id: Ibe4c48fcf756280569c4b302da8d96bd4e21b717
Reviewed-on: https://skia-review.googlesource.com/19394
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Centralize the clamping in ClampIfNeeded, and switch it to clamp_1.
Change-Id: I056ac029d3ddc81e3f0f194f2b9c9924cad4caae
Reviewed-on: https://skia-review.googlesource.com/19401
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Reed <reed@google.com>
This was relying on TextureSampler::proxy() which crashes if the proxy is not valid.
Bug: skia:
Change-Id: I8452f5cea3a71b5ced15259aede52a44ab152cf2
Reviewed-on: https://skia-review.googlesource.com/19403
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
enables lots of code to delete
CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD
Bug: skia:
Change-Id: I13631ead68a9232bd8c13c5ef54727f44def26ca
Reviewed-on: https://skia-review.googlesource.com/19278
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Reed <reed@google.com>
A recent change broke the case where the entire bezier is inside the
loop segment.
Bug: skia:4410
Change-Id: Ib534d459eaa4461d6760e894a8826e3019584ee8
Reviewed-on: https://skia-review.googlesource.com/19333
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
This began as cleaning up SkSpecialImage.h & spiraled out of control from there.
Change-Id: I9a570ecd2a7af9ee724ebfebe4e9185748f38bbc
Reviewed-on: https://skia-review.googlesource.com/19290
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
Change-Id: Iaded9025a1518d8c69dbe366deb1035e0bd4295b
Reviewed-on: https://skia-review.googlesource.com/19289
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Stephen White <senorblanco@chromium.org>
Bug: skia:6457 skia:6401
Change-Id: I18e45617765aa55c3a2837bb735cefc3d93fad22
Reviewed-on: https://skia-review.googlesource.com/19273
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
Bug: skia:
Change-Id: Ib9bd9083da1d8a9fa90ae7c710386e6903541fd5
Reviewed-on: https://skia-review.googlesource.com/18148
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Moves cubic root finding logic out of GrPathUtils and
PathOpsCubicIntersectionTest, and unifies it in SkGeometry.
"Normalizes" the homogeneous parameter values of the roots, rather
than the cubic inflection function. Does this normalization by
twiddling the exponents instead of division (which causes a loss of
precision).
Abandons the built-in derivatives in GrCubicEffect. These don't have
high enough precision on many mobile gpus. Instead we pass the KLM
matrix to the vertex shader via uniform, where we can use it to set up
new linear functionals from which the fragment shader can calculate
the gradient of the implicit function.
Bug: skia:4410
Change-Id: Ibd64e999520adc8cdef7803a492d3699995aef5a
Reviewed-on: https://skia-review.googlesource.com/19017
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Verified that this fixes the wrongness of a few of the colorImage
diffs in Gold.
Bug: skia:6738
Change-Id: Icf0b7573ccb87268b480d7cc0a6cfe6fa8ae73f7
Reviewed-on: https://skia-review.googlesource.com/19271
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>
This was never fully integrated with our automated image testing.
I feel it has limited usefulness in terms of catching bugs.
Bug: skia:
Change-Id: Iecd0a4e9b664ab0b351debde45ada864379de7ec
Reviewed-on: https://skia-review.googlesource.com/19267
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>