Finalize MESA_map_buffer_client_pointer (#680)

* MESA_map_buffer_client_pointer: add CLIENT_POINTER_RELEASE_ALL_MESA.

As discussed in PR (#678), introduce a flag to specifiy whether all possibly client pointer ranges
should be released, or just the one the driver isn't holding onto anymore, as releasing everything
is slow and should be reserved for OOM situations.

This changes the ABI, as PR (#678) was merged before it was ready, and we don't yet have any consumers.

* MESA_map_buffer_client_pointer: Require CLIENT_POINTER-enabled data stores.

Enables the driver to pool resources with shared client range space into one BO.
Otherwise implementations may have to either reshuffle memory at map-time, or support
concurrent mappings for the same memory.

* MESA_map_buffer_client_pointer: Specify shareable state.
2 files changed