[Mesa-users] EGL Address spaces and Multiple Displays
Pekka Paalanen
ppaalanen at gmail.com
Mon Dec 14 08:21:29 UTC 2020
On Sat, 12 Dec 2020 16:14:02 +0100
Andreas Cord-Landwehr <cordlandwehr at kde.org> wrote:
> Hi, I am currently looking into driver crashes (https://bugreports.qt.io/
> browse/QTBUG-87597) when using the QtWayland compositor and rendering on two
> screens via two EGL fullscreen windows. One of the driver, where I see the
> problems, is the i915 via Mesa.
>
> Since the crashes only occur when the QtWayland compositor renders with
> multiple render loops, I assume that there is something wrong with how
> resources are managed between the render threads. While digging into it, I
> came to Section 2.3 of the EGL 1.5 spec, which states, "EGL objects and
> related context state cannot be used outside of the address space in which
> they are created". So, my question is: From the Mesa / driver perspective, do
> I have to consider displays as different address spaces or can I share
> resources like textures between them?
Hi,
AFAIK, no. Different address spaces essentially means different
processes. Threads inside the same process share the same address
space, at least unless you do something I don't know was even possible.
That sentence you quoted essentially means that you can't take an
object handle/id from EGL or GL, send it to another process, and expect
it to work.
Resource sharing I can't remember, it depends on whether you use
distinct EGLDisplays or only distinct EGLContexts. There is more
wording in the EGL specification about sharing.
Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/mesa-users/attachments/20201214/3242aa12/attachment.sig>
More information about the mesa-users
mailing list