venus: Allow to select guest-based memory allocations via virgl capset and implement vkr shmem blob import.
The main discussion and problem intro are in related to Mesa MR: mesa/mesa!25889 (merged)
In scope of this PR there are two changes:
- venus: Allow to select guest-based memory allocations via virgl capset
For hypervisors that do not support host memory injection into the guest, it's necessary to have guest-based blob allocations. Therefore, allow to force guest memory allocation via new virgl capset 'requires_guest_alloc'.
- venus: Implement VIRGL_RESOURCE_FD_SHM resource import path
Resources with fdtype VIRGL_RESOURCE_FD_SHM must be mapped in address space of renderer server on vkr_context_import_resource() call.
It fixes the issue on import of vkr shmem blob zero to virglrenderer.
Edited by Andrew Gazizov