mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 12:50:10 +01:00
egl: Factor out _eglCreateImageCommon (v2)
v2: - Pass disp to RETURN_EGL_ERROR so we unlock the display Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
This commit is contained in:
parent
82a2e2cb50
commit
58338c6b65
1 changed files with 13 additions and 5 deletions
|
|
@ -1309,11 +1309,10 @@ eglReleaseThread(void)
|
|||
}
|
||||
|
||||
|
||||
static EGLImage EGLAPIENTRY
|
||||
eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
||||
static EGLImage
|
||||
_eglCreateImageCommon(_EGLDisplay *disp, EGLContext ctx, EGLenum target,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||
_EGLContext *context = _eglLookupContext(ctx, disp);
|
||||
_EGLDriver *drv;
|
||||
_EGLImage *img;
|
||||
|
|
@ -1337,18 +1336,27 @@ eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
|||
RETURN_EGL_EVAL(disp, ret);
|
||||
}
|
||||
|
||||
static EGLImage EGLAPIENTRY
|
||||
eglCreateImageKHR(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
||||
EGLClientBuffer buffer, const EGLint *attr_list)
|
||||
{
|
||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||
return _eglCreateImageCommon(disp, ctx, target, buffer, attr_list);
|
||||
}
|
||||
|
||||
|
||||
EGLImage EGLAPIENTRY
|
||||
eglCreateImage(EGLDisplay dpy, EGLContext ctx, EGLenum target,
|
||||
EGLClientBuffer buffer, const EGLAttrib *attr_list)
|
||||
{
|
||||
_EGLDisplay *disp = _eglLockDisplay(dpy);
|
||||
EGLImage image;
|
||||
EGLint *int_attribs = _eglConvertAttribsToInt(attr_list);
|
||||
|
||||
if (attr_list && !int_attribs)
|
||||
RETURN_EGL_ERROR(NULL, EGL_BAD_ALLOC, EGL_NO_IMAGE);
|
||||
RETURN_EGL_ERROR(disp, EGL_BAD_ALLOC, EGL_NO_IMAGE);
|
||||
|
||||
image = eglCreateImageKHR(dpy, ctx, target, buffer, int_attribs);
|
||||
image = _eglCreateImageCommon(disp, ctx, target, buffer, int_attribs);
|
||||
free(int_attribs);
|
||||
return image;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue