mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-03-12 13:20:33 +01:00
st/xorg: Cleanly shutdown
This commit is contained in:
parent
5f8f14e5ca
commit
a9f71b3bba
2 changed files with 10 additions and 5 deletions
|
|
@ -541,6 +541,9 @@ ScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!ms->api)
|
||||
ms->api = drm_api_create();
|
||||
|
||||
if (!ms->screen) {
|
||||
ms->screen = ms->api->create_screen(ms->api, ms->fd, NULL);
|
||||
|
||||
|
|
@ -774,7 +777,7 @@ CloseScreen(int scrnIndex, ScreenPtr pScreen)
|
|||
if (ms->exa)
|
||||
xorg_exa_close(pScrn);
|
||||
|
||||
if (ms->api->destroy)
|
||||
if (ms->api && ms->api->destroy)
|
||||
ms->api->destroy(ms->api);
|
||||
ms->api = NULL;
|
||||
|
||||
|
|
|
|||
|
|
@ -283,13 +283,15 @@ void renderer_destroy(struct xorg_renderer *r)
|
|||
if (fsbuf && fsbuf->buffer)
|
||||
pipe_buffer_reference(&fsbuf->buffer, NULL);
|
||||
|
||||
if (r->shaders) {
|
||||
xorg_shaders_destroy(r->shaders);
|
||||
r->shaders = NULL;
|
||||
}
|
||||
|
||||
if (r->cso) {
|
||||
cso_release_all(r->cso);
|
||||
cso_destroy_context(r->cso);
|
||||
}
|
||||
|
||||
if (r->shaders) {
|
||||
xorg_shaders_destroy(r->shaders);
|
||||
r->cso = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue