Gradient Framebuffer Fill Bug?

Ray Strode halfline at gmail.com
Mon Mar 16 07:58:27 PDT 2009


Hi,

> I've been testing the gradient framebuffer filling function out some. It
> doesn't work as expected. Below is a modified snipplet from the spinfinity
> plugin demonstrating this. The gradient should start at 80% height and stop
> at the bottom of the screen. What the actual result is a cropped area of a
> fullscreen gradient.
I think the idea there is so if only a small rectangular part of a big
full screen gradient gets updated, we can just pass in the x, y, width
and height of that area and it will just fill in the part of the
background gradient that needs to get updated.

That's certainly not intuitive behavior though, it seems like it would
be worth fixing.  Looking at the gradient code, I guess we need to

- compute the steps based on area, not buffer->area.
- figure out how to make sure the noises generated over multiple runs
with different x, y, width, height values is generated in the same
places.  I guess we could pregenerated a noise map or something along
those lines  instead of depending on the srand() hack that's there
now.

> Also, I noticed that there are some odd bars appearing near the top of the
> screen that are a little glitchy. Not sure if this is due to testing the
> plugin without rebooting or what.
Not sure.  note on_erase can get called for other than full screen
updates.  that might have something to do with it.  If you reboot does
the problem go away?

If you file this as a bug report on bugs.freedesktop.org, I can try to
look into these things, or if you want to figure out what's going on,
that'd be good too.

--Ray


More information about the plymouth mailing list