From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C0904C83F01 for ; Thu, 31 Aug 2023 09:41:50 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qbeAs-0003eY-Ms; Thu, 31 Aug 2023 05:41:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qbeAp-0003eC-Nj for qemu-devel@nongnu.org; Thu, 31 Aug 2023 05:41:11 -0400 Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qbeAn-0007T2-Cw for qemu-devel@nongnu.org; Thu, 31 Aug 2023 05:41:11 -0400 Received: by mail-ed1-x52f.google.com with SMTP id 4fb4d7f45d1cf-52bca2e8563so710846a12.2 for ; Thu, 31 Aug 2023 02:41:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1693474868; x=1694079668; darn=nongnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=wtrAuLS2IemVwbQWVwz9e7GBYwn2a8GD3H/IILTsKuQ=; b=iIYkl+CK6PaoJnjmmF+ibKoK8hLjzdBuATs2zVHT13AqOg5VUCSSh/qPpxBIgpnUls OZJoXh9kJ7byH+VhfScQrYxV5FLTDamT60XKEjUxZ80m1fS88LYGL6Ds2ORTIsvdASQ9 Gx992YWGQinOVtHoaOlirQOc6gomewInuGBPUeCczMDc2RLlRIOzXgU5ZglICnxvZEJJ GVwbZIl7BlcQE+HCfvn5QR6xDkgvG0zo1D7gJ8/KoIyLw3DakphCXXCMYnFQGx4Xav2y g0egbPdwCoQFyehst4yCeSIlbGY+YWv+xHfv0Oi3NoA1k3cYVfmCuICE8CIbHbwEa7MR TKxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693474868; x=1694079668; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wtrAuLS2IemVwbQWVwz9e7GBYwn2a8GD3H/IILTsKuQ=; b=IrmXjbiMG3F0TaWk01OVWs1066fisHKQnkUDVvFH4HQgcTi5a1rdPFhqTTeuqMKcY+ EMaMfEwnr029GjVfw98WZ9hELrosV9quGCmugKbntmaGRYiN/HM2A7hhbXWXKuadd1Tx xp67kFWS5fKMv1aA0fVOKUGnaDZH2AYsa7OScoFjjPU8Y/hTlFyfrhOV8lun7aoOq+FT Ch//+2mDIHjVmYMV9DMUh5aTH7YP+GijsdvKEvgmyrRAPn3hUg/50Lha/0E/yrbpxtMv fbodeZ6LDF2jMkfHBNWBcIBf8xYlsEPocYvNwkXdbwNbXlLUnz4R9cTZEJ5qxRpuYf5g JP3w== X-Gm-Message-State: AOJu0YxqvHANzVifXdyz4T9/AdKN/05ucWnWGtYdSeFfHOPQfniLgPGB Y0p1nzVjc84W2WGXJznwwPgLlg== X-Google-Smtp-Source: AGHT+IG3c1HJMxF4MJNYluefZGxd3hmyWfK9ojUZ7EbwQT0LdoejqO1VhAZhb19uqnff5TwlXBJs/w== X-Received: by 2002:aa7:c685:0:b0:523:b133:5c7e with SMTP id n5-20020aa7c685000000b00523b1335c7emr4148407edq.1.1693474867879; Thu, 31 Aug 2023 02:41:07 -0700 (PDT) Received: from [192.168.69.115] ([176.187.199.245]) by smtp.gmail.com with ESMTPSA id g10-20020aa7c58a000000b005227e53cec2sm588254edq.50.2023.08.31.02.41.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 31 Aug 2023 02:41:07 -0700 (PDT) Message-ID: Date: Thu, 31 Aug 2023 11:41:04 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [QEMU PATCH v4 05/13] virtio-gpu: Support context init feature with virglrenderer Content-Language: en-US To: Huang Rui , Gerd Hoffmann , "Michael S . Tsirkin" , Stefano Stabellini , Anthony PERARD , Antonio Caggiano , "Dr . David Alan Gilbert" , Robert Beckett , Dmitry Osipenko , =?UTF-8?Q?Alex_Benn=c3=a9e?= , qemu-devel@nongnu.org Cc: xen-devel@lists.xenproject.org, Gurchetan Singh , ernunes@redhat.com, Akihiko Odaki , Alyssa Ross , =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Alex Deucher , =?UTF-8?Q?Christian_K=c3=b6nig?= , Xenia Ragiadakou , Pierre-Eric Pelloux-Prayer , Honglei Huang , Julia Zhang , Chen Jiqian References: <20230831093252.2461282-1-ray.huang@amd.com> <20230831093252.2461282-6-ray.huang@amd.com> From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= In-Reply-To: <20230831093252.2461282-6-ray.huang@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2a00:1450:4864:20::52f; envelope-from=philmd@linaro.org; helo=mail-ed1-x52f.google.com X-Spam_score_int: -32 X-Spam_score: -3.3 X-Spam_bar: --- X-Spam_report: (-3.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-1.242, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org On 31/8/23 11:32, Huang Rui wrote: > Patch "virtio-gpu: CONTEXT_INIT feature" has added the context_init > feature flags. > We would like to enable the feature with virglrenderer, so add to create > virgl renderer context with flags using context_id when valid. > > Originally-by: Antonio Caggiano > Signed-off-by: Huang Rui > --- > > New patch, result of splitting > [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature > > hw/display/virtio-gpu-virgl.c | 13 +++++++++++-- > hw/display/virtio-gpu.c | 2 ++ > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c > index 8bb7a2c21f..312953ec16 100644 > --- a/hw/display/virtio-gpu-virgl.c > +++ b/hw/display/virtio-gpu-virgl.c > @@ -106,8 +106,17 @@ static void virgl_cmd_context_create(VirtIOGPU *g, > trace_virtio_gpu_cmd_ctx_create(cc.hdr.ctx_id, > cc.debug_name); > > - virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, > - cc.debug_name); > + if (cc.context_init) { > +#ifdef HAVE_VIRGL_CONTEXT_INIT > + virgl_renderer_context_create_with_flags(cc.hdr.ctx_id, > + cc.context_init, > + cc.nlen, > + cc.debug_name); > + return; > +#endif What happens if someone sets the 'context_init' property but virgl doesn't have virgl_renderer_context_create_with_flags()? Should we report an error? > + } > + > + virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, cc.debug_name); > } > > static void virgl_cmd_context_destroy(VirtIOGPU *g, > diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c > index 3e658f1fef..a66cbd9930 100644 > --- a/hw/display/virtio-gpu.c > +++ b/hw/display/virtio-gpu.c > @@ -1506,6 +1506,8 @@ static Property virtio_gpu_properties[] = { > DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags, > VIRTIO_GPU_FLAG_BLOB_ENABLED, false), > DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0), > + DEFINE_PROP_BIT("context_init", VirtIOGPU, parent_obj.conf.flags, > + VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, false), > DEFINE_PROP_END_OF_LIST(), > }; >