Bug 152587 - macOS - Skia graphics test results on aarch 64 (M1) Apple Silicon
Summary: macOS - Skia graphics test results on aarch 64 (M1) Apple Silicon
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: graphics stack (show other bugs)
Version:
(earliest affected)
7.6.0.0 alpha0+
Hardware: ARM macOS (All)
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-19 08:46 UTC by Alex Thurgood
Modified: 2023-03-16 13:46 UTC (History)
7 users (show)

See Also:
Crash report or crash signature:


Attachments
Test results with Apple aarch64 and LO 7.6 alpha daily from 19/12/2022 (49.41 KB, application/zip)
2022-12-19 08:47 UTC, Alex Thurgood
Details
LO 7.6.0 on Win10 with nVidia K2000 -- Vulkan deny listed (2.03 KB, text/plain)
2022-12-19 19:22 UTC, V Stuart Foote
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Thurgood 2022-12-19 08:46:39 UTC
Description:
FWIW, and given that the aim is to apparently release 7.5 with Skia rendering reactivated again as the default, I thought I'd provide a set of test results from the built-in graphics tests accessible via LibreOffice > Preferences > View > Run Graphics Tests

I couldn't see where, or even if, these are being collated anywhere.
If this isn't the right place, could somebody indicate where we should post them ?

Steps to Reproduce:
1. Start LibreOffice with the "Use Skia for all rendering" activated.
2. Run graphics tests.
3. Download results and post them here.

Actual Results:
Quite a few quirky results.

Expected Results:
Everything should be green/passed.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
Version: 7.6.0.0.alpha0+ (AARCH64) / LibreOffice Community
Build ID: ad387d5b984c6666906505d25685065f710ed55d
CPU threads: 8; OS: Mac OS X 13.0.1; UI render: Skia/Metal; VCL: osx
Locale: fr-FR (fr_FR.UTF-8); UI: en-US
Calc: threaded
Comment 1 Alex Thurgood 2022-12-19 08:47:49 UTC
Created attachment 184230 [details]
Test results with Apple aarch64 and LO 7.6 alpha daily from 19/12/2022
Comment 2 Telesto 2022-12-19 18:58:19 UTC
Not specific to M1, also seen with Intel
Version: 7.6.0.0.alpha0+ (X86_64) / LibreOffice Community
Build ID: 8635c9aa8c6f1078a9e220076d5a08daf30077e8
CPU threads: 8; OS: Mac OS X 12.3.1; UI render: Skia/Metal; VCL: osx
Locale: nl-NL (nl_NL.UTF-8); UI: en-US
Calc: threaded

but even lots of quirkiness with Skia Raster 

I'm unsure how reliable those tests are and what the real life impact would be.
Comment 3 Telesto 2022-12-19 19:01:10 UTC
@V Stuart Foote
Any idea what to make of the Skia graphics test results?
Comment 4 V Stuart Foote 2022-12-19 19:22:13 UTC
Created attachment 184248 [details]
LO 7.6.0 on Win10 with nVidia K2000 -- Vulkan deny listed

The GraphicRenderTests.log is written into LO user profile.

In the attached, a nVidia K2000 is already denylisted and gets a bunch of quirky results.

I don't think that alone is too much of an issue, IIUC it really deals with whether or not the Skia Vulkan rendering is allowed to activate.

I expect the testing remains useful, and certainly with macOS where we have emerging ARM Silicon based os/DE getting another go at Skia raster framing based rendering.
Comment 5 Alex Thurgood 2022-12-20 09:53:29 UTC
(In reply to V Stuart Foote from comment #4)
> Created attachment 184248 [details]


> I don't think that alone is too much of an issue, IIUC it really deals with
> whether or not the Skia Vulkan rendering is allowed to activate.
> 
> I expect the testing remains useful, and certainly with macOS where we have
> emerging ARM Silicon based os/DE getting another go at Skia raster framing
> based rendering.

@Stuart : should I rerun the tests on macOS M1 with the software rendering option ticked as well / instead ?
Comment 6 V Stuart Foote 2022-12-20 18:50:13 UTC
(In reply to Alex Thurgood from comment #5)
> @Stuart : should I rerun the tests on macOS M1 with the software rendering
> option ticked as well / instead ?

Probably, but remember these are testing the rendering results to a virtual vcl canavs for simple sample graphics--comparing bitmap against "expected" result.

The "pass", "quirky", "fail" or "not tested" would either match or not match between the two rendering modes, and may or may not be the same for GPU drivers for the the M1 silicon vs. Intel GPUs or discrete GPUs.

As I don't drive macOS and at present only have Intel based macMini to work with I can not compare the results for Skia and non-Skia render paths on M1 silicon.

But I would think dev comment quikee and Luboš, or even Akshit since his GSOC 2021 contribution [1][2], on the intended use of the tests-- both triggered during launch, and alternatively run ad-hoc via the "Run Graphics Tests" dialog-- as to what extent they affect GPU configuration.

Of the 109 tests, what significance to assign to the "not run", "quirky" and "fail" status, and more importantly how to assess a difference between the render engines. And also, would there be some methodology (similar to the BreakPad modeled crash report uploads) to centrally upload the graphics test results and GPU/system details for devs to analyze.

=-ref-=
[1] https://blog.documentfoundation.org/blog/2021/10/19/libreoffice-and-google-summer-of-code-2021-the-results/
[2] https://theproglevblog.blogspot.com/2021/08/google-summer-of-code-2021-project.html
Comment 7 Tomaz Vajngerl 2023-01-18 04:04:23 UTC
Quirky test is same as a passing one - it means the test is drawn mostly correct but not completely as expected and the issue is small and most likely because of the drawing algorithm difference in the backend. For example sometimes drawing a rectangle in some backends the first pixel isn't drawn for some reason - not expected but not something that anybody will notice and also not something we can fix either. 

Currently not all backends have been fixed to give passing results, so the tests aren't as useful as they could be.

Running them on first start is to detect any issues with the backend to potentially switch to another backend as a fallback. For example if skia vulkan has issues, switch to skia raster, but this is also not yet implemented.
Comment 8 Alex Thurgood 2023-01-18 15:03:08 UTC
(In reply to Tomaz Vajngerl from comment #7)
> Quirky test is same as a passing one - it means the test is drawn mostly
> correct but not completely as expected and the issue is small and most
> likely because of the drawing algorithm difference in the backend. For
> example sometimes drawing a rectangle in some backends the first pixel isn't
> drawn for some reason - not expected but not something that anybody will
> notice and also not something we can fix either. 
> 
> Currently not all backends have been fixed to give passing results, so the
> tests aren't as useful as they could be.
> 
> Running them on first start is to detect any issues with the backend to
> potentially switch to another backend as a fallback. For example if skia
> vulkan has issues, switch to skia raster, but this is also not yet
> implemented.

Thanks Tomaz,

Should I just close this then, as in the end, the test results aren't of any particular use ?
Comment 9 Stéphane Guillou (stragu) 2023-03-16 13:46:24 UTC
Seeing the comments, I'd probably only keep a bug open for a failed test for now, like in bug 154107.

Tomaz's insights in comment 7 could be worked into some corresponding documentation, tracked in bug 154188, so users are aware that "quirky" doesn't necessarily mean there is an issue that requires a fix.

The 32bpp per pixel tests are commonly skipped across platforms.

"Worksforme" for lack of a better fit, unless someone disagrees?