From: Emil Velikov <emil.l.velikov@gmail.com>
To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org
Cc: Miguel Casas-Sanchez <mcasas@chromium.org>,
Alexandros Frantzis <alexandros.frantzis@collabora.com>
Subject: [RFC] Exposing plane type mask and handling 'all' planes
Date: Wed, 19 Jun 2019 17:03:53 +0100 [thread overview]
Message-ID: <20190619160353.GE1896@arch-x1c3> (raw)
Hi all,
Recently I have been looking at i915 and its rather interesting planes.
In particular newer hardware is capable of using 3 universal planes and
a separate cursor-only plane. At the same time only 1 top-most plane can
be enabled - lets calls those plane3 or cursor.
Hence currently the hardware has an extra plane which we do not use.
The current DRM design does not allow us to fully utilise the HW and I
would love to address that. Here are three approaches that come to mind:
1) Extend the DRM plane UAPI to:
- expose a mask of supported types, and
- allow userspace to select the type
2) Keep the exposed planes as-is and let the driver orchestrate which
one gets used.
- flip between cursor/plane3 based on the use-case/API used, or
- opt for plane3/cursor for atomic and legacy modeset code path, or
- other
3) Expose plane3 and cursor, whereby using one of them "marks" the other
as used.
- is this allowed by the modeset semantics/policy?
- does existing user-space have fallback path?
Personally, I would love existing user-space to just work without
modification. At the same time opting for 2 this will cause a serious
amount of complication, and in case of 3 the whole thing will be very
fragile. So my current inclination is towards 1.
Open questions:
- Do we know of other hardware with this or related design which does
not fit the current DRM design?
- Vendor KMS specific UAPI, is frowned upon. So if we are to extend the
UAPI, does the current approach sound useful for other HW?
- Does this approach sound reasonable, can other share their view on a
better approach, that achieves the goal?
Input and ideas from the Intel team and DRM community are very much
appreciated.
Thanks
Emil
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2019-06-19 16:03 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-19 16:03 Emil Velikov [this message]
2019-06-19 16:33 ` [RFC] Exposing plane type mask and handling 'all' planes Ville Syrjälä
2019-06-19 17:49 ` Emil Velikov
2019-06-19 18:24 ` Ville Syrjälä
2019-06-26 0:46 ` Matt Roper
2019-06-28 16:14 ` Emil Velikov
2019-06-28 17:37 ` Matt Roper
2019-06-28 18:54 ` Emil Velikov
2019-06-28 23:20 ` Matt Roper
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190619160353.GE1896@arch-x1c3 \
--to=emil.l.velikov@gmail.com \
--cc=alexandros.frantzis@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=mcasas@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.