Skip to content

Proposal: list of DRM modifiers as VASurfaceAttrib #502

Description

@emersion

Use-case: with AMD hardware, we want to decode NV12 buffers via VA-API, then directly display them via KMS. This works fine if the KMS planes aren't rotated, but fails when we try to rotate them.

The reason is that VA-API gives us some LINEAR buffers and AMD display hardware can't rotate LINEAR buffers. We need tiled buffers.

To fix this, it would be nice to be able to provide a list of DRM modifiers when creating a VASurface. The driver would only be allowed to pick a modifier from this list.

This is how other APIs handle this: both GBM and Vulkan let users pass a list of modifiers when allocating memory.

We could add VASurfaceAttribDRMFormatModifiers, with a pointer to a list of modifiers.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions