[PATCH fbtest 00/17] Export feature and large ellipses support
flat view
STALE652d
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2024-12-15 10:45:21
Hi all,
Recently, I ran into a segmentation fault when running test002 ("Draw a
grid and some ellipses") on a system with a display resolution of
2560x1440. This turned out to be due to a 32-bit overflow in the
ellipse drawing routines.
This patch series:
- Adds support for operating on a virtual buffer in RAM instead of on
a real frame buffer device, and exporting the result as a PPM image,
which is useful for e.g. testing drawing algorithms on screen sizes
not supported by your hardware,
- Fixes the drawing of ellipses on large displays,
- Contains some small fixe and improvements.
I intend to apply these to
https://git.kernel.org/pub/scm/linux/kernel/git/geert/fbtest.git/.
Thanks for your comments!
Geert Uytterhoeven (17):
Add support for exporting virtual test images
tests: Print test description in debug mode
Test002: Fix test description
drawops: Extract do_circle()
drawops: Use "y == 0" in draw_ellipse_points()
drawops: Remove always-false check in generic_fill_ellipse()
drawops: Refactor generic_draw_ellipse()
drawops: Return early in generic_{draw,fill}_ellipse()
drawops: Extract do_ellipse()
drawops: Make de in do_circle() unsigned
drawops: Make dT1 and dS1 in do_ellipse() unsigned
drawops: Fix crash when drawing large ellipses
tests: Clear frame buffer before each test
Make variables that are never negative unsigned
test013: Fix off-by-one error in maximum circle calculation
visops: Mark fall-through switch case
util: Use __attribute__
console.c | 2 +-
drawops/generic.c | 427 ++++++++++++++++++++++---------------------
export.c | 176 ++++++++++++++++++
fb.c | 11 +-
include/export.h | 14 ++
include/fb.h | 1 +
include/types.h | 3 +
include/util.h | 3 +-
main.c | 33 +++-
pixmap.c | 6 +-
tests.c | 7 +-
tests/test002.c | 2 +-
tests/test004.c | 2 +-
tests/test006.c | 2 +-
tests/test007.c | 2 +-
tests/test009.c | 2 +-
tests/test010.c | 2 +-
tests/test013.c | 4 +-
util.c | 6 +
visops/pseudocolor.c | 1 +
visual.c | 2 +-
21 files changed, 476 insertions(+), 232 deletions(-)
create mode 100644 export.c
create mode 100644 include/export.h
--
2.34.1
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds