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:

committed by
Marge Bot

parent
29965f356b
commit
f575b0d7b5
@@ -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 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_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_separate_shader_objects DONE (all drivers)
|
||||||
GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10)
|
GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10)
|
||||||
GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, softpipe, )
|
GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, softpipe, )
|
||||||
|
@@ -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 *
|
struct pipe_screen *
|
||||||
v3d_screen_create(int fd, const struct pipe_screen_config *config,
|
v3d_screen_create(int fd, const struct pipe_screen_config *config,
|
||||||
struct renderonly *ro)
|
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_vendor = v3d_screen_get_vendor;
|
||||||
pscreen->get_device_vendor = v3d_screen_get_vendor;
|
pscreen->get_device_vendor = v3d_screen_get_vendor;
|
||||||
pscreen->get_compiler_options = v3d_screen_get_compiler_options;
|
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->query_dmabuf_modifiers = v3d_screen_query_dmabuf_modifiers;
|
||||||
pscreen->is_dmabuf_modifier_supported =
|
pscreen->is_dmabuf_modifier_supported =
|
||||||
v3d_screen_is_dmabuf_modifier_supported;
|
v3d_screen_is_dmabuf_modifier_supported;
|
||||||
|
Reference in New Issue
Block a user