OSDN Git Service

anv/pipeline: Store the (set, binding, index) tripple in the bind map
authorJason Ekstrand <jason.ekstrand@intel.com>
Mon, 6 Jun 2016 18:12:27 +0000 (11:12 -0700)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 14 Jun 2016 14:48:40 +0000 (15:48 +0100)
commit86dbf1ef4b32d31edde5dce7b64daac52207ae0d
treec8660aa8854437876f2c47e51802fce4aacfeff6
parentb1f217b5a93abf273aaf8724428eea59d3005432
anv/pipeline: Store the (set, binding, index) tripple in the bind map

This way the the bind map (which we're caching) is mostly independent of
the pipeline layout.  The only coupling remaining is that we pull the array
size of a binding out of the layout.  However, that size is also specified
in the shader and should always match so it's not really coupled.  This
rendering issues in Dota 2.

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
Cc: "12.0" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a1a25db69926604d579139d1d497f1566ec16ac7)
src/intel/vulkan/anv_cmd_buffer.c
src/intel/vulkan/anv_nir_apply_pipeline_layout.c
src/intel/vulkan/anv_pipeline.c
src/intel/vulkan/anv_private.h
src/intel/vulkan/gen8_pipeline.c