Skip to content

qt: disable (back face) culling altogether

PartialEffect is used in MainDisplay to provide frosted glass backdrop effect for the mini player. When a dialog opens, it uses layering for the whole MainDisplay where the culled partial effect becomes a descendant of that layered item. Due to a Qt bug (https://bugreports.qt.io/browse/QTBUG-136611), this breaks the rendering with OpenGL, as apparently the winding order wrongfully gets reversed and we need to use front face culling to cull the back face.

In the interface case, in theory at least, we would like to use (back face) culling in all items because we are not rotating any item in a way that its back face is revealed.

Culling is not considered that important in 2D environment, so it is hard to justify having a workaround for this Qt bug. When they fix it in the future, we can start using it again. For now, I propose using culling only in cases where we would not suffer from this bug (practically no- where).

Culling can be an improvement, but it also requires adjusting the graphics pipeline state (since most items do not use culling). Besides, Qt does not offer an option to use it consistently among all items (only ShaderEffect allows configuring it).

This fixes the problem mentioned in #29207 (comment 490663).

Merge request reports

Loading