[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Recent AIGLX Breakage?

Antonio Vargas wrote:
The usual real-time way is to render the original to a texture,
generate mipmaps for the texture and then use texture-bias so that you
paint into the screen a lower-resolution texture before overlaying the
translucent item. Notice that this does not need any pixel shader,
just a fast mipmap generator (depends on the driver support), or even
if this is not provided, then use multitexturing to implement a
box-filter yourself: you can get 4 samples/pixel with each texture
source by sampling the original pixels with a (+0.5,+0.5) difference
in (U,V) coordinates

Cute trick! I think right now we're not doing hardware mipmap generation, though it wouldn't be hard to add in principle. The mipmap control code in Mesa could use a little work anyway, if someone's looking for a relatively easy project to take on.

Even if we were, though, almost all of our textures are non-power-of-two, and the intersection of the sets of (hardware without pixel shaders) and (hardware that can do mipmapped rectangular textures) is pretty small, so it might be difficult to get this to work acceptably with just plain mipmapping. However, pretty much all hardware that can do EXT_texture_rectangle can also multitexture so that'd be an option too, the only exception I know of is the Intel i740 which we don't have a driver for anyway.

- ajax

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]