Fix GCH preview not working w/ minigbm
We need to allow HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED.
Also add more logging to "bad parameter" EGL cases so we know what
parameter is falling through.
Test:
launch_cvd --gpu_mode=gfxstream
Start camera preview with gralloc3/minigbm CL
https://android-review.googlesource.com/c/device/google/cuttlefish/+/1360478
Change-Id: Ic36ed872c52b8124f26813bf0251efb0b5e404a0
diff --git a/system/egl/egl.cpp b/system/egl/egl.cpp
index fbd2405..2f88fcd 100644
--- a/system/egl/egl.cpp
+++ b/system/egl/egl.cpp
@@ -1210,6 +1210,7 @@
case EGL_VG_COLORSPACE:
break;
default:
+ ALOGE("%s:%d unknown attribute: 0x%x\n", __func__, __LINE__, attrib_list[0]);
setErrorReturn(EGL_BAD_ATTRIBUTE, EGL_NO_SURFACE);
};
attrib_list+=2;
@@ -1703,6 +1704,8 @@
}
break;
default:
+ ALOGE("%s:%d EGL_BAD_CONFIG: invalid major GLES version: %d\n",
+ __func__, __LINE__, majorVersion);
setErrorReturn(EGL_BAD_CONFIG, EGL_NO_CONTEXT);
}
@@ -1977,6 +1980,7 @@
case EGL_DRAW:
return context->draw;
default:
+ ALOGE("%s:%d unknown parameter: 0x%x\n", __func__, __LINE__, readdraw);
setErrorReturn(EGL_BAD_PARAMETER, EGL_NO_SURFACE);
}
}
@@ -2127,7 +2131,11 @@
case HAL_PIXEL_FORMAT_YCBCR_420_888:
#endif
break;
+ case HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED:
+ ALOGW("%s:%d using HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED\n", __func__, __LINE__);
+ break;
default:
+ ALOGE("%s:%d unknown parameter: 0x%x\n", __func__, __LINE__, format);
setErrorReturn(EGL_BAD_PARAMETER, EGL_NO_IMAGE_KHR);
}