[Nouveau] [PATCH] dri3: remove bogus condition for creating pixmap
Ilia Mirkin
imirkin at alum.mit.edu
Sun Feb 4 17:49:37 UTC 2018
On Sun, Dec 31, 2017 at 2:35 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
> On Sun, Dec 31, 2017 at 2:23 AM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> Not clear what the depth % 8 was trying to protect against, but it was
>> breaking 30bpp visuals with DRI3.
>
> Erm, actually switching to my test config which doesn't enable dri3 is
> what "fixed" things. DRI3 is still busted. Ignore this patch until
> that's properly figured out for 30bpp.
So actually it does seem like DRI3 works fine now. After a lot of
tracing, looks like bitsPerPixel will still get set to 32 in this
case, so a lot of the code that does like bitsPerPixel / 8 should
remain OK. I'm following up with a patch which also ensures that the
pixmap->drawable.bitsPerPixel % 8 == 0. Presumably that's what was
trying to be checked earlier.
>
>>
>> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
>> ---
>> src/nouveau_dri2.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
>> index cbb7b2a..07b6022 100644
>> --- a/src/nouveau_dri2.c
>> +++ b/src/nouveau_dri2.c
>> @@ -1076,7 +1076,7 @@ static PixmapPtr nouveau_dri3_pixmap_from_fd(ScreenPtr screen, int fd, CARD16 wi
>> struct nouveau_bo *bo = NULL;
>> struct nouveau_pixmap *nvpix;
>>
>> - if (depth < 8 || depth > 32 || depth % 8)
>> + if (depth < 8 || depth > 32)
>> return NULL;
>>
>> pixmap = screen->CreatePixmap(screen, 0, 0, depth, 0);
>> --
>> 2.13.6
>>
More information about the Nouveau
mailing list