From d41987eaaef668a255fab02ae9cde890c45fcbcb Mon Sep 17 00:00:00 2001 From: Gurchetan Singh Date: Thu, 1 Aug 2024 16:34:32 -0700 Subject: [PATCH] gfxstream: connect to the specificied kumquat socket An multi-threaded test might want: - launch multiple kumquats - connect each thread to a specific instance of kumquat. Reviewed-by: Aaron Ruby Acked-by: Yonggang Luo Acked-by: Adam Jackson Part-of: --- .../guest/platform/kumquat/VirtGpuKumquatDevice.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/gfxstream/guest/platform/kumquat/VirtGpuKumquatDevice.cpp b/src/gfxstream/guest/platform/kumquat/VirtGpuKumquatDevice.cpp index 1a23f1ff44e..0b7263ebba7 100644 --- a/src/gfxstream/guest/platform/kumquat/VirtGpuKumquatDevice.cpp +++ b/src/gfxstream/guest/platform/kumquat/VirtGpuKumquatDevice.cpp @@ -47,12 +47,12 @@ VirtGpuKumquatDevice::VirtGpuKumquatDevice(enum VirtGpuCapset capset, int32_t de PARAM(VIRTGPU_KUMQUAT_PARAM_CREATE_GUEST_HANDLE), }; - (void)descriptor; int ret; struct drm_kumquat_get_caps get_caps = {0}; struct drm_kumquat_context_init init = {0}; struct drm_kumquat_context_set_param ctx_set_params[3] = {{0}}; const char* processName = nullptr; + std::string gpu_socket_path = "/tmp/kumquat-gpu-"; memset(&mCaps, 0, sizeof(struct VirtGpuCaps)); @@ -60,7 +60,13 @@ VirtGpuKumquatDevice::VirtGpuKumquatDevice(enum VirtGpuCapset capset, int32_t de processName = getprogname(); #endif - ret = virtgpu_kumquat_init(&mVirtGpu, nullptr); + if (descriptor >= 0) { + gpu_socket_path.append(std::to_string(descriptor)); + } else { + gpu_socket_path.append("0"); + } + + ret = virtgpu_kumquat_init(&mVirtGpu, gpu_socket_path.c_str()); if (ret) { ALOGV("Failed to init virtgpu kumquat"); return;