zink: add a screen util function for handling VkResults

enforce device lost status always

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10509>
This commit is contained in:
Mike Blumenkrantz 2021-04-04 12:59:41 -04:00 committed by Marge Bot
parent 480b2b6508
commit 00bd74fb6c
1 changed files with 17 additions and 0 deletions

View File

@ -205,6 +205,23 @@ zink_screen_check_last_finished(struct zink_screen *screen, uint32_t batch_id)
bool
zink_screen_init_semaphore(struct zink_screen *screen);
static inline bool
zink_screen_handle_vkresult(struct zink_screen *screen, VkResult ret)
{
bool success = false;
switch (ret) {
case VK_SUCCESS:
success = true;
break;
case VK_ERROR_DEVICE_LOST:
screen->device_lost = true;
FALLTHROUGH;
default:
success = false;
break;
}
return success;
}
static inline struct zink_screen *
zink_screen(struct pipe_screen *pipe)