nir/xfb: move varyings info out of nir_xfb_info
authorAlejandro Piñeiro <apinheiro@igalia.com>
Thu, 14 Mar 2019 10:02:52 +0000 (11:02 +0100)
committerAlejandro Piñeiro <apinheiro@igalia.com>
Fri, 15 Mar 2019 10:59:32 +0000 (11:59 +0100)
commit34b3b92bbee1f68a9c121cd26e30e113c8cd39a8
tree423f1bc9eb25455542fc1ef9d1cfdc86b70c68ec
parentd5befdbe4ad4523e58074063a3b619f389fb9f1f
nir/xfb: move varyings info out of nir_xfb_info

When varyings was added we moved to use to dynamycally allocated
pointers, instead of allocating just one block for everything. That
breaks some assumptions of some vulkan drivers (like anv), that make
serialization and copying easier. And at the same time, varyings are
not needed for vulkan.

So this commit moves them out. Although it seems a little an overkill,
fixing the anv side would require a similar, or more, changes, so in
the end it is about to decide where do we want to put our effort.

v2: (from Jason review)
  * Don't use a temp variable on the _create methods, just return
    result of rzalloc_size
  * Wrap some lines too long.

Fixes: cf0b2ad486c9 ("nir/xfb: adding varyings on nir_xfb_info and gather_info")
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/compiler/glsl/gl_nir_link_xfb.c
src/compiler/nir/nir_gather_xfb_info.c
src/compiler/nir/nir_xfb_info.h