summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2022-12-04Fix clang-tidy warningsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-12-04kms++util: Add missing #pragma onceTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-11-04kmsprint: Decode bitfields for flags and type of hdmi modeDom Cobley
Decode the bitfields for the mode type and flags of Videomode Use short names for type as it allows for consise formatting (excluding the deprecated options, that are not expected to be seen) I've swapped order of flags and types as the type is expected to be shorted so can fit in a fixed size field Signed-off-by: Dom Cobley <popcornmix@gmail.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-11-02Merge pull request #66 from popcornmix/show_fb_formatTomi Valkeinen
kmsxx: Also report format of framebuffer
2022-11-01kmsxx: Also report format of framebufferDom Cobley
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
2022-10-04py: cam.py: fixesTomi Valkeinen
Fix cam.py to get it working again and add a bunch of small improvements. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-10-04py: v4l2: remove unused pixel formatsTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-10-04v4l2: Add VideoStreamer::export_bufferTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-10-04v4l2: add DRMFourCCToPixelFormatTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2022-10-04py: kms: add pixelformat helpersTomi Valkeinen
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-11-10fix use of libdrm_omapTomi Valkeinen
We never defined HAS_LIBDRM_OMAP, so the support was not fully compiled in. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-10-06Split V4L2 code into separate libsTomi Valkeinen
Create v4l2++ library and pyv4l2, which are independent from the rest of the kms++. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-10-06gitignore: add .cacheTomi Valkeinen
2021-08-08meson: drop unused system-pybind11 optionTomi Valkeinen
system-pybind11 is no longer used and can be removed. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
2021-08-06meson: simplify pybind dependency handlingTomi Valkeinen
2021-07-26Merge pull request #63 from notro/gudTomi Valkeinen
Add partial fb flushing and expose some more properties in the python bindings