[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] cd7ebf: virtio-gpu: Use trace events for trac
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] cd7ebf: virtio-gpu: Use trace events for tracking number o... |
Date: |
Tue, 29 Oct 2024 10:11:45 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: cd7ebf6bf2ca367fde49d73f662e700fd355741f
https://github.com/qemu/qemu/commit/cd7ebf6bf2ca367fde49d73f662e700fd355741f
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/trace-events
M hw/display/virtio-gpu-virgl.c
M hw/display/virtio-gpu.c
Log Message:
-----------
virtio-gpu: Use trace events for tracking number of in-flight fences
Replace printf's used for tracking of in-flight fence inc/dec events
with tracing, for consistency with the rest of virtio-gpu code that
uses tracing.
Suggested-by: Marc-André Lureau <marcandre.lureau@gmail.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-2-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: a723d2eaf0d73749525dc91610d52845e0505b04
https://github.com/qemu/qemu/commit/a723d2eaf0d73749525dc91610d52845e0505b04
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-virgl.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Move fence_poll timer to VirtIOGPUGL
Move fence_poll timer to VirtIOGPUGL for consistency with cmdq_resume_bh
that are used only by GL device.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-3-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: a0a8f47fd0d5dc11487bb65e005700d7b984a207
https://github.com/qemu/qemu/commit/a0a8f47fd0d5dc11487bb65e005700d7b984a207
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-virgl.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Move print_stats timer to VirtIOGPUGL
Move print_stats timer to VirtIOGPUGL for consistency with
cmdq_resume_bh and fence_poll that are used only by GL device.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-4-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 7e688d1bf515316e1e334eb5dcb3dd1577810fe3
https://github.com/qemu/qemu/commit/7e688d1bf515316e1e334eb5dcb3dd1577810fe3
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-gl.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Handle virtio_gpu_virgl_init() failure
virtio_gpu_virgl_init() may fail, leading to a further Qemu crash
because Qemu assumes it never fails. Check virtio_gpu_virgl_init()
return code and don't execute virtio commands on error. Failed
virtio_gpu_virgl_init() will result in a timed out virtio commands
for a guest OS.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-5-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: b218c12ae2f7f1e35fd65d745b4b9e15003d82ed
https://github.com/qemu/qemu/commit/b218c12ae2f7f1e35fd65d745b4b9e15003d82ed
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-gl.c
Log Message:
-----------
virtio-gpu: Unrealize GL device
Even though GL GPU doesn't support hotplugging today, free virgl
resources when GL device is unrealized. For consistency.
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-6-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: ffac9641baafde399a2ef08b0573b7e15b0a8a3b
https://github.com/qemu/qemu/commit/ffac9641baafde399a2ef08b0573b7e15b0a8a3b
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-virgl.c
M meson.build
Log Message:
-----------
virtio-gpu: Use pkgconfig version to decide which virgl features are available
New virglrerenderer features were stabilized with release of v1.0.0.
Presence of symbols in virglrenderer.h doesn't guarantee ABI compatibility
with pre-release development versions of libvirglerender. Use virglrenderer
version to decide reliably which virgl features are available.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-7-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 2c868c7901590ae2cbc726c339325119ef0647cb
https://github.com/qemu/qemu/commit/2c868c7901590ae2cbc726c339325119ef0647cb
Author: Huang Rui <ray.huang@amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-gl.c
M hw/display/virtio-gpu-virgl.c
Log Message:
-----------
virtio-gpu: Support context-init feature with virglrenderer
Patch "virtio-gpu: CONTEXT_INIT feature" has added the context_init
feature flags. Expose this feature and support creating virglrenderer
context with flags using context_id if libvirglrenderer is new enough.
Originally-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-8-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 6a3e00d8c9822433a8989bd0529e80580bf3e54f
https://github.com/qemu/qemu/commit/6a3e00d8c9822433a8989bd0529e80580bf3e54f
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu.c
Log Message:
-----------
virtio-gpu: Don't require udmabuf when blobs and virgl are enabled
The udmabuf usage is mandatory when virgl is disabled and blobs feature
enabled in the Qemu machine configuration. If virgl and blobs are enabled,
then udmabuf requirement is optional. Since udmabuf isn't widely supported
by a popular Linux distros today, let's relax the udmabuf requirement for
blobs=on,virgl=on. Now, a full-featured virtio-gpu acceleration is
available to Qemu users without a need to have udmabuf available in the
system.
Reviewed-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-9-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: df4c498e02e48c4dfc13e5d961b58f890a66c832
https://github.com/qemu/qemu/commit/df4c498e02e48c4dfc13e5d961b58f890a66c832
Author: Huang Rui <ray.huang@amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-virgl.c
Log Message:
-----------
virtio-gpu: Add virgl resource management
In a preparation to adding host blobs support to virtio-gpu, add virgl
resource management that allows to retrieve resource based on its ID
and virgl resource wrapper on top of simple resource that will be contain
fields specific to virgl.
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-10-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 640f9149c3dcafbfeb495a10f6105c6f71f24d1d
https://github.com/qemu/qemu/commit/640f9149c3dcafbfeb495a10f6105c6f71f24d1d
Author: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/trace-events
M hw/display/virtio-gpu.c
Log Message:
-----------
virtio-gpu: Support suspension of commands processing
Check whether command processing has been finished; otherwise, stop
processing commands and retry the command again next time. This allows
us to support asynchronous execution of non-fenced commands needed for
unmapping host blobs safely.
Suggested-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-11-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 7c092f17cceef10258ed23006b40e19b14996471
https://github.com/qemu/qemu/commit/7c092f17cceef10258ed23006b40e19b14996471
Author: Robert Beckett <bob.beckett@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-gl.c
M hw/display/virtio-gpu-virgl.c
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Handle resource blob commands
Support BLOB resources creation, mapping, unmapping and set-scanout by
calling the new stable virglrenderer 0.10 interface. Only enabled when
available and via the blob config. E.g. -device virtio-vga-gl,blob=true
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Robert Beckett <bob.beckett@collabora.com> # added
set_scanout_blob
Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-12-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 1333fd0693a87bd509c025e6212fcfeced948a15
https://github.com/qemu/qemu/commit/1333fd0693a87bd509c025e6212fcfeced948a15
Author: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M hw/display/virtio-gpu-gl.c
M hw/display/virtio-gpu-virgl.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Register capsets dynamically
virtio_gpu_virgl_get_num_capsets will return "num_capsets", but we can't
assume that capset_index 1 is always VIRGL2 once we'll support more capsets,
like Venus and DRM capsets. Register capsets dynamically to avoid that problem.
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-13-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 94d0ea1c19289d76ced934711fccd2269e69bb29
https://github.com/qemu/qemu/commit/94d0ea1c19289d76ced934711fccd2269e69bb29
Author: Antonio Caggiano <antonio.caggiano@collabora.com>
Date: 2024-10-28 (Mon, 28 Oct 2024)
Changed paths:
M docs/system/devices/virtio-gpu.rst
M hw/display/virtio-gpu-gl.c
M hw/display/virtio-gpu-virgl.c
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
Log Message:
-----------
virtio-gpu: Support Venus context
Request Venus when initializing VirGL and if venus=true flag is set for
virtio-gpu-gl device.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Message-Id: <20241024210311.118220-14-dmitry.osipenko@collabora.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: e4bad9cc5e3a8193988d42a1ca8416afe3220d08
https://github.com/qemu/qemu/commit/e4bad9cc5e3a8193988d42a1ca8416afe3220d08
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-10-29 (Tue, 29 Oct 2024)
Changed paths:
M docs/system/devices/virtio-gpu.rst
M hw/display/trace-events
M hw/display/virtio-gpu-gl.c
M hw/display/virtio-gpu-virgl.c
M hw/display/virtio-gpu.c
M include/hw/virtio/virtio-gpu.h
M meson.build
Log Message:
-----------
Merge tag 'pull-virtio-gpu-vulkan-291024-1' of
https://gitlab.com/stsquad/qemu into staging
virtio-gpu: add venus/vulkan capability
We are currently lacking a declared maintainer for the sub-system so
while we look for one I'm merging after testing locally.
- convert some fprintfs to proper trace events
- move timers used by GL devices into GL structures
- handle virtio_gpu_virgl_init() failure better
- implement unrealize for GL devices
- use virgl version numbering to gate features
- support context-init feature
- don't require udmabuf for virgl only
- add virgl resource tracker
- allow command submission to be suspended
- handle resource blob commands
- dynamically handle capabilit sets
- add venus context support for passing vulkan
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmcg0FsACgkQ+9DbCVqe
# KkT86Qf/RtQuzIl+y60BeXdBLqjpLbS2WY3pk49068o+ZyUccNhMLzfL/Pd2Iz7t
# nW/4kI0lkobsPeKGLJchJQzWgEbFTD3KvYz9r8Ywugoy6FquMUptkSHcH8ggKZwT
# oJ0wT2jNS7UjgcJjnlQ8WaP/EH8qPI/0+e6W6RlcTE1sIxpJ6zHfMnHi4RUayGz7
# P9JYbOrMO2bHWBrdfQXIJaUVSLvy44j9V4u6OCCLPfDvr5RwzPXFv1YmTRpW14Zu
# P+iuxdUjRuhUQDMSKIbrzfHOFLg4iUchMgyd2pnVFjU6zOyA+yKWDxfPO0K0AbHh
# FddMYgP5K7IrgaUc6mI0w2/RCuLJvw==
# =mSAL
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 29 Oct 2024 12:08:59 GMT
# gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key)
<alex.bennee@linaro.org>" [full]
# Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44
* tag 'pull-virtio-gpu-vulkan-291024-1' of https://gitlab.com/stsquad/qemu:
virtio-gpu: Support Venus context
virtio-gpu: Register capsets dynamically
virtio-gpu: Handle resource blob commands
virtio-gpu: Support suspension of commands processing
virtio-gpu: Add virgl resource management
virtio-gpu: Don't require udmabuf when blobs and virgl are enabled
virtio-gpu: Support context-init feature with virglrenderer
virtio-gpu: Use pkgconfig version to decide which virgl features are available
virtio-gpu: Unrealize GL device
virtio-gpu: Handle virtio_gpu_virgl_init() failure
virtio-gpu: Move print_stats timer to VirtIOGPUGL
virtio-gpu: Move fence_poll timer to VirtIOGPUGL
virtio-gpu: Use trace events for tracking number of in-flight fences
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/58d49b5895f2...e4bad9cc5e3a
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications
- [Qemu-commits] [qemu/qemu] cd7ebf: virtio-gpu: Use trace events for tracking number o...,
Peter Maydell <=