MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
mln_egl_context_descriptor Struct Reference

#include <render_target.h>

Data Fields

void * display
void * config
void * share_context
uint32_t client_api
void * get_proc_address

Detailed Description

EGL context fields shared by OpenGL render targets.

Field Documentation

◆ client_api

uint32_t mln_egl_context_descriptor::client_api

Client API the session creates its context for. Required under dedicated ownership. A shared session queries share_context for it, so this is ignored there.

◆ config

void* mln_egl_context_descriptor::config

Borrowed EGLConfig used to create the session context. Required. OpenGL texture targets require EGL_SURFACE_TYPE to include EGL_PBUFFER_BIT.

◆ display

void* mln_egl_context_descriptor::display

Borrowed EGLDisplay. Required and kept initialized through teardown. eglGetDisplay(EGL_DEFAULT_DISPLAY) returns the same display for the whole process, so a shared display must stay initialized until every session using it has detached or been destroyed. The host must not call eglTerminate per session.

◆ get_proc_address

void* mln_egl_context_descriptor::get_proc_address

Optional eglGetProcAddress-compatible function for the host loader.

◆ share_context

void* mln_egl_context_descriptor::share_context

Borrowed EGLContext whose share group the session context joins. Required under shared ownership, where the session also takes its client API from this context. A dedicated session joins no share group, so it must be null there and names client_api instead.


The documentation for this struct was generated from the following file: