Lines Matching full:plane

6  * DRM core plane blending related functions
41 * The basic plane composition model supported by standard plane properties only
49 * For the atomic ioctl the following standard (atomic) properties on the plane object
50 * encode the basic plane composition model:
77 * Mode object ID of the &drm_framebuffer this plane should scan out.
79 * Mode object ID of the &drm_crtc this plane should be connected to.
96 * plane-wide opacity, from transparent (0) to opaque (0xffff). It can be
99 * pre-multiplied by the global alpha associated to the plane.
110 * Signals that a drm plane is rotated <degrees> degrees in counter
114 * Signals that the contents of a drm plane is reflected along the
132 * planes. Without this property the primary plane is always below the cursor
133 * plane, and ordering between all other planes is undefined. The positive
139 * any plane has a zpos property (either mutable or immutable), then all
145 * how the pixels from the current plane are composited with the
175 * Each of the RGB component values from the plane's pixel
177 * Alpha component value from the plane's pixel. If the plane's
184 * Plane alpha value set by the plane "alpha" property. If the
185 * plane does not expose the "alpha" property, then this is
190 * pairs supported by this plane. The blob is a drm_format_modifier_blob
191 * struct. Without this property the plane doesn't support buffers with
195 * plane or the CRTC (e.g. for the background color, which currently is not
201 * @plane: drm plane
204 * for it in the DRM core. It is attached to @plane.
212 int drm_plane_create_alpha_property(struct drm_plane *plane) in drm_plane_create_alpha_property() argument
216 prop = drm_property_create_range(plane->dev, 0, "alpha", in drm_plane_create_alpha_property()
221 drm_object_attach_property(&plane->base, prop, DRM_BLEND_ALPHA_OPAQUE); in drm_plane_create_alpha_property()
222 plane->alpha_property = prop; in drm_plane_create_alpha_property()
224 if (plane->state) in drm_plane_create_alpha_property()
225 plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE; in drm_plane_create_alpha_property()
233 * @plane: drm plane
265 int drm_plane_create_rotation_property(struct drm_plane *plane, in drm_plane_create_rotation_property() argument
283 prop = drm_property_create_bitmask(plane->dev, 0, "rotation", in drm_plane_create_rotation_property()
289 drm_object_attach_property(&plane->base, prop, rotation); in drm_plane_create_rotation_property()
291 if (plane->state) in drm_plane_create_rotation_property()
292 plane->state->rotation = rotation; in drm_plane_create_rotation_property()
294 plane->rotation_property = prop; in drm_plane_create_rotation_property()
334 * @plane: drm plane
342 * Drivers that attach a mutable zpos property to any plane should call the
362 int drm_plane_create_zpos_property(struct drm_plane *plane, in drm_plane_create_zpos_property() argument
368 prop = drm_property_create_range(plane->dev, 0, "zpos", min, max); in drm_plane_create_zpos_property()
372 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_property()
374 plane->zpos_property = prop; in drm_plane_create_zpos_property()
376 if (plane->state) { in drm_plane_create_zpos_property()
377 plane->state->zpos = zpos; in drm_plane_create_zpos_property()
378 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_property()
387 * @plane: drm plane
401 int drm_plane_create_zpos_immutable_property(struct drm_plane *plane, in drm_plane_create_zpos_immutable_property() argument
406 prop = drm_property_create_range(plane->dev, DRM_MODE_PROP_IMMUTABLE, in drm_plane_create_zpos_immutable_property()
411 drm_object_attach_property(&plane->base, prop, zpos); in drm_plane_create_zpos_immutable_property()
413 plane->zpos_property = prop; in drm_plane_create_zpos_immutable_property()
415 if (plane->state) { in drm_plane_create_zpos_immutable_property()
416 plane->state->zpos = zpos; in drm_plane_create_zpos_immutable_property()
417 plane->state->normalized_zpos = zpos; in drm_plane_create_zpos_immutable_property()
432 return sa->plane->base.id - sb->plane->base.id; in drm_atomic_state_zpos_cmp()
442 struct drm_plane *plane; in drm_atomic_helper_crtc_normalize_zpos() local
457 drm_for_each_plane_mask(plane, dev, crtc_state->plane_mask) { in drm_atomic_helper_crtc_normalize_zpos()
459 drm_atomic_get_plane_state(state, plane); in drm_atomic_helper_crtc_normalize_zpos()
465 DRM_DEBUG_ATOMIC("[PLANE:%d:%s] processing zpos value %d\n", in drm_atomic_helper_crtc_normalize_zpos()
466 plane->base.id, plane->name, in drm_atomic_helper_crtc_normalize_zpos()
473 plane = states[i]->plane; in drm_atomic_helper_crtc_normalize_zpos()
476 DRM_DEBUG_ATOMIC("[PLANE:%d:%s] normalized zpos value %d\n", in drm_atomic_helper_crtc_normalize_zpos()
477 plane->base.id, plane->name, i); in drm_atomic_helper_crtc_normalize_zpos()
496 * first by their zpos values, then by plane id (if zpos is equal). The plane
509 struct drm_plane *plane; in drm_atomic_normalize_zpos() local
513 for_each_oldnew_plane_in_state(state, plane, old_plane_state, new_plane_state, i) { in drm_atomic_normalize_zpos()
538 * @plane: drm plane
565 int drm_plane_create_blend_mode_property(struct drm_plane *plane, in drm_plane_create_blend_mode_property() argument
568 struct drm_device *dev = plane->dev; in drm_plane_create_blend_mode_property()
606 drm_object_attach_property(&plane->base, prop, DRM_MODE_BLEND_PREMULTI); in drm_plane_create_blend_mode_property()
607 plane->blend_mode_property = prop; in drm_plane_create_blend_mode_property()