Revert "zink: remove drm_fd"

This reverts commit c5960f64b1.

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16815>
This commit is contained in:
Mike Blumenkrantz
2022-06-01 11:30:32 -04:00
committed by Marge Bot
parent b17aa29793
commit b4ef984ef3
2 changed files with 8 additions and 0 deletions
+7
View File
@@ -1275,6 +1275,8 @@ zink_destroy_screen(struct pipe_screen *pscreen)
util_idalloc_mt_fini(&screen->buffer_ids);
util_dl_close(screen->loader_lib);
if (screen->drm_fd != -1)
close(screen->drm_fd);
slab_destroy_parent(&screen->transfer_pool);
ralloc_free(screen);
@@ -2348,6 +2350,9 @@ struct pipe_screen *
zink_create_screen(struct sw_winsys *winsys, const struct pipe_screen_config *config)
{
struct zink_screen *ret = zink_internal_create_screen(config);
if (ret) {
ret->drm_fd = -1;
}
return &ret->base;
}
@@ -2357,6 +2362,8 @@ zink_drm_create_screen(int fd, const struct pipe_screen_config *config)
{
struct zink_screen *ret = zink_internal_create_screen(config);
if (ret)
ret->drm_fd = os_dupfd_cloexec(fd);
if (ret && !ret->info.have_KHR_external_memory_fd) {
debug_printf("ZINK: KHR_external_memory_fd required!\n");
zink_destroy_screen(&ret->base);
+1
View File
@@ -113,6 +113,7 @@ struct zink_screen {
simple_mtx_t dt_lock;
bool device_lost;
int drm_fd;
struct hash_table framebuffer_cache;