v3d: add hook to get on-disk shader cache

This allows to support at least one binary format in
GL_ARB_get_program_binary extension.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16433>
This commit is contained in:
Juan A. Suarez Romero 2022-05-10 17:21:58 +02:00 committed by Marge Bot
parent 29965f356b
commit f575b0d7b5
2 changed files with 10 additions and 1 deletions

View File

@ -143,7 +143,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virg
GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi, llvmpipe, virgl, zink, d3d12
GL_ARB_ES2_compatibility DONE (freedreno, i965, nv50, softpipe, v3d, vc4, panfrost, lima)
GL_ARB_get_program_binary DONE (freedreno, 0 or 1 binary formats)
GL_ARB_get_program_binary DONE (freedreno, v3d, 0 or 1 binary formats)
GL_ARB_separate_shader_objects DONE (all drivers)
GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10)
GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, softpipe, )

View File

@ -826,6 +826,14 @@ v3d_screen_get_compatible_tlb_format(struct pipe_screen *screen,
}
}
static struct disk_cache *
v3d_screen_get_disk_shader_cache(struct pipe_screen *pscreen)
{
struct v3d_screen *screen = v3d_screen(pscreen);
return screen->disk_cache;
}
struct pipe_screen *
v3d_screen_create(int fd, const struct pipe_screen_config *config,
struct renderonly *ro)
@ -892,6 +900,7 @@ v3d_screen_create(int fd, const struct pipe_screen_config *config,
pscreen->get_vendor = v3d_screen_get_vendor;
pscreen->get_device_vendor = v3d_screen_get_vendor;
pscreen->get_compiler_options = v3d_screen_get_compiler_options;
pscreen->get_disk_shader_cache = v3d_screen_get_disk_shader_cache;
pscreen->query_dmabuf_modifiers = v3d_screen_query_dmabuf_modifiers;
pscreen->is_dmabuf_modifier_supported =
v3d_screen_is_dmabuf_modifier_supported;