[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