[PATCH 3/3] Float fbconfigs exchange patch [3/3], (req. MESA patch) Update use of __DRI_ATTRIB_RENDER_TYPE.
Ian Romanick
idr at freedesktop.org
Wed Oct 16 18:56:35 PDT 2013
On 10/15/2013 10:41 AM, Ian Romanick wrote:
> On 07/15/2013 08:06 AM, Tomasz Lis wrote:
>> From: Tomasz Lis <tomasz.lis at intel.com>
>>
>> diff --git a/glx/glxcmds.c b/glx/glxcmds.c
>> index 5b7a628..716e60c 100644
>> --- a/glx/glxcmds.c
>> +++ b/glx/glxcmds.c
>> @@ -1400,6 +1400,7 @@ DoCreatePbuffer(ClientPtr client, int screenNum, XID fbconfigId,
>> __GLXconfig *config;
>> __GLXscreen *pGlxScreen;
>> PixmapPtr pPixmap;
>> + int depth;
>> int err;
>>
>> LEGAL_NEW_RESOURCE(glxDrawableId, client);
>> @@ -1409,10 +1410,19 @@ DoCreatePbuffer(ClientPtr client, int screenNum, XID fbconfigId,
>> if (!validGlxFBConfig(client, pGlxScreen, fbconfigId, &config, &err))
>> return err;
>>
>> + if (config->renderType & (GLX_RGBA_FLOAT_BIT_ARB |
>> + GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT)) {
>> + /* There are no float X pixmaps - create a dummy one, with 1 BPP. */
>> + depth = 1;
>> + } else {
>> + depth = config->rgbBits;
>> + }
>
> I still think this is no good. With the changes that are going to be
> made on the client side, is this hack even necessary?
I'm actually recommend pulling this part out into a separate patch.
This is for two reasons:
1. It's really doing something different that the rest of the changes in
the patch (and doesn't match the patch description).
2. None of the other parts are contentious. We should be able to get
those landed much easier.
>> +
>> +
>> __glXenterServer(GL_FALSE);
>> pPixmap = (*pGlxScreen->pScreen->CreatePixmap) (pGlxScreen->pScreen,
>> width, height,
>> - config->rgbBits, 0);
>> + depth, 0);
>> __glXleaveServer(GL_FALSE);
>>
>> /* Assign the pixmap the same id as the pbuffer and add it as a
More information about the xorg-devel
mailing list