zink: rework pipeline cache implementation
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Sun, 9 May 2021 15:13:09 +0000 (11:13 -0400)
committerMarge Bot <eric+marge@anholt.net>
Fri, 2 Jul 2021 00:09:33 +0000 (00:09 +0000)
commitce90f73eb0fb3d7e2de5aeef2e8094cae0a73e48
tree19f349121aad3bf0829e8226bd8cbcf1f4e8e9c1
parent8da06994cf8dc322af3ea91c0019046da6fce498
zink: rework pipeline cache implementation

this is now a screen-based queue which can be triggered to serialize
cache updates, ensuring synchronization

the cache is on the program object, enabling incremental updates as well as
variant loading for an entire pipeline collection at once

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11595>
src/gallium/drivers/zink/zink_pipeline.c
src/gallium/drivers/zink/zink_program.c
src/gallium/drivers/zink/zink_program.h
src/gallium/drivers/zink/zink_screen.c
src/gallium/drivers/zink/zink_screen.h