Lines Matching +full:a +full:- +full:display

6    'Documentation/gpu/amdgpu/display/dcn-overview.rst'.
10 fixed-function hardware in the display controller rather than using graphics or
12 the graphics/compute pipelines can be put into low-power states. In summary,
15 * Decreased GPU and CPU workload - no composition shaders needed, no extra
17 * Plane independent page flips - No need to be tied to global compositor
18 page-flip present rate, reduced latency, independent timing.
20 .. note:: Keep in mind that MPO is all about power-saving; if you want to learn
21 more about power-save in the display context, check the link:
22 `Power <https://gitlab.freedesktop.org/pq/color-and-hdr/-/blob/main/doc/power.rst>`__.
25 model only uses a single userspace IOCTL for configuring the display hardware
26 (modesetting, page-flipping, etc) - drmModeAtomicCommit. To query hardware
31 * ``DRM_PLANE_TYPE_PRIMARY``: Primary planes represent a "main" plane for a
34 * ``DRM_PLANE_TYPE_CURSOR``: Cursor planes represent a "cursor" plane for a
36 * ``DRM_PLANE_TYPE_OVERLAY``: Overlay planes represent all non-primary,
37 non-cursor planes. Some drivers refer to these types of planes as "sprites"
40 To illustrate how it works, let's take a look at a device that exposes the
51 means, look at 'Documentation/gpu/amdgpu/display/dcn-overview.rst', section
52 "AMD Hardware Pipeline"). Typically most AMD devices operate in a pipe-split
53 configuration for optimal single display output (e.g., 2 pipes per plane).
55 A typical MPO configuration from userspace - 1 primary + 1 overlay on a single
56 display - will see 4 pipes in use, 2 per plane.
60 limit of 4 planes across all CRTCs. Atomic commits will be rejected for display
80 * Only primary planes have color-space and non-RGB format support
89 .. kernel-figure:: mpo-cursor.svg
97 As a result of the above behavior, do not use legacy API to set up the cursor
101 In short, AMD HW has no dedicated cursor planes. A cursor is attached to
108 Picture-in-Picture (PIP) playback - Underlay strategy
109 -----------------------------------------------------
112 strategy. This is a 2 planes configuration:
117 - The overlay plane contains general desktop UI, video player controls, and video subtitles
118 - Primary plane contains one or more videos
121 but that is currently not supported by our driver yet (maybe if we have a
124 See below a single-video example:
126 .. kernel-figure:: single-display-mpo.svg
139 draw a transparent cutout for where the video should be placed on the desktop
142 plane's framebuffer is used for standard double-buffered playback.
144 The compositor should create a YUV buffer matching the native size of the CRTC.
152 draw a transparent cutout for where each video should be placed on the desktop
158 be run to validate positioning, blending, scaling under a variety of sequences
161 - ``kms_plane@plane-panning-bottom-right-pipe-*-planes``
162 - ``kms_plane@plane-panning-bottom-right-suspend-pipe-*-``
163 - ``kms_plane@plane-panning-top-left-pipe-*-``
164 - ``kms_plane@plane-position-covered-pipe-*-``
165 - ``kms_plane@plane-position-hole-dpms-pipe-*-``
166 - ``kms_plane@plane-position-hole-pipe-*-``
167 - ``kms_plane_multiple@atomic-pipe-*-tiling-``
168 - ``kms_plane_scaling@pipe-*-plane-scaling``
169 - ``kms_plane_alpha_blend@pipe-*-alpha-basic``
170 - ``kms_plane_alpha_blend@pipe-*-alpha-transparant-fb``
171 - ``kms_plane_alpha_blend@pipe-*-alpha-opaque-fb``
172 - ``kms_plane_alpha_blend@pipe-*-constant-alpha-min``
173 - ``kms_plane_alpha_blend@pipe-*-constant-alpha-mid``
174 - ``kms_plane_alpha_blend@pipe-*-constant-alpha-max``
176 Multiple Display MPO
177 --------------------
179 AMDGPU supports display MPO when using multiple displays; however, this feature
183 many limitations for a single display. Nonetheless, this manipulation can have
184 many more restrictions for a multi-display scenario. The below example shows a
186 define a policy on how to handle it:
188 .. kernel-figure:: multi-display-hdcp-mpo.svg
191 multi-display with MPO.
202 From the DCN overview page, each display requires at least one pipe and each
203 MPO plane needs another pipe. As a result, when the video is in the middle of
207 - 1 display (1 pipe) + MPO (1 pipe), we will use two pipes
208 - 2 displays (2 pipes) + MPO (1-2 pipes); we will use 4 pipes. MPO in the
210 - 3 Displays (3 pipes) + MPO (1-2 pipes), we need 5 pipes.
214 or disable it in favor of multiple displays; it is a policy decision. For
220 Let's briefly explore how userspace can handle these two display configurations
223 .. kernel-figure:: multi-display-hdcp-mpo-less-pipe-ex.svg
225 - Total pipes are 3
226 - User lights up 2 displays (2 out of 3 pipes are used)
227 - User launches video (1 pipe used for MPO)
228 - Now, if the user moves the video in the middle of 2 displays, one part of the