[Qemu-devel] [PATCH] virtio-gpu: add xres and yres properties

Gerd Hoffmann posted 1 patch 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1488289786-22754-1-git-send-email-kraxel@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
hw/display/virtio-gpu.c        | 6 ++++--
include/hw/virtio/virtio-gpu.h | 2 ++
2 files changed, 6 insertions(+), 2 deletions(-)
[Qemu-devel] [PATCH] virtio-gpu: add xres and yres properties
Posted by Gerd Hoffmann 7 years, 1 month ago
So the default resolution is configurable.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 hw/display/virtio-gpu.c        | 6 ++++--
 include/hw/virtio/virtio-gpu.h | 2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 9b530ab..01bceb4 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1170,8 +1170,8 @@ static void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     virtio_init(VIRTIO_DEVICE(g), "virtio-gpu", VIRTIO_ID_GPU,
                 g->config_size);
 
-    g->req_state[0].width = 1024;
-    g->req_state[0].height = 768;
+    g->req_state[0].width = g->conf.xres;
+    g->req_state[0].height = g->conf.yres;
 
     if (virtio_gpu_virgl_enabled(g->conf)) {
         /* use larger control queue in 3d mode */
@@ -1291,6 +1291,8 @@ static Property virtio_gpu_properties[] = {
     DEFINE_PROP_BIT("stats", VirtIOGPU, conf.flags,
                     VIRTIO_GPU_FLAG_STATS_ENABLED, false),
 #endif
+    DEFINE_PROP_UINT32("xres", VirtIOGPU, conf.xres, 1024),
+    DEFINE_PROP_UINT32("yres", VirtIOGPU, conf.yres, 768),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index f3a98a3..f3ffdce 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -72,6 +72,8 @@ struct virtio_gpu_conf {
     uint64_t max_hostmem;
     uint32_t max_outputs;
     uint32_t flags;
+    uint32_t xres;
+    uint32_t yres;
 };
 
 struct virtio_gpu_ctrl_command {
-- 
1.8.3.1


Re: [Qemu-devel] [PATCH] virtio-gpu: add xres and yres properties
Posted by Marc-André Lureau 7 years, 1 month ago
On Tue, Feb 28, 2017 at 6:45 PM Gerd Hoffmann <kraxel@redhat.com> wrote:

> So the default resolution is configurable.
>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
>

 Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

---
>  hw/display/virtio-gpu.c        | 6 ++++--
>  include/hw/virtio/virtio-gpu.h | 2 ++
>  2 files changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 9b530ab..01bceb4 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -1170,8 +1170,8 @@ static void virtio_gpu_device_realize(DeviceState
> *qdev, Error **errp)
>      virtio_init(VIRTIO_DEVICE(g), "virtio-gpu", VIRTIO_ID_GPU,
>                  g->config_size);
>
> -    g->req_state[0].width = 1024;
> -    g->req_state[0].height = 768;
> +    g->req_state[0].width = g->conf.xres;
> +    g->req_state[0].height = g->conf.yres;
>
>      if (virtio_gpu_virgl_enabled(g->conf)) {
>          /* use larger control queue in 3d mode */
> @@ -1291,6 +1291,8 @@ static Property virtio_gpu_properties[] = {
>      DEFINE_PROP_BIT("stats", VirtIOGPU, conf.flags,
>                      VIRTIO_GPU_FLAG_STATS_ENABLED, false),
>  #endif
> +    DEFINE_PROP_UINT32("xres", VirtIOGPU, conf.xres, 1024),
> +    DEFINE_PROP_UINT32("yres", VirtIOGPU, conf.yres, 768),
>      DEFINE_PROP_END_OF_LIST(),
>  };
>
> diff --git a/include/hw/virtio/virtio-gpu.h
> b/include/hw/virtio/virtio-gpu.h
> index f3a98a3..f3ffdce 100644
> --- a/include/hw/virtio/virtio-gpu.h
> +++ b/include/hw/virtio/virtio-gpu.h
> @@ -72,6 +72,8 @@ struct virtio_gpu_conf {
>      uint64_t max_hostmem;
>      uint32_t max_outputs;
>      uint32_t flags;
> +    uint32_t xres;
> +    uint32_t yres;
>  };
>
>  struct virtio_gpu_ctrl_command {
> --
> 1.8.3.1
>
>
> --
Marc-André Lureau