Support OpenGL 3.2 Core profile in FadingNode shaders

Review Request #128426 - Created July 11, 2016 and discarded

David Edmundson
kdeframeworks, plasma

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;
+ format.setVersion(3,2);
+ format.setProfile(QSurfaceFormat::CoreProfile);
+ QSurfaceFormat::setDefaultFormat(format);

and it still works.

plasmashell unchanged (so still requesting an GL 2.0 context) also still works.


  • 3
  • 0
  • 0
  • 3
Description From Last Updated
use switch? Aleix Pol Gonzalez Aleix Pol Gonzalez
varying doesn't exist in core profile. It's "out" Martin Flöser Martin Flöser
s/varying/in Martin Flöser Martin Flöser
Aleix Pol Gonzalez
Martin Flöser
David Edmundson
Review request changed

Status: Discarded