gallium/trace: add a pipe_screen::get_compiler_options method

this fixes crashes on startup

Fixes: a3512ddfdf ("st/mesa: don't enable NV_copy_depth_to_color if NIR doesn't support FP64")

fixes mesa/mesa#4312

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9082>
(cherry picked from commit 4feca7ecde)
This commit is contained in:
Mike Blumenkrantz 2021-02-16 11:44:14 -05:00 committed by Dylan Baker
parent c6140fb09d
commit 07029efa5d
2 changed files with 14 additions and 1 deletions

View file

@ -607,7 +607,7 @@
"description": "gallium/trace: add a pipe_screen::get_compiler_options method",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"master_sha": null,
"because_sha": "a3512ddfdf7ff1dff0920568102bfaef99ab498e"
},

View file

@ -103,6 +103,18 @@ trace_screen_get_device_vendor(struct pipe_screen *_screen)
}
static const void *
trace_screen_get_compiler_options(struct pipe_screen *_screen,
enum pipe_shader_ir ir,
enum pipe_shader_type shader)
{
struct trace_screen *tr_scr = trace_screen(_screen);
struct pipe_screen *screen = tr_scr->screen;
return screen->get_compiler_options(screen, ir, shader);
}
static struct disk_cache *
trace_screen_get_disk_shader_cache(struct pipe_screen *_screen)
{
@ -707,6 +719,7 @@ trace_screen_create(struct pipe_screen *screen)
tr_scr->base.get_name = trace_screen_get_name;
tr_scr->base.get_vendor = trace_screen_get_vendor;
tr_scr->base.get_device_vendor = trace_screen_get_device_vendor;
SCR_INIT(get_compiler_options);
SCR_INIT(get_disk_shader_cache);
tr_scr->base.get_param = trace_screen_get_param;
tr_scr->base.get_shader_param = trace_screen_get_shader_param;