gallium/api: add validate_egl_image interface

For being used by mesa state tracker.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Qiang Yu <yuq825@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12336>
This commit is contained in:
Qiang Yu 2021-08-11 10:10:07 +08:00 committed by Marge Bot
parent d45d749e8b
commit 4145532671
2 changed files with 18 additions and 0 deletions

View file

@ -460,6 +460,15 @@ dri_get_egl_image(struct st_manager *smapi,
return TRUE;
}
static bool
dri_validate_egl_image(struct st_manager *smapi,
void *egl_image)
{
struct dri_screen *screen = (struct dri_screen *)smapi;
return screen->validate_egl_image(screen, egl_image);
}
static int
dri_get_param(struct st_manager *smapi,
enum st_manager_param param)
@ -546,6 +555,9 @@ dri_init_screen_helper(struct dri_screen *screen,
screen->base.get_param = dri_get_param;
screen->base.set_background_context = dri_set_background_context;
if (screen->validate_egl_image)
screen->base.validate_egl_image = dri_validate_egl_image;
screen->st_api = st_gl_api_create();
if (!screen->st_api)
return NULL;

View file

@ -473,6 +473,12 @@ struct st_manager
void *egl_image,
struct st_egl_image *out);
/**
* Validate EGLImage passed to get_egl_image.
*/
bool (*validate_egl_image)(struct st_manager *smapi,
void *egl_image);
/**
* Query an manager param.
*/