DRM中的Plane和我们常说的YUV/YCbCr图形格式中的plane完全是两个不同的概念。YUV图形格式中的plane指的是图像数据在内存中的排列形式,一般Y通道占一段连续的内存块,UV通道占另一段连续的内存块,我们称之为YUV-2plane (也叫YUV 2平面),属于软件层面。而DRM中的Plane指的是Display Controller中用于多层合成的单个...
linux内核使用struct drm_plane表示一个plane,它们从一个drm_framebuffer接收输入数据,并将其传递给一个drm_crtc。 struct drm_plane成员中包含了struct drm_framebuffer *fb和struct drm_crtc *crtc,定义include/drm/drm_plane.h; /** * struct drm_plane - central DRM plane control structure * * Planes r...
通过调用drm_crtc_init_with_planes()将特殊平面与其CRTC相关联。 平面的类型在不可变“类型”枚举属性中公开,该属性具有以下值之一:“Overlay”,“Primary”,“Cursor” --- 一个高级的Plane,通常具有如下功能: 功能 说明 Crop 裁剪,如上图 Scaling 缩放,放大或缩小 Rotation 旋转,90° 180° 270° X/Y镜像 ...
drm_modeset_acquire_ctx 是 Direct Rendering Manager (DRM) 子系统中的一个结构体,用于在进行模式设置操作时管理锁的获取和释放。模式设置操作涉及到多个显示资源的配置,如 CRTC(Cathode Ray Tube Controller)、Plane 和 Encoder 等,这些资源通常需要锁来确保一致性和避免竞争条件 更新全局 nv_drm_driver 以支持预...
* drm_atomic_helper_check_plane_state() and only use the derived rectangles in * @src and @dst to program the hardware.*/ struct drm_plane_state { /** @plane: backpointer to the plane */ struct drm_plane *plane; /** ...
* any plane has a zpos property (either mutable or immutable), then all * planes shall have a zpos property. * * pixel blend mode: * Pixel blend mode is set up with drm_plane_create_blend_mode_property(). Expand DownExpand Up@@ -344,10 +346,10 @@ EXPORT_SYMBOL(drm_rotation_sim...
ret = drmModeSetPlane (self->fd, self->plane_id, self->crtc_id, fb_id, 0, result.x, result.y, result.w, result.h, /* source/cropping coordinates are given in Q16 */ src.x << 16, src.y << 16, src.w << 16, src.h << 16); 1 2 3 4总结...
PLANE (optional) CONNECTOR (optional) Property Type Property的类型分为如下几种: enum bitmask range signed range object blob 以上类型中需要着重介绍的是object和blob类型,其它类型看名字就知道什么意思,所以就不做介绍了。 Object Property Object类型的property,它的值用drm object ID来表示。目前的DRM架构中仅...
50 rotation: flags: bitmask values: rotate-0=0x1 reflect-y=0x20 value: 1 2.3.4 设置分辨率 在modetest中通过id来引用encoder/connector/CRTC/plane,查看个组件的id; root@rk3399:~# modetest -M rockchip | cut -f1 | grep -E ^[0-9A-Z]\|id ...
drm_plane_create_alpha_property(plane); drm_plane_create_blend_mode_property(plane, BIT(DRM_MODE_BLEND_PIXEL_NONE) | BIT(DRM_MODE_BLEND_PREMULTI) | BIT(DRM_MODE_BLEND_COVERAGE)); drm_plane_create_rotation_property(plane,DRM_MODE_ROTATE_0, ...