Lines Matching refs: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
189 * plane or the CRTC (e.g. for the background color, which currently is not
193 * Indicates scaling filter to be used for plane scaler
202 * Drivers can set up this property for a plane by calling
208 * @plane: drm plane
211 * for it in the DRM core. It is attached to @plane.
219 int drm_plane_create_alpha_property(struct drm_plane *plane)
223 prop = drm_property_create_range(plane->dev, 0, "alpha",
228 drm_object_attach_property(&plane->base, prop, DRM_BLEND_ALPHA_OPAQUE);
229 plane->alpha_property = prop;
231 if (plane->state)
232 plane->state->alpha = DRM_BLEND_ALPHA_OPAQUE;
240 * @plane: drm plane
272 int drm_plane_create_rotation_property(struct drm_plane *plane,
290 prop = drm_property_create_bitmask(plane->dev, 0, "rotation",
296 drm_object_attach_property(&plane->base, prop, rotation);
298 if (plane->state)
299 plane->state->rotation = rotation;
301 plane->rotation_property = prop;
341 * @plane: drm plane
349 * Drivers that attach a mutable zpos property to any plane should call the
369 int drm_plane_create_zpos_property(struct drm_plane *plane,
375 prop = drm_property_create_range(plane->dev, 0, "zpos", min, max);
379 drm_object_attach_property(&plane->base, prop, zpos);
381 plane->zpos_property = prop;
383 if (plane->state) {
384 plane->state->zpos = zpos;
385 plane->state->normalized_zpos = zpos;
394 * @plane: drm plane
408 int drm_plane_create_zpos_immutable_property(struct drm_plane *plane,
413 prop = drm_property_create_range(plane->dev, DRM_MODE_PROP_IMMUTABLE,
418 drm_object_attach_property(&plane->base, prop, zpos);
420 plane->zpos_property = prop;
422 if (plane->state) {
423 plane->state->zpos = zpos;
424 plane->state->normalized_zpos = zpos;
439 return sa->plane->base.id - sb->plane->base.id;
449 struct drm_plane *plane;
464 drm_for_each_plane_mask(plane, dev, crtc_state->plane_mask) {
466 drm_atomic_get_plane_state(state, plane);
473 plane->base.id, plane->name, plane_state->zpos);
479 plane = states[i]->plane;
483 plane->base.id, plane->name, i);
502 * first by their zpos values, then by plane id (if zpos is equal). The plane
515 struct drm_plane *plane;
519 for_each_oldnew_plane_in_state(state, plane, old_plane_state, new_plane_state, i) {
544 * @plane: drm plane
571 int drm_plane_create_blend_mode_property(struct drm_plane *plane,
574 struct drm_device *dev = plane->dev;
612 drm_object_attach_property(&plane->base, prop, DRM_MODE_BLEND_PREMULTI);
613 plane->blend_mode_property = prop;