On 5 January 2016 at 17:30, Sebastian Kügler <[email protected]> wrote: > We discussed this issue yesterday in the Plasma team. > Possible ways to go about it > * Fix gamma adjust in Qt -- it's possibly a shader that doesn't work on the > Adreno drivers. Qt code contains quite some hacks to make certain OpenGL calls > optional on some hardware, that sounds like the most likely place to fix it > (short of being able to fix the drivers, that's what we get from closed source > crap, not that it would be easy to do...)
i don't think it's the gamma shader in particular (or the programmable pipeline - PP in that sense) as what it does is something very simple - pre-multiply the alpha, apply a non-linear transformation and then restore the original alpha of the sample. it can be easily tested with something like QtGraphicalEffects / Desaturate to see if it makes any difference. if it works with Desaturate, it would be quite odd - the pre-multiplied alpha might be causing a problem. i remember the report was only about PNG and SVG icons, so my bet is that the GLES wrapped glTexImage2D with GL_RGBA simply does not work on a certain driver in a certain condition. the framebuffer render texture used for rendering could work as a 32bit target but the actual texture (from ShaderEffectSource) which is passed to the PP is what is problematic. then again, i'm not even sure if the scenegraph image items respect information about transparency of the source image to preserve memory (GL_RGB vs GL_RGBA) and if this information reaches the renderer in ShaderEffectSource or if everything is kept in the same 32bit format. i have browsed related Qt source code in the past, but it's a bit too much to digest in a single, casual pass. for those who can reproduce the issue, it's best to narrow the details and file a report: - affected devices - transparent images don't work, non-transparent work - other shaders work - etc. sadly, a bit of a game braking bug for QML if one has to do commissioned work. lubomir -- _______________________________________________ subsurface mailing list [email protected] http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface
