r600: Elide downloads for discarded and immutable compute memories.
Compute memory item demotion invokes a device to host transfer unconditionally, but there are at least two cases where this is not necessary:
-
The item is mapped for discarding with PIPE_MAP_DISCARD_RANGE (e.g. CL_MAP_WRITE_INVALIDATE_REGION).
-
The item cannot be written to by the device.