https://github.com/mchalain/dma-buf-texture-sharing
fork from https://gitlab.com/blaztinn/dma-buf-texture-sharing/
https://github.com/mchalain/dma-buf-texture-sharing
dmabuf eglexportdmabufimagemesa framebuffer opengl shared
Last synced: 30 days ago
JSON representation
fork from https://gitlab.com/blaztinn/dma-buf-texture-sharing/
- Host: GitHub
- URL: https://github.com/mchalain/dma-buf-texture-sharing
- Owner: mchalain
- License: mit
- Created: 2025-05-16T13:17:22.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-07-02T11:11:04.000Z (11 months ago)
- Last Synced: 2025-07-02T12:25:20.019Z (11 months ago)
- Topics: dmabuf, eglexportdmabufimagemesa, framebuffer, opengl, shared
- Language: C
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Example of inter-process texture sharing with DMA-BUF
**Note:** This version share the server's window with the client and not the texture used by the server.
An example of how to share a GL/GLES texture in EGL context between different processes by using DMA-BUF.
Detailed explanation is in [this blog post](https://blaztinn.gitlab.io/post/dmabuf-texture-sharing/).
Prerequisites:
- Linux OS (for dma-buf and [unix domain sockets](https://en.wikipedia.org/wiki/Unix_domain_socket))
- EGL extensions:
- [EGL_MESA_image_dma_buf_export](https://www.khronos.org/registry/EGL/extensions/MESA/EGL_MESA_image_dma_buf_export.txt)
- [EGL_EXT_image_dma_buf_import](https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_image_dma_buf_import.txt)
- GLES extensions:
- [GL_OES_EGL_image_external](https://www.khronos.org/registry/OpenGL/extensions/OES/OES_EGL_image_external.txt)
Build:
``` bash
$ make
```
Run:
``` bash
# Terminal 1
$ ./dmabufshare server
# Terminal 2
$ ./dmabufshare client
```