Re: [clutter] gnome-shell / mutter / ARB_texture_rectangle
- From: Owen Taylor <otaylor redhat com>
- To: mallum openedhand com
- Cc: clutter o-hand com, gnome-shell-list gnome org
- Subject: Re: [clutter] gnome-shell / mutter / ARB_texture_rectangle
- Date: Wed, 12 Nov 2008 17:04:16 -0500
On Thu, 2008-11-06 at 10:04 +0000, Matthew Allum wrote:
> Hi;
>
> On Wed, 2008-11-05 at 13:03 -0500, Owen Taylor wrote:
> > >
> > > I think making it usage explicit and contained like this is really the
> > > only way to go in we do bring back in support for ARB_texture_rectangle
> > > without a lot of complexity and other pain elsewhere.
> > >
> > > Re devel branch - I dont see why this could not end up in the stable
> > > branch of which we are already having to track pretty much with mutter.
> >
> > My initial expectation was that there would be significant code churn
> > and API changes, but looking at it, the "remove texture_rectangle
> > support" patch is a lot smaller than I expected and doesn't look to hard
> > or intrusive to reintroduce.
>
> Right, it should hopefully be pretty strait forward - all Id request is
> that we then something like a
> cogl_enable_legacy_texture_rectangle(boolean) which enables this old
> logic in texture creation and is well documented as to potential
> downsides it introduces into apps enabling it.
Ewww. :-)
I guess my feeling is that a cogl API addition is a cogl API addition,
and that doing something entirely hacky doesn't make it less of an
addition.
To avoid API additions I first thought:
- Could this be done entirely within cogl with an environment variable?
Unfortunately no: the cogl_texture code doesn't have enough context
to distinguish random textures from texture_from_pixmap textures,
so the environment variable reading has to be done
- Can it be done as a private clutter => cogl API in an not-installed
header file?
Unfortunately no: to do the multi-texturing that MutterShapedTexture
uses to shape the window, the shape texture needs to be a
texture_rectangle if the pixmap texture is a texture_rectangle.
What about, in my patch, changing COGL_TEXTURE_ALLOW_RECTANGLE
to COGL_TEXTURE_ALLOW_RECTANGLE COGL_TEXTURE_ALLOW_LEGACY_RECTANGLE
and adding a scary warning like:
GL_ARB_texture_rectangle rectangle has numerous limitations,
including no repeats, and no mipmapping. It also requires incompatible
texture coordinate in custom shaders. Future versions of Clutter
will remove GL_ARB_texture_rectangle support entirely.
? But if you want to go with your approach, sure, I can do that.
I'd need to also add:
cogl_force_legacy_texture_rectangle(boolean), because there are cases
where NPOT textures look like they are there but don't work properly.
- Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]