[compiz] Fragment interface on Intel

David Reveman davidr at novell.com
Mon May 14 11:49:18 PDT 2007


On Sun, 2007-05-13 at 10:33 +0800, Sam Spilsbury wrote:
> Hi
> 
> It seem that the fragment interface on certain plugins exceeds the
> amount of fragment operations possible on Intel GMA cards. This only
> occurs with the "water" and "blur" plugins. the plugins activate OK
> and do not report a missing GL_ARB_fragment_program in the server
> extensions. Waves appear when I use the water plugin with
> <Super><Ctrl> but there is no apparant distortion underneath the wave.
> offset_scale is set to 5 at the moment. Also, Blur activates fine but
> when I put in "Normal" on "Alpha_blur" - Everything slows down to
> around 10 fps but there is no blur effect under the alpha.
> 
> Is it possible that the amount of fragment operations in the fragment
> interface can be reduced so that Intel Cards can handle it? Or is this
> a driver issue?

The fragment interface is just an interface. The fragment functions
inserted in this interface defines the number of operations that the
final fragment programs will contain. The fragment interface will always
be able to create programs that exceed the limits of the hardware. We
can improve it so that plugins can have a better idea of whether a
function can be used or not.

A few extra instructions are created by the fragment interface to patch
together fragment functions but I've made sure it's a minimal overhead.
There might be one or two extra instructions added in the case when
there's only one fragment function and it might be worth improving that.

The issue with the water plugin sounds like a driver bug. Alpha blur
will not perform properly until the intel driver can accelerate
glCopyTexSubImage2D. That the blur effect doesn't get applied could be
that the fragment program exceeds the hw-limits. I'll try to have a look
at both these issues when I have time.

- David



More information about the compiz mailing list