replace common qcom sources with samsung ones

This commit is contained in:
SaschaNes
2025-08-12 22:13:00 +02:00
parent ba24dcded9
commit 6f7753de11
5682 changed files with 2450203 additions and 103634 deletions

View File

@@ -0,0 +1,20 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.allocator@1.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiAllocator.hal",
],
interfaces: [
"android.hardware.graphics.allocator@2.0",
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.mapper@2.0",
"android.hardware.graphics.mapper@2.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapper@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.allocator@1.0;
import vendor.qti.hardware.display.mapper@1.0;
import android.hardware.graphics.allocator@2.0::IAllocator;
interface IQtiAllocator extends IAllocator {
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.allocator@3.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiAllocator.hal",
],
interfaces: [
"android.hardware.graphics.allocator@3.0",
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.mapper@3.0",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.allocator@3.0;
import android.hardware.graphics.allocator@3.0::IAllocator;
interface IQtiAllocator extends IAllocator {
};

View File

@@ -0,0 +1 @@
version=2

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.allocator@4.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiAllocator.hal",
],
interfaces: [
"android.hardware.graphics.allocator@4.0",
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.mapper@4.0",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,36 @@
/*
* Copyright (c) 2019, 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.allocator@4.0;
import android.hardware.graphics.allocator@4.0::IAllocator;
interface IQtiAllocator extends IAllocator {
};

View File

@@ -0,0 +1 @@
version=3

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.composer@1.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiComposer.hal",
"IQtiComposerClient.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.composer@2.1",
"android.hardware.graphics.composer@2.2",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@1.0;
import android.hardware.graphics.composer@2.2::IComposer;
interface IQtiComposer extends IComposer {
};

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@1.0;
import android.hardware.graphics.composer@2.2::IComposerClient;
interface IQtiComposerClient extends IComposerClient {
};

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.composer@2.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiComposer.hal",
"IQtiComposerClient.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.1",
"android.hardware.graphics.composer@2.2",
"android.hardware.graphics.composer@2.3",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@2.0;
import android.hardware.graphics.composer@2.3::IComposer;
interface IQtiComposer extends IComposer {
};

View File

@@ -0,0 +1,58 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@2.0;
import android.hardware.graphics.composer@2.3::IComposerClient;
interface IQtiComposerClient extends IComposerClient {
enum LayerType : uint32_t {
UNKNOWN = 0,
APP = 1,
GAME = 2,
BROWSER = 3,
};
/**
* SET_LAYER_TYPE has this pseudo prototype
* setLayerType(uint32_t type);
*
* param type is the layer type.
* 0 - Unknown
* 1 - APP
* 2 - Game
* 3 - Browser
*/
enum Command : @2.3::IComposerClient.Command {
SET_LAYER_TYPE = 0x800 << @2.3::IComposerClient.Command:OPCODE_SHIFT,
};
};

View File

@@ -0,0 +1 @@
version=2

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.composer@2.1",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiComposer.hal",
"IQtiComposerClient.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.1",
"android.hardware.graphics.composer@2.2",
"android.hardware.graphics.composer@2.3",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.composer@2.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@2.1;
import @2.0::IQtiComposer;
interface IQtiComposer extends @2.0::IQtiComposer {
};

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@2.1;
import @2.0::IQtiComposerClient;
interface IQtiComposerClient extends @2.0::IQtiComposerClient {
enum Command : @2.0::IQtiComposerClient.Command {
/**
* SET_DISPLAY_ELAPSE_TIME has this pseudo prototype
* setDisplayElapseTime(s64 time);
*
* param type is of int64_t which specifies system time in ns.
*/
SET_DISPLAY_ELAPSE_TIME = 0x801 << @2.0::IQtiComposerClient.Command:OPCODE_SHIFT,
};
};

View File

@@ -0,0 +1 @@
version=2

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.composer@3.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiComposer.hal",
"IQtiComposerClient.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.1",
"android.hardware.graphics.composer@2.2",
"android.hardware.graphics.composer@2.3",
"android.hardware.graphics.composer@2.4",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,37 @@
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@3.0;
import android.hardware.graphics.composer@2.4::IComposer;
interface IQtiComposer extends IComposer {
};

View File

@@ -0,0 +1,67 @@
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@3.0;
import android.hardware.graphics.composer@2.4;
interface IQtiComposerClient extends @2.4::IComposerClient {
enum LayerType : uint32_t {
UNKNOWN = 0,
APP = 1,
GAME = 2,
BROWSER = 3,
};
enum Command : @2.4::IComposerClient.Command {
/**
* SET_LAYER_TYPE has this pseudo prototype
* setLayerType(uint32_t type);
*
* param type is the layer type.
* 0 - Unknown
* 1 - APP
* 2 - Game
* 3 - Browser
*/
SET_LAYER_TYPE = 0x800 << IComposerClient.Command:OPCODE_SHIFT,
/**
* SET_DISPLAY_ELAPSE_TIME has this pseudo prototype
* setDisplayElapseTime(s64 time);
*
* param type is of int64_t which specifies system time in ns.
*/
SET_DISPLAY_ELAPSE_TIME = 0x801 << IComposerClient.Command:OPCODE_SHIFT,
};
};

View File

@@ -0,0 +1 @@
version=3

View File

@@ -0,0 +1,23 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.composer@3.1",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiComposer.hal",
"IQtiComposerClient.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.composer@2.1",
"android.hardware.graphics.composer@2.2",
"android.hardware.graphics.composer@2.3",
"android.hardware.graphics.composer@2.4",
"vendor.qti.hardware.display.composer@3.0",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,49 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@3.1;
import @3.0::IQtiComposer;
import IQtiComposerClient;
import android.hardware.graphics.composer@2.1::Error;
interface IQtiComposer extends @3.0::IQtiComposer {
/**
* Creates a v3.1 client of the composer.
*
* @return error is NONE upon success. Otherwise,
* NO_RESOURCES when the client could not be created.
* @return client is the newly created client.
*/
@entry
@callflow(next="*")
createClient_3_1() generates (Error error, IQtiComposerClient client);
};

View File

@@ -0,0 +1,90 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.composer@3.1;
import @3.0::IQtiComposerClient;
import android.hardware.graphics.composer@2.1::Display;
import android.hardware.graphics.composer@2.1::Error;
interface IQtiComposerClient extends @3.0::IQtiComposerClient {
/**
* Layer flag to set compatible
*/
enum LayerFlag : uint32_t {
DEFAULT = 0,
COMPATIBLE = 1,
};
/**
* Set draw method
*/
enum DrawMethod : uint32_t {
DEFAULT = 0,
UNIFIED_DRAW = 1,
};
enum Command : @3.0::IQtiComposerClient.Command {
/**
* SET_LAYER_FLAG has this pseudo prototype
* setLayerFlag(uint32_t type);
*
* param type is the layer type.
* 0 - DEFAULT
* 1 - COMPATIBLE
*/
SET_LAYER_FLAG_3_1 = 0x803 << IQtiComposerClient.Command:OPCODE_SHIFT,
/**
* SET_CLIENT_TARGET_3_1 has this pseudo prototype
* setClientTarget_3_1(uint32_t targetSlot,
* int32_t acquireFenceIndex,
uint32_t dataspace,
vec<Rect> damage);
* @param targetSlot is input slot for FB
* @param acquireFenceIndex is input fence for FB
* @param dataspace is current dataspace for FB
* @param damage is current surface damage region
*/
SET_CLIENT_TARGET_3_1 = 0x804 << IQtiComposerClient.Command:OPCODE_SHIFT,
};
/**
* Set draw method
* set the draw method if the composer implementation supports specified draw method.
* @ param DrawMethod is enum
* @ DEFAULT = 0,
* @ UNIFIED_DRAW = 1,
*/
@callflow(next="*")
tryDrawMethod(Display display, DrawMethod drawMethod)
generates (Error error);
};

View File

@@ -0,0 +1 @@
version=3.1

View File

@@ -0,0 +1,14 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.0",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,275 @@
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.0;
interface IDisplayConfig {
enum DisplayType : int32_t {
INVALID = -1,
DISPLAY_PRIMARY = 0,
DISPLAY_EXTERNAL = 1,
DISPLAY_VIRTUAL = 2,
};
enum DisplayExternalStatus : int32_t {
INVALID = -1,
EXTERNAL_OFFLINE = 0,
EXTERNAL_ONLINE = 1,
EXTERNAL_PAUSE = 2,
EXTERNAL_RESUME = 3,
};
enum DisplayDynRefreshRateOp : int32_t {
INVALID = -1,
DISABLE_METADATA_DYN_REFRESH_RATE = 0,
ENABLE_METADATA_DYN_REFRESH_RATE = 1,
SET_BINDER_DYN_REFRESH_RATE = 2,
};
enum DisplayPortType : int32_t {
INVALID = -1,
DISPLAY_PORT_DEFAULT = 0,
DISPLAY_PORT_DSI = 1,
DISPLAY_PORT_DTV = 2,
DISPLAY_PORT_WRITEBACK = 3,
DISPLAY_PORT_LVDS = 4,
DISPLAY_PORT_EDP = 5,
DISPLAY_PORT_DP = 6,
};
struct DisplayAttributes {
uint32_t vsyncPeriod;
uint32_t xRes;
uint32_t yRes;
float xDpi;
float yDpi;
DisplayPortType panelType;
bool isYuv;
};
struct DisplayHDRCapabilities {
vec<int32_t> supportedHdrTypes;
float maxLuminance;
float maxAvgLuminance;
float minLuminance;
};
/*
* Returns connection status of an external display.
*
* @return true when connected, false when disconnected.
*/
@callflow(next="*")
isDisplayConnected(DisplayType dpy) generates (int32_t error, bool status);
/*
* Sets the secondary display status (pause/resume/offline) etc.
*
* @param dpy display type.
* @param status next status to be set.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setSecondayDisplayStatus(DisplayType dpy,
DisplayExternalStatus status)
generates (int32_t error);
/*
* Enable/Disable/Set refresh rate dynamically
*
* @param op operation code defined in DisplayDynRefreshRateOp.
* @param refreshRate refresh rate value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
configureDynRefeshRate(DisplayDynRefreshRateOp op,
uint32_t refreshRate)
generates (int32_t error);
/*
* Returns the number of configuration given display can support.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param count number of configurations.
*/
@callflow(next="*")
getConfigCount(DisplayType dpy) generates (int32_t error, uint32_t count);
/*
* Returns the index of config that is current set for the display.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param config config index.
*/
@callflow(next="*")
getActiveConfig(DisplayType dpy) generates (int32_t error, uint32_t config);
/*
* Set a new display configuration pointed by the index.
*
* @param dpy display type.
* @param config config index.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setActiveConfig(DisplayType dpy, uint32_t config) generates (int32_t error);
/*
* Returns the attributes for the specified config for the display.
*
* @param configIndex config index.
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param attributes display attributes.
*/
@callflow(next="*")
getDisplayAttributes(uint32_t configIndex,
DisplayType dpy)
generates (int32_t error,
DisplayAttributes attributes);
/*
* Sets the panel brightness of the primary display.
*
* @param level brightness level.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setPanelBrightness(uint32_t level) generates (int32_t error);
/*
* Sets the panel brightness of the primary display.
*
* @return level brightness level.
*/
@callflow(next="*")
getPanelBrightness() generates (int32_t error, uint32_t level);
/*
* Indicates display about a change in minimum encryption level.
*
* @param dpy display type.
* @param min_enc_level encryption level.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
minHdcpEncryptionLevelChanged(DisplayType dpy,
uint32_t min_enc_level)
generates (int32_t error);
/*
* Requests display to recompose and invalidate the display pipeline.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
refreshScreen() generates (int32_t error);
/*
* Enable/Disable partial update.
*
* @param dpy display type.
* @param enable enable/disable.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
controlPartialUpdate(DisplayType dpy,
bool enable)
generates (int32_t error);
/*
* Toggle screen update.
*
* @param on Pause display and drop incoming draw cycles if true.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
toggleScreenUpdate(bool on) generates (int32_t error);
/*
* Set idle timeout value for video mode panels.
*
* @param value Idle timeout value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setIdleTimeout(uint32_t value) generates (int32_t error);
/*
* Returns HDR capabilities for the specified display.
*
* @param dpy display type.
*
* @return error is NONE upon success.
*
* @param caps HDR capabilities.
*/
@callflow(next="*")
getHDRCapabilities(DisplayType dpy)
generates (int32_t error,
DisplayHDRCapabilities caps);
/*
* Sets camera application start/stop status.
*
* @param on Camera is started if true.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setCameraLaunchStatus(uint32_t on) generates (int32_t error);
/*
* Check bandwidth transaction status.
*
* @return status true if transaction is still pending.
*/
@callflow(next="*")
displayBWTransactionPending() generates (int32_t error, bool status);
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.1",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.1;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.0::IDisplayConfig {
/*
* Set display animating property.
*
* @return one of the hwc2 errors
*/
@callflow(next="*")
setDisplayAnimating(uint64_t displayId, bool animating) generates (int32_t error);
};

View File

@@ -0,0 +1,25 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.10",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayCWBCallback.hal",
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.10;
interface IDisplayCWBCallback {
/*
* Notifies the client that display has filled concurrent writeback
* in the associated buffer successfully.
*
* @param buffer buffer where concurrent writeback output is written.
*/
@callflow(next="*")
oneway onBufferReady(handle buffer);
/*
* Notifies the client that display could not process concurrent writeback
* in the associated buffer and buffer is returned without any change.
*
* @param buffer buffer where concurrent writeback output failed to write.
*/
@callflow(next="*")
oneway onBufferError(handle buffer);
};

View File

@@ -0,0 +1,99 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.10;
import @1.9::IDisplayConfig;
import IDisplayCWBCallback;
interface IDisplayConfig extends @1.9::IDisplayConfig {
struct Rect {
uint32_t left;
uint32_t top;
uint32_t right;
uint32_t bottom;
};
/*
* Sets the output buffer to be filled with the contents of the next
* composition performed for this display. Client can specify cropping
* rectangle for the partial concurrent writeback.
* Buffer must be ready for writeback before this API is called.
* If hardware protected content is displayed in next composition cycle,
* CWB output buffer will be returned as failure in callback and without
* any change in buffer.
*
* @param callback is the IDisplayCWBCallback object.
* @param disp_id display id where concurrent writeback shall be captured.
* @param post_processed whether to capture post processed or mixer output.
* @param rect cropping rectangle which shall be applied on blended output.
* @param buffer buffer where concurrent writeback output shall be written.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setCWBOutputBuffer(IDisplayCWBCallback callback,
uint32_t disp_id,
Rect rect,
bool post_processed,
handle buffer)
generates (int32_t error);
/*
* Get supported bit clock values.
*
* @param disp_id display id.
*
* @return bit_clks vector of bit clock values.
*/
@callflow(next="*")
getSupportedDSIBitClks(uint32_t disp_id)
generates (vec<uint64_t> bit_clks);
/*
* Retrieve current bit clock value.
*
* @param disp_id display id.
*
* @return current bit clock value.
*/
@callflow(next="*")
getDSIClk(uint32_t disp_id) generates (uint64_t bit_clk);
/*
* Retrieve current bit clock value.
*
* @param disp_id display id.
* @param bit_clk desired bit clock value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setDSIClk(uint32_t disp_id, uint64_t bit_clk) generates (int32_t error);
};

View File

@@ -0,0 +1,25 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.11",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,77 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.11;
import @1.10::IDisplayConfig;
interface IDisplayConfig extends @1.10::IDisplayConfig {
enum QsyncMode : int32_t {
/* Clear previous qsync mode if any */
NONE,
/*
* Enable qsync only for the next frame. Qsync mode will be
* automatically cleared after next frame has been composed.
* Subsequent frames will not be affected.
*/
WAIT_FOR_FENCES_ONE_FRAME,
/*
* Enable qsync for every frame from next cycle onwards. Vsync timelines
* will be extended only if a frame has been committed to HWC i.e. if
* HWC does not receive frames from client, vsync will be triggered at
* normal intervals. This is similar to setting qsync mode as
* WAIT_FOR_FENCES_ONE_FRAME with every commit.
*/
WAIT_FOR_FENCES_EACH_FRAME,
/*
* Enable qsync for every vsync interrupt from next cycle onwards.
* Vsync timelines will be extended to maximum stretch possible in an
* anticipation that a frame will be commited shortly. If frames are
* not commited, final frame rate will eventually drop to lowest
* possible frame rate.
*/
WAIT_FOR_COMMIT_EACH_FRAME,
};
/*
* Set the desired qsync mode which will ideally take effect from next
* composition cycle. Mode change may take longer than one cycle if there
* is a conflict with current operation mode.
*
* @param disp_id display id.
* @param mode desired qsync mode.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setQsyncMode(uint32_t disp_id, QsyncMode mode) generates (int32_t error);
};

View File

@@ -0,0 +1,26 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.12",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.12;
import @1.11::IDisplayConfig;
interface IDisplayConfig extends @1.11::IDisplayConfig {
/*
* Query if the specified DisplayConfig has Smart Panel.
*
* @param disp_id Display Id.
*
* @param config_id DisplayConfig Id.
*
* @return is_smart True if the DisplayConfig has Smart Panel.
*/
@callflow(next="*")
isSmartPanelConfig(uint32_t disp_id, uint32_t config_id) generates (bool is_smart);
};

View File

@@ -0,0 +1,27 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.13",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.13;
import @1.12::IDisplayConfig;
interface IDisplayConfig extends @1.12::IDisplayConfig {
/*
* Query if asynchronous Virtual Display Creation is supported
* @return is_supported true if async Virtual display creation is supported
*/
@callflow(next="*")
isAsyncVDSCreationSupported() generates (bool is_supported);
/*
* Creates Virtual Display based on width, height, format parameters.
*
* @param width Width of the virtual display.
* @param height Height of the virtual display.
* @param format Pixel format of the virtual display.
* @return error is NONE on successful creation of display
*/
@callflow(next="*")
createVirtualDisplay(uint32_t width, uint32_t height, int32_t format) generates (int32_t error);
};

View File

@@ -0,0 +1,28 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.14",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.14;
import @1.13::IDisplayConfig;
interface IDisplayConfig extends @1.13::IDisplayConfig {
/*
* Returns true if the given format is supported by rotator otherwise false
*
* @param format Pass HAL_PIXEL_FORMAT for the validation
* @param ubwc true if the given format is ubwc format otherwise false
*
* @return supported true if supported or false.
*/
@callflow(next="*")
isRotatorSupportedFormat(int32_t format, bool ubwc) generates (bool supported);
};

View File

@@ -0,0 +1,30 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.15",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
"IDisplayQsyncCallback.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.14",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.15;
import @1.14::IDisplayConfig;
import IDisplayQsyncCallback;
interface IDisplayConfig extends @1.14::IDisplayConfig {
/*
* Register a callback which will be invoked when there is a change
* in the Qsync configuration.
*
* @param callback is the IDisplayQsyncCallback object.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
registerQsyncCallback(IDisplayQsyncCallback callback) generates (int32_t error);
};

View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.15;
interface IDisplayQsyncCallback {
/*
* Notifies the client that Qsync has been re-configured.
*
* @param enabled specifies if qsync is enabled/disabled.
* @param fps specifies the current fps of the display.
* @param qsync_fps specifies the minimum qsync fps.
*/
@callflow(next="*")
oneway onQsyncReconfigured(bool enabled, int32_t fps, int32_t qsync_fps);
};

View File

@@ -0,0 +1,30 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.16",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.10",
"vendor.display.config@1.11",
"vendor.display.config@1.12",
"vendor.display.config@1.13",
"vendor.display.config@1.14",
"vendor.display.config@1.15",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
"vendor.display.config@1.9",
],
gen_java: true,
}

View File

@@ -0,0 +1,42 @@
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.16;
import @1.15::IDisplayConfig;
interface IDisplayConfig extends @1.15::IDisplayConfig {
/*
* allowIdleFallback on client(as of now SurfaceFlinger) start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
allowIdleFallback() generates (int32_t error);
};

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2021 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.17;
import @1.16::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.16::IDisplayConfig {
enum RGBOrder : int32_t {
FSC_UNKNOWN = 0,
FSC_RGB = 1,
FSC_RBG = 2,
FSC_BGR = 3,
FSC_BRG = 4,
FSC_GBR = 5,
FSC_GRB = 6,
};
/*
* getFSCRGBOrder on client start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
getFSCRGBOrder(DisplayType dpy) generates (int32_t error,
RGBOrder fsc_rgb_color_order);
};

View File

@@ -0,0 +1,50 @@
/*
* Copyright (c) 2022 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.display.config@1.18;
import @1.17::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.17::IDisplayConfig {
/*
* enableCAC on client start
*
* @return error is NONE upon success.
*/
@callflow(next="*")
enableCAC(uint32_t disp_id, bool enable, float red, float green, float blue)
generates (int32_t error);
};

View File

@@ -0,0 +1,70 @@
/*
* Copyright (c) 2022 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.display.config@1.19;
import @1.18::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.18::IDisplayConfig {
struct CacChannelRect {
float left;
float top;
float right;
float bottom;
};
struct CacEyeConfig {
CacChannelRect red_channel_src;
CacChannelRect red_channel_dst;
CacChannelRect green_channel_src;
CacChannelRect green_channel_dst;
CacChannelRect blue_channel_src;
CacChannelRect blue_channel_dst;
};
/*
* Sets the src and dst rect parameters of red, green and blue channels of CAC for both left
* and right eye.
*
* @param disp_id display id.
* @param left specifies the src and dst rect for each channel of CAC for left eye.
* @param right specifies the src and dst rect for each channel of CAC for right eye.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setCacEyeConfig(uint32_t disp_id, CacEyeConfig left, CacEyeConfig right)
generates (int32_t error);
};

View File

@@ -0,0 +1,16 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.2",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
],
gen_java: true,
}

View File

@@ -0,0 +1,55 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.2;
import @1.1::IDisplayConfig;
interface IDisplayConfig extends @1.1::IDisplayConfig {
enum DisplayTypeExt : int32_t {
// primary display is just one, can be either builtin or pluggable.
DISPLAY_PRIMARY = 0,
DISPLAY_BUILTIN = 1,
DISPLAY_PLUGGABLE = 2,
DISPLAY_VIRTUAL = 3,
};
/*
* Sets display index range that caller defined for a given display type.
*
* @param disp_type display type.
* @param base start value in the range.
* @param count maximum number of supported display of this type.
*
* @return one of the hwc2 errors
*/
@callflow(next="*")
setDisplayIndex(DisplayTypeExt disp_type, uint32_t base, uint32_t count)
generates (int32_t error);
};

View File

@@ -0,0 +1,51 @@
/*
* Copyright (c) 2022 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.display.config@1.20;
import @1.19::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.19::IDisplayConfig {
/*
* setSkewVsync on client start
*
* @param disp_id display id.
* @param skew_vsync_val skew-vsync value.
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setSkewVsync(uint32_t disp_id, uint32_t skew_vsync_val) generates (int32_t error);
};

View File

@@ -0,0 +1,17 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.3",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.3;
import @1.2::IDisplayConfig;
interface IDisplayConfig extends @1.2::IDisplayConfig {
/*
* Enable/disable Idle power collapse
*
* @param enable enable/disable
* @param synchronous commit
*
* @return error is NONE upon success
*/
@callflow(next="*")
controlIdlePowerCollapse(bool enable, bool synchronous)
generates (int32_t error);
};

View File

@@ -0,0 +1,18 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.4",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
],
gen_java: true,
}

View File

@@ -0,0 +1,48 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.4;
import @1.3::IDisplayConfig;
interface IDisplayConfig extends @1.3::IDisplayConfig {
struct WriteBackCapabilities {
bool isWbUbwcSupported;
};
/*
* get display wb capabilities
*
* @return display WB capabilities
* @return error is NONE upon success
*/
@callflow(next="*")
getWriteBackCapabilities() generates (int32_t error, WriteBackCapabilities caps);
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.5",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
],
gen_java: true,
}

View File

@@ -0,0 +1,54 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.5;
import @1.4::IDisplayConfig;
interface IDisplayConfig extends @1.4::IDisplayConfig {
/*
* Sets the region of interest of display dpps ad4
*
* @param display_id ID of this display
* @param h_start start in hotizontal direction
* @param h_end end in hotizontal direction
* @param v_start start in vertical direction
* @param v_end end in vertical direction
* @param factor_in the strength factor of inside ROI region
* @param factor_out the strength factor of outside ROI region
*
* @return error is NONE upon success
*/
@callflow(next="*")
SetDisplayDppsAdROI(uint32_t display_id, uint32_t h_start, uint32_t h_end,
uint32_t v_start, uint32_t v_end, uint32_t factor_in,
uint32_t factor_out)
generates (int32_t error);
};

View File

@@ -0,0 +1,20 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.6",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
],
gen_java: true,
}

View File

@@ -0,0 +1,52 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.6;
import @1.5::IDisplayConfig;
interface IDisplayConfig extends @1.5::IDisplayConfig {
/*
* Update vsync source to next active display upon the power state
* change to off.
*
* @return error is NONE upon success
*/
@callflow(next="*")
updateVSyncSourceOnPowerModeOff() generates (int32_t error);
/*
* Update vsync source to next active display upon the power state
* change to doze.
*
* @return error is NONE upon success
*/
@callflow(next="*")
updateVSyncSourceOnPowerModeDoze() generates (int32_t error);
};

View File

@@ -0,0 +1,21 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.7",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
],
gen_java: true,
}

View File

@@ -0,0 +1,100 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.7;
import @1.6::IDisplayConfig;
interface IDisplayConfig extends @1.6::IDisplayConfig {
enum PowerMode : int32_t {
Off = 0,
Doze = 1,
On = 2,
DozeSuspend = 3,
};
/*
* Sets new power mode on the specificied display.
*
* @param disp_id display identifier used between client & service
* @param power_mode new power mode
* @return error is NONE upon success
*/
@callflow(next="*")
setPowerMode(uint32_t disp_id, PowerMode power_mode) generates (int32_t error);
/*
* Query if power mode override is supported by underlying implementation
* for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isPowerModeOverrideSupported(uint32_t disp_id) generates (bool supported);
/*
* Query if hdr is supported by the underlying implementation for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isHDRSupported(uint32_t disp_id) generates (bool supported);
/*
* Query if wide color gamut is supported by the underlying implementation
* for the specified display.
*
* @param disp_id display identifier used between client & service
* @return supported true if supported
*/
@callflow(next="*")
isWCGSupported(uint32_t disp_id) generates (bool supported);
/*
* Sets layer as a mask type (e.g. round corner) identified by the layer id.
*
* @param disp_id display identifier used between client & service
* @param layer_id layer id used for communication with hwc
* @return error is NONE upon success
*/
@callflow(next="*")
setLayerAsMask(uint32_t disp_id, uint64_t layer_id) generates (int32_t error);
/*
* Gets value corresponding to the specified property string from hwc.
*
* @param prop_name name of the property
* @param value value corresponding to the property
* @return error is NONE upon success
*/
@callflow(next="*")
getDebugProperty(string prop_name) generates (string value, int32_t error);
};

View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.8",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.8;
import @1.7::IDisplayConfig;
import @1.0::IDisplayConfig;
interface IDisplayConfig extends @1.7::IDisplayConfig {
/*
* Returns the attributes for the active builtin display, if all
* builtin displays are active it returns primary display attributes
*
* @return error is NONE upon success.
*
* @param attributes active display attributes.
*/
@callflow(next="*")
getActiveBuiltinDisplayAttributes() generates (int32_t error, DisplayAttributes attr);
};

View File

@@ -0,0 +1,23 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@1.9",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.display.config@1.0",
"vendor.display.config@1.1",
"vendor.display.config@1.2",
"vendor.display.config@1.3",
"vendor.display.config@1.4",
"vendor.display.config@1.5",
"vendor.display.config@1.6",
"vendor.display.config@1.7",
"vendor.display.config@1.8",
],
gen_java: true,
}

View File

@@ -0,0 +1,57 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@1.9;
import @1.8::IDisplayConfig;
interface IDisplayConfig extends @1.8::IDisplayConfig {
/*
* Sets the min and max luminance attributes required for dynamic
* tonemapping of external device.
*
* @param disp_id display identifier used between client & service
* @param min_lum min luminance supported by external device
* @param max_lum max luminance supported by external device
*
* @return error is NONE upon success.
*/
@callflow(next="*")
setPanelLuminanceAttributes(uint32_t disp_id, float min_lum, float max_lum)
generates (int32_t error);
/*
* Query if the underlying display is of Built-In Type.
*
* @param disp_id display identifier used between client & service
* @return is_builtin true if display is of Built-In type
*/
@callflow(next="*")
isBuiltInDisplay(uint32_t disp_id) generates (bool is_builtin);
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.display.config@2.0",
root: "vendor.display",
system_ext_specific: true,
srcs: [
"IDisplayConfig.hal",
"IDisplayConfigCallback.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,65 @@
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@2.0;
import IDisplayConfigCallback;
interface IDisplayConfig {
/*
* Registers a client with the IDisplayConfig service. The client name will be a combination
* of the original name of the client and possibly the client's PID. This is needed to ensure
* unique identification of the client by the service. This can happen in cases where the
* client restarts and re-registers which causes multiple registration with the service.
*
* @param clientName String representing the unique name of the client.
* @param callback is the HIDL callback if any, for the callback operations to the client.
* @return error is the error code of the RegisterClient call to the service.
* @return clientHandle is a unique unsigned integer assigned to the client by service.
*/
@callflow(next="*")
registerClient(string clientName, IDisplayConfigCallback callback)
generates (int32_t error, uint64_t clientHandle);
/*
* Perform API for the client to handle multiple requests by the IDisplayConfig service.
*
* @param clientHandle the unique unsigned integer assigned to client by service.
* @param opCode is the identifier for the operation requested by client.
* @param inputParams vector of input data structures.
* @param inputHandles vector of input buffer handles, if any.
* @return error is the error code of the requested operation.
* @return outputParams is vector of output data as part of sync API execution, if any.
* @return outputHandles is vector of output buffer handles, if any.
*/
@callflow(next="*")
perform(uint64_t clientHandle, uint32_t opCode, vec<uint8_t> inputParams,
vec<handle> inputHandles) generates (int32_t error, vec<uint8_t> outputParams,
vec<handle> outputHandles);
};

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.display.config@2.0;
interface IDisplayConfigCallback {
/*
* Notifies the client with the output data and handles as part of async API execution.
* This callback is registered with the service as part of the registerClient API.
*
* @param opCode is the identifier of the Perform request for which the callback is performed.
* @param callbackParams is the vector of data passed to the client, if any.
* @param callbackHandles is the vector of buffer handles passed to the client, if any.
*/
@callflow(next="*")
oneway perform(uint32_t opCode, vec<uint8_t> callbackParams, vec<handle> callbackHandles);
};

View File

@@ -0,0 +1,119 @@
#Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
#Redistribution and use in source and binary forms, with or without
#modification, are permitted 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 The Linux Foundation nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
#WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
#MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
#ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.
#Changes from Qualcomm Innovation Center are provided under the following license:
#Copyright (c) 2022 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
#HAL released in Android O
0f53273ad37cc730b1fb4ea953fa0697ec0cc529b5b5a0a960aa5b276cea8143 vendor.display.config@1.0::IDisplayConfig
#HAL released in Android O-MR1
fcc31b8e0d422752cf4f4c69618488ea9cd5a4e0f21404adca087dc4ef23d6df vendor.display.config@1.1::IDisplayConfig
#HAL released in Android P
44a03774c9931f3779affaa88bb0217a3666420c38ca0c98170a7cf40a581419 vendor.qti.hardware.display.allocator@1.0::IQtiAllocator
db19f93c419a59c901c1530a9241480b047a0f026b2eef7fe0c55cf3874c56c0 vendor.qti.hardware.display.mapper@1.0::IQtiMapper
60c78b8bb8728d6826d8a57dd5d8112120541c2be130d7d7cd62345c3e9eaf1a vendor.qti.hardware.display.composer@2.0::IQtiComposer
c22f5d631432b98b5f40a845a0797b5ed0fe42e9facb517fc8a98811835fb4a2 vendor.qti.hardware.display.composer@2.0::IQtiComposerClient
5c479b5d32d3d5eb669904dd05c004895625d79e0f2d65a307f43c3dd0fc5c44 vendor.qti.hardware.display.composer@2.1::IQtiComposer
97befe9b69d6ec918fdb76bee572aa95b07b789aa70ec3711c0c9a3e45a35fbe vendor.qti.hardware.display.composer@2.1::IQtiComposerClient
f955d3cd7704809f64a6e1f5b1e6cf92b3765386af5e7e485ec4563c975467ba vendor.qti.hardware.display.mapper@1.1::IQtiMapper
503415d1b4d8aefe231fd751cc36e374e91d561f3d3dd3459f31f3a67aa6dfe5 vendor.display.config@1.2::IDisplayConfig
e89567ed6383dc0e5fd168babaf046352962b571f47fba26804c2c7690256b1f vendor.display.config@1.3::IDisplayConfig
cbdb70cc5999b9537497b1e56955278ce1c3510245c82f861bf847ed1609f05b vendor.display.config@1.4::IDisplayConfig
f852a7cf003eaf02a26784dff919ea1f334308df888f406962bfdb08ab51b59e vendor.display.config@1.5::IDisplayConfig
bff30d77ca2327e719a4bd6938bad222c5f1a87f0517b8baf9ef5c3edd0bdc35 vendor.display.config@1.6::IDisplayConfig
ccf20944596b1cd140769257bdb93d10244b256d47e296ec84d41ed1261c1089 vendor.display.config@1.7::IDisplayConfig
a34b984a4eee8b76a123390002843f050288a92f0f0c6b8d576930f738858f4c vendor.display.config@1.8::IDisplayConfig
fd36f8dbe80403d93f0e94651ae4efa1aa22053351e7783f5d99457cff9dbacc vendor.display.config@1.9::IDisplayConfig
f78bba2991501438ad9ca1a0812f6a2a3991cb178bec4c00bd8eec841777d8d9 vendor.display.config@1.10::IDisplayConfig
50369a070405a1f0cac44648f39ca32864c1339896d6eb16524b32fff9e95f03 vendor.display.config@1.10::IDisplayCWBCallback
10a290fc22df7680d00c53370870d5e941b7d60afcb94e90d2dd03369e7ccebc vendor.display.config@1.11::IDisplayConfig
ec808064f9829b3c124edf70042b651aac29ec0c3ebc842626c42da4a327ff2c vendor.display.config@1.12::IDisplayConfig
c3ee03cf51ea11b6093a67d78be71085f1b5208e4ffbdbced1013c02246edc96 vendor.display.config@1.13::IDisplayConfig
fe3a84ee6c6231badb64b5331813fd29aa8df5146113cca0490255102a15a1be vendor.display.config@1.14::IDisplayConfig
#HAL released in Android Q
72889f3c7812efb6e00cd59d17dca3ee392b029eef83622758d206e1e835722c vendor.qti.hardware.display.mapper@3.0::IQtiMapper
7a1372c94ff50960e4f3c3c4262021527eb77c6d4eb8726ebdea9c36dc82eb56 vendor.qti.hardware.display.allocator@3.0::IQtiAllocator
9e960ad971bfeb1ccc3102caf0a2d94e95457a1ff9ff0c72156faa94f2500c5d vendor.qti.hardware.display.mapperextensions@1.1::IQtiMapperExtensions
b750c6dd2233e7d102f0a4f3d5124e358d134b80dfc86066d84e6f0722615881 vendor.qti.hardware.display.mapperextensions@1.0::types
13eca267916c940ad44e08ee5e43e22bb24fa6afe7f2b824ea9d6c753d17e1d9 vendor.qti.hardware.display.mapperextensions@1.0::IQtiMapperExtensions
cc81da1cfc8f045fa4183a7ab2f5f34cb863b310b8d04bf7db661a58ec9ea5c3 vendor.display.config@1.15::IDisplayConfig
be4de6eea1098375e80d26bd86d0e239a3d739ec7dfa43b1b2fa5e6f75c86966 vendor.display.config@1.15::IDisplayQsyncCallback
5862c0c085c9e0b6d8b8a11e4a9765a6a9250874d7c1a9b0f6b566598da31593 vendor.display.config@2.0::IDisplayConfig
14fcf170f04a9878bf085b2aa4d75ef5e3d241926bef18e58d6d254e000ff689 vendor.display.config@2.0::IDisplayConfigCallback
ada1c82f1ba85c9f403c4b91d24ebc6dfc2e796a7727bcca23f4e2ea68800f35 vendor.display.config@1.16::IDisplayConfig
f0e4b206e3357cff0399f4a696dd57bb385d68d2c13865ea7bb5180eca06cd61 vendor.display.config@1.17::IDisplayConfig
9c7bd67f95c98f95c0c97a80e7ab1d79cbe298a42cb6bcd2e915f749c30552b6 vendor.display.config@1.18::IDisplayConfig
cbc4f4bf866904bb4b57d32efff12666c60d2cf8306ffb7ceb81c45fca65a23e vendor.display.config@1.19::IDisplayConfig
294d1a6f3e517fd676c320995db12fcdd895e7588d9f28449f126d0bc3be3408 vendor.display.config@1.20::IDisplayConfig
#HAL released in Android R
7f8c47a47524e1ac21646578c7545fffdc08cec60df37d28ce8796b6461ef0c2 vendor.qti.hardware.display.composer@3.0::IQtiComposer
f724000c84dd66ffaea8b3edc610f13381a62513854e35d89b3f4a4daad620d0 vendor.qti.hardware.display.composer@3.0::IQtiComposerClient
c85fce19541fb31c8ce4927166a4b50da1e5d50a98594bcaae2f8b2eec12fb7d vendor.qti.hardware.display.allocator@4.0::IQtiAllocator
f49205d41f011a96c6d238ea69f7b6c9d159809f4ecabef04ca4ccdb195d57b5 vendor.qti.hardware.display.mapper@4.0::IQtiMapper
9f484e68c3e4faef0a0f601ff7074d0431499cfaceba43b42fbc35c8264fbddf vendor.qti.hardware.display.mapperextensions@1.2::IQtiMapperExtensions
fa035077927f2dff68d2b1ad6e6379822d29364999aa3fd70c5d2ffe93707d9b vendor.qti.hardware.display.demura@1.0::IDemuraFileFinder
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

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.demura@1.0",
owner: "qti",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IDemuraFileFinder.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,39 @@
/*
*Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
*Redistribution and use in source and binary forms, with or without
*modification, are permitted 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 The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
*THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
*WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
*MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
*ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.demura@1.0;
interface IDemuraFileFinder {
/*
* file_path: path of correction file
* result: standard errno value
*/
getCorrectionFile(uint64_t panel_id) generates (int32_t result, string file_path);
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.demura@2.0",
owner: "qti",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IDemuraFileFinder.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: true,
}

View File

@@ -0,0 +1,46 @@
/*
*Copyright (c) 2021, The Linux Foundation. All rights reserved.
*
*Redistribution and use in source and binary forms, with or without
*modification, are permitted 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 The Linux Foundation nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
*THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
*WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
*MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
*ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.demura@2.0;
interface IDemuraFileFinder {
struct DemuraFilePaths {
string configFilePath;
string signatureFilePath;
string publickeyFilePath;
};
/*
* file_paths: paths of demura files
* result: standard errno value
*/
getDemuraFilePaths(uint64_t panel_id) generates (int32_t result, DemuraFilePaths file_paths);
};

View File

@@ -0,0 +1,18 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapper@1.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapper.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.mapper@2.0",
"android.hardware.graphics.mapper@2.1",
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,101 @@
/*
* Copyright (c) 2018 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.mapper@1.0;
import android.hardware.graphics.mapper@2.1;
import android.hardware.graphics.mapper@2.0::types;
interface IQtiMapper extends IMapper {
/*
* Check if the secure buffer can be mapped
*/
@callflow(next="*")
getMapSecureBufferFlag(pointer buffer) generates (Error error, bool mapSecureBuffer);
/*
* Check if the buffer is interlaced
*/
@callflow(next="*")
getInterlacedFlag(pointer buffer) generates (Error error, bool interlaced);
/*
* Get custom dimensions from handle
* Uses information in the metadata to return
* custom stride and height
*/
@callflow(next="*")
getCustomDimensions(pointer buffer) generates
(Error error, int32_t stride, int32_t height);
/*
* Get RGB Data address
*/
@callflow(next="*")
getRgbDataAddress(pointer buffer) generates (Error error, pointer rgb_data);
/*
* Calculate aligned width, aligned height and if UBWC is enabled from
* the given width, height, format and gralloc usage
*/
@callflow(next="*")
calculateBufferAttributes(int32_t width, int32_t height, int32_t format, uint64_t usage)
generates (Error error, int32_t aligned_width, int32_t aligned_height, bool ubwc_enabled);
/*
* Gets the color space from the gralloc metadata
*/
@callflow(next="*")
getColorSpace(pointer buffer) generates (Error error, int32_t color_space);
/*
* Get YUV plane info
* Returns a vector of YCbCrLayouts of size 2
* The second member in the vector is populated if the buffer is interlaced
*/
@callflow(next="*")
getYuvPlaneInfo(pointer buffer) generates (Error error, vec<YCbCrLayout> layout);
/*
* Set Single buffer mode
*/
@callflow(next="*")
setSingleBufferMode(pointer buffer, bool enable) generates (Error error);
/*
* Get custom format and private handle flags for a given combination of
* format and usage flags.
*/
@callflow(next="*")
getCustomFormatFlags(int32_t format, uint64_t usage)
generates (Error error, int32_t format, uint64_t priv_flags);
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapper@1.1",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapper.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.mapper@2.0",
"android.hardware.graphics.mapper@2.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapper@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,109 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.mapper@1.1;
import android.hardware.graphics.mapper@2.0::types;
import @1.0::IQtiMapper;
interface IQtiMapper extends @1.0::IQtiMapper {
/*
* Get fd of allocated buffer.
*/
@callflow(next="*")
getFd(pointer buffer) generates (Error error, int32_t fd);
/*
* Get width of the actual allocated buffer.
*/
@callflow(next="*")
getWidth(pointer buffer) generates (Error error, int32_t width);
/*
* Get height of the actual allocated buffer.
*/
@callflow(next="*")
getHeight(pointer buffer) generates (Error error, int32_t height);
/*
* Get offset of allocated buffer.
*/
@callflow(next="*")
getOffset(pointer buffer) generates (Error error, uint64_t offset);
/*
* Get size of allocated buffer.
*/
@callflow(next="*")
getSize(pointer buffer) generates (Error error, uint64_t size);
/*
* Get width ask to allocate.
*/
@callflow(next="*")
getUnalignedWidth(pointer buffer) generates (Error error, int32_t unaligned_width);
/*
* Get height ask to allocate.
*/
@callflow(next="*")
getUnalignedHeight(pointer buffer) generates (Error error, int32_t unaligned_height);
/*
* Get number of layer.
*/
@callflow(next="*")
getLayerCount(pointer buffer) generates (Error error, uint64_t layer_count);
/*
* Get Id of allocated buffer.
*/
@callflow(next="*")
getId(pointer buffer) generates (Error error, uint64_t id);
/*
* Get usage flags of allocated buffer.
*/
@callflow(next="*")
getUsageFlags(pointer buffer) generates (Error error, uint64_t usage);
/*
* Get format of allocated buffer.
*/
@callflow(next="*")
getFormat(pointer buffer) generates (Error error, int32_t format);
/*
* Get private flags of allocated buffer.
*/
@callflow(next="*")
getPrivateFlags(pointer buffer) generates (Error error, int32_t flags);
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapper@2.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapper.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.mapper@2.0",
"android.hardware.graphics.mapper@2.1",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapperextensions@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.mapper@2.0;
import android.hardware.graphics.mapper@2.1;
import android.hardware.graphics.mapper@2.0::types;
import vendor.qti.hardware.display.mapperextensions@1.0::IQtiMapperExtensions;
interface IQtiMapper extends IMapper {
/*
* Returns an interface to QTI specific extensions for IMapper
* If there are newer versions of IQtiMapper with the same major revision (1)
* the client can cast this extensions object to a newer revision
*/
@callflow(next="*")
getMapperExtensions() generates (Error error, IQtiMapperExtensions extensions);
};

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapper@3.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapper.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.mapper@3.0",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapperextensions@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.mapper@3.0;
import android.hardware.graphics.mapper@3.0;
import android.hardware.graphics.mapper@3.0::types;
import vendor.qti.hardware.display.mapperextensions@1.0::IQtiMapperExtensions;
interface IQtiMapper extends IMapper {
/*
* Returns an interface to QTI specific extensions for IMapper
* If there are newer versions of IQtiMapper with the same major revision (1)
* the client can cast this extensions object to a newer revision
*/
@callflow(next="*")
getMapperExtensions() generates (Error error, IQtiMapperExtensions extensions);
};

View File

@@ -0,0 +1 @@
version=2

View File

@@ -0,0 +1,19 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapper@4.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapper.hal",
],
interfaces: [
"android.hardware.graphics.common@1.0",
"android.hardware.graphics.common@1.1",
"android.hardware.graphics.common@1.2",
"android.hardware.graphics.mapper@4.0",
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapperextensions@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,45 @@
/*
* Copyright (c) 2019, 2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.mapper@4.0;
import android.hardware.graphics.mapper@4.0;
import android.hardware.graphics.mapper@4.0::types;
import vendor.qti.hardware.display.mapperextensions@1.0::IQtiMapperExtensions;
interface IQtiMapper extends IMapper {
/*
* Returns an interface to QTI specific extensions for IMapper
* If there are newer versions of IQtiMapper with the same major revision (1)
* the client can cast this extensions object to a newer revision
*/
@callflow(next="*")
getMapperExtensions() generates (Error error, IQtiMapperExtensions extensions);
};

View File

@@ -0,0 +1 @@
version=3

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapperextensions@1.0",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"types.hal",
"IQtiMapperExtensions.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,189 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.0;
interface IQtiMapperExtensions {
/*
* Check if the secure buffer can be mapped
*/
@callflow(next="*")
getMapSecureBufferFlag(pointer buffer) generates (Error error, bool mapSecureBuffer);
/*
* Check if the buffer is interlaced
*/
@callflow(next="*")
getInterlacedFlag(pointer buffer) generates (Error error, bool interlaced);
/*
* Get custom dimensions from handle
* Uses information in the metadata to return
* custom stride and height
*/
@callflow(next="*")
getCustomDimensions(pointer buffer) generates (Error error, int32_t stride, int32_t height);
/*
* Get RGB Data address
*/
@callflow(next="*")
getRgbDataAddress(pointer buffer) generates (Error error, pointer rgb_data);
/*
* Calculate aligned width, aligned height and if UBWC is enabled from
* the given width, height, format and gralloc usage
*/
@callflow(next="*")
calculateBufferAttributes(int32_t width, int32_t height, int32_t format, uint64_t usage)
generates (Error error, int32_t aligned_width, int32_t aligned_height, bool ubwc_enabled);
/*
* Gets the color space from the gralloc metadata
*/
@callflow(next="*")
getColorSpace(pointer buffer) generates (Error error, int32_t color_space);
/*
* Get YUV plane info
* Returns a vector of YCbCrLayouts of size 2
* The second member in the vector is populated if the buffer is interlaced
*/
@callflow(next="*")
getYuvPlaneInfo(pointer buffer) generates (Error error, vec<YCbCrLayout> layout);
/*
* Set Single buffer mode
*/
@callflow(next="*")
setSingleBufferMode(pointer buffer, bool enable) generates (Error error);
/*
* Get custom format and private handle flags for a given combination of
* format and usage flags.
*/
@callflow(next="*")
getCustomFormatFlags(int32_t format, uint64_t usage)
generates (Error error, int32_t format, uint64_t priv_flags);
/*
* Get fd of allocated buffer.
*/
@callflow(next="*")
getFd(pointer buffer) generates (Error error, int32_t fd);
/*
* Get width of the actual allocated buffer.
*/
@callflow(next="*")
getWidth(pointer buffer) generates (Error error, int32_t width);
/*
* Get height of the actual allocated buffer.
*/
@callflow(next="*")
getHeight(pointer buffer) generates (Error error, int32_t height);
/*
* Get offset of allocated buffer.
*/
@callflow(next="*")
getOffset(pointer buffer) generates (Error error, uint64_t offset);
/*
* Get size of allocated buffer.
*/
@callflow(next="*")
getSize(pointer buffer) generates (Error error, uint64_t size);
/*
* Get width ask to allocate.
*/
@callflow(next="*")
getUnalignedWidth(pointer buffer) generates (Error error, int32_t unaligned_width);
/*
* Get height ask to allocate.
*/
@callflow(next="*")
getUnalignedHeight(pointer buffer) generates (Error error, int32_t unaligned_height);
/*
* Get number of layer.
*/
@callflow(next="*")
getLayerCount(pointer buffer) generates (Error error, uint64_t layer_count);
/*
* Get Id of allocated buffer.
*/
@callflow(next="*")
getId(pointer buffer) generates (Error error, uint64_t id);
/*
* Get usage flags of allocated buffer.
*/
@callflow(next="*")
getUsageFlags(pointer buffer) generates (Error error, uint64_t usage);
/*
* Get format of allocated buffer.
*/
@callflow(next="*")
getFormat(pointer buffer) generates (Error error, int32_t format);
/*
* Get private flags of allocated buffer.
*/
@callflow(next="*")
getPrivateFlags(pointer buffer) generates (Error error, int32_t flags);
/* Get graphics surface metadata address
*/
@callflow(next="*")
getSurfaceMetadata(pointer buffer) generates (Error error, pointer metadata);
/* Get per plane layout information for given format, gralloc usage, width and height
* Returns a vector of PlaneLayout whose size depends on the format
* For RGB & RAW formats size is 1
* For YUV semiplanar size :
* - progressive & compressed size is 4 including meta plane
* - progressive & linear size is 2
* For YUV semiplanar interlaced compressed size is 8 including meta plane
* For YUV planar size is 3
* Output parameter "size" is representing the total size of the buffer.
*/
@callflow(next="*")
getFormatLayout(int32_t format, uint64_t usage, int32_t flags, int32_t width, int32_t height)
generates (Error error, uint64_t size, vec<PlaneLayout> plane_info);
};

View File

@@ -0,0 +1,173 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.
* Not a Contribution.
* Copyright (C) 2011 The Android Open Source Project
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package vendor.qti.hardware.display.mapperextensions@1.0;
enum Error : int32_t {
NONE = 0,
BAD_BUFFER = 2,
NO_RESOURCES = 5,
UNSUPPORTED = 7,
};
struct YCbCrLayout {
pointer y;
pointer cb;
pointer cr;
uint32_t yStride;
uint32_t cStride;
uint32_t chromaStep;
};
/**
* Plane Component type definitions.
*/
enum PlaneComponent : uint32_t {
/* luma */
PLANE_COMPONENT_Y = 1 << 0,
/* chroma blue */
PLANE_COMPONENT_Cb = 1 << 1,
/* chroma red */
PLANE_COMPONENT_Cr = 1 << 2,
/* red */
PLANE_COMPONENT_R = 1 << 10,
/* green */
PLANE_COMPONENT_G = 1 << 11,
/* blue */
PLANE_COMPONENT_B = 1 << 12,
/* alpha */
PLANE_COMPONENT_A = 1 << 20,
/* raw data plane */
PLANE_COMPONENT_RAW = 1 << 30,
/* meta information plane */
PLANE_COMPONENT_META = 1 << 31,
};
/**
* Flags to send with getFormatLayout for extra information for e.g. interlaced,
* otherwise send 0.
*/
enum Flags : int32_t {
/* flag to send for interlace */
LAYOUT_INTERLACED_FLAG = 1 << 0,
};
/**
* Structure for describing plane layout information for YUVA/RGBA/RAW formats
* YUV formats can be planar or semi-planar.
*
* This layout structure is used with any pixel format that can be
* represented by it, such as:
* - HAL_PIXEL_FORMAT_YCbCr_*
* - HAL_PIXEL_FORMAT_RGB*_*
* - even implementation defined formats that can be represented by
* the structures
*
* Each plane can be made up of one or more PlaneComponents depending on
* the format.
*
* Each plane can be subsampled either vertically or horizontally by
* a power-of-two factor.
*
* Pixel increment describes the distance in bytes from one pixel to the
* next pixel (to the right) on the same row for the component plane.
* This can be negative.
*
* Stride is provided in both pixels and bytes.
* Stride_bytes describes the distance in bytes from the first pixel of
* one row to the first pixel of the next row (below) for the component plane.
* This can be negative.
*
* Scanlines describes the height of the plane in terms of number of rows.
*
* Size of plane is stride_bytes * scanlines + any padding required for
* alignment as per format specification.
*
*/
struct PlaneLayout {
/** Fields below provide the plane layout requirements.
* Values of these fields are specific to the format being
* described and are fixed. They do not depend on actual image
* width and height.
*/
/** Components represented by the plane. */
bitfield<PlaneComponent> component;
/** horizontal subsampling. Must be a positive power of 2. */
uint32_t h_subsampling;
/** vertical subsampling. Must be a positive power of 2. */
uint32_t v_subsampling;
/** offset to the first byte of the top-left pixel of the plane
* and it is calculated from the start of the buffer.
* Add base of the handle with offset to get the first byte of the plane.
*/
uint32_t offset;
/** pixel increment */
int32_t pixel_increment;
/** Fields below will have values that are calcuated based
* on provided image width and height.
*/
/** row width or horizontal stride in pixels */
int32_t stride;
/** row width or horzontal stride in bytes */
int32_t stride_bytes;
/** plane height or vertical stride */
int32_t scanlines;
/** Size of the plane in bytes */
uint32_t size;
};

View File

@@ -0,0 +1,15 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapperextensions@1.1",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapperExtensions.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapperextensions@1.0",
],
gen_java: false,
}

View File

@@ -0,0 +1,43 @@
/*
* Copyright (c) 2019 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.1;
import @1.0::IQtiMapperExtensions;
import @1.0::Error;
interface IQtiMapperExtensions extends @1.0::IQtiMapperExtensions {
/*
* Get graphics surface metadata.
* Pass a valid pointer to surface metadata.
*/
@callflow(next="*")
getSurfaceMetadata_V1(pointer buffer, pointer metadata) generates (Error error);
};

View File

@@ -0,0 +1,17 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "vendor.qti.hardware.display.mapperextensions@1.2",
owner: "qti",
root: "vendor.qti.hardware.display",
system_ext_specific: true,
srcs: [
"IQtiMapperExtensions.hal",
],
interfaces: [
"android.hidl.base@1.0",
"vendor.qti.hardware.display.mapperextensions@1.0",
"vendor.qti.hardware.display.mapperextensions@1.1",
],
gen_java: false,
}

View File

@@ -0,0 +1,56 @@
/*
* Copyright (c) 2019-2020 The Linux Foundation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted 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 The Linux Foundation. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER 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.2;
import @1.1::IQtiMapperExtensions;
import @1.0::Error;
interface IQtiMapperExtensions extends @1.1::IQtiMapperExtensions {
/*
* Copy graphics metadata.
* Set dst buffer to src buffer.
*/
@callflow(next="*")
copyMetaData(pointer src, pointer dst) generates (Error error);
/*
* Copy graphics metadata from src buffer.
* Set virtual address to src buffer.
*/
@callflow(next="*")
setMetadataBlob(vec<uint8_t> src, pointer dst) generates (Error error);
/*
* Get graphics metadata blob from src buffer.
*/
@callflow(next="*")
getMetadataBlob(pointer src) generates (Error error, vec<uint8_t> data);
};

View File

@@ -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,
}

View File

@@ -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);
};

View File

@@ -0,0 +1,32 @@
cc_library_headers {
name: "libiqtimapperext_stablec",
export_include_dirs: ["include"],
vendor_available: true,
// TODO(b/214400477) Remove apex_available
apex_available: [
"//apex_available:platform",
"com.android.media.swcodec",
"test_com.android.media.swcodec",
],
min_sdk_version: "29",
}
cc_library_headers {
name: "libiqtimapperext_providerutils",
vendor_available: true,
export_include_dirs: ["implutils/include"],
header_libs: [
"libiqtimapperext_stablec",
],
export_header_lib_headers: [
"libiqtimapperext_stablec",
],
// TODO(b/214400477) Remove apex_available
apex_available: [
"//apex_available:platform",
"com.android.media.swcodec",
"test_com.android.media.swcodec",
],
min_sdk_version: "29",
}

View File

@@ -0,0 +1,99 @@
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
* SPDX-License-Identifier: BSD-3-Clause-Clear
*/
#pragma once
#include <vendor/qti/hardware/display/mapperextensions/IQtiMapperExt.h>
#include <log/log.h>
#include <mutex>
#include <type_traits>
namespace vendor::qtimapperext {
/**
* Extend from this interface to provide Version 2 of the IQtiMapperExt interface
*/
struct IQtiMapperExtV2Impl {
static const auto version = IQTIMAPPEREXT_VERSION_2;
virtual ~IQtiMapperExtV2Impl() = default;
virtual IQtiMapperExt_Error getMultiViewInfo(buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull views) = 0;
virtual IQtiMapperExt_Error getBaseView(buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull view) = 0;
virtual IQtiMapperExt_Error importViewBuffer(
buffer_handle_t _Nonnull metaHandle, uint32_t view,
buffer_handle_t _Nullable* _Nonnull outBufferHandle) = 0;
};
namespace provider {
#ifndef __cpp_inline_variables
#error "Only C++17 & newer is supported; inline variables is missing"
#endif
inline void* _Nullable sIQtiMapperExtInstance = nullptr;
} // namespace provider
template <typename IMPL>
class IQtiMapperExtProvider {
private:
static_assert(IMPL::version >= IQTIMAPPEREXT_VERSION_2,
"Must be at least IQTIMAPPEREXT_VERSION_2");
static_assert(std::is_final_v<IMPL>, "Implementation must be final");
static_assert(std::is_constructible_v<IMPL>, "Implementation must have a no-args constructor");
std::once_flag mLoadOnceFlag;
IMPL* _Nullable mImpl;
IQtiMapperExt* _Nullable mQtiMapperExt;
static IMPL& impl() {
return *reinterpret_cast<IQtiMapperExtProvider<IMPL>*>(
provider::sIQtiMapperExtInstance)->mImpl;
}
void bindV2() {
mQtiMapperExt->v2 = {
.getMultiViewInfo = [](buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull views) -> IQtiMapperExt_Error {
return impl().getMultiViewInfo(buffer, views);
},
.getBaseView = [](buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull view) -> IQtiMapperExt_Error {
return impl().getBaseView(buffer, view);
},
.importViewBuffer = [](buffer_handle_t _Nonnull metaHandle, uint32_t view,
buffer_handle_t _Nullable* _Nonnull outBufferHandle)
-> IQtiMapperExt_Error {
return impl().importViewBuffer(metaHandle, view, outBufferHandle);
},
};
}
public:
explicit IQtiMapperExtProvider() = default;
IQtiMapperExt_Error load(IQtiMapperExt* _Nullable* _Nonnull outImplementation) {
std::call_once(mLoadOnceFlag, [this] {
LOG_ALWAYS_FATAL_IF(provider::sIQtiMapperExtInstance != nullptr,
"IQtiMapperExt implementation already loaded!");
provider::sIQtiMapperExtInstance = this;
mImpl = new IMPL();
mQtiMapperExt = new IQtiMapperExt();
mQtiMapperExt->version = IMPL::version;
if (IMPL::version >= IQTIMAPPEREXT_VERSION_2) {
bindV2();
}
});
*outImplementation = mQtiMapperExt;
return IQTIMAPPEREXT_ERROR_NONE;
}
};
} // namespace vendor::qtimapperext

View File

@@ -0,0 +1,104 @@
/*
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
* SPDX-License-Identifier: BSD-3-Clause-Clear
*/
#pragma once
#include <stdint.h>
#include <sys/cdefs.h>
#include <cutils/native_handle.h>
__BEGIN_DECLS
/**
* IQtiMapperExt versioning
*
* IQtiMapperExt version 1 is HIDL
* C-style IQtiMapperExt API starts at 2
*/
enum IQtiMapperExt_Version : uint32_t {
IQTIMAPPEREXT_VERSION_2 = 2,
};
enum IQtiMapperExt_Error : int32_t {
/**
* No error.
*/
IQTIMAPPEREXT_ERROR_NONE = 0,
/**
* Invalid BufferDescriptor.
*/
IQTIMAPPEREXT_ERROR_BAD_DESCRIPTOR = 1,
/**
* Invalid buffer handle.
*/
IQTIMAPPEREXT_ERROR_BAD_BUFFER = 2,
/**
* Invalid HardwareBufferDescription.
*/
IQTIMAPPEREXT_ERROR_BAD_VALUE = 3,
/**
* Resource unavailable.
*/
IQTIMAPPEREXT_ERROR_NO_RESOURCES = 5,
/**
* Permanent failure.
*/
IQTIMAPPEREXT_ERROR_UNSUPPORTED = 7,
};
typedef struct IQtiMapperExtV2 {
/**
* Get view bit masks of all views included in this handle.
*/
IQtiMapperExt_Error (*_Nonnull getMultiViewInfo)(buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull views);
/**
* Get view bit mask for the base view of current buffer
*/
IQtiMapperExt_Error (*_Nonnull getBaseView)(buffer_handle_t _Nonnull buffer,
uint32_t* _Nonnull view);
/**
* Imports a specific view buffer from a imported meta handle to create an imported buffer
* specific for the view only.
*
* @param metaHandle Meta handle which has already been imported by importBuffer
* @param view View of the meta buffer to import.
* @param outBufferHandle The resulting imported buffer handle for the specific view
* @return error Error status of the call, which may be
* - `NONE` upon success.
* - `BAD_BUFFER` if the raw handle is invalid.
* - `BAD_VALUE` if the view id is not valid in the meta handle.
* - `NO_RESOURCES` if the raw handle cannot be imported due to
* unavailability of resources.
*/
IQtiMapperExt_Error (*_Nonnull importViewBuffer)(
buffer_handle_t _Nonnull metaHandle, uint32_t view,
buffer_handle_t _Nullable* _Nonnull outBufferHandle);
} IQtiMapperExtV2;
/**
* Return value for IQtiMapperExt_loadIMapperExt
*
* Note: This struct's size is not fixed and callers must never store it by-value as a result.
* Only fields up to those covered by `version` are allowed to be accessed.
*/
typedef struct IQtiMapperExt {
alignas(alignof(max_align_t)) IQtiMapperExt_Version version;
IQtiMapperExtV2 v2;
} IQtiMapperExt;
/**
* Loads the vendor-provided implementation of IQtiMapperExt
* @return Error status of the call.
* - `NONE` upon success
* - `UNSUPPORTED` if no implementation is available
*/
IQtiMapperExt_Error IQtiMapperExt_loadIMapperExt(
IQtiMapperExt* _Nullable* _Nonnull outImplementation);
__END_DECLS