This was inadvertently removed in
98a6cfd3953 and causes continuous
memory leaks as events are being received after the context has been
unbound.
Fixes:
3170b63314f ("loader: Add infrastructure for tracking active CRTC resources")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8238
Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21128>
(cherry picked from commit
27a89a0903f2c541541846e8d909bb67af242d5e)
"description": "loader: unregister special event in loader_dri3_drawable_fini",
"nominated": true,
"nomination_type": 1,
- "resolution": 0,
+ "resolution": 1,
"main_sha": null,
"because_sha": "3170b63314f14f0031cb95bd5ee3a4726f26b43b"
},
dri3_free_render_buffer(draw, draw->buffers[i]);
}
+ if (draw->special_event) {
+ xcb_void_cookie_t cookie =
+ xcb_present_select_input_checked(draw->conn, draw->eid, draw->drawable,
+ XCB_PRESENT_EVENT_MASK_NO_EVENT);
+
+ xcb_discard_reply(draw->conn, cookie.sequence);
+ xcb_unregister_for_special_event(draw->conn, draw->special_event);
+ }
+
if (draw->region)
xcb_xfixes_destroy_region(draw->conn, draw->region);