Bug 70169 - taskbar is white when using kwin GLES
Summary: taskbar is white when using kwin GLES
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/r600 (show other bugs)
Version: 9.2
Hardware: x86-64 (AMD64) Linux (All)
: high major
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-05 15:47 UTC by Eugene
Modified: 2013-10-08 18:11 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Eugene 2013-10-05 15:47:19 UTC
With the latest release of Mesa taskbar became white (not transparent) using kwin GLES. With usual kwin it is transparent.

OS: Kubuntu 13.10 x86_64
Kernel: 3.12RC3
Graphics: Radeon HD 2600 XT

kwin_gles --replace & 
[1] 2533
eugene@desktop:~$ QDBusConnection: session D-Bus connection created before QCoreApplication. Application may misbehave.
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 14: reading configurations from ~/.fonts.conf is deprecated.
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
eugene@desktop:~$ OpenGL vendor string:                   X.Org
OpenGL renderer string:                 Gallium 0.4 on AMD RV630
OpenGL version string:                  OpenGL ES 3.0 Mesa 9.2.0
OpenGL shading language version string: OpenGL ES GLSL ES 3.0
Driver:                                 R600G
GPU class:                              R600
OpenGL version:                         3.0
GLSL version:                           3.0
Mesa version:                           9.2
X server version:                       1.14.3
Linux kernel version:                   3.12
Direct rendering:                       yes
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Virtual Machine:                        no
kwin(2533) KWin::EglOnXBackend::init: Cannot enable v-sync as max. swap interval is 0 
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
QCoreApplication::sendPostedEvents: Cannot send posted events for objects in another thread
kwin(2533): Failed to compile fragment shader: 
"0:2(14): error: no precision specified this scope for type `vec4'
0:4(13): error: no precision specified this scope for type `float'
0:5(13): error: no precision specified this scope for type `float'
0:6(13): error: no precision specified this scope for type `float'
0:7(13): error: no precision specified this scope for type `float'
0:8(13): error: no precision specified this scope for type `float'
0:9(13): error: no precision specified this scope for type `float'
0:10(13): error: no precision specified this scope for type `float'
0:14(7): error: no precision specified this scope for type `vec4'

kwin(2533): Failed to link shader: 
"error: program lacks a fragment shader
Comment 1 Eugene 2013-10-07 19:24:11 UTC
The same problem with MESA 9.2.1.
Comment 2 Ian Romanick 2013-10-08 18:11:31 UTC
It appears that kwin's shaders are incorrect.  In 9.2 we fixed a deviation from the GLSL ES specification (that is followed by numerous other vendors) that we did not require precision qualifiers for float types in the fragment shader.

They just need to add:

precision <precision of choice> float;

the their fragment shaders.  In OpenGL ES 3.0, highp must be supported, but in ES 2.0 it is optional.

See the following commit:

commit cabd45773b58d6aa48202da1cdd8cf1a6b856c53
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Aug 9 15:17:18 2013 -0700

    glsl: Track existence of default float precision in GLSL ES fragment shaders
    
    This is required by the spec, and it's a bit tricky because the default
    precision is scoped.  As a result, I'm slightly abusing the symbol
    table.
    
    Fixes piglit no-default-float-precision.frag tests and the piglit
    default-precision-nested-scope-0[1234].frag tests that are currently on
    the piglit mailing list for review.
    
    On IRC I got confirmation from cwabbot that ARM (Mali T6xx and T400)
    enforces this requirement and from kusma that NVIDIA (Tegra2) enforces
    this requirement.  We should be safe from regressing shipping
    applications.
    
    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
    Cc: "9.2" <mesa-stable@lists.freedesktop.org>


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.