Bug 155661 - Skia: Transparency gradient is rendered as solid transparency
Summary: Skia: Transparency gradient is rendered as solid transparency
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
7.4.1.2 release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Aron Budea
URL:
Whiteboard: target:24.2.0 target:7.5.6 target:7.6...
Keywords: bibisected, bisected, regression
Depends on:
Blocks: Skia
  Show dependency treegraph
 
Reported: 2023-06-03 10:36 UTC by Regina Henschel
Modified: 2023-07-19 01:03 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
Shape with solid color fill and transparency gradient (27.25 KB, application/vnd.oasis.opendocument.graphics)
2023-06-03 10:36 UTC, Regina Henschel
Details
Modified sample (29.80 KB, application/vnd.oasis.opendocument.graphics)
2023-06-03 16:40 UTC, m_a_riosv
Details
Screenshot (245.87 KB, image/png)
2023-06-03 16:41 UTC, m_a_riosv
Details
Screenshot with VCL (56.20 KB, image/png)
2023-06-04 00:20 UTC, m_a_riosv
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Regina Henschel 2023-06-03 10:36:45 UTC
Created attachment 187689 [details]
Shape with solid color fill and transparency gradient

Set your LibreOffice to use Skia. Open attached document. It should show a gradient but you see a solid fill. Disable Skia and restart. Open the document. Now you can see the gradient.

I see the error in version: 7.4.1.2 (x64) / LibreOffice Community
Build ID: 3c58a8f3a960df8bc8fd77b461821e42c061c5f0
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: de-DE (en_US); UI: en-US
Calc: CL
and in a current version Version: 7.6.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 70fd835b4cf75e386ee115c705241a4059fb68a8
CPU threads: 8; OS: Windows 10.0 Build 19045; UI render: Skia/Raster; VCL: win
Locale: en-US (en_US); UI: en-US
Calc: CL threaded

It is likely wrong from the beginning of Skia.
Comment 1 m_a_riosv 2023-06-03 16:40:01 UTC
Created attachment 187695 [details]
Modified sample

I'm not sure if it is not working.
The sample has selected axial, but with those parameters, looks as it is not working.
I redo your sample, modifying the parameters, and adding an object behind.
And seems it works for all types.

Version: 7.5.4.1 (X86_64) / LibreOffice Community
Build ID: 3a6a10a8a824826630ea908dcaea93b45a6a0af1
CPU threads: 16; OS: Windows 10.0 Build 22621; UI render: Skia/Raster; VCL: win
Locale: es-ES (es_ES); UI: en-US Calc: CL threaded
Comment 2 m_a_riosv 2023-06-03 16:41:57 UTC
Created attachment 187696 [details]
Screenshot
Comment 3 Regina Henschel 2023-06-03 17:20:51 UTC
The border (Transition start) is interpreted differently with and without Skia. Choose a larger value for the border, e.g. 40%. Then the problem becomes visible.

In my example the border is 60% and for this value rendering with Skia shows only border.
Comment 4 m_a_riosv 2023-06-04 00:20:00 UTC
Created attachment 187710 [details]
Screenshot with VCL

Right @Regina, I see the difference.
Comment 5 Aron Budea 2023-07-16 01:30:40 UTC
This is a regression that started in 7.1, in two steps.

First the gradient deteriorates from this commit:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=6965bb07bb33429a7663a3f3ebe58ed89c4327d9
author		Luboš Luňák <l.lunak@collabora.com>	2020-09-25 10:00:31 +0200
committer	Luboš Luňák <l.lunak@collabora.com>	2020-09-25 19:36:26 +0200

"forward axial and radial gradient types to VCL too"

Then it's completely gone starting with this commit:
https://cgit.freedesktop.org/libreoffice/core/commit/?id=8b8a988f38b704e466211bb91a3269756c34222b
author		Luboš Luňák <l.lunak@collabora.com>	2020-11-17 16:49:19 +0100
committer	Luboš Luňák <l.lunak@collabora.com>	2020-11-17 19:25:42 +0100

"implement also axial gradient for skia"
Comment 6 Commit Notification 2023-07-18 04:50:48 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/4202dfcae19ee47e9a3fda02fac34c18cb0d16ff

tdf#155661 Apply border from center point not from whole size

It will be available in 24.2.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Aron Budea 2023-07-18 12:59:44 UTC
This is fixed, backports are in gerrit.
Comment 8 Commit Notification 2023-07-19 01:03:12 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-7-5":

https://git.libreoffice.org/core/commit/4fe26f0e0347618c06369d8582a5d0a5aca0fe9a

tdf#155661 Apply border from center point not from whole size

It will be available in 7.5.6.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2023-07-19 01:03:15 UTC
Aron Budea committed a patch related to this issue.
It has been pushed to "libreoffice-7-6":

https://git.libreoffice.org/core/commit/aebc5c5ab1a1ab8e88ff5aacece11f29900cb569

tdf#155661 Apply border from center point not from whole size

It will be available in 7.6.0.2.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.