diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c index ffeaead5..b73f3c5a 100644 --- a/src/sna/sna_driver.c +++ b/src/sna/sna_driver.c @@ -453,6 +453,7 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags) struct sna *sna; rgb defaultWeight = { 0, 0, 0 }; EntityInfoPtr pEnt; + int preferred_depth; int flags24; Gamma zeros = { 0.0, 0.0, 0.0 }; int fd; @@ -508,7 +509,8 @@ static Bool sna_pre_init(ScrnInfoPtr scrn, int flags) flags24 = Support32bppFb | PreferConvert24to32 | SupportConvert24to32; - if (!xf86SetDepthBpp(scrn, 0, 0, 0, flags24)) + preferred_depth = sna->info->gen < 040 ? 16 : 24; + if (!xf86SetDepthBpp(scrn, preferred_depth, 0, 0, flags24)) return FALSE; switch (scrn->depth) {