fuchsia: store extra info for VkBufferCollectionFUCHSIA.

This change adds a map mapping VkBufferCollectionFUCHSIA handles
to info structs for each buffer collection.

So far the info struct contains the following fields:

- Optional<BufferCollectionConstraints> constraints

    stores the actual buffer constraints we generated from
    vkSetBufferCollectionConstraints or
    vkSetBufferCollectionImageConstraints, used for retrieving
    actual format index in vkGetBufferCollectionProperties2.

- Optional<VkBufferCollectionProperties2FUCHSIA> properties

    stores the buffer collection properties returned by
    vkGetBufferCollectionProperties2, so that other Vulkan
    methods (e.g. VkCreateImage, VkAllocateMemory) may
    use the properties directly without calling the
    GetbufferCollectionProperties2() function again.

Change-Id: Ibfc47a67d3bdeee866af60d3b60283f2c616c60d
2 files changed