mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-17 17:50:29 +01:00
This adds a new base vk_shader object along with vtables for creating, binding, and working with shader objects. Unlike other parts of the runtime, the new shader object code is a bit more sanitized and opinionated than just handing you the Vulkan entrypoints. For one thing, the create_shaders() calback takes a NIR shader, not SPIR-V. Conversion of SPIR-V into NIR, handling of magic meta NIR shaders, etc. is all done in common code. [De]serialization is done via `struct blob` and the common code does a checksum of the binary and handles rejecting invalid binaries based on shaderBinaryUUID and shaderBinaryVersion. This should make life a bit easier for driver authors as well as provides a bit nicer interface for building the common pipeline implementation on top of shader objects. Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27024> |
||
|---|---|---|
| .. | ||
| device-select-layer | ||
| overlay-layer | ||
| registry | ||
| runtime | ||
| util | ||
| wsi | ||
| meson.build | ||
| vulkan-android.sym | ||
| vulkan-icd-android-symbols.txt | ||
| vulkan-icd-symbols.txt | ||
| vulkan.sym | ||
| vulkan_api.def.in | ||