On Sun, Dec 31, 2017 at 2:35 AM, Ilia Mirkin <[email protected]> wrote: > On Sun, Dec 31, 2017 at 2:23 AM, Ilia Mirkin <[email protected]> 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 <[email protected]> >> --- >> 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 >> _______________________________________________ Nouveau mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/nouveau
