- cvm : bug fix for undefined reference to 'virtcca_cvm_allowed' while compiling - cvm : bug-fix for incorrect device name check for vhost-user-fs - target/i386: add control bits support for LAM - target/i386: add support for LAM in CPUID enumeration - Add support for the virtcca cvm feature. - target/sparc: use signed denominator in sdiv helper - crypto: Introduce SM4 symmetric cipher algorithm - ppc/vof: Fix unaligned FDT property access - vl: fix "type is NULL" in -vga help - hw/display/bcm2835_fb: fix fb_use_offsets condition - aspeed/smc: Fix possible integer overflow - hw/nvme: fix number of PIDs for FDP RUH update - hw/nvme: fix memory leak in nvme_dsm - hvf: arm: Do not advance PC when raising an exception - physmem: Bail out qemu_ram_block_from_host() for invalid ram addrs Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com>
52 lines
2.0 KiB
Diff
52 lines
2.0 KiB
Diff
From 1d3ea28fd7da9a23e278be70c7e028fbd2b69bf3 Mon Sep 17 00:00:00 2001
|
|
From: qihao <qihao_yewu@cmss.chinamobile.com>
|
|
Date: Thu, 25 Jul 2024 10:29:20 +0800
|
|
Subject: [PATCH] hw/display/bcm2835_fb: fix fb_use_offsets condition
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
cheery-pick from 345acc443905eda8008a1d328dd89b73c4a3f89e
|
|
|
|
It is common practice when implementing double-buffering on VideoCore
|
|
to do so by multiplying the height of the virtual buffer by the
|
|
number of virtual screens desired (i.e., two - in the case of
|
|
double-bufferring).
|
|
|
|
At present, this won't work in QEMU because the logic in
|
|
fb_use_offsets require that both the virtual width and height exceed
|
|
their physical counterparts.
|
|
|
|
This appears to be unintentional/a typo and indeed the comment
|
|
states; "Experimentally, the hardware seems to do this only if the
|
|
viewport size is larger than the physical screen". The
|
|
viewport/virtual size would be larger than the physical size if
|
|
either virtual dimension were larger than their physical counterparts
|
|
and not necessarily both.
|
|
|
|
Signed-off-by: SamJakob <me@samjakob.com>
|
|
Message-id: 20240713160353.62410-1-me@samjakob.com
|
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
|
|
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
|
|
Signed-off-by: qihao_yewu <qihao_yewu@cmss.chinamobile.com>
|
|
---
|
|
hw/display/bcm2835_fb.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/hw/display/bcm2835_fb.c b/hw/display/bcm2835_fb.c
|
|
index a05277674f..c45da149d9 100644
|
|
--- a/hw/display/bcm2835_fb.c
|
|
+++ b/hw/display/bcm2835_fb.c
|
|
@@ -145,7 +145,7 @@ static bool fb_use_offsets(BCM2835FBConfig *config)
|
|
* viewport size is larger than the physical screen. (It doesn't
|
|
* prevent the guest setting this silly viewport setting, though...)
|
|
*/
|
|
- return config->xres_virtual > config->xres &&
|
|
+ return config->xres_virtual > config->xres ||
|
|
config->yres_virtual > config->yres;
|
|
}
|
|
|
|
--
|
|
2.41.0.windows.1
|
|
|