Support OpenGL 3.2 Core profile in FadingNode shaders
Review Request #128426 - Created July 11, 2016 and discarded
Qt has two shaders for all items; one for when running OpenGL3.2+ without backwards compatibility (i.e running CoreProfile) and one that supports more legacy systems. (see
the shaders directory and the versions ending with _core)
core profile is only used if explicitly by the app enabled when creating the GL context.
Something we don't currently do in Plasma, but a 3d party user could be doing.
Long term it's also something I want to do in Plasma optionally as it gives a 15Mb memory saving with Mesa.
This patch updates our material to provide the right shader for the
given version matching the behavior of
QSGShaderSourceBuilder::resolveShaderPath which Qt uses internally.
ran krunner with
+ QSurfaceFormat format;
and it still works.
plasmashell unchanged (so still requesting an GL 2.0 context) also still works.
What about shader variants for GLES? There are also two versions, one being like the old one and one like core. In KWin we can handle this with the same shader code and rewriting e.g. the version statement. Do you know how this is handled in QtQuick?