blob: 4de79f220988e0ba0322d90748d0699521eaf99e [file] [log] [blame]
From c55d7757f0f16d52675e9178b5fca43a5ad03f30 Mon Sep 17 00:00:00 2001
From: "Kristian H. Kristensen" <hoegsberg@google.com>
Date: Thu, 6 Aug 2020 16:45:28 -0700
Subject: [PATCH 02/11] egl/android: Look up prime fds in
droid_create_image_from_prime_fds()
We always need to look them up before calling this function, so move
the lookup into the function to consolidate the code.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055>
---
src/egl/drivers/dri2/platform_android.c | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index 3814187724a..646a7333755 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -877,11 +877,17 @@ droid_create_image_from_prime_fds_yuv(_EGLDisplay *disp, _EGLContext *ctx,
static __DRIimage *
droid_create_image_from_prime_fds(_EGLDisplay *disp, _EGLContext *ctx,
- struct ANativeWindowBuffer *buf, int num_fds, int fds[3])
+ struct ANativeWindowBuffer *buf)
{
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
int pitches[4] = { 0 }, offsets[4] = { 0 };
unsigned error;
+ int num_fds;
+ int fds[3];
+
+ num_fds = get_native_buffer_fds(buf, fds);
+ if (num_fds == 0)
+ return NULL;
if (is_yuv(buf->format)) {
__DRIimage *image;
@@ -1005,9 +1011,6 @@ dri2_create_image_android_native_buffer(_EGLDisplay *disp,
_EGLContext *ctx,
struct ANativeWindowBuffer *buf)
{
- int fds[3];
- unsigned num_fds;
-
if (ctx != NULL) {
/* From the EGL_ANDROID_image_native_buffer spec:
*
@@ -1026,15 +1029,10 @@ dri2_create_image_android_native_buffer(_EGLDisplay *disp,
return NULL;
}
- num_fds = get_native_buffer_fds(buf, fds);
- if (num_fds > 0) {
- __DRIimage *dri_image =
- droid_create_image_from_prime_fds(disp, ctx, buf, num_fds, fds);
- if (!dri_image)
- return EGL_NO_IMAGE_KHR;
-
+ __DRIimage *dri_image =
+ droid_create_image_from_prime_fds(disp, ctx, buf);
+ if (dri_image)
return dri2_create_image_from_dri(disp, dri_image);
- }
#ifdef HAVE_DRM_GRALLOC
return droid_create_image_from_name(disp, ctx, buf);
--
2.29.2.684.gfbc64c5ab5-goog