summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_device.c
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-08-25 01:49:49 -0700
committerJason Ekstrand <jason.ekstrand@intel.com>2016-08-30 15:08:23 -0700
commit10f9901bcef7724cb72fb2fe7e3dd8d6660d2f34 (patch)
tree007712bd01daea07fe9389b2aad6de234d45df77 /src/intel/vulkan/anv_device.c
parent689971847005219178f5a484dffecf9e5e515192 (diff)
downloadexternal_mesa3d-10f9901bcef7724cb72fb2fe7e3dd8d6660d2f34.zip
external_mesa3d-10f9901bcef7724cb72fb2fe7e3dd8d6660d2f34.tar.gz
external_mesa3d-10f9901bcef7724cb72fb2fe7e3dd8d6660d2f34.tar.bz2
anv: Rework pipeline caching
The original pipeline cache the Kristian wrote was based on a now-false premise that the shaders can be stored in the pipeline cache. The Vulkan 1.0 spec explicitly states that the pipeline cache object is transiant and you are allowed to delete it after using it to create a pipeline with no ill effects. As nice as Kristian's design was, it doesn't jive with the expectation provided by the Vulkan spec. The new pipeline cache uses reference-counted anv_shader_bin objects that are backed by a large state pool. The cache itself is just a hash table mapping keys hashes to anv_shader_bin objects. This has the added advantage of removing one more hand-rolled hash table from mesa. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97476 Acked-by: Kristian Høgsberg Kristensen <krh@bitplanet.net>
Diffstat (limited to 'src/intel/vulkan/anv_device.c')
-rw-r--r--src/intel/vulkan/anv_device.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
index 765dc6e..cf63993 100644
--- a/src/intel/vulkan/anv_device.c
+++ b/src/intel/vulkan/anv_device.c
@@ -881,7 +881,6 @@ VkResult anv_CreateDevice(
anv_block_pool_init(&device->instruction_block_pool, device, 128 * 1024);
anv_state_pool_init(&device->instruction_state_pool,
&device->instruction_block_pool);
- anv_pipeline_cache_init(&device->default_pipeline_cache, device);
anv_block_pool_init(&device->surface_state_block_pool, device, 4096);