Bug 151703 - Impress slide show loses 'Linear' and 'Axial' formatted background gradients if Skia enabled
Summary: Impress slide show loses 'Linear' and 'Axial' formatted background gradients ...
Status: RESOLVED DUPLICATE of bug 147645
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
7.3.6.2 release
Hardware: All Windows (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Impress-Gradient Slide-Show Skia
  Show dependency treegraph
 
Reported: 2022-10-22 14:19 UTC by Chris Beeson
Modified: 2022-12-22 02:00 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Beeson 2022-10-22 14:19:17 UTC
Description:
Impress presentations, including those made in earlier versions, that contain gradient slide backgrounds, do not show gradient backgrounds in the slide show.

Steps to Reproduce:
1.Set slide background to gradient, and choose any pair of colours
2.Begin slide show and move to the above slide
3.

Actual Results:
Background has single colour, that of upper gradient colour

Expected Results:
Background has vertical gradient colour from lower to upper


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 7.3.6.2 (x64) / LibreOffice Community
Build ID: c28ca90fd6e1a19e189fc16c05f8f8924961e12e
CPU threads: 4; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded
Comment 1 V Stuart Foote 2022-10-23 02:07:51 UTC
Any improvement to the gradient for the background gradient in the slide show when you disable Skia rendering?  Done from Tools -> Options -> View and clear both Skia checkboxes and restart.
Comment 2 Chris Beeson 2022-10-23 09:18:28 UTC
Disabled Skia as directed. Slides now display in slide show with correct gradient.
Comment 3 V Stuart Foote 2022-10-23 15:12:49 UTC
Confirmed

During editing the gradient background is shown correctly.

With either Skia Vulkan, or Skia software raster rendering the presentation canvas mishandles rendering of gradient background during "slide show" in both the presenter console and on the presentation display. 

Showing an incorrect slice of the gradient (as if the center of the gradient has been zoomed into, and little of the start or end colors shows--just the middle values of the color gradient).

=-testing-=
Version: 7.4.2.3 (x64) / LibreOffice Community
Build ID: 382eef1f22670f7f4118c8c2dd222ec7ad009daf
CPU threads: 8; OS: Windows 10.0 Build 19044; UI render: Skia/Vulkan; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: threaded

skia.log
RenderMethod: vulkan
Vendor: 0x8086
Device: 0x8a52
API: 1.2.151
Driver: 0.402.661
DeviceType: integrated
DeviceName: Intel(R) Iris(R) Plus Graphics
Denylisted: no
Comment 4 V Stuart Foote 2022-10-23 16:26:12 UTC
As a possible hint, on a dual headed system (laptop and attached monitor) disabling Skia (both checked off).  The slide preview exposed in the presenter console does not render the gradient correctly in either GDI+ CPU only mode, or with Hardware Acceleration set active.  So gradient of the slide preview is never correct.

And, with CPU only mode, the slide show does not render the gradient correctly on the presentation console. With the Hardware Acceleration box checked active, the non-Skia rendering of the background gradient is correct.

So I don't think we can say this is Skia only.  Something is off with handling gradients for the two renderings while in slideshow. Just that Skia Vulkan mode seems to kick it off. In fact just checked with the alternate gradient formats. The Sqaure, Quadratic, Elipsoidal and Radial forms are sort of OK (some moiré, or rough banding) And once I set one of them, the default Linear or Axial gradients render but at reduced resolution in all views (i.e. the smoothness of transitions between the color bands composing the gradient drops).

I guess this could be GPU driver issue, but for me this Intel GPU is pretty generic. Though I am again getting issue of bug 151153 and disappearing frame content where if I drag the frame it will usually force a redraw. 

Vendor: 0x8086
Device: 0x8a52
DeviceName: Intel(R) Iris(R) Plus Graphics

@Armin, I don't want to dump this solely on Luboš's plate, but does this make any sense?
Comment 5 Telesto 2022-10-23 21:36:24 UTC
Note this has been reported before in bug 147714
Comment 6 V Stuart Foote 2022-10-24 04:13:32 UTC
Spent more time with this. Issue with gradient drop out does seem limited to just the default 'Linear' and also the 'Axial' form, the other gradient styles don't seem affected.
Comment 7 Armin Le Grand 2022-10-24 09:21:44 UTC
> @Armin, I don't want to dump this solely on Luboš's plate, but does this
> make any sense?

Comment 2 hints that it's Skia-related. I looked quickly on linux version where I am more concerned that 'Quadratic' is not kept quadratic anymore in slideshow, wrng as PageFill and ObjectFill (Hint to check gradients: Use a StepWidth (e.g. 5) and slight rotation in the gradient definition to quickly see problems).

Slideshow still transfers geometry info using Metafile (no primitives, see GradientStyle::Linear in cppcanvas & similar), one root of problems.

It renders these with an own renderer impl, not using PrimitiveRenderes, another root of problems. On Win this uses DirectX AFAIR - if that was not changed, problem may be there. -> This speaks against Skia as reason, as long as no one has implemented cppcanvas on skia

OTOH that it did change and worked before is a hint that someone changed something in that processing chain somewhere. Since that chain is long and old and converts gradient definition quite some times it would be necessary to deep-dive and dig for the reason - if there is no obvious change in mentioned areas. Maybe this can be bibisected somehow...?

Just my 2ct
Comment 8 Stéphane Guillou (stragu) 2022-12-21 23:01:17 UTC
Tested linear gradient. Not reproduced in:

Version: 7.3.0.0.alpha1 (x64) / LibreOffice Community
Build ID: a3c29ae3d906f4692090bd4e5dab29623c66014a
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded

Reproduced in:

Version: 7.4.3.2 (x64) / LibreOffice Community
Build ID: 1048a8393ae2eeec98dff31b5c133c5f1d08b890
CPU threads: 4; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-GB (en_GB); UI: en-GB
Calc: threaded

Looks like it's a regressions somewhere in between 7.3.0.0.alpha1 and 7.3.6.2
Comment 9 Stéphane Guillou (stragu) 2022-12-21 23:31:35 UTC
Already bibisected, it is a duplicate of bug 147645

*** This bug has been marked as a duplicate of bug 147645 ***
Comment 10 V Stuart Foote 2022-12-22 02:00:33 UTC
(In reply to Armin Le Grand from comment #7)
> > @Armin, I don't want to dump this solely on Luboš's plate, but does this
> > make any sense?
> 
> Comment 2 hints that it's Skia-related. I looked quickly on linux version
> where I am more concerned that 'Quadratic' is not kept quadratic anymore in
> slideshow, wrng as PageFill and ObjectFill (Hint to check gradients: Use a
> StepWidth (e.g. 5) and slight rotation in the gradient definition to quickly
> see problems).
> 
> Slideshow still transfers geometry info using Metafile (no primitives, see
> GradientStyle::Linear in cppcanvas & similar), one root of problems.
> 
> It renders these with an own renderer impl, not using PrimitiveRenderes,
> another root of problems. On Win this uses DirectX AFAIR - if that was not
> changed, problem may be there. -> This speaks against Skia as reason, as
> long as no one has implemented cppcanvas on skia
> 
> OTOH that it did change and worked before is a hint that someone changed
> something in that processing chain somewhere. Since that chain is long and
> old and converts gradient definition quite some times it would be necessary
> to deep-dive and dig for the reason - if there is no obvious change in
> mentioned areas. Maybe this can be bibisected somehow...?
> 
> Just my 2ct

Armin, maybe have a look at Luboš's work on bug 136523 -- https://gerrit.libreoffice.org/c/core/+/106016
and also on bug 144073 -- https://gerrit.libreoffice.org/c/core/+/129298