This patch allows allocating results on the host even if the context uses GPU. It also adds support for uploading the host result into a GPU allocated result. This is done to allow using results for storing data that gets computed on the CPU be end up on the GPU, like some of the cached resources used by the compositor. Those resources are refactored accordingly in this patch as well. Pull Request: https://projects.blender.org/blender/blender/pulls/141745