mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
gallium/ddebug: implement modifiers function
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30587>
This commit is contained in:
parent
c6a9a9c3bc
commit
746e283fc3
1 changed files with 30 additions and 0 deletions
|
|
@ -251,6 +251,34 @@ dd_screen_resource_from_handle(struct pipe_screen *_screen,
|
|||
return res;
|
||||
}
|
||||
|
||||
static struct pipe_resource *
|
||||
dd_screen_resource_create_with_modifiers(struct pipe_screen *_screen,
|
||||
const struct pipe_resource *templat,
|
||||
const uint64_t *modifiers, int count)
|
||||
{
|
||||
struct pipe_screen *screen = dd_screen(_screen)->screen;
|
||||
struct pipe_resource *res =
|
||||
screen->resource_create_with_modifiers(screen, templat,
|
||||
modifiers, count);
|
||||
|
||||
if (!res)
|
||||
return NULL;
|
||||
res->screen = _screen;
|
||||
return res;
|
||||
}
|
||||
|
||||
static void
|
||||
dd_screen_query_dmabuf_modifiers(struct pipe_screen *_screen,
|
||||
enum pipe_format format, int max,
|
||||
uint64_t *modifiers,
|
||||
unsigned int *external_only, int *count)
|
||||
{
|
||||
struct pipe_screen *screen = dd_screen(_screen)->screen;
|
||||
screen->query_dmabuf_modifiers(screen, format, max, modifiers,
|
||||
external_only, count);
|
||||
}
|
||||
|
||||
|
||||
static struct pipe_resource *
|
||||
dd_screen_resource_from_user_memory(struct pipe_screen *_screen,
|
||||
const struct pipe_resource *templ,
|
||||
|
|
@ -634,6 +662,8 @@ ddebug_screen_create(struct pipe_screen *screen)
|
|||
/* is_video_format_supported */
|
||||
SCR_INIT(can_create_resource);
|
||||
dscreen->base.resource_create = dd_screen_resource_create;
|
||||
dscreen->base.resource_create_with_modifiers = dd_screen_resource_create_with_modifiers;
|
||||
dscreen->base.query_dmabuf_modifiers = dd_screen_query_dmabuf_modifiers;
|
||||
dscreen->base.resource_from_handle = dd_screen_resource_from_handle;
|
||||
SCR_INIT(resource_from_memobj);
|
||||
SCR_INIT(resource_from_user_memory);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue