GNOME Bugzilla – Bug 599883
[differencematte] regressions after gdkpixbuf to libpng migration
Last modified: 2009-10-28 09:59:48 UTC
GstGLDifferenceMatte used gdk_pixbuf_scale_simple to scale the background image to fit other textures size. This was obviously wrong and needed to be fixed, but it worked. When gdkpixbuf was dropped this plugin was neither fixed to use gl for scaling nor updated to the libpng equivalent function for scaling. So it works fine only if the background image has the exact size of the current texture.
commit fc1d0f5e3c297fa2f0390d72597307c956ce6d3c Author: Filippo Argiolas <filippo.argiolas@gmail.com> Date: Wed Oct 28 10:41:53 2009 +0100 differencematte: fix regressions from gdkpixbuf to libpng migration The background image needs to be scaled to fit current texture size. Previously this was done by gdk_pixbuf_scale_simple but that's been removed. Create a texture from the background pixbuf with correct dimensions and use interpolation shader to scale it to the right size. Interpolation fragment shader doesn't have too much sense if all the textures don't have the same size so this seemed the most natural place to do the scaling. It could probably be done with some custom texture mapping outside the shader but it involved more code. Fixes bug #599883.