KhronosGroup / EGL-Registry

EGL API and Extension Registry

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EGL cross-vendor Display Timing / Presentation timing extension for Linux

pasikarkkainen opened this issue · comments

It seems there's currently no cross-vendor EGL display timing / presentation timing extension(s) available for Linux.

The lack of EGL display timing extensions has come up for example when Firefox was adding support for Wayland, and thus moving from GLX to EGL (https://bugzilla.mozilla.org/show_bug.cgi?id=1640779), and also when SDL was adding Wayland support ( libsdl-org/SDL#4306 (comment) , https://gitlab.freedesktop.org/mesa/mesa/-/issues/4932 ). Both projects obviously motivated by trying to support both X11 and Wayland with a single EGL code path.

for GLX / X11 there's for example these commonly used extensions:

for EGL there's:

Thus I'm opening this issue here in EGL-Registry for discussion about how to get some EGL display timing extension to be available in all the commonly used Linux drivers, in a cross-vendor fashion.

For reference: work-in-progress Vulkan "VK_EXT_present_timing extension": KhronosGroup/Vulkan-Docs#1364

We will discuss in EGL/GLES meeting. But honestly it seems the Wayland/Mesa community needs to drive these features. There just isn't much work by members on this domain.

@stonesthrow Thanks a lot Jeff! Do you know when the next EGL/GLES meeting will be? I'm interested in what kind of discussion you'll end up having about this. And you're right, it's probably Wayland/Mesa community that needs to drive this, unless someone from the Khronos/EGL working group shows interest.

I brought attention to the group last week so that members are aware and hopefully you will get some attention.
I think next week is cancelled for Holidays. so 2 weeks after that.

commented

Just for the very records, NV_present_video used to exist on some specific nvidia hardware too.
https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2018/presentations/Ladavac_Alen_ElusiveFrameTiming.pdf#page=39
Also friendly bump ;-)

Mesa now has an implementation of EGL_ANGLE_sync_control_rate merged. Nvidia proprietary drivers don't have support for EGL_ANGLE_sync_control_rate though.