cros_gralloc: Report layerCount > 1 as unsupported

... to handle AHardwareBufferNativeTests#MultipleLayers_*
tests.

BUG=b:168577830
BUG=b:172409958
TEST=cts -m CtsNativeHardwareTestCases
Change-Id: I40a55d05011a94057d877e228b4b3587dfc48fcb
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/2585945
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
diff --git a/cros_gralloc/gralloc3/CrosGralloc3Utils.cc b/cros_gralloc/gralloc3/CrosGralloc3Utils.cc
index f48c346..493fc1f 100644
--- a/cros_gralloc/gralloc3/CrosGralloc3Utils.cc
+++ b/cros_gralloc/gralloc3/CrosGralloc3Utils.cc
@@ -327,7 +327,11 @@
     outCrosDescriptor->droid_format = static_cast<int32_t>(descriptor.format);
     outCrosDescriptor->droid_usage = descriptor.usage;
     outCrosDescriptor->reserved_region_size = 0;
-
+    if (descriptor.layerCount > 1) {
+        drv_log("Failed to convert descriptor. Unsupported layerCount: %d\n",
+                descriptor.layerCount);
+        return -1;
+    }
     if (convertToDrmFormat(descriptor.format, &outCrosDescriptor->drm_format)) {
         std::string pixelFormatString = getPixelFormatString(descriptor.format);
         drv_log("Failed to convert descriptor. Unsupported format %s\n", pixelFormatString.c_str());
diff --git a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
index 1a7092c..5e37b7e 100644
--- a/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
+++ b/cros_gralloc/gralloc4/CrosGralloc4Utils.cc
@@ -318,10 +318,14 @@
     outCrosDescriptor->droid_format = static_cast<int32_t>(descriptor.format);
     outCrosDescriptor->droid_usage = descriptor.usage;
     outCrosDescriptor->reserved_region_size = descriptor.reservedSize;
-
+    if (descriptor.layerCount > 1) {
+        drv_log("Failed to convert descriptor. Unsupported layerCount: %d\n",
+                descriptor.layerCount);
+        return -1;
+    }
     if (convertToDrmFormat(descriptor.format, &outCrosDescriptor->drm_format)) {
         std::string pixelFormatString = getPixelFormatString(descriptor.format);
-        drv_log("Failed to convert descriptor. Unsupported fomat %s\n", pixelFormatString.c_str());
+        drv_log("Failed to convert descriptor. Unsupported format %s\n", pixelFormatString.c_str());
         return -1;
     }
     if (convertToBufferUsage(descriptor.usage, &outCrosDescriptor->use_flags)) {