summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-28kmstest: Support format names in addition to fourccTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-27conv: Add Y8/10/12/16 and Y10_P32 supportTomi Valkeinen
Only Y8 and Y10_P32 can be used and have been tested for now. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-27conv: Drop extra constexpr valueTomi Valkeinen
2025-03-26kms++util: Add draw_test_pattern() with C ABITomi Valkeinen
Add a draw_test_pattern for C ABI (i.e. not C++). This function can be easily called from Python with ctypes, without any kind of bindings. Experimental, ABI can change. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26kms++util: Add SMPTE test patternTomi Valkeinen
2025-03-26kmstest: Add test pattern parametersTomi Valkeinen
Add new parameters: --pattern=PAT --rec=REC --range=RANGE Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26kms++util: New template based conversion & testpat codeTomi Valkeinen
New templated conversion and test pattern code. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26Add mdspan includesTomi Valkeinen
From https://github.com/kokkos/mdspan Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26kms++util: Add color16.hTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: Pull in formats from pixutilsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: Switch to non-fourcc PixelFormat enumTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26Use the fourcc helpersTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: clean fourcc managementTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26PixelFormats: New PixelFormatInfo codeTomi Valkeinen
New pixel format code, from Python pixutils library. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2025-03-26py/tests/kmsmodeview.py: Fix indentationTomi Valkeinen
2025-02-11pixelformats: cleanupTomi Valkeinen
2025-02-05testpat: fix exception throwingTomi Valkeinen
2025-02-05Switch to C++20Tomi Valkeinen
2025-02-05clang-format: set ColumnLimit to 90Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2024-12-09Implement native visual matchingKaido Kert
Implement matching GBM buffer format to EGL NATIVE_VISUAL_ID. eglChooseConfig cannot match on NATIVE_VISUAL_ID, but GBM/EGL requires matching formats. Similar logic is implemented in kmscube code in match_config_to_visual. X11, Wayland and Null cube demos remain unchanged. Tested on Raspi-4 and VirtualBox/Ubuntu
2024-11-29Make gbm binary respect numframesKaido Kert
2023-11-15testpat: Fix memory mapping in threaded drawingLaurent Pinchart
The IFramebuffer::map() function is not thread-safe, which is why the threaded implementation of draw_test_pattern_impl() maps all planes before starting to draw. A typo slipped in the code, resulting in only plane 0 being mapped. This didn't result in an immediate segfault, as drawing operations in the worker threads map the remaining planes. However, due to the implementation of DumbFramebuffer::map(), this can result in the same plane being mapped multiple times, with only one of the mapping recorded in the mapping cache. The other mappings are then leaked, leading not only to extra memory consumption, but also to the DRM device never being released even after the destruction of the Card object. Fix this. Fixes: 40d96062a37c ("Revert "testpat: remove threaded drawing"") Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-11-08py: pic.py: Add simple test for fb.map()Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-11-07py: Framebuffer: Add map wrappingLI Qingwu
Enables direct Python access to the framebuffer's buffer, facilitating rapid image drawing capabilities. Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-11-07kmstest: Don't fail if setting crtc inactive and disabling the planes failsDave Stevenson
Many simple DRM devices (eg SPI) don't support disabling the primary plane when the CRTC is enabled (which is different from the ACTIVE flag from being cleared). This is enforced by the kernel in drm_atomic_helper_check_crtc_primary_plane. Do not exit if that commit fails. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2023-10-06meson: Fix more utils dependenciesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-10-06workflows: Use "meson setup"Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-10-06Fix issues related to utils & libutilsTomi Valkeinen
Fix dependency issues related to libutils, wrong use of libutils_enabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-09-30README: fix compile instructionsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-09-15kmstest: Support signed values for crtc_[xy]Dave Stevenson
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
2023-09-12kmsprint: Correct crtc_[xy] to being signed valuesDave Stevenson
These values are signed int32_t, so print them as such for when the plane is partially off screen to the top or left. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-09-12connector: Add writeback, SPI, and USB connector type stringsDave Stevenson
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-08-17kmstest: allow using undefined sync polaritiesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-06-12meson: Remove static-libc optionTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-05-29Update pybind11 to 2.10.4Tomi Valkeinen
2023-04-11pybind11: update to 2.10.3Tomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-04-11meson: Fix use of omapdrm_enabledTomi Valkeinen
omapdrm_enabled is set in totally wrong place, leading to build failure if pykms is disabled. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> Fixes: 3c9e134287362f3273ff04a86f32838b65b2651e Fixes: #70
2023-02-24meson: Add summaryTomi Valkeinen
Add summary print for meson configuration. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2023-02-24Drop v4l2Tomi Valkeinen
Drop (hacky) v4l2 support from kms++, and move it to a new, separate, library. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-22Code formatting fixesTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-20py: fix dependency to kms++utilTomi Valkeinen
Py bindings always calls init_pykmsutils() even if kms++util is not enabled. Fix this. Fixes #68 Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-20py: rename init_pykmstestTomi Valkeinen
init_pykmstest() was misnamed. Rename it. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-20Fix dependency to kms++utils in kmscube and utilsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-18README: add build statusTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-18Add github workflows fileTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-18kms++util: Add Y21x drawing supportTomi Valkeinen
Add support for drawing Y210, Y212, Y216 pixels. Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2022-12-18kms++util: Add endian.hTomi Valkeinen
Add simple endianness supporting write function, and, for now, only one shortcut helper, write16le(). Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2022-12-18kms++: PixelFormats: Add Y21x formatsTomi Valkeinen
Add Y210, Y212, Y216 pixel formats. Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
2022-12-18kms++: PixelFormats: Fix formattingTomi Valkeinen
Fix formatting for some pixel formats. Signed-off-by: Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2022-12-18fbtest: fix for 16 bppTomi Valkeinen