[SRU] focal: gallium: Reset {d,r}Priv in dri_unbind_context
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
mesa (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
High
|
Timo Aaltonen |
Bug Description
[Description]
This is a request to backport this fix from mesa 21.1 to focal-updates which is affecting users of WSL:
https:/
This cached stale pointer is causing various chromium applications (Edge, Chrome, Visual Studio Code, etc…) to hang on resize when vGPU is enabled in WSLg. We’re getting incredibly unlucky because a glx drawable is being freed and reallocated with exactly the same heap pointers during a resize, which is causing Mesa to think the new drawable is already fully initialized when binded to the context, but it is not true and only because the new drawable is matching the old stale pointer for the previously freed drawable… and as a result the context remain invalid and the app is unable to present.
With the push of WDDMv3 drivers which expose vGPU in WSL, the number of users hitting this issue is increasing.
[Test Case]
On Windows 11 with WSLg and Ubuntu 20.04
1. Verify that hardware acceleration is enable either with glxinfo -B or in edge with edge://gpu
2. Install and launch chrome, edge or vscode
3. Resize the windows repeatedly
Verification:
The app must not crash or hang.
[What could go wrong]
The patch resets two pointers to NULL in dri_unbind_
description: | updated |
Changed in mesa (Ubuntu): | |
status: | New → Fix Released |
Changed in mesa (Ubuntu Focal): | |
status: | New → Triaged |
importance: | Undecided → High |
Changed in mesa (Ubuntu Focal): | |
assignee: | nobody → Timo Aaltonen (tjaalton) |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
Changed in mesa (Ubuntu Focal): | |
status: | Incomplete → Triaged |
This SRU upload is missing SRU information. Please follow https:/ /wiki.ubuntu. com/StableRelea seUpdates# Procedure. Thanks!