Skip to content

Instantly share code, notes, and snippets.

@emersion
Last active February 26, 2021 08:52
Show Gist options
  • Select an option

  • Save emersion/3e380271534a634522fedf9d95b85fe7 to your computer and use it in GitHub Desktop.

Select an option

Save emersion/3e380271534a634522fedf9d95b85fe7 to your computer and use it in GitHub Desktop.

Revisions

  1. emersion revised this gist Feb 26, 2021. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion hw-limitations.md
    Original file line number Diff line number Diff line change
    @@ -11,4 +11,5 @@

    # Arm

    - There's no limit on the number of planes. The only limit is the bandwidth usage. The kernel will expose an arbitrary number of planes.
    - There's no limit on the number of planes. The only limit is the bandwidth usage. The kernel will expose an arbitrary number of planes.
    - Some planes can't overlap.
  2. emersion revised this gist Feb 26, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion hw-limitations.md
    Original file line number Diff line number Diff line change
    @@ -5,7 +5,7 @@

    # AMD

    - There's no real cursor plane, instead the hardware draws it on the top-most plane (overlay if enabled, otherwise primary). Thus the cursor composition properties (scaling, rotation, blend mode, etc) must match the underlying plane's. Cropping is not supported.
    - There's no real cursor plane, instead the hardware draws it on the top-most plane (overlay if enabled, otherwise primary). Thus the cursor composition properties (scaling, rotation, blend mode, etc) must match the underlying plane's. An RGB cursor buffer can't be used if the underlying plane uses a YUV format.
    - 90-degree and 270-degree rotations are not supported for linear buffers. Tiled buffers are required.
    - The primary plane needs to be enabled to allow any other plane to be enabled.

  3. emersion revised this gist Feb 26, 2021. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions hw-limitations.md
    Original file line number Diff line number Diff line change
    @@ -7,6 +7,7 @@

    - There's no real cursor plane, instead the hardware draws it on the top-most plane (overlay if enabled, otherwise primary). Thus the cursor composition properties (scaling, rotation, blend mode, etc) must match the underlying plane's. Cropping is not supported.
    - 90-degree and 270-degree rotations are not supported for linear buffers. Tiled buffers are required.
    - The primary plane needs to be enabled to allow any other plane to be enabled.

    # Arm

  4. emersion created this gist Feb 26, 2021.
    13 changes: 13 additions & 0 deletions hw-limitations.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    # Intel

    - Enabling some modifiers can lead to hitting bandwidth limitations (not being able to light up a CRTC).
    - With YUV buffers, planes can only have a position with even coordinates (or odd?).

    # AMD

    - There's no real cursor plane, instead the hardware draws it on the top-most plane (overlay if enabled, otherwise primary). Thus the cursor composition properties (scaling, rotation, blend mode, etc) must match the underlying plane's. Cropping is not supported.
    - 90-degree and 270-degree rotations are not supported for linear buffers. Tiled buffers are required.

    # Arm

    - There's no limit on the number of planes. The only limit is the bandwidth usage. The kernel will expose an arbitrary number of planes.