zink: use EXT_shader_object to implement generic separate shader precompile
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Fri, 31 Mar 2023 21:23:34 +0000 (17:23 -0400)
committerMarge Bot <emma+marge@anholt.net>
Wed, 26 Apr 2023 05:12:25 +0000 (05:12 +0000)
commit4c47d8305167d0c200f60c787fc4253d1a73f09d
treebabf4af06604710656e5185673366882c06ea045
parent234f9953a22b75cb4ad4983822e648baf7512b08
zink: use EXT_shader_object to implement generic separate shader precompile

this adds precompile for all separate shader stages (+tcs,tes,geom)
using separate shaders, which should eliminate stuttering for games
using it (e.g., Tomb Raider)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22671>
src/gallium/drivers/zink/zink_compiler.c
src/gallium/drivers/zink/zink_descriptors.c
src/gallium/drivers/zink/zink_draw.cpp
src/gallium/drivers/zink/zink_program.c
src/gallium/drivers/zink/zink_screen.c