mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-03 20:10:17 +01:00
egl: wire up ANGLE_sync_control_rate
Add eglGetMscRateANGLE prototype into generate file Signed-off-by: KJ Liew <liewkj@yahoo.com> Signed-off-by: Térence Clastres <t.clastres@gmail.com> Signed-off-by: Satadru Pramanik <satadru@gmail.com> Signed-off-by: Yonggang Luo <luoyonggang@gmail.com> Reviewed-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17815>
This commit is contained in:
parent
f5bb9dd738
commit
eebea558b7
6 changed files with 40 additions and 0 deletions
|
|
@ -216,6 +216,9 @@ EGL_FUNCTIONS = (
|
|||
# EGL_CHROMIUM_get_sync_values
|
||||
_eglFunc("eglGetSyncValuesCHROMIUM", "display"),
|
||||
|
||||
# EGL_ANGLE_sync_control_rate
|
||||
_eglFunc("eglGetMscRateANGLE", "display"),
|
||||
|
||||
# EGL_ANDROID_native_fence_sync
|
||||
_eglFunc("eglDupNativeFenceFDANDROID", "display"),
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,15 @@
|
|||
<param><ptype>EGLuint64KHR *</ptype> <name>msc</name></param>
|
||||
<param><ptype>EGLuint64KHR *</ptype> <name>sbc</name></param>
|
||||
</command>
|
||||
|
||||
<!-- EGL_ANGLE_sync_control_rate -->
|
||||
<command>
|
||||
<proto>EGLBoolean <name>eglGetMscRateANGLE</name></proto>
|
||||
<param><ptype>EGLDisplay</ptype> <name>display</name></param>
|
||||
<param><ptype>EGLSurface</ptype> <name>surface</name></param>
|
||||
<param><ptype>EGLint *</ptype> <name>numerator</name></param>
|
||||
<param><ptype>EGLint *</ptype> <name>denominator</name></param>
|
||||
</command>
|
||||
</commands>
|
||||
</registry>
|
||||
|
||||
|
|
|
|||
|
|
@ -490,6 +490,7 @@ _eglCreateExtensionsString(_EGLDisplay *disp)
|
|||
_EGL_CHECK_EXTENSION(ANDROID_recordable);
|
||||
|
||||
_EGL_CHECK_EXTENSION(CHROMIUM_sync_control);
|
||||
_EGL_CHECK_EXTENSION(ANGLE_sync_control_rate);
|
||||
|
||||
_EGL_CHECK_EXTENSION(EXT_buffer_age);
|
||||
_EGL_CHECK_EXTENSION(EXT_create_context_robustness);
|
||||
|
|
@ -2369,6 +2370,28 @@ eglGetSyncValuesCHROMIUM(EGLDisplay dpy, EGLSurface surface,
|
|||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglGetMscRateANGLE(EGLDisplay dpy, EGLSurface surface,
|
||||
EGLint *numerator, EGLint *denominator)
|
||||
{
|
||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||
_EGLSurface *surf = _eglLookupSurface(surface, disp);
|
||||
EGLBoolean ret;
|
||||
|
||||
_EGL_FUNC_START(disp, EGL_OBJECT_SURFACE_KHR, surf, EGL_FALSE);
|
||||
|
||||
_EGL_CHECK_SURFACE(disp, surf, EGL_FALSE);
|
||||
if (!disp->Extensions.ANGLE_sync_control_rate)
|
||||
RETURN_EGL_EVAL(disp, EGL_FALSE);
|
||||
|
||||
if (!numerator || !denominator)
|
||||
RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE);
|
||||
|
||||
ret = disp->Driver->GetMscRateANGLE(disp, surf, numerator, denominator);
|
||||
|
||||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
static EGLBoolean EGLAPIENTRY
|
||||
eglExportDMABUFImageQueryMESA(EGLDisplay dpy, EGLImage image,
|
||||
EGLint *fourcc, EGLint *nplanes,
|
||||
|
|
|
|||
|
|
@ -100,6 +100,7 @@ struct _egl_extensions
|
|||
EGLBoolean ANDROID_native_fence_sync;
|
||||
EGLBoolean ANDROID_recordable;
|
||||
|
||||
EGLBoolean ANGLE_sync_control_rate;
|
||||
EGLBoolean CHROMIUM_sync_control;
|
||||
|
||||
EGLBoolean EXT_buffer_age;
|
||||
|
|
|
|||
|
|
@ -181,6 +181,9 @@ struct _egl_driver
|
|||
EGLuint64KHR *ust, EGLuint64KHR *msc,
|
||||
EGLuint64KHR *sbc);
|
||||
|
||||
EGLBoolean (*GetMscRateANGLE)(_EGLDisplay *disp, _EGLSurface *surface,
|
||||
EGLint *numerator, EGLint *denominator);
|
||||
|
||||
/* for EGL_MESA_image_dma_buf_export */
|
||||
EGLBoolean (*ExportDMABUFImageQueryMESA)(_EGLDisplay *disp, _EGLImage *img,
|
||||
EGLint *fourcc, EGLint *nplanes,
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ EGL_ENTRYPOINT(eglGetDisplay)
|
|||
EGL_ENTRYPOINT(eglGetDisplayDriverConfig)
|
||||
EGL_ENTRYPOINT(eglGetDisplayDriverName)
|
||||
EGL_ENTRYPOINT(eglGetError)
|
||||
EGL_ENTRYPOINT(eglGetMscRateANGLE)
|
||||
EGL_ENTRYPOINT(eglGetPlatformDisplay)
|
||||
EGL_ENTRYPOINT(eglGetPlatformDisplayEXT)
|
||||
EGL_ENTRYPOINT(eglGetProcAddress)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue