|
XenevaOS
|
#include <drm_plane.h>

struct drm_plane - central DRM plane control structure
Planes represent the scanout hardware of a display block. They receive their input data from a &drm_framebuffer and feed it to a &drm_crtc. Planes control the color conversion, see Plane Composition Properties_ for more details, and are also involved in the color conversion of input pixels, see Color Management Properties_ for details on that.
| struct drm_property* drm_plane::alpha_property |
@alpha_property: Optional alpha property for this plane. See drm_plane_create_alpha_property().
| struct drm_mode_object drm_plane::base |
@base: base mode object
| struct drm_property* drm_plane::blend_mode_property |
@blend_mode_property: Optional "pixel blend mode" enum property for this plane. Blend mode property represents the alpha blending equation selection, describing how the pixels from the current plane are composited with the background.
| struct drm_property* drm_plane::color_encoding_property |
@color_encoding_property:
Optional "COLOR_ENCODING" enum property for specifying color encoding for non RGB formats. See drm_plane_create_color_properties().
| struct drm_property* drm_plane::color_pipeline_property |
@color_pipeline_property:
Optional "COLOR_PIPELINE" enum property for specifying a color pipeline to use on the plane.
| struct drm_property* drm_plane::color_range_property |
@color_range_property:
Optional "COLOR_RANGE" enum property for specifying color range for non RGB formats. See drm_plane_create_color_properties().
| struct drm_crtc* drm_plane::crtc |
@crtc:
Currently bound CRTC, only meaningful for non-atomic drivers. For atomic drivers this is forced to be NULL, atomic drivers should instead check &drm_plane_state.crtc.
| struct drm_device* drm_plane::dev |
@dev: DRM device this plane belongs to
| struct drm_framebuffer* drm_plane::fb |
@fb:
Currently bound framebuffer, only meaningful for non-atomic drivers. For atomic drivers this is forced to be NULL, atomic drivers should instead check &drm_plane_state.fb.
| unsigned int drm_plane::format_count |
@format_count: Size of the array pointed at by @format_types.
| bool drm_plane::format_default |
@format_default: driver hasn't supplied supported formats for the plane. Used by the non-atomic driver compatibility wrapper only.
| uint32_t* drm_plane::format_types |
@format_types: array of formats supported by this plane
| const struct drm_plane_funcs* drm_plane::funcs |
@funcs: plane control functions
| struct list_head drm_plane::head |
@head:
List of all planes on @dev, linked from &drm_mode_config.plane_list. Invariant over the lifetime of @dev and therefore does not need locking.
| const struct drm_plane_helper_funcs* drm_plane::helper_private |
@helper_private: mid-layer private data
| struct drm_property* drm_plane::hotspot_x_property |
@hotspot_x_property: property to set mouse hotspot x offset.
| struct drm_property* drm_plane::hotspot_y_property |
@hotspot_y_property: property to set mouse hotspot y offset.
| unsigned drm_plane::index |
@index: Position inside the mode_config.list, can be used as an array index. It is invariant over the lifetime of the plane.
| struct kmsg_dumper drm_plane::kmsg_panic |
@kmsg_panic: Used to register a panic notifier for this plane
| unsigned int drm_plane::modifier_count |
@modifier_count: Size of the array pointed at by @modifier_count.
| uint64_t* drm_plane::modifiers |
@modifiers: array of modifiers supported by this plane
| struct drm_modeset_lock drm_plane::mutex |
@mutex:
Protects modeset plane state, together with the &drm_crtc.mutex of CRTC this plane is linked to (when active, getting activated or getting disabled).
For atomic drivers specifically this protects @state.
| char* drm_plane::name |
| struct drm_framebuffer* drm_plane::old_fb |
@old_fb:
Temporary tracking of the old fb while a modeset is ongoing. Only used by non-atomic drivers, forced to be NULL for atomic drivers.
| uint32_t drm_plane::possible_crtcs |
@possible_crtcs: pipes this plane can be bound to constructed from drm_crtc_mask()
| struct drm_object_properties drm_plane::properties |
@properties: property tracking for this plane
| struct drm_property* drm_plane::rotation_property |
@rotation_property: Optional rotation property for this plane. See drm_plane_create_rotation_property().
| struct drm_property* drm_plane::scaling_filter_property |
@scaling_filter_property: property to apply a particular filter while scaling.
| struct drm_plane_state* drm_plane::state |
@state:
Current atomic state for this plane.
This is protected by @mutex. Note that nonblocking atomic commits access the current plane state without taking locks. Either by going through the &struct drm_atomic_commit pointers, see for_each_oldnew_plane_in_state(), for_each_old_plane_in_state() and for_each_new_plane_in_state(). Or through careful ordering of atomic commit operations as implemented in the atomic helpers, see &struct drm_crtc_commit.
| enum drm_plane_type drm_plane::type |
@type: Type of plane, see &enum drm_plane_type for details.
| struct drm_property* drm_plane::zpos_property |
@zpos_property: Optional zpos property for this plane. See drm_plane_create_zpos_property().