anv: Build the real pipeline layout in the pipeline
authorKristian Høgsberg Kristensen <kristian.h.kristensen@intel.com>
Wed, 3 Feb 2016 20:14:28 +0000 (12:14 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 18 Feb 2016 02:04:39 +0000 (18:04 -0800)
commitc2581a9375ea956abf4b9b75d27ec199fabb99d0
treeb01e81fabc5fb68e0335293c05fae58a7797ecab
parent581e4468f96429066249cc3421a5ba0cc4c918de
anv: Build the real pipeline layout in the pipeline

This gives us the chance to pack the binding table down to just what the
shaders actually need.  Some applications use very large descriptor sets
and only ever use a handful of entries.  Compacted binding tables should be
much more efficient in this case.  It comes at the down-side of having to
re-emit binding tables every time we switch pipelines, but that's
considered an acceptable cost.
src/vulkan/anv_cmd_buffer.c
src/vulkan/anv_nir.h
src/vulkan/anv_nir_apply_dynamic_offsets.c
src/vulkan/anv_nir_apply_pipeline_layout.c
src/vulkan/anv_pipeline.c
src/vulkan/anv_private.h