diff --git a/display/current.txt b/display/current.txt
index c7b3085..221f759 100644
--- a/display/current.txt
+++ b/display/current.txt
@@ -76,3 +76,6 @@
 e609d77b00158060ca222ccd13e0ba8019a42336e3b6a6a32c6396f7b7ea2077 vendor.qti.hardware.display.composer@3.1::IQtiComposer
 ee6870d17e33bf8e2365165637b75559ceffda57770b1a35f3a9a8bbf3769266 vendor.qti.hardware.display.composer@3.1::IQtiComposerClient
 550322847ebc31fd2c13a34aefa1f75df1c879cb423422831d5a5f35ba77aca4 vendor.qti.hardware.display.demura@2.0::IDemuraFileFinder
+
+#HAL released in Android T
+1e8de36267058910c4a1b4b0d92322640c5c24f961d1c9e05b5b033e65e8e0e6 vendor.qti.hardware.display.mapperextensions@1.3::IQtiMapperExtensions
diff --git a/display/mapperextensions/1.3/Android.bp b/display/mapperextensions/1.3/Android.bp
new file mode 100644
index 0000000..b22ce3b
--- /dev/null
+++ b/display/mapperextensions/1.3/Android.bp
@@ -0,0 +1,19 @@
+// This file is autogenerated by hidl-gen -Landroidbp.
+
+hidl_interface {
+    name: "vendor.qti.hardware.display.mapperextensions@1.3",
+    owner: "qti",
+    root: "vendor.qti.hardware.display",
+    system_ext_specific: true,
+    srcs: [
+        "IQtiMapperExtensions.hal",
+    ],
+    interfaces: [
+        "android.hidl.base@1.0",
+        "android.hardware.graphics.mapper@4.0",
+        "vendor.qti.hardware.display.mapperextensions@1.0",
+        "vendor.qti.hardware.display.mapperextensions@1.1",
+        "vendor.qti.hardware.display.mapperextensions@1.2",
+    ],
+    gen_java: false,
+}
diff --git a/display/mapperextensions/1.3/IQtiMapperExtensions.hal b/display/mapperextensions/1.3/IQtiMapperExtensions.hal
new file mode 100644
index 0000000..c37a40c
--- /dev/null
+++ b/display/mapperextensions/1.3/IQtiMapperExtensions.hal
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted (subject to the limitations in the
+ * disclaimer below) provided that the following conditions are met:
+ *
+ *    * Redistributions of source code must retain the above copyright
+ *      notice, this list of conditions and the following disclaimer.
+ *
+ *    * Redistributions in binary form must reproduce the above
+ *      copyright notice, this list of conditions and the following
+ *      disclaimer in the documentation and/or other materials provided
+ *      with the distribution.
+ *
+ *    * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
+ *      contributors may be used to endorse or promote products derived
+ *      from this software without specific prior written permission.
+ *
+ * NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
+ * GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+ * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
+ * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+package vendor.qti.hardware.display.mapperextensions@1.3;
+
+import android.hardware.graphics.mapper@4.0::types;
+import android.hardware.graphics.mapper@4.0;
+import vendor.qti.hardware.display.mapperextensions@1.2::IQtiMapperExtensions;
+import vendor.qti.hardware.display.mapperextensions@1.0::Error;
+
+interface IQtiMapperExtensions extends @1.2::IQtiMapperExtensions {
+
+    /*
+     * Fast path for get metadata.
+     */
+    @callflow(next="*")
+    getMetaDataValue(pointer src, MetadataType metadataType, pointer in) generates (@1.0::Error error);
+
+};
