aux/trace: add screen video methods

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24482>
This commit is contained in:
Julia Tatz 2023-08-03 21:28:09 -04:00 committed by Marge Bot
parent 9d1da9ec20
commit ace894cff8
3 changed files with 58 additions and 1 deletions

View file

@ -48,6 +48,9 @@ lst_enum_include = [
"pipe_cap",
"pipe_capf",
"pipe_compute_cap",
"pipe_video_cap",
"pipe_video_profile",
"pipe_video_entrypoint",
"pipe_resource_param",
"pipe_fd_type",
"pipe_blendfactor",
@ -211,6 +214,7 @@ def pkk_output_header(fh):
#include "pipe/p_defines.h"
#include "pipe/p_video_enums.h"
#ifdef __cplusplus

View file

@ -247,6 +247,31 @@ trace_screen_get_compute_param(struct pipe_screen *_screen,
return result;
}
static int
trace_screen_get_video_param(struct pipe_screen *_screen,
enum pipe_video_profile profile,
enum pipe_video_entrypoint entrypoint,
enum pipe_video_cap param)
{
struct trace_screen *tr_scr = trace_screen(_screen);
struct pipe_screen *screen = tr_scr->screen;
int result;
trace_dump_call_begin("pipe_screen", "get_video_param");
trace_dump_arg(ptr, screen);
trace_dump_arg_enum(pipe_video_profile, profile);
trace_dump_arg_enum(pipe_video_entrypoint, entrypoint);
trace_dump_arg_enum(pipe_video_cap, param);
result = screen->get_video_param(screen, profile, entrypoint, param);
trace_dump_ret(int, result);
trace_dump_call_end();
return result;
}
static bool
trace_screen_is_format_supported(struct pipe_screen *_screen,
@ -279,6 +304,32 @@ trace_screen_is_format_supported(struct pipe_screen *_screen,
return result;
}
static bool
trace_screen_is_video_format_supported(struct pipe_screen *_screen,
enum pipe_format format,
enum pipe_video_profile profile,
enum pipe_video_entrypoint entrypoint)
{
struct trace_screen *tr_scr = trace_screen(_screen);
struct pipe_screen *screen = tr_scr->screen;
bool result;
trace_dump_call_begin("pipe_screen", "is_video_format_supported");
trace_dump_arg(ptr, screen);
trace_dump_arg(format, format);
trace_dump_arg_enum(pipe_video_profile, profile);
trace_dump_arg_enum(pipe_video_entrypoint, entrypoint);
result = screen->is_video_format_supported(screen, format, profile, entrypoint);
trace_dump_ret(bool, result);
trace_dump_call_end();
return result;
}
static void
trace_screen_driver_thread_add_job(struct pipe_screen *_screen,
void *data, struct util_queue_fence *fence,
@ -1429,7 +1480,9 @@ trace_screen_create(struct pipe_screen *screen)
tr_scr->base.get_shader_param = trace_screen_get_shader_param;
tr_scr->base.get_paramf = trace_screen_get_paramf;
tr_scr->base.get_compute_param = trace_screen_get_compute_param;
SCR_INIT(get_video_param);
tr_scr->base.is_format_supported = trace_screen_is_format_supported;
SCR_INIT(is_video_format_supported);
assert(screen->context_create);
tr_scr->base.context_create = trace_screen_context_create;
tr_scr->base.resource_create = trace_screen_resource_create;

View file

@ -467,7 +467,7 @@ endif
prog_enums2names = files('driver_trace/enums2names.py')
files_libgallium += custom_target(
'tr_util.[ch]',
input: ['../include/pipe/p_defines.h', '../../util/blend.h'],
input: ['../include/pipe/p_defines.h', '../include/pipe/p_video_enums.h', '../../util/blend.h'],
output: ['tr_util.c', 'tr_util.h'],
command: [prog_python, prog_enums2names, '@INPUT@', '-C', '@OUTPUT0@', '-H', '@OUTPUT1@', '-I', 'tr_util.h'],
depend_files: prog_enums2names,