Summary: | The blur effect doesn't work with the R300C driver (No NPOT texture support) | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Shaker <shaker> |
Component: | compositing | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | RESOLVED UPSTREAM | ||
Severity: | normal | CC: | fredrik, marsicanbear, rrh, vkrevs |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | glxinfo -l output |
Description
Shaker
2010-06-29 20:07:15 UTC
The blur effect only works with the gallium driver (r300g) with your card. This is because the r300 classic driver doesn't support the GL_ARB_texture_non_power_of_two extension. We might rewrite the effect in 4.6 so it uses GL_ARB_texture_rectangle instead, but it's likely that by the time KDE 4.6 is released the gallium driver will be the default in Mesa anyway. Thanks for information. Cheers ! As different driver supports it, we can mark as driver bug :-) *** Bug 250218 has been marked as a duplicate of this bug. *** This bug is resolved and blur effect works perfectly with Gallium3D driver ! Strange, but with Linux Kernel 2.6.32, the kwin process consume 40-50% of CPU, when blur effect is enabled, but with Linux Kernel 2.6.35, the kwin process consume 0-5% of CPU. I notice a bug with thumbnails in the taskbar. Thumbnails not appear in the taskbar. Picture : http://img180.imageshack.us/img180/9666/snapshot3fr.png Where do I report this bug ? To KDE bugs or Mesa (Gallium3D) bugs ? (In reply to comment #5) > This bug is resolved and blur effect works perfectly with Gallium3D driver ! > Strange, but with Linux Kernel 2.6.32, the kwin process consume 40-50% of CPU, > when blur effect is enabled, but with Linux Kernel 2.6.35, the kwin process > consume 0-5% of CPU. > I notice a bug with thumbnails in the taskbar. Thumbnails not appear in the > taskbar. > > Picture : > > http://img180.imageshack.us/img180/9666/snapshot3fr.png > > Where do I report this bug ? To KDE bugs or Mesa (Gallium3D) bugs ? I have the very same issue with the r300g driver from git mesa.. Moreover, the blur effect does not work anymore with this driver after upgrading to a more recent commit (I oepned a bug: https://bugs.freedesktop.org/show_bug.cgi?id=30007 , but noone is responding..). The thumbnail issue is probably a driver bug/limitation, possibly related to the loop in the GLSL shader that scales the image. But please attach your glxinfo -l output so we can check that the shader doesn't exceed any HW limitations. The debug output when you run kwin from the command line doesn't indicate that any shaders failed to compile? The blur regression is likely related to the new GLSL compiler that was merged into the master branch in mesa recently. Created attachment 51375 [details]
glxinfo -l output
Here is the output from kwin --replace when it fails to paint a thumbnail: davide@bartoz ~ $ kwin --replace & [1] 10187 davide@bartoz ~ $ kwin(10187) KWin::CompositingPrefs::detectDriverAndVersion: GL vendor is "X.Org R300 Project" kwin(10187) KWin::CompositingPrefs::detectDriverAndVersion: GL renderer is "Gallium 0.4 on RV410" kwin(10187) KWin::CompositingPrefs::detectDriverAndVersion: GL version is "2.1 Mesa 7.9-devel" kwin(10187) KWin::CompositingPrefs::detectDriverAndVersion: Detected driver "unknown" , version "" r300 FP: Compiler Error: Fragment program does not support relative addressing of source operands. Using a dummy shader instead. r300 FP: Compiler Error: Fragment program does not support relative addressing of source operands. Using a dummy shader instead. And I attacedh my glxinfo -l output.. (In reply to comment #7) > The thumbnail issue is probably a driver bug/limitation, possibly related to > the loop in the GLSL shader that scales the image. But please attach your > glxinfo -l output so we can check that the shader doesn't exceed any HW > limitations. The debug output when you run kwin from the command line doesn't > indicate that any shaders failed to compile? > > The blur regression is likely related to the new GLSL compiler that was merged > into the master branch in mesa recently. The debug output confirms that the shader failed to compile. I don't think you need to file a bug report with the driver developers about this, since the problem is a known limitation. We need to work around this in kwin though by disabling the high quality scaling filter when this happens. Ok, thank you. That output explains the problem with the thumbnails (which in fact never worked for me with r300g), but non the one with the blur effect (which used to work here with git mesa somewhere around the middle of august). Do you have a clue about that? (In reply to comment #10) > The debug output confirms that the shader failed to compile. I don't think you > need to file a bug report with the driver developers about this, since the > problem is a known limitation. > > We need to work around this in kwin though by disabling the high quality > scaling filter when this happens. SVN commit 1175021 by fredrik: Make the lanczos shader use a fixed number of iterations in the loop. This makes it possible for the GLSL compiler to unroll it, which also avoids the need to use relative addressing. With this change the shader should hopefully work with the R300G driver. The unused kernel weights are set to zero so they don't contribute to the end result. Thanks to Tom Stellard and Marek Olšák for their suggestions on how to solve this problem. CCBUG: 243191 M +1 -2 lanczos-fragment.glsl M +17 -19 lanczosfilter.cpp M +4 -3 lanczosfilter.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1175021 SVN commit 1175024 by fredrik: Backport r1175021: Make the lanczos shader use a fixed number of iterations in the loop. This makes it possible for the GLSL compiler to unroll it, which also avoids the need to use relative addressing. With this change the shader should hopefully work with the R300G driver. The unused kernel weights are set to zero so they don't contribute to the end result. Thanks to Tom Stellard and Marek Olšák for their suggestions on how to solve this problem. CCBUG: 243191 M +1 -2 lanczos-fragment.glsl M +17 -19 lanczosfilter.cpp M +4 -3 lanczosfilter.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1175024 |