[Mesa-dev] [PATCH 4/9] r200: Enable extensions by just setting the flags
Ian Romanick
idr at freedesktop.org
Thu Sep 8 10:53:45 PDT 2011
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 09/06/2011 03:21 PM, Roland Scheidegger wrote:
> Am 06.09.2011 22:13, schrieb Ian Romanick:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> Core Mesa already does the dispatch offset remapping for every
>> function that could possibly ever be supported. There's no need to
>> continue using that cruft in the driver.
>>
>> Since the call to _mesa_enable_imaging_extensions (via
>> driInitExtensions) is removed, EXT_blend_logic_op is explicitly added
>> to the list. EXT_blend_color is also added, but it depends on the
>> drmSupportsBlendColor flag.
>
> Hmm, I don't think EXT_blend_logic_op was advertized before. The reason
> for this is that EXT_blend_logic_op together with
EXT_blend_logic_op *was* previously enabled. r200CreateContext called
driInitExtensions( ctx, card_extensions, GL_TRUE );. The GL_TRUE
parameter tells driInitExtensions to call
_mesa_enable_imaging_extensions. _mesa_enable_imaging_extensions in
turn enables:
GL_EXT_blend_color
GL_EXT_blend_logic_op
GL_EXT_blend_minmax
GL_EXT_blend_subtract
I didn't see anything in r200_state.c to handle blend equation being set
to GL_LOGIC_OP.
Of course, we have *zero* piglit tests for this extension.
> EXT_blend_equation_separate allows some unholy combinations which the
> r200 (possibly other hw too) can't handle correctly. Namely this
> combination makes it possible to have logic ops on rgb or alpha channels
> and color blending on the other channels.
> I know that at least sometime in the past this driver did not advertize
> EXT_blend_logic_op, since OpenGL 1.1 style logic ops do not have that
> problem and EXT_blend_logic_op wasn't really all that important. I guess
> though it's not exactly a severe problem since surely apps old enough to
> use EXT_blend_logic_op wouldn't try to use EXT_blend_equation_separate
> (though in theory some app could be clever and really want to do that...).
That's a good point. I suspect that no hardware actually handles this
case correctly. I seem to recall that this is the reason NVIDIA doesn't
support GL_EXT_blend_logic_op in their drivers. I know the non-Quadro
cards don't support it, anyway.
Does this work on later chips in the Radeon family?
I don't think anyone will miss GL_EXT_blend_logic_op if we just remove
it altogether.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iEYEARECAAYFAk5pASUACgkQX1gOwKyEAw/3OgCfR/mU4O+4dEeGdr6zGrpx7KzU
1zQAnRXhbDF6/gvIFmePr86ddVzKVPVV
=OI6v
-----END PGP SIGNATURE-----
More information about the mesa-dev
mailing list