[Mesa-dev] [PATCH 3/6] mga: Merge texformat fallbacks into core.

Ville Syrjälä syrjala at sci.fi
Sun Sep 26 02:29:42 PDT 2010


On Fri, Sep 24, 2010 at 05:08:49PM -0700, Eric Anholt wrote:
> This drops the screen-depth-dependent texture formatting and
> force-16-bits option.  The (default) screen depth dependency of format
> choice for unsized internal formats would have resulted in additional
> banding on 16-bit screens since 32-bit textures would get truncated
> down to 16 bits before dithering occurred.

These cards are pretty severily memory limited (typical G200 has only
8MB) so I'm not entirely sure about this change. Texturing directly
from AGP memory helps but I don't remember if that works properly
with this driver.

> @@ -527,6 +526,22 @@ mgaCreateContext( gl_api api,
>  				 GL_FALSE,
>  				 0 );
>  
> +   memset(&ctx->texture_format_supported, 0,
> +	  sizeof(ctx->texture_format_supported));
> +   ctx->texture_format_supported[MESA_FORMAT_ARGB8888] = GL_TRUE;
> +   ctx->texture_format_supported[MESA_FORMAT_ARGB4444] = GL_TRUE;
> +   ctx->texture_format_supported[MESA_FORMAT_ARGB1555] = GL_TRUE;
> +   ctx->texture_format_supported[MESA_FORMAT_RGB565] = GL_TRUE;
> +   ctx->texture_format_supported[MESA_FORMAT_CI8] = GL_TRUE;

I could be wrong but IIRC there isn't working code to load the texture
palette in the driver. Also I've never managed to get the texture
palette working properly with G400/G450/G550, with G200 it works though.

> +   if (MGA_IS_G400(mmesa)) {
> +      ctx->texture_format_supported[MESA_FORMAT_I8] = GL_TRUE;
> +      ctx->texture_format_supported[MESA_FORMAT_AL88] = GL_TRUE;
> +
> +      /* ctx->Extensions.MESA_ycbcr_texture */
> +      ctx->texture_format_supported[MESA_FORMAT_YCBCR] = GL_TRUE;
> +      ctx->texture_format_supported[MESA_FORMAT_YCBCR_REV] = GL_TRUE;
> +   }

G200 can do YUY2.

-- 
Ville Syrjälä
syrjala at sci.fi
http://www.sci.fi/~syrjala/


More information about the mesa-dev mailing list