From patchwork Tue Jan 20 23:17:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1703 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951254; bh=NUCqh3w34hI3p4hMxi1+aOYSsdZJU9DWRbeL43bGW6M=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=IYPiXE20GYsIiogGIlNPRiEKgLEnCsCslGjyoeFPGPyFfb9Wyr5fEunnO4i47kxDE +mlYz3YAZTc8wIs4uWQNDNZhgaCwmDxcUxi5ikubxMKis4XKuUhPUB+BQX+hFbg6ZI RW+abXC4TN6vGnyLCdFSjCR6jzCWmv6fMo92b9/a5r8LRMSjDxrFKKhFCob/dEk+nM 9g3oaVhCk3ak4pCE0mbETwlwQTf1JQeQfDK1Pi9kWtQFju01W09tVzLFOxM9dym9Q+ G8ISmLQv1dDF/HYgxB+zBqkxFGTwWSHEJIDYnKwb4eOzg7b2GsMRMDEUt9XEQPD1i0 a90eKteg2svHA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 1273969463 for ; Tue, 20 Jan 2026 16:20:54 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id GosD3ttQnkh3 for ; Tue, 20 Jan 2026 16:20:53 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951253; bh=NUCqh3w34hI3p4hMxi1+aOYSsdZJU9DWRbeL43bGW6M=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=KmhOpePi6RbpQNhHwE5AxxFeaC5kJPE8YdkE+tFbHzi0MBGP2dc/dt/25G0zeM/CG IODDkCWT8px7UCc5sZ3bod8G0iw+Ty2kOSZU8RdrWdXdVGkK/GjhYAibwod01SG8/l rZ9PLZyw/4Ab4h6L8zTFi0nhQ3vNbl5FbQISrogULygUwOVIuJ4veNlKK0U0fqQ46N gG0s6os/j+OdCgKWBGUyiaa3RmiUaTiw5iXYb+OZFeL4FS4FtaPJ2Lrew6FQiUcZ1Y eMk5549+jHuBdw24Ur1v34LJJJfhDLb1I9/3kEvn0OZ13TnPcSeZO9FIT/spiB9dMp S5eU21+hSncGA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id ECFB469597 for ; Tue, 20 Jan 2026 16:20:53 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951251; bh=sU3+NopE5wbEhbGGFgWtDaEB5z4u8ihYFh4/oivMdzU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MBWliP5S0Dc+KGzIOfBXdO5FE5zQV8w41qd0ZxvxoJwPMy8t3xBLfzhEruUB4u1wp UVXle4T3AcB1l/qNIdldb3oCw6s+MOGqZlzmtTJdbIHWEuQKWPfnCpaXoFcYlFU9G1 N4SLgtliaP1yX6uyMpYpRdX7Qqj7X1jUZFa4N1MsEwcoUlRni+WYrFHUWD2NxCcMH5 vhYS3fdkaB2SVvKLoJYPu/LFLfpK4HoeqPyvUKbVVoCQS5Qvk8A5ydAkEtGg/DroD+ FXwXcDrNA2tlEAXnjo3HuIFfv8oGvDY7WV6IXSnMieoXP5Q/4qO69CkU5QSEEl+1dc /uwEKg8uHu5bQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id CD94869463; Tue, 20 Jan 2026 16:20:51 -0700 (MST) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id P1XzGW_CEGt0; Tue, 20 Jan 2026 16:20:51 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1768951247; bh=mBD3Z9xfG4zCxUuhpuTXjnA5B9gAHW/ePnE/pQNLing=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A4q2TWV24a45rhE1veGVHzTXnSZelOclUpvyrzpMtfxaT/V55b0gNjPuN5pymD33a Ra5s6O50bDxH8StUYVSE7Pyc653umUoXCqlUGvPzW1EyTYvzhkhpdDRUuP08yRULPw 7v7fAwO5GKdclCS1X4UJ58nsBNaMZDgeHVIp7NILnT9S+tquXWNldzkXooSmIlxpNn MhsPAfP9pii0jSBABZYC0Sm4tfIsqEWVlo2yv0Av4VJH5ljRkYFyAB11b/i8c25bHH 2Qf5jpC6hIwmnhha+9pGrqPKI46bYiIbzCfaYI2o3DwYAXLJS51KUVqvUSQW2Pg9jE pEomTwpIHRkoQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id B82E469597; Tue, 20 Jan 2026 16:20:46 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Tue, 20 Jan 2026 16:17:57 -0700 Message-ID: <20260120231814.2033069-31-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260120231814.2033069-1-sjg@u-boot.org> References: <20260120231814.2033069-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: SK3VFNOREDIFATIT4TJRY4KMEG47O5BM X-Message-ID-Hash: SK3VFNOREDIFATIT4TJRY4KMEG47O5BM X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Simon Glass , "Claude Opus 4 . 5" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 30/36] expo: Pass context to scene_obj_render() List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass Add a ctx parameter to scene_obj_render() to allow passing in a specific vidconsole context. If NULL, the default context is used. Update all callers accordingly. Co-developed-by: Claude Opus 4.5 Signed-off-by: Simon Glass --- boot/scene.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/boot/scene.c b/boot/scene.c index b6879315563..45550326d07 100644 --- a/boot/scene.c +++ b/boot/scene.c @@ -742,10 +742,11 @@ static int scene_txt_render(struct expo *exp, struct udevice *dev, * scene_obj_render() - Render an object * * @obj: Object to render + * @ctx: Vidconsole context, or NULL to use default * @text_mode: true to use text mode * Return: 0 if OK, -ve on error */ -static int scene_obj_render(struct scene_obj *obj, bool text_mode) +static int scene_obj_render(struct scene_obj *obj, void *ctx, bool text_mode) { struct scene *scn = obj->scene; struct expo *exp = scn->expo; @@ -776,7 +777,7 @@ static int scene_obj_render(struct scene_obj *obj, bool text_mode) case SCENEOBJT_TEXT: { struct scene_obj_txt *txt = (struct scene_obj_txt *)obj; - ret = scene_txt_render(exp, dev, cons, NULL, obj, &txt->gen, + ret = scene_txt_render(exp, dev, cons, ctx, obj, &txt->gen, x, y, theme->menu_inset); break; } @@ -978,7 +979,7 @@ int scene_render_obj(struct scene *scn, uint id) return log_msg_ret("obj", -ENOENT); if (!(obj->flags & SCENEOF_HIDE)) { - ret = scene_obj_render(obj, false); + ret = scene_obj_render(obj, NULL, false); if (ret && ret != -ENOTSUPP) return log_msg_ret("ren", ret); } @@ -998,7 +999,7 @@ int scene_render_deps(struct scene *scn, uint id) return log_msg_ret("obj", -ENOENT); if (!(obj->flags & SCENEOF_HIDE)) { - ret = scene_obj_render(obj, false); + ret = scene_obj_render(obj, NULL, false); if (ret && ret != -ENOTSUPP) return log_msg_ret("ren", ret); @@ -1094,7 +1095,7 @@ int scene_render(struct scene *scn, bool dirty_only) render = bbox_intersects(&obj->bbox, &dirty_bbox); if (render) { - ret = scene_obj_render(obj, exp->text_mode); + ret = scene_obj_render(obj, NULL, exp->text_mode); if (ret && ret != -ENOTSUPP) return log_msg_ret("ren", ret); }