core: Disable Qt RHI pipeline cache
The Qt pipeline cache causes a disk sync on every load and save of a QQuickWindow. This causes a stutter under high disk usage.
The gains from this cache are minimal on our simple scenes on PC hardware. Especially given mesa has it's own cache, profiling on my personal laptop showed the pipeline as being 0ms.
There is an upstream patch at https://codereview.qt-project.org/c/qt/qtdeclarative/+/564411 . QSaveFile still has a sync, but that should only be hit for the first non-cached run. I'm also adding a flag to QSaveFile to fix the QML cache and first run case.
Tested via running kwin with strace -e inject=fdatasync:delay_enter=10000000
to simulate a slow flush.
(cherry picked from commit f700de56)
ac5aeb67 core: Disable Qt RHI pipeline cache
Co-authored-by: David Edmundson kde@davidedmundson.co.uk