What steps will reproduce the problem?(1) Specify a CSS gradient that has more than 8 intervals, with at least one hard stop to make it obvious
(2) Apply the gradient to a fairly large div so that it is stretched
(3) Notice the blurred edge of the hard stop
What is the expected result?
The gradient should have a non-blurred hard stop.
What happens instead?
While the GPU analytic gradient updates from https://skia-review.googlesource.com/c/skia/+/157569 fix many of the common gradient cases, it is limited to gradients that have less than 8 intervals (9 - 16 total colors). When exceeding these conditions, all platforms fall back to the prior texture gradient implementation. Gradients that have very small intervals rendered on platforms without 32-bit floats also fall back to the textured gradient, regardless of the color count.
--
This issue also tracks a number of older bugs that are now fixed in the common case, but can still occur if their examples are updated to use gradients that trigger the texture fallback: #414254, #696603, #729727, #796479
--
This is also the source of the rendering defect in #863890, which will go away automatically if the texture fallback is no longer needed.
What steps will reproduce the problem?(1) Specify a CSS gradient that has more than 8 intervals, with at least one hard stop to make it obvious
(2) Apply the gradient to a fairly large div so that it is stretched
(3) Notice the blurred edge of the hard stop
What is the expected result?
The gradient should have a non-blurred hard stop.
What happens instead?
While the GPU analytic gradient updates from https://skia-review.googlesource.com/c/skia/+/157569 fix many of the common gradient cases, it is limited to gradients that have less than 8 intervals (9 - 16 total colors). When exceeding these conditions, all platforms fall back to the prior texture gradient implementation. Gradients that have very small intervals rendered on platforms without 32-bit floats also fall back to the textured gradient, regardless of the color count.
--
This issue also tracks a number of older bugs that are now fixed in the common case, but can still occur if their examples are updated to use gradients that trigger the texture fallback: issue #414254, bug #696603, 729727, issue 796479
--
This is also the source of the rendering defect in bug 863890, which will go away automatically if the texture fallback is no longer needed.
What steps will reproduce the problem?(1) Specify a CSS gradient that has more than 8 intervals, with at least one hard stop to make it obvious
(2) Apply the gradient to a fairly large div so that it is stretched
(3) Notice the blurred edge of the hard stop
What is the expected result?
The gradient should have a non-blurred hard stop.
What happens instead?
While the GPU analytic gradient updates from https://skia-review.googlesource.com/c/skia/+/157569 fix many of the common gradient cases, it is limited to gradients that have less than 8 intervals (9 - 16 total colors). When exceeding these conditions, all platforms fall back to the prior texture gradient implementation. Gradients that have very small intervals rendered on platforms without 32-bit floats also fall back to the textured gradient, regardless of the color count.
--
This issue also tracks a number of older bugs that are now fixed in the common case, but can still occur if their examples are updated to use gradients that trigger the texture fallback: 414254, 696603, 729727, 796479
--
This is also the source of the rendering defect in 863890, which will go away automatically if the texture fallback is no longer needed.
What steps will reproduce the problem?(1) Specify a CSS gradient that has more than 8 intervals, with at least one hard stop to make it obvious
(2) Apply the gradient to a fairly large div so that it is stretched
(3) Notice the blurred edge of the hard stop
What is the expected result?
The gradient should have a non-blurred hard stop.
What happens instead?
While the GPU analytic gradient updates from https://skia-review.googlesource.com/c/skia/+/157569 fix many of the common gradient cases, it is limited to gradients that have less than 8 intervals (9 - 16 total colors). When exceeding these conditions, all platforms fall back to the prior texture gradient implementation. Gradients that have very small intervals rendered on platforms without 32-bit floats also fall back to the textured gradient, regardless of the color count.
--
This issue also tracks a number of older bugs that are now fixed in the common case, but can still occur if their examples are updated to use gradients that trigger the texture fallback: issue 414254, 696603, 729727, 796479
--
This is also the source of the rendering defect in 863890, which will go away automatically if the texture fallback is no longer needed.
What steps will reproduce the problem?(1) Specify a CSS gradient that has more than 8 intervals, with at least one hard stop to make it obvious
(2) Apply the gradient to a fairly large div so that it is stretched
(3) Notice the blurred edge of the hard stop
What is the expected result?
The gradient should have a non-blurred hard stop.
What happens instead?
While the GPU analytic gradient updates from https://skia-review.googlesource.com/c/skia/+/157569 fix many of the common gradient cases, it is limited to gradients that have less than 8 intervals (9 - 16 total colors). When exceeding these conditions, all platforms fall back to the prior texture gradient implementation. Gradients that have very small intervals rendered on platforms without 32-bit floats also fall back to the textured gradient, regardless of the color count.
--
This issue also tracks a number of older bugs that are now fixed in the common case, but can still occur if their examples are updated to use gradients that trigger the texture fallback: issues 414254, 696603, 729727, 796479
--
This is also the source of the rendering defect in issue 863890, which will go away automatically if the texture fallback is no longer needed.
Note that the blurred gradients found in issue 887971 are not caused by the texture fallback, but from where the gradient is rendered and how it is applied as a background image.
Comment 1 Deleted