Bug 111279 - Feature request: support GL_EXT_memory_object
Summary: Feature request: support GL_EXT_memory_object
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: Other All
: medium enhancement
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2019-08-01 21:04 UTC by Christoph Haag
Modified: 2019-09-25 20:34 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description Christoph Haag 2019-08-01 21:04:38 UTC
... and of course GL_EXT_memory_object_fd.

This extension allows efficiently sharing texture data between OpenGL and Vulkan.

At Collabora we have two projects that make use of this extension.

The Monado OpenXR runtime uses the GL_EXT_memory_object OpenGL extension to enable OpenGL VR applications to submit frames to Monado's VR compositor which uses Vulkan.

xrdesktop uses the OpenGL extension to share OpenGL textures rendered by a window manager like kwin or gnome-shell with Vulkan textures that are either used by xrdesktop's internal scene renderer, or sent to a VR runtime.

From Valve there is also SteamVR relying on this extension to support running OpenGL VR applications efficiently.
When this extension is not available, SteamVR implements a fallback where OpenGL textures are downloaded to system ram and then uploaded to VRAM again with Vulkan, however this fallback is far too slow for practical use.

Monado and xrdesktop do not implement such a fallback and as a consequence do not work on Intel graphics.

While this OpenGL extension is currently used for mostly VR, it can be useful for any use case where IPC with OpenGL and Vulkan is required. For example Firefox may use it to speed up the IPC between tab process that render GL textures with the rendering process.

This feature request also covers iris.
Comment 1 GitLab Migration User 2019-09-25 20:34:05 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1824.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.