surfaceflinger: support BT2020_ITU_PQ

Games use BT2020_PQ while videos use BT2020_ITU_PQ usually.  We can
support both and treat them as the same, since the YUV->RGB
conversion happens before the pixel data are uploaded to texture, or
happens inside the GLES driver.

The only caveat is that we treat RGBA1010102/BT2020_ITU_PQ from
media specially.  The hack is also updated in this change.

Test: manual
Change-Id: I1e4b8e0d907af5e5a95cf7fde1a7ea67a4e7da0b
diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
index 323cec7..5133bac 100644
--- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
+++ b/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
@@ -326,11 +326,12 @@
 
     if (usesWideColor()) {
         Description wideColorState = mState;
-        switch (mDataSpace) {
+        switch (int(mDataSpace)) {
             case HAL_DATASPACE_DISPLAY_P3:
                 // input matches output
                 break;
             case HAL_DATASPACE_BT2020_PQ:
+            case HAL_DATASPACE_BT2020_ITU_PQ:
                 wideColorState.setColorMatrix(mState.getColorMatrix() * mBt2020ToDisplayP3);
                 wideColorState.setInputTransferFunction(Description::TransferFunction::ST2084);
                 wideColorState.setOutputTransferFunction(Description::TransferFunction::SRGB);