diff --git a/src/gfxstream/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp b/src/gfxstream/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp index 4780faef3b2..a1ac3edd3f5 100644 --- a/src/gfxstream/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp +++ b/src/gfxstream/guest/GoldfishAddressSpace/VirtioGpuAddressSpaceStream.cpp @@ -84,6 +84,15 @@ AddressSpaceStream* createVirtioGpuAddressSpaceStream(enum VirtGpuCapset capset) VirtGpuDevice* instance = VirtGpuDevice::getInstance(); auto caps = instance->getCaps(); + if (!caps.params[kParamResourceBlob]) { + mesa_loge("VirtGpuDevice does not support blob-resources!"); + return nullptr; + } + if (!caps.params[kParamHostVisible] && !caps.params[kParamCreateGuestHandle]) { + mesa_loge("VirtGpuDevice must support at least one of: 1) host-visible memory (kParamHostVisible) or 2) host handles created from guest memory (kParamCreateGuestHandle)."); + return nullptr; + } + if (!GetRingParamsFromCapset(capset, caps, ringSize, bufferSize, blobAlignment)) { mesa_loge("Failed to get ring parameters"); return nullptr; diff --git a/src/gfxstream/guest/platform/drm/DrmVirtGpuDevice.cpp b/src/gfxstream/guest/platform/drm/DrmVirtGpuDevice.cpp index 8ad29d30076..79a68d9331d 100644 --- a/src/gfxstream/guest/platform/drm/DrmVirtGpuDevice.cpp +++ b/src/gfxstream/guest/platform/drm/DrmVirtGpuDevice.cpp @@ -194,7 +194,7 @@ int32_t DrmVirtGpuDevice::init(int32_t descriptor) { ret = drmIoctl(mDeviceHandle, DRM_IOCTL_VIRTGPU_GETPARAM, &get_param); if (ret) { - mesa_logd("virtgpu backend not enabling %s", params[i].name); + mesa_logd("Could not query virtgpu param from device: %s", params[i].name); continue; }