Fixing client composition setup on non-SRGB color mode displays

Fixing client composition behavior to match SF - dataspace of client
composition is determined by the color mode of the display

Bug: 135045017
Test: build, boot, VtsHalGraphicsComposerV2_2TargetTest
Change-Id: I88371d173501875b59bf40092943cebff3d22b06
diff --git a/graphics/composer/2.2/utils/vts/ReadbackVts.cpp b/graphics/composer/2.2/utils/vts/ReadbackVts.cpp
index 91efc6f..02ab49b 100644
--- a/graphics/composer/2.2/utils/vts/ReadbackVts.cpp
+++ b/graphics/composer/2.2/utils/vts/ReadbackVts.cpp
@@ -55,11 +55,23 @@
             return std::string("V0_SRGB");
         case Dataspace::DISPLAY_P3:
             return std::string("DISPLAY_P3");
+        case Dataspace::UNKNOWN:
+            return std::string("UNKNOWN");
         default:
             return std::string("Unsupported dataspace for readback");
     }
 }
 
+Dataspace ReadbackHelper::getDataspaceForColorMode(ColorMode mode) {
+    switch (mode) {
+        case ColorMode::DISPLAY_P3:
+            return Dataspace::DISPLAY_P3;
+        case ColorMode::SRGB:
+        default:
+            return Dataspace::UNKNOWN;
+    }
+}
+
 LayerSettings TestLayer::toRenderEngineLayerSettings() {
     LayerSettings layerSettings;
 
diff --git a/graphics/composer/2.2/utils/vts/include/composer-vts/2.2/ReadbackVts.h b/graphics/composer/2.2/utils/vts/include/composer-vts/2.2/ReadbackVts.h
index 5304cd4..9fa1c3c 100644
--- a/graphics/composer/2.2/utils/vts/include/composer-vts/2.2/ReadbackVts.h
+++ b/graphics/composer/2.2/utils/vts/include/composer-vts/2.2/ReadbackVts.h
@@ -146,6 +146,8 @@
 
     static std::string getDataspaceString(Dataspace dataspace);
 
+    static Dataspace getDataspaceForColorMode(ColorMode mode);
+
     static int32_t GetBytesPerPixel(PixelFormat pixelFormat);
 
     static void fillBuffer(int32_t width, int32_t height, uint32_t stride, void* bufferData,