gfxstream/guest: add GetRingParamsFromCapset function

Every capset provides ASG ring metadata.  Have a function for
that.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
This commit is contained in:
Gurchetan Singh
2023-09-13 13:50:50 -07:00
committed by Marge Bot
parent 7bfcb8d0e0
commit 13946ba27b
@@ -16,6 +16,37 @@
#include "util.h"
static bool GetRingParamsFromCapset(enum VirtGpuCapset capset, const VirtGpuCaps& caps,
uint32_t& ringSize, uint32_t& bufferSize,
uint32_t& blobAlignment) {
switch (capset) {
case kCapsetGfxStreamVulkan:
ringSize = caps.vulkanCapset.ringSize;
bufferSize = caps.vulkanCapset.bufferSize;
blobAlignment = caps.vulkanCapset.blobAlignment;
break;
case kCapsetGfxStreamMagma:
ringSize = caps.magmaCapset.ringSize;
bufferSize = caps.magmaCapset.bufferSize;
blobAlignment = caps.magmaCapset.blobAlignment;
break;
case kCapsetGfxStreamGles:
ringSize = caps.glesCapset.ringSize;
bufferSize = caps.glesCapset.bufferSize;
blobAlignment = caps.glesCapset.blobAlignment;
break;
case kCapsetGfxStreamComposer:
ringSize = caps.composerCapset.ringSize;
bufferSize = caps.composerCapset.bufferSize;
blobAlignment = caps.composerCapset.blobAlignment;
break;
default:
return false;
}
return true;
}
address_space_handle_t virtgpu_address_space_open() {
return (address_space_handle_t)(-EINVAL);
}