gallium: copy shader and compute caps for ddebug/noop/trace

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33176>
This commit is contained in:
Qiang Yu 2025-01-22 11:25:36 +08:00
parent 7b838218eb
commit 379b3a782d
3 changed files with 6 additions and 0 deletions

View file

@ -680,6 +680,8 @@ ddebug_screen_create(struct pipe_screen *screen)
/* copy all caps */
*(struct pipe_caps *)&dscreen->base.caps = screen->caps;
*(struct pipe_compute_caps *)&dscreen->base.compute_caps = screen->compute_caps;
memcpy((void *)dscreen->base.shader_caps, screen->shader_caps, sizeof(screen->shader_caps));
#undef SCR_INIT

View file

@ -832,6 +832,8 @@ struct pipe_screen *noop_screen_create(struct pipe_screen *oscreen)
/* copy all caps */
*(struct pipe_caps *)&screen->caps = oscreen->caps;
*(struct pipe_compute_caps *)&screen->compute_caps = oscreen->compute_caps;
memcpy((void *)screen->shader_caps, oscreen->shader_caps, sizeof(screen->shader_caps));
slab_create_parent(&noop_screen->pool_transfers,
sizeof(struct pipe_transfer), 64);

View file

@ -1565,6 +1565,8 @@ trace_screen_create(struct pipe_screen *screen)
/* copy all caps */
*(struct pipe_caps *)&tr_scr->base.caps = screen->caps;
*(struct pipe_compute_caps *)&tr_scr->base.compute_caps = screen->compute_caps;
memcpy((void *)tr_scr->base.shader_caps, screen->shader_caps, sizeof(screen->shader_caps));
return &tr_scr->base;