From a4cbe69e4766ceeb1b94d980b01461651e9f5837 Mon Sep 17 00:00:00 2001
From: "Kristian H. Kristensen" <hoegsberg@google.com>
Date: Thu, 6 Aug 2020 17:29:35 -0700
Subject: [PATCH 03/11] egl/android: Drop unused ctx argument

EGL_ANDROID_image_native_buffer requires the ctx argument to always be
NULL, so not point in passing it around.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6055>
---
 src/egl/drivers/dri2/platform_android.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
index 646a7333755..6bcc3143606 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -789,7 +789,7 @@ droid_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
 }
 
 static __DRIimage *
-droid_create_image_from_prime_fds_yuv(_EGLDisplay *disp, _EGLContext *ctx,
+droid_create_image_from_prime_fds_yuv(_EGLDisplay *disp,
                                      struct ANativeWindowBuffer *buf,
                                      int num_fds, int fds[3])
 {
@@ -876,7 +876,7 @@ droid_create_image_from_prime_fds_yuv(_EGLDisplay *disp, _EGLContext *ctx,
 }
 
 static __DRIimage *
-droid_create_image_from_prime_fds(_EGLDisplay *disp, _EGLContext *ctx,
+droid_create_image_from_prime_fds(_EGLDisplay *disp,
                                   struct ANativeWindowBuffer *buf)
 {
    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
@@ -892,7 +892,7 @@ droid_create_image_from_prime_fds(_EGLDisplay *disp, _EGLContext *ctx,
    if (is_yuv(buf->format)) {
       __DRIimage *image;
 
-      image = droid_create_image_from_prime_fds_yuv(disp, ctx, buf, num_fds, fds);
+      image = droid_create_image_from_prime_fds_yuv(disp, buf, num_fds, fds);
       /*
        * HACK: https://issuetracker.google.com/32077885
        * There is no API available to properly query the IMPLEMENTATION_DEFINED
@@ -936,7 +936,7 @@ droid_create_image_from_prime_fds(_EGLDisplay *disp, _EGLContext *ctx,
 
 #ifdef HAVE_DRM_GRALLOC
 static _EGLImage *
-droid_create_image_from_name(_EGLDisplay *disp, _EGLContext *ctx,
+droid_create_image_from_name(_EGLDisplay *disp,
                              struct ANativeWindowBuffer *buf)
 {
    struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
@@ -1030,12 +1030,12 @@ dri2_create_image_android_native_buffer(_EGLDisplay *disp,
    }
 
    __DRIimage *dri_image =
-      droid_create_image_from_prime_fds(disp, ctx, buf);
+      droid_create_image_from_prime_fds(disp, 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);
+   return droid_create_image_from_name(disp, buf);
 #else
    return NULL;
 #endif
-- 
2.29.2.684.gfbc64c5ab5-goog

