Lines Matching defs:plane
8 * DRM core plane blending related functions
46 * The basic plane composition model supported by standard plane properties only
54 * For the atomic ioctl the following standard (atomic) properties on the plane object
55 * encode the basic plane composition model:
82 * Mode object ID of the &drm_framebuffer this plane should scan out.
84 * Mode object ID of the &drm_crtc this plane should be connected to.
101 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
104 * pre-multiplied by the global alpha associated to the plane.
115 * Signals that a drm plane is rotated <degrees> degrees in counter
119 * Signals that the contents of a drm plane is reflected along the
137 * planes. Without this property the primary plane is always below the cursor
138 * plane, and ordering between all other planes is undefined. The positive
148 * how the pixels from the current plane are composited with the
178 * Each of the RGB component values from the plane's pixel
180 * Alpha component value from the plane's pixel. If the plane's
187 * Plane alpha value set by the plane "alpha" property. If the
188 * plane does not expose the "alpha" property, then this is
192 * plane or the CRTC (e.g. for the background color, which currently is not
198 * @plane: drm plane
201 * for it in the DRM core. It is attached to @plane.
209 int drm_plane_create_alpha_property(struct drm_plane *plane)
213 prop = drm_property_create_range(plane->dev, 0, "alpha",
218 drm_object_attach_property(&plane->base, prop, DRM_BLEND_ALPHA_OPAQUE);
219 plane->alpha_property = prop;
221 if (plane->state)
222 plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE;
230 * @plane: drm plane
262 int drm_plane_create_rotation_property(struct drm_plane *plane,
280 prop = drm_property_create_bitmask(plane->dev, 0, "rotation",
286 drm_object_attach_property(&plane->base, prop, rotation);
288 if (plane->state)
289 plane->state->rotation = rotation;
291 plane->rotation_property = prop;
331 * @plane: drm plane
339 * Drivers that attach a mutable zpos property to any plane should call the
359 int drm_plane_create_zpos_property(struct drm_plane *plane,
365 prop = drm_property_create_range(plane->dev, 0, "zpos", min, max);
369 drm_object_attach_property(&plane->base, prop, zpos);
371 plane->zpos_property = prop;
373 if (plane->state) {
374 plane->state->zpos = zpos;
375 plane->state->normalized_zpos = zpos;
384 * @plane: drm plane
398 int drm_plane_create_zpos_immutable_property(struct drm_plane *plane,
403 prop = drm_property_create_range(plane->dev, DRM_MODE_PROP_IMMUTABLE,
408 drm_object_attach_property(&plane->base, prop, zpos);
410 plane->zpos_property = prop;
412 if (plane->state) {
413 plane->state->zpos = zpos;
414 plane->state->normalized_zpos = zpos;
429 return sa->plane->base.id - sb->plane->base.id;
439 struct drm_plane *plane;
454 drm_for_each_plane_mask(plane, dev, crtc_state->plane_mask) {
456 drm_atomic_get_plane_state(state, plane);
462 DRM_DEBUG_ATOMIC("[PLANE:%d:%s] processing zpos value %d\n",
463 plane->base.id, plane->name,
470 plane = states[i]->plane;
473 DRM_DEBUG_ATOMIC("[PLANE:%d:%s] normalized zpos value %d\n",
474 plane->base.id, plane->name, i);
493 * first by their zpos values, then by plane id (if zpos is equal). The plane
506 struct drm_plane *plane __unused;
510 for_each_oldnew_plane_in_state(state, plane, old_plane_state, new_plane_state, i) {
535 * @plane: drm plane
562 int drm_plane_create_blend_mode_property(struct drm_plane *plane,
565 struct drm_device *dev = plane->dev;
603 drm_object_attach_property(&plane->base, prop, DRM_MODE_BLEND_PREMULTI);
604 plane->blend_mode_property = prop;