latest Android apk

Lubomir I. Ivanov neolit123 at gmail.com
Tue Jan 5 16:33:17 PST 2016


On 5 January 2016 at 17:30, Sebastian Kügler <sebas at kde.org> 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
--


More information about the subsurface mailing list