* Optional alpha property for this plane. See * drm_plane_create_alpha_property(). */structdrm_property*alpha_property;/** * @zpos_property: * Optional zpos property for this plane. See * drm_plane_create_zpos_property(). */structdrm_property*zpos_property;/** * @rotation_property:...
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, ...
drm_gem_create_mmap_offset 分配事件回调。 枚举给定显示器上可用的模式时间。 nvkms_sema_alloc nv_drm_init 分配一些指定大小的未格式化的系统内存。此函数分配系统内存。它应该适合在 CPU 上映射为间距线性或块线性表面。 drm_atomic_get_plane_stateplane_state->rotation = DRM_MODE_ROTATE_0; 添加连接器和...
KMS主要负责显示相关功能,在DRM中将其进行抽象,包括:CRTC、ENCODER、CONNECTOR、PLANE、Framebuffer、VBLANK、property;它们之间的关系如下图所示: 以HDMI接口为例说明,Soc内部一般包含一个Display模块,通过总线连接到HDMI接口上; Display模块对应CRTC; HDMI接口对应Connector; Framebuffer对应的是显存部分; Plane是对Framebu...
>> drm_plane *plane, >> state->rotation = val; >> } else if (property == plane->zpos_property) { >> state->zpos = val; >> + } else if (property == plane->colorkey.mode_property) { >> + state->colorkey.mode = val; ...
rotation |= DRM_MODE_ROTATE_0; if (fence_fd >= 0) { int prop_id = plane->in_fence_fd_property().id(); if (prop_id == 0) { ALOGE("Failed to get IN_FENCE_FD property id"); break; } ret = drmModeAtomicAddProperty(pset, plane->id(), prop_id, fence_fd); ...
* 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_simplify); * should be set to 0 and max to maximal number of planes for ...
void set_rotation(int fd, int plane_id,int value) { struct property_arg prop; memset(&prop, 0, sizeof(prop)); prop.obj_type = 0; prop.name[DRM_PROP_NAME_LEN] = '\0'; prop.obj_id = plane_id; memcpy(prop.name,"rotation",sizeof("rotation")); ...
This means that when a * driver wants to use a property with the same name on different objects, but * with different value ranges, then it must create property for each one. An * example would be rotation of &drm_plane, when e.g. the primary plane cannot * be rotated. But if ...
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 ...