radv: Add the concept of radv shader binaries.
authorBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Sun, 30 Jun 2019 23:29:24 +0000 (01:29 +0200)
committerBas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Thu, 4 Jul 2019 10:52:26 +0000 (10:52 +0000)
commit726a31df705bba61b91152a84bd0abaea8418768
tree5cce8b2fab02ddb0bea3ea43bceca6d45d83331a
parent43f2f01cc89def665bd0e33f9ad689825b85e977
radv: Add the concept of radv shader binaries.

This simplifies a bunch of stuff by
(1) Keeping all the things in a single allocation, making things easier
 for the cache.
(2) creating a shader_variant creation helper.

This is immediately put to use by creating rtld shader binaries. This
is the main reason for the binaries, as we need to do the linking at
upload time, i.e. post caching. We do not enable rtld yet.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/amd/vulkan/radv_nir_to_llvm.c
src/amd/vulkan/radv_pipeline.c
src/amd/vulkan/radv_pipeline_cache.c
src/amd/vulkan/radv_private.h
src/amd/vulkan/radv_shader.c
src/amd/vulkan/radv_shader.h