composer: Add speculative FB interface
Change-Id: I06ee4dba7af1ad9160a244f89c1d8eaaaeea2007
This commit is contained in:
49
display/composer/3.1/IQtiComposer.hal
Normal file
49
display/composer/3.1/IQtiComposer.hal
Normal 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);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
90
display/composer/3.1/IQtiComposerClient.hal
Normal file
90
display/composer/3.1/IQtiComposerClient.hal
Normal 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);
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#Copyright (c) 2018-2020, The Linux Foundation. All rights reserved.
|
#Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
|
||||||
|
|
||||||
#Redistribution and use in source and binary forms, with or without
|
#Redistribution and use in source and binary forms, with or without
|
||||||
#modification, are permitted provided that the following conditions are
|
#modification, are permitted provided that the following conditions are
|
||||||
@@ -73,3 +73,5 @@ c85fce19541fb31c8ce4927166a4b50da1e5d50a98594bcaae2f8b2eec12fb7d vendor.qti.hard
|
|||||||
f49205d41f011a96c6d238ea69f7b6c9d159809f4ecabef04ca4ccdb195d57b5 vendor.qti.hardware.display.mapper@4.0::IQtiMapper
|
f49205d41f011a96c6d238ea69f7b6c9d159809f4ecabef04ca4ccdb195d57b5 vendor.qti.hardware.display.mapper@4.0::IQtiMapper
|
||||||
9f484e68c3e4faef0a0f601ff7074d0431499cfaceba43b42fbc35c8264fbddf vendor.qti.hardware.display.mapperextensions@1.2::IQtiMapperExtensions
|
9f484e68c3e4faef0a0f601ff7074d0431499cfaceba43b42fbc35c8264fbddf vendor.qti.hardware.display.mapperextensions@1.2::IQtiMapperExtensions
|
||||||
fa035077927f2dff68d2b1ad6e6379822d29364999aa3fd70c5d2ffe93707d9b vendor.qti.hardware.display.demura@1.0::IDemuraFileFinder
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user