modesetting: Disable reverse prime offload mode for displays running on evdi,udl
This mode for displays running on evdi/udl as side effect of failed glamor_egl_init
reverse_prime_offload_mode was initialized to FALSE
After Mesa upgrade to 21.0.0 GL_RENDERER is not llvmpipe that results in successful glamor_egl_init
and reverse_prime_offload_mode enabled.
This commit is explicitly disabling reverse_prime_offload_mode for evdi and udl drivers
Signed-off-by: Łukasz Spintzyk <lukasz.spintzyk@synaptics.com>
(cherry picked from commit 7e7c147105
)
This commit is contained in:
parent
6272529339
commit
4e11bd390a
|
@ -1752,18 +1752,30 @@ ScreenInit(ScreenPtr pScreen, int argc, char **argv)
|
|||
"Failed to initialize the Present extension.\n");
|
||||
}
|
||||
/* enable reverse prime if we are a GPU screen, and accelerated, and not
|
||||
* i915. i915 is happy scanning out from sysmem. */
|
||||
* i915, evdi or udl. i915 is happy scanning out from sysmem.
|
||||
* evdi and udl are virtual drivers scanning out from sysmem
|
||||
* backed dumb buffers.
|
||||
*/
|
||||
if (pScreen->isGPU) {
|
||||
drmVersionPtr version;
|
||||
|
||||
/* enable if we are an accelerated GPU screen */
|
||||
ms->drmmode.reverse_prime_offload_mode = TRUE;
|
||||
|
||||
/* disable if we detect i915 */
|
||||
if ((version = drmGetVersion(ms->drmmode.fd))) {
|
||||
if (!strncmp("i915", version->name, version->name_len)) {
|
||||
ms->drmmode.reverse_prime_offload_mode = FALSE;
|
||||
}
|
||||
if (!strncmp("evdi", version->name, version->name_len)) {
|
||||
ms->drmmode.reverse_prime_offload_mode = FALSE;
|
||||
}
|
||||
if (!strncmp("udl", version->name, version->name_len)) {
|
||||
ms->drmmode.reverse_prime_offload_mode = FALSE;
|
||||
}
|
||||
if (!ms->drmmode.reverse_prime_offload_mode) {
|
||||
xf86DrvMsg(pScrn->scrnIndex, X_INFO,
|
||||
"Disable reverse prime offload mode for %s.\n", version->name);
|
||||
}
|
||||
drmFreeVersion(version);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user