- Feb 20, 2025
-
-
Dmitry Osipenko authored
Support extended version of VIRTIO_GPU_CMD_SUBMIT_3D command that allows passing in-fence IDs to host for waiting, removing need to do expensive host-guest roundtrips in a case of waiting for fences on a guest side. Guest userspace must enable new VIRTGPU_CONTEXT_PARAM_FENCE_PASSING flag and host must support new VIRTIO_GPU_F_FENCE_PASSING feature in order to activate the fence passing for a given virtio-gpu context. Array of in-fence IDs is then prepended to the VIRTIO_GPU_CMD_SUBMIT_3D's data, the previously unused padding field of the command is reused for the number of in-fences. A new VIRTGPU_EXECBUF_SHARED_FENCE flag is added to the job submission UAPI and must be set by userspace if it wants to make fence shareable with/on host. Certain jobs won't want to share fence, in particular Venus will benefit from this flag. Link: virgl/virglrenderer!1138 Link: https://gitlab.freedesktop.org/digetx/qemu/-/commits/native-context-iris Link: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/4679609 Signed-off-by:
Dmitry Osipenko <dmitry.osipenko@collabora.com>
-
Changes the virtio-gpu ABI to return the blob type (__u32 blob_mem) of a resource for queries with type VIRTGPU_RESOURCE_INFO_TYPE_DEFAULT. Resource_info ioctl queries with type VIRTGPU_RESOURCE_INFO_TYPE_EXTENDED return a resource's "extended info", including num_planes, planar offsets/strides, and format_modifier. For resources created with blob_mem == VIRTGPU_BLOB_MEM_GUEST, the ioctl produces EINVAL instead, since these don't rely on host storage. This matches the change introduced to the chromeos-5.4-arcvm kernel in commit cb4262257cbf ("Reland: "CHROMIUM: drm/virtio: return blob_mem flags with resource info ioctls""). However this also avoids returning an error status when failing to wait on resource_create callbacks for blob resources, which don't launch callbacks on creation. BUG=b:190506603 TEST=(in vulkan-enabled VM): glxgears, vkcube Cq-Depend: chromium:2964566 Signed-off-by:
Ryan Neph <ryanneph@google.com> Change-Id: I82396d0d89b7718844dee228e9b6bab8a744b2d4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2944424 Reviewed-by:
Chia-I Wu <olv@google.com> Reviewed-by:
Yiwei Zhang <zzyiwei@google.com>
-
Forward port of the following changes https://crrev.com/c/1351813 https://crrev.com/c/2051223 https://crrev.com/c/2622949 https://crrev.com/c/2625398 They are squashed because the first two CLs had ABI conflict with commit d9d9750e0a9a ("FROMGIT: drm/virtgpu api: blob resources") that was fixed by the last two CLs. BUG=b:176158397 TEST=glxgears and vkcube Signed-off-by:
Chia-I Wu <olv@google.com> Change-Id: I480495a218c9faec1c493b5d7012ad1c1982fa3d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/2634406 Reviewed-by:
David Riley <davidriley@chromium.org>
-
Dmitry Osipenko authored
-
- Jan 31, 2025
-
-
Stephen Rothwell authored
Signed-off-by:
Stephen Rothwell <sfr@canb.auug.org.au>
-
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.gitStephen Rothwell authored
# Conflicts: # include/linux/binfmts.h
-