Bug 291161

Summary: Small artifacts above pop-up menus in KDE 4.8rc2
Product: kwin Reporter: Nikola Schnelle <n.schnelle>
Component: effects-variousAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: philipp-dev
Priority: NOR    
Version: 4.8.0   
Target Milestone: ---   
Platform: Ubuntu Packages   
OS: Linux   
Latest Commit: Version Fixed In:

Description Nikola Schnelle 2012-01-10 13:03:54 UTC
Version:           4.8.0 (using Devel) 
OS:                Linux

It is hard to explain bug in words so I made video. Look closely above pop-up menus. You will see little artifacts. After extensive testing I found out that "scale in" effect is causing this.
Video: http://www.youtube.com/watch?v=YUBPBdccivU&context=C3fd8758ADOEgsToPDskLwQ33Zwt2veNXRSMRySxrg

Reproducible: Always

Steps to Reproduce:
1) Enable scale in effect.
2) Open some KDE (Qt) application.
3) Navigate through menus (file, edit, view etc) back and forth.

Actual Results:  
Little artifacts appear above pop-up menus.

Expected Results:  
No artifacts.
Comment 1 Thomas Lübking 2012-01-10 15:46:42 UTC
Looks like an issue with texture clamping on scaled textures.
(That region is actually still part of the popup shadow and should match the area where the upper right corner touches the top center)

a) this is on the OpenGL backend, correct?
b) does it only happen with "kwin --replace --graphicssystem raster &" or "kwin --replace --graphicssystem native &" or with both?
c) kwin or kwin_gles ?
d) On what GPU and driver (attach a glxinfo dump or the output of kwin when started from konsole)
Comment 2 Nikola Schnelle 2012-01-10 16:58:58 UTC
(In reply to comment #1)
> Looks like an issue with texture clamping on scaled textures.
> (That region is actually still part of the popup shadow and should match the
> area where the upper right corner touches the top center)
> 
> a) this is on the OpenGL backend, correct?
yes
> b) does it only happen with "kwin --replace --graphicssystem raster &" or "kwin
> --replace --graphicssystem native &" or with both?
with both
> c) kwin or kwin_gles ?
kwin
> d) On what GPU and driver (attach a glxinfo dump or the output of kwin when
> started from konsole)
mobility radeon hd 2400

snele@KDevil:~$ OpenGL vendor string:                   X.Org
OpenGL renderer string:                 Gallium 0.4 on AMD RV610
OpenGL version string:                  2.1 Mesa 7.12-devel (git-deb6dd6 oneiric-oibaf-ppa)
OpenGL shading language version string: 1.20
Driver:                                 R600G
GPU class:                              R600
OpenGL version:                         2.1
GLSL version:                           1.20
Mesa version:                           7.12
X server version:                       1.10.4
Linux kernel version:                   3.2
Direct rendering:                       yes
Requires strict binding:                no
GLSL shaders:                           yes
Texture NPOT support:                   yes
Comment 3 Nikola Schnelle 2012-01-12 18:58:19 UTC
I did more testing and found out that these artifacts appear when using "scale in" effect and "accurate" or "smooth" scale method.

When using "scale in" effect and "crisp" scale method these artifacts doesn't appear.
Comment 4 Nikola Schnelle 2012-01-30 11:13:25 UTC
I should add that this only happens with oxygen widget style. When plastic/qtcurve style is used, there are no artifacts above pop-up menus.
Comment 5 Thomas Lübking 2012-02-07 16:17:26 UTC
this is presumingly a result of the packed shadow texture layout and an invalid texture access position.

I this remotely related to bug #282882
Comment 6 Thomas Lübking 2012-02-09 18:06:14 UTC
Git commit 7355a9ad14e24ca1eb4088430950bc88f03fb4de by Thomas Lübking.
Committed on 08/02/2012 at 19:31.
Pushed by luebking into branch 'KDE/4.8'.

fix NPOT shadows

a) fixes the texture offset calculation
b) arranges he shadow pixmaps as border in the texture to avoid interpolation issues.
Related: bug 280116, bug 282882, bug 293325
REVIEW: 103888

M  +33   -53   kwin/scene_opengl.cpp

http://commits.kde.org/kde-workspace/7355a9ad14e24ca1eb4088430950bc88f03fb4de
Comment 7 Thomas Lübking 2012-02-09 18:07:56 UTC
Git commit 4281fd09be344bfa99b0450eae384b49b55db152 by Thomas Lübking.
Committed on 08/02/2012 at 19:31.
Pushed by luebking into branch 'master'.

fix NPOT shadows

a) fixes the texture offset calculation
b) arranges he shadow pixmaps as border in the texture to avoid interpolation issues.
Related: bug 280116, bug 282882, bug 293325
REVIEW: 103888

M  +33   -53   kwin/scene_opengl.cpp

http://commits.kde.org/kde-workspace/4281fd09be344bfa99b0450eae384b49b55db152
Comment 8 Nikola Schnelle 2012-02-13 15:33:49 UTC
I can confirm that this bug is now fixed for me. 

Thank you Thomas.
Comment 9 Thomas Lübking 2012-02-13 16:43:50 UTC
updating status by user comment