From: Qiang Yu <yuq825@gmail.com>
0 is used as DRM_FORMAT_MOD_LINEAR already.
Signed-off-by: Qiang Yu <yuq825@gmail.com>
---
hw/display/vhost-user-gpu.c | 3 ++-
hw/display/virtio-gpu-udmabuf.c | 4 +++-
ui/egl-helpers.c | 3 ++-
3 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c
index a7949c7078..a6a510db65 100644
--- a/hw/display/vhost-user-gpu.c
+++ b/hw/display/vhost-user-gpu.c
@@ -18,6 +18,7 @@
#include "chardev/char-fe.h"
#include "qapi/error.h"
#include "migration/blocker.h"
+#include "standard-headers/drm/drm_fourcc.h"
typedef enum VhostUserGpuRequest {
VHOST_USER_GPU_NONE = 0,
@@ -251,7 +252,7 @@ vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg)
int fd = qemu_chr_fe_get_msgfd(&g->vhost_chr);
uint32_t offset = 0;
uint32_t stride = m->fd_stride;
- uint64_t modifier = 0;
+ uint64_t modifier = DRM_FORMAT_MOD_INVALID;
QemuDmaBuf *dmabuf;
if (m->scanout_id >= g->parent_obj.conf.max_outputs) {
diff --git a/hw/display/virtio-gpu-udmabuf.c b/hw/display/virtio-gpu-udmabuf.c
index 34fbe05b7a..de6ce53f16 100644
--- a/hw/display/virtio-gpu-udmabuf.c
+++ b/hw/display/virtio-gpu-udmabuf.c
@@ -25,6 +25,7 @@
#include <linux/memfd.h>
#include "qemu/memfd.h"
#include "standard-headers/linux/udmabuf.h"
+#include "standard-headers/drm/drm_fourcc.h"
static void virtio_gpu_create_udmabuf(struct virtio_gpu_simple_resource *res)
{
@@ -187,7 +188,8 @@ static VGPUDMABuf
&offset, &fb->stride,
r->x, r->y, fb->width, fb->height,
qemu_pixman_to_drm_format(fb->format),
- 0, &res->dmabuf_fd, 1, true, false);
+ DRM_FORMAT_MOD_INVALID, &res->dmabuf_fd,
+ 1, true, false);
dmabuf->scanout_id = scanout_id;
QTAILQ_INSERT_HEAD(&g->dmabuf.bufs, dmabuf, next);
diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c
index 45b1b0b700..970286325f 100644
--- a/ui/egl-helpers.c
+++ b/ui/egl-helpers.c
@@ -23,6 +23,7 @@
#include "system/system.h"
#include "qapi/error.h"
#include "trace.h"
+#include "standard-headers/drm/drm_fourcc.h"
EGLDisplay *qemu_egl_display;
EGLConfig qemu_egl_config;
@@ -333,7 +334,7 @@ void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf)
attrs[i++] = qemu_dmabuf_get_stride(dmabuf)[0];
attrs[i++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT;
attrs[i++] = 0;
- if (modifier) {
+ if (modifier != DRM_FORMAT_MOD_INVALID) {
attrs[i++] = EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT;
attrs[i++] = (modifier >> 0) & 0xffffffff;
attrs[i++] = EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT;
--
2.43.0
On Mon, Mar 24, 2025 at 12:19 PM <yuq825@gmail.com> wrote: > > From: Qiang Yu <yuq825@gmail.com> > > 0 is used as DRM_FORMAT_MOD_LINEAR already. > > Signed-off-by: Qiang Yu <yuq825@gmail.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > hw/display/vhost-user-gpu.c | 3 ++- > hw/display/virtio-gpu-udmabuf.c | 4 +++- > ui/egl-helpers.c | 3 ++- > 3 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/hw/display/vhost-user-gpu.c b/hw/display/vhost-user-gpu.c > index a7949c7078..a6a510db65 100644 > --- a/hw/display/vhost-user-gpu.c > +++ b/hw/display/vhost-user-gpu.c > @@ -18,6 +18,7 @@ > #include "chardev/char-fe.h" > #include "qapi/error.h" > #include "migration/blocker.h" > +#include "standard-headers/drm/drm_fourcc.h" > > typedef enum VhostUserGpuRequest { > VHOST_USER_GPU_NONE = 0, > @@ -251,7 +252,7 @@ vhost_user_gpu_handle_display(VhostUserGPU *g, VhostUserGpuMsg *msg) > int fd = qemu_chr_fe_get_msgfd(&g->vhost_chr); > uint32_t offset = 0; > uint32_t stride = m->fd_stride; > - uint64_t modifier = 0; > + uint64_t modifier = DRM_FORMAT_MOD_INVALID; > QemuDmaBuf *dmabuf; > > if (m->scanout_id >= g->parent_obj.conf.max_outputs) { > diff --git a/hw/display/virtio-gpu-udmabuf.c b/hw/display/virtio-gpu-udmabuf.c > index 34fbe05b7a..de6ce53f16 100644 > --- a/hw/display/virtio-gpu-udmabuf.c > +++ b/hw/display/virtio-gpu-udmabuf.c > @@ -25,6 +25,7 @@ > #include <linux/memfd.h> > #include "qemu/memfd.h" > #include "standard-headers/linux/udmabuf.h" > +#include "standard-headers/drm/drm_fourcc.h" > > static void virtio_gpu_create_udmabuf(struct virtio_gpu_simple_resource *res) > { > @@ -187,7 +188,8 @@ static VGPUDMABuf > &offset, &fb->stride, > r->x, r->y, fb->width, fb->height, > qemu_pixman_to_drm_format(fb->format), > - 0, &res->dmabuf_fd, 1, true, false); > + DRM_FORMAT_MOD_INVALID, &res->dmabuf_fd, > + 1, true, false); > dmabuf->scanout_id = scanout_id; > QTAILQ_INSERT_HEAD(&g->dmabuf.bufs, dmabuf, next); > > diff --git a/ui/egl-helpers.c b/ui/egl-helpers.c > index 45b1b0b700..970286325f 100644 > --- a/ui/egl-helpers.c > +++ b/ui/egl-helpers.c > @@ -23,6 +23,7 @@ > #include "system/system.h" > #include "qapi/error.h" > #include "trace.h" > +#include "standard-headers/drm/drm_fourcc.h" > > EGLDisplay *qemu_egl_display; > EGLConfig qemu_egl_config; > @@ -333,7 +334,7 @@ void egl_dmabuf_import_texture(QemuDmaBuf *dmabuf) > attrs[i++] = qemu_dmabuf_get_stride(dmabuf)[0]; > attrs[i++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT; > attrs[i++] = 0; > - if (modifier) { > + if (modifier != DRM_FORMAT_MOD_INVALID) { > attrs[i++] = EGL_DMA_BUF_PLANE0_MODIFIER_LO_EXT; > attrs[i++] = (modifier >> 0) & 0xffffffff; > attrs[i++] = EGL_DMA_BUF_PLANE0_MODIFIER_HI_EXT; > -- > 2.43.0 >
© 2016 - 2025 Red Hat, Inc.