From: "Alex Bennée" <alex.bennee@linaro.org>
To: Markus Armbruster <armbru@redhat.com>
Cc: qemu-devel@nongnu.org, "Andrew Keesler" <ankeesler@google.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Akihiko Odaki" <odaki@rsg.ci.i.u-tokyo.ac.jp>,
	"Dmitry Osipenko" <dmitry.osipenko@collabora.com>,
	"Eric Blake" <eblake@redhat.com>
Subject: Re: [PULL 04/11] Support per-head resolutions with virtio-gpu
Date: Mon, 20 Oct 2025 13:46:16 +0100	[thread overview]
Message-ID: <877bwp91wn.fsf@draig.linaro.org> (raw)
In-Reply-To: <87ms5lu6rx.fsf@pond.sub.org> (Markus Armbruster's message of "Mon, 20 Oct 2025 13:55:30 +0200")
Markus Armbruster <armbru@redhat.com> writes:
> I missed this one somehow.  My apologies!
>
> Alex Bennée <alex.bennee@linaro.org> writes:
>
>> From: Andrew Keesler <ankeesler@google.com>
>>
>> In 454f4b0f, we started down the path of supporting separate
>> configurations per display head (e.g., you have 2 heads - one with
>> EDID name "AAA" and the other with EDID name "BBB").
>>
>> In this change, we add resolution to this configuration surface (e.g.,
>> you have 2 heads - one with resolution 111x222 and the other with
>> resolution 333x444).
>>
>>   -display vnc=localhost:0,id=aaa,display=vga,head=0 \
>>   -display vnc=localhost:1,id=bbb,display=vga,head=1 \
>>   -device '{"driver":"virtio-vga",
>>             "max_outputs":2,
>>             "id":"vga",
>>             "outputs":[
>>               {
>>                  "name":"AAA",
>>                  "xres":111,
>>                  "yres":222
>>               },
>>               {
>>                  "name":"BBB",
>>                  "xres":333,
>>                  "yres":444
>>               }
>>             ]}'
>>
>> Here is the behavior matrix of the current resolution configuration
>> surface (xres/yres) with the new resolution configuration surface
>> (outputs[i].xres/yres).
>>
>> Case: !(xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres)
>> Behavior: current behavior - outputs[0] enabled with default xres/yres
>>
>> Case: (xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres)
>> Behavior: current behavior - outputs[0] enabled with xres/yres
>>
>> Case: !(xres || yres) && (outputs[i].has_xres && outputs[i].has_yres)
>> Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres
>>
>> Case: (xres || yres) && (outputs[i].has_xres && outputs[i].has_yres)
>> Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres
>>
>> Signed-off-by: Andrew Keesler <ankeesler@google.com>
>> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>> Message-ID: <20250902141312.750525-2-ankeesler@google.com>
>> [AJB: dropped pointless output_idx range check, tweak commit]
>> Message-ID: <20251016150357.876415-5-alex.bennee@linaro.org>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>>
>> diff --git a/qapi/virtio.json b/qapi/virtio.json
>> index 05295ab6655..0ce789bb22f 100644
>> --- a/qapi/virtio.json
>> +++ b/qapi/virtio.json
>> @@ -971,15 +971,21 @@
>>  ##
>>  # @VirtIOGPUOutput:
>>  #
>> -# Describes configuration of a VirtIO GPU output.
>> +# Describes configuration of a VirtIO GPU output. If both xres and
>> +# yres are set, they take precedence over root virtio-gpu
>
> Please use @NAME to refer to a local member or argument NAME for proper
> rendering.
>
> Elsewhere, we use @width and @height.  Consistency is desirable.
>
> What happens when only one of @xres and @yres are provided?
*sigh* OK I'll drop this from the PR.
>
>> +# resolution configuration and enable the corresponding output.
>>  #
>>  # @name: the name of the output
>>  #
>> +# @xres: horizontal resolution of the output in pixels (since 10.2)
>> +#
>> +# @yres: vertical resolution of the output in pixels (since 10.2)
>> +#
>>  # Since: 10.1
>>  ##
>>  
>>  { 'struct': 'VirtIOGPUOutput',
>> -  'data': { 'name': 'str' } }
>> +  'data': { 'name': 'str', '*xres': 'uint16', '*yres': 'uint16' } }
>>  
>>  ##
>>  # @DummyVirtioForceArrays:
>
> [...]
-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro
next prev parent reply	other threads:[~2025-10-20 12:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20 10:41 [PULL 00/11] maintainer updates (gitlab, check-tcg, virtio-gpu, plugins, docs) Alex Bennée
2025-10-20 10:41 ` [PULL 01/11] gitlab: use template for ubuntu-24.04-aarch64 jobs Alex Bennée
2025-10-20 10:41 ` [PULL 02/11] gitlab: drop aarch32 runner and associated bits Alex Bennée
2025-10-20 10:41 ` [PULL 03/11] tests/tcg/multiarch/linux/linux-test: Don't try to test atime update Alex Bennée
2025-10-20 10:41 ` [PULL 04/11] Support per-head resolutions with virtio-gpu Alex Bennée
2025-10-20 11:55   ` Markus Armbruster
2025-10-20 12:46     ` Alex Bennée [this message]
2025-10-20 10:41 ` [PULL 05/11] ui/gtk-gl-area: Remove extra draw call in refresh Alex Bennée
2025-10-20 10:41 ` [PULL 06/11] hw/display: add blob map/unmap trace events Alex Bennée
2025-10-20 10:41 ` [PULL 07/11] contrib/plugins/uftrace_symbols.py: generate debug files to map symbols to source Alex Bennée
2025-10-20 10:41 ` [PULL 08/11] docs/system: split VirtIO devices from the rest Alex Bennée
2025-10-20 10:41 ` [PULL 09/11] docs/system: unify the naming style for VirtIO devices Alex Bennée
2025-10-20 10:41 ` [PULL 10/11] docs/system: drop vhost-user-rng docs Alex Bennée
2025-10-20 10:41 ` [PULL 11/11] docs/system: merge vhost-user-input into vhost-user-contrib Alex Bennée
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox
  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):
  git send-email \
    --in-reply-to=877bwp91wn.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=ankeesler@google.com \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=dmitry.osipenko@collabora.com \
    --cc=eblake@redhat.com \
    --cc=mst@redhat.com \
    --cc=odaki@rsg.ci.i.u-tokyo.ac.jp \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY
  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
  Be sure your reply has a Subject: header at the top and a blank line
  before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).