|
XenevaOS
|
#include <drm_plane.h>

Public Attributes | |
| struct drm_plane * | plane |
| struct drm_crtc * | crtc |
| struct drm_framebuffer * | fb |
| struct dma_fence * | fence |
| int32_t | crtc_x |
| int32_t | crtc_y |
| uint32_t | crtc_w |
| uint32_t | crtc_h |
| uint32_t | src_x |
| uint32_t | src_y |
| uint32_t | src_h |
| uint32_t | src_w |
| int32_t | hotspot_x |
| int32_t | hotspot_y |
| u16 | alpha |
| uint16_t | pixel_blend_mode |
| unsigned int | rotation |
| unsigned int | zpos |
| unsigned int | normalized_zpos |
| enum drm_color_encoding | color_encoding |
| enum drm_color_range | color_range |
| struct drm_property_blob * | fb_damage_clips |
| bool | ignore_damage_clips |
| struct drm_rect src | dst |
| bool | visible |
| enum drm_scaling_filter | scaling_filter |
| struct drm_colorop * | color_pipeline |
| struct drm_crtc_commit * | commit |
| struct drm_atomic_commit * | state |
| bool | color_mgmt_changed: 1 |
struct drm_plane_state - mutable plane state
Please note that the destination coordinates @crtc_x, @crtc_y, @crtc_h and @crtc_w and the source coordinates @src_x, @src_y, @src_h and @src_w are the raw coordinates provided by userspace. Drivers should use drm_atomic_helper_check_plane_state() and only use the derived rectangles in @src and @dst to program the hardware.
| u16 drm_plane_state::alpha |
@alpha: Opacity of the plane with 0 as completely transparent and 0xffff as completely opaque. See drm_plane_create_alpha_property() for more details.
| enum drm_color_encoding drm_plane_state::color_encoding |
@color_encoding:
Color encoding for non RGB formats
| bool drm_plane_state::color_mgmt_changed |
@color_mgmt_changed: Color management properties have changed. Used by the atomic helpers and drivers to steer the atomic commit control flow.
| struct drm_colorop* drm_plane_state::color_pipeline |
@color_pipeline:
The first colorop of the active color pipeline, or NULL, if no color pipeline is active.
| enum drm_color_range drm_plane_state::color_range |
@color_range:
Color range for non RGB formats
| struct drm_crtc_commit* drm_plane_state::commit |
@commit: Tracks the pending commit to prevent use-after-free conditions, and for async plane updates.
May be NULL.
| struct drm_crtc* drm_plane_state::crtc |
@crtc:
Currently bound CRTC, NULL if disabled. Do not write this directly, use drm_atomic_set_crtc_for_plane()
| uint32_t drm_plane_state::crtc_h |
| uint32_t drm_plane_state::crtc_w |
@crtc_w: width of visible portion of plane on crtc @crtc_h: height of visible portion of plane on crtc
| int32_t drm_plane_state::crtc_x |
@crtc_x:
Left position of visible portion of plane on crtc, signed dest location allows it to be partially off screen.
| int32_t drm_plane_state::crtc_y |
@crtc_y:
Upper position of visible portion of plane on crtc, signed dest location allows it to be partially off screen.
| struct drm_rect src drm_plane_state::dst |
@src:
source coordinates of the plane (in 16.16).
When using drm_atomic_helper_check_plane_state(), the coordinates are clipped, but the driver may choose to use unclipped coordinates instead when the hardware performs the clipping automatically. @dst:
clipped destination coordinates of the plane.
When using drm_atomic_helper_check_plane_state(), the coordinates are clipped, but the driver may choose to use unclipped coordinates instead when the hardware performs the clipping automatically.
| struct drm_framebuffer* drm_plane_state::fb |
@fb:
Currently bound framebuffer. Do not write this directly, use drm_atomic_set_fb_for_plane()
| struct drm_property_blob* drm_plane_state::fb_damage_clips |
@fb_damage_clips:
Blob representing damage (area in plane framebuffer that changed since last plane update) as an array of &drm_mode_rect in framebuffer coodinates of the attached framebuffer. Note that unlike plane src, damage clips are not in 16.16 fixed point.
See drm_plane_get_damage_clips() and drm_plane_get_damage_clips_count() for accessing these.
| struct dma_fence* drm_plane_state::fence |
@fence:
Optional fence to wait for before scanning out @fb. The core atomic code will set this when userspace is using explicit fencing. Do not write this field directly for a driver's implicit fence.
Drivers should store any implicit fence in this from their &drm_plane_helper_funcs.prepare_fb callback. See drm_gem_plane_helper_prepare_fb() for a suitable helper.
| int32_t drm_plane_state::hotspot_x |
@hotspot_x: x offset to mouse cursor hotspot @hotspot_y: y offset to mouse cursor hotspot
| int32_t drm_plane_state::hotspot_y |
| bool drm_plane_state::ignore_damage_clips |
@ignore_damage_clips:
Set by drivers to indicate the drm_atomic_helper_damage_iter_init() helper that the @fb_damage_clips blob property should be ignored.
See :ref:damage_tracking_properties for more information.
| unsigned int drm_plane_state::normalized_zpos |
@normalized_zpos: Normalized value of zpos: unique, range from 0 to N-1 where N is the number of active planes for given crtc. Note that the driver must set &drm_mode_config.normalize_zpos or call drm_atomic_normalize_zpos() to update this before it can be trusted.
| uint16_t drm_plane_state::pixel_blend_mode |
@pixel_blend_mode: The alpha blending equation selection, describing how the pixels from the current plane are composited with the background. Value can be one of DRM_MODE_BLEND_*
| struct drm_plane* drm_plane_state::plane |
@plane: backpointer to the plane
| unsigned int drm_plane_state::rotation |
@rotation: Rotation of the plane. See drm_plane_create_rotation_property() for more details.
| enum drm_scaling_filter drm_plane_state::scaling_filter |
@scaling_filter:
Scaling filter to be applied
| uint32_t drm_plane_state::src_h |
@src_w: width of visible portion of plane (in 16.16) @src_h: height of visible portion of plane (in 16.16)
| uint32_t drm_plane_state::src_w |
| uint32_t drm_plane_state::src_x |
@src_x: left position of visible portion of plane within plane (in 16.16 fixed point).
| uint32_t drm_plane_state::src_y |
@src_y: upper position of visible portion of plane within plane (in 16.16 fixed point).
| struct drm_atomic_commit* drm_plane_state::state |
@state: backpointer to global drm_atomic_commit
| bool drm_plane_state::visible |
@visible:
Visibility of the plane. This can be false even if fb!=NULL and crtc!=NULL, due to clipping.
| unsigned int drm_plane_state::zpos |
@zpos: Priority of the given plane on crtc (optional).
User-space may set mutable zpos properties so that multiple active planes on the same CRTC have identical zpos values. This is a user-space bug, but drivers can solve the conflict by comparing the plane object IDs; the plane with a higher ID is stacked on top of a plane with a lower ID.
See drm_plane_create_zpos_property() and drm_plane_create_zpos_immutable_property() for more details.