[Mesa-dev] [PATCH] intel: Don't expose XRGB8888 visuals any more

Ian Romanick idr at freedesktop.org
Mon Jan 21 05:50:59 PST 2013


On 01/20/2013 09:16 PM, Kenneth Graunke wrote:
> On 01/20/2013 05:49 PM, Ian Romanick wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> There really isn't any point.  There is no resource savings, and we have
>> to do gymnastics in the driver to make it work.
>>
>> There are also bad interactions with multisampling and OpenGL ES 3.0.
>> In ES3, a multisample-to-singlesample blit must have identical source
>> and destination format.  This means a multisample RGBA8 to singlesample
>> RGB8 (window) blit will generate an error.  Also in ES3, RGB8 is not a
>> renderable format.  This means that the application CANNOT make an RGB8
>> multisample renderbuffer.
>>
>> As a result, if an application gets an RGB8 window and wants to do
>> multisample FBO rendering, it will probably break.
>>
>> "Fixes" gles3conform
>> framebuffer_blit_functionality_multisampled_to_singlesampled_blit test
>> on RGB8 visuals.
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>> ---
>> There are a couple alternative ways to fix this problem, but they all
>> involve a lot more owrk with little imaginable benefit.  We should also
>> add a piglit test that checks that there are no RGB8 visuals that are
>> marked as conformant and ES3 capable.
>>
>>   src/mesa/drivers/dri/intel/intel_screen.c | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/src/mesa/drivers/dri/intel/intel_screen.c
>> b/src/mesa/drivers/dri/intel/intel_screen.c
>> index 347b3dd..8609572 100644
>> --- a/src/mesa/drivers/dri/intel/intel_screen.c
>> +++ b/src/mesa/drivers/dri/intel/intel_screen.c
>> @@ -906,7 +906,6 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
>>   {
>>      static const gl_format formats[3] = {
>>         MESA_FORMAT_RGB565,
>> -      MESA_FORMAT_XRGB8888,
>>         MESA_FORMAT_ARGB8888
>>      };
>
> You need to reduce the array size as well, or else the loop below (using
> ARRAY_SIZE(formats)) will use undefined values.  I would just remove the
> explicit size and let the compiler figure it out.

Yes and no.  The value of the unspecified element is defined (by the C 
standard) to be zero... which is still probably bad. :)  I'll fix that.

> I agree with removing XRGB visuals.  There's no benefit at all.  Feel
> free to add by R-b on Acked-by.
>
> --Ken
>



More information about the mesa-dev mailing list