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");
|
"Failed to initialize the Present extension.\n");
|
||||||
}
|
}
|
||||||
/* enable reverse prime if we are a GPU screen, and accelerated, and not
|
/* 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) {
|
if (pScreen->isGPU) {
|
||||||
drmVersionPtr version;
|
drmVersionPtr version;
|
||||||
|
|
||||||
/* enable if we are an accelerated GPU screen */
|
/* enable if we are an accelerated GPU screen */
|
||||||
ms->drmmode.reverse_prime_offload_mode = TRUE;
|
ms->drmmode.reverse_prime_offload_mode = TRUE;
|
||||||
|
|
||||||
/* disable if we detect i915 */
|
|
||||||
if ((version = drmGetVersion(ms->drmmode.fd))) {
|
if ((version = drmGetVersion(ms->drmmode.fd))) {
|
||||||
if (!strncmp("i915", version->name, version->name_len)) {
|
if (!strncmp("i915", version->name, version->name_len)) {
|
||||||
ms->drmmode.reverse_prime_offload_mode = FALSE;
|
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);
|
drmFreeVersion(version);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue