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

Ian Romanick idr at freedesktop.org
Sun Sep 26 10:08:43 PDT 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ville Syrjälä wrote:
> 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.

I believe that it works on everything except the PCI and PCI-e cards.

>> @@ -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.

Right.  G400 has the same texture palette problem that most chips of
that generation have:  two texture units, one palette.  It's the next
youtube sensation.  The driver currently says that CI8 is a valid
texture format, but it doesn't expose GL_EXT_paletted_texture.  These
kinds of textures should show up in the driver

>> +   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.

G200 supports MESA_FORMAT_YCBCR_REV but not MESA_FORMAT_YCBCR.  At least
that's what the driver currently does.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkyffhgACgkQX1gOwKyEAw/+1ACghZND77Na3jSArZaMgRVSN4mS
CSUAoIeoufQpRbM5liUFOnkXbDT/Ct6T
=MvYo
-----END PGP SIGNATURE-----


More information about the mesa-dev mailing list