replicant-frameworks_native/services/surfaceflinger/ExSurfaceFlinger/ExLayer.h

101 lines
3.7 KiB
C
Raw Normal View History

SurfaceFlinger: Move Extended SF classes to same repository Move the ExSurfaceFlinger, ExLayer, etc., classes to this repository, to avoid dependency accross projects with static linking The following commits are included in this: commit 04f501b31f627e47ae540b5160b2f86b7adbd921 Author: Baldev Sahu <bsahu@codeaurora.org> Date: Wed Nov 25 18:05:51 2015 +0530 display-fw: Properly initialise mIsGPUAllowedForProtected flag - This flag need to be initialize to false when layer is created. Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07 CRs-fixed: 942102 commit 09032188751356db295bc5467133ec484dc536cd Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Tue Oct 20 10:22:51 2015 -0700 display-fw: Enable checking for INTERNAL_ONLY private flag Check for INTERNAL_ONLY private flag and return correct values from the function isIntOnly Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe CRs-fixed: 927880 commit f687ac25b3482b92da3c252d29b65e850cca3ce1 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Thu Oct 15 16:37:11 2015 -0700 display-frameworks: Include libqdutils only for target builds Featurize including libqdutils for targets which uses QCOM_BSP, helps in resolving compilation for emulator builds Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f commit 4ec765e01be506a8083980fc746a1737bbac4bf2 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Wed Oct 7 18:33:34 2015 -0700 display-fw: Disable rotation animation on secondary displays - Set the animating flag on layer during animation which is used as hint to disable rotation animation on secondary displays. - Set sys.disable_ext_animation to enable the feature - Remove unused definitions in the extended hwc header Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf CRs-fixed: 922304 commit 6998bbdfd7af3126b64897b16b6961e84952601b Author: Baldev Sahu <bsahu@codeaurora.org> Date: Thu Jul 30 16:01:15 2015 +0530 display-frameworks: Extend support for MDP3 - Add support for HWC_BLIT - Allow GPU to compose widevine level 3 Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101 Author: Manoj Kumar <manoj@codeaurora.org> Date: Thu Aug 20 13:52:15 2015 -0700 display-frameworks: Override mOutputUsage with sink Usage flags mOutputUsage flags contain default usage flags and doesnt reflect sink usage flags. Override mOutputUsage with sink usage flags. This change is needed to support WFD Secure usecase. Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f commit 09da768794c8c6acd786d73239ed5a739695b8cb Author: Raj Kamal <rkamal@codeaurora.org> Date: Mon Jul 20 10:46:27 2015 +0530 display-frameworks: Extend the classes defined in SF Add support for custom classes ExSurfaceFlinger, ExLayer, ExHWComposer and ExVirtualDisplaySurface Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2015-12-03 02:19:20 +00:00
/* Copyright (c) 2015, 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.
*/
#ifndef ANDROID_EX_LAYER_H
#define ANDROID_EX_LAYER_H
#include <stdint.h>
#include <sys/types.h>
#include <cutils/properties.h>
#include <Layer.h>
#include "ExSurfaceFlinger.h"
namespace android {
class ExSurfaceFlinger;
class ExLayer : public Layer
{
public:
#ifdef QTI_BSP
enum {
/*
* HWC S3D_MODE is set by HWC driver to indicate that HWC driver can not support
* S3D standalone, need surfaceflinger help to draw layers twice to construct
* S3D framebuffer target.
*/
HWC_S3DMODE_NONE = 0x00000000,
HWC_S3DMODE_LR = 0x00000001,
HWC_S3DMODE_RL = 0x00000002,
HWC_S3DMODE_TB = 0x00000003,
HWC_S3DMODE_FP = 0x00000004,
HWC_S3DMODE_MAX = 0x00000005,
};
#endif
SurfaceFlinger: Move Extended SF classes to same repository Move the ExSurfaceFlinger, ExLayer, etc., classes to this repository, to avoid dependency accross projects with static linking The following commits are included in this: commit 04f501b31f627e47ae540b5160b2f86b7adbd921 Author: Baldev Sahu <bsahu@codeaurora.org> Date: Wed Nov 25 18:05:51 2015 +0530 display-fw: Properly initialise mIsGPUAllowedForProtected flag - This flag need to be initialize to false when layer is created. Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07 CRs-fixed: 942102 commit 09032188751356db295bc5467133ec484dc536cd Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Tue Oct 20 10:22:51 2015 -0700 display-fw: Enable checking for INTERNAL_ONLY private flag Check for INTERNAL_ONLY private flag and return correct values from the function isIntOnly Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe CRs-fixed: 927880 commit f687ac25b3482b92da3c252d29b65e850cca3ce1 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Thu Oct 15 16:37:11 2015 -0700 display-frameworks: Include libqdutils only for target builds Featurize including libqdutils for targets which uses QCOM_BSP, helps in resolving compilation for emulator builds Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f commit 4ec765e01be506a8083980fc746a1737bbac4bf2 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Wed Oct 7 18:33:34 2015 -0700 display-fw: Disable rotation animation on secondary displays - Set the animating flag on layer during animation which is used as hint to disable rotation animation on secondary displays. - Set sys.disable_ext_animation to enable the feature - Remove unused definitions in the extended hwc header Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf CRs-fixed: 922304 commit 6998bbdfd7af3126b64897b16b6961e84952601b Author: Baldev Sahu <bsahu@codeaurora.org> Date: Thu Jul 30 16:01:15 2015 +0530 display-frameworks: Extend support for MDP3 - Add support for HWC_BLIT - Allow GPU to compose widevine level 3 Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101 Author: Manoj Kumar <manoj@codeaurora.org> Date: Thu Aug 20 13:52:15 2015 -0700 display-frameworks: Override mOutputUsage with sink Usage flags mOutputUsage flags contain default usage flags and doesnt reflect sink usage flags. Override mOutputUsage with sink usage flags. This change is needed to support WFD Secure usecase. Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f commit 09da768794c8c6acd786d73239ed5a739695b8cb Author: Raj Kamal <rkamal@codeaurora.org> Date: Mon Jul 20 10:46:27 2015 +0530 display-frameworks: Extend the classes defined in SF Add support for custom classes ExSurfaceFlinger, ExLayer, ExHWComposer and ExVirtualDisplaySurface Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2015-12-03 02:19:20 +00:00
ExLayer(SurfaceFlinger* flinger, const sp<Client>& client,
const String8& name, uint32_t w, uint32_t h, uint32_t flags);
virtual ~ExLayer();
virtual bool isExtOnly() const;
virtual bool isIntOnly() const;
virtual bool isSecureDisplay() const;
virtual bool isYuvLayer() const;
virtual void setPosition(const sp<const DisplayDevice>& hw,
HWComposer::HWCLayerInterface& layer, const State& state);
virtual void setAcquiredFenceIfBlit(int &fenceFd,
HWComposer::HWCLayerInterface& layer);
virtual bool canAllowGPUForProtected() const;
#ifdef QTI_BSP
virtual void computeGeometryS3D(const sp<const DisplayDevice>& hw, Mesh& mesh,
Mesh& meshLeftTop, Mesh &meshRightBottom, uint32_t s3d_fmt) const;
#endif
SurfaceFlinger: Move Extended SF classes to same repository Move the ExSurfaceFlinger, ExLayer, etc., classes to this repository, to avoid dependency accross projects with static linking The following commits are included in this: commit 04f501b31f627e47ae540b5160b2f86b7adbd921 Author: Baldev Sahu <bsahu@codeaurora.org> Date: Wed Nov 25 18:05:51 2015 +0530 display-fw: Properly initialise mIsGPUAllowedForProtected flag - This flag need to be initialize to false when layer is created. Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07 CRs-fixed: 942102 commit 09032188751356db295bc5467133ec484dc536cd Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Tue Oct 20 10:22:51 2015 -0700 display-fw: Enable checking for INTERNAL_ONLY private flag Check for INTERNAL_ONLY private flag and return correct values from the function isIntOnly Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe CRs-fixed: 927880 commit f687ac25b3482b92da3c252d29b65e850cca3ce1 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Thu Oct 15 16:37:11 2015 -0700 display-frameworks: Include libqdutils only for target builds Featurize including libqdutils for targets which uses QCOM_BSP, helps in resolving compilation for emulator builds Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f commit 4ec765e01be506a8083980fc746a1737bbac4bf2 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Wed Oct 7 18:33:34 2015 -0700 display-fw: Disable rotation animation on secondary displays - Set the animating flag on layer during animation which is used as hint to disable rotation animation on secondary displays. - Set sys.disable_ext_animation to enable the feature - Remove unused definitions in the extended hwc header Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf CRs-fixed: 922304 commit 6998bbdfd7af3126b64897b16b6961e84952601b Author: Baldev Sahu <bsahu@codeaurora.org> Date: Thu Jul 30 16:01:15 2015 +0530 display-frameworks: Extend support for MDP3 - Add support for HWC_BLIT - Allow GPU to compose widevine level 3 Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101 Author: Manoj Kumar <manoj@codeaurora.org> Date: Thu Aug 20 13:52:15 2015 -0700 display-frameworks: Override mOutputUsage with sink Usage flags mOutputUsage flags contain default usage flags and doesnt reflect sink usage flags. Override mOutputUsage with sink usage flags. This change is needed to support WFD Secure usecase. Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f commit 09da768794c8c6acd786d73239ed5a739695b8cb Author: Raj Kamal <rkamal@codeaurora.org> Date: Mon Jul 20 10:46:27 2015 +0530 display-frameworks: Extend the classes defined in SF Add support for custom classes ExSurfaceFlinger, ExLayer, ExHWComposer and ExVirtualDisplaySurface Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2015-12-03 02:19:20 +00:00
protected:
bool mDebugLogs;
bool isDebug() { return mDebugLogs; }
bool mIsGPUAllowedForProtected;
bool mIsHDMIPrimary;
private:
#ifdef QTI_BSP
// The mesh used to draw the layer in GLES composition mode for s3d left/top
mutable Mesh mMeshLeftTop;
// The mesh used to draw the layer in GLES composition mode for s3d right/bottom
mutable Mesh mMeshRightBottom;
virtual void drawWithOpenGL(const sp<const DisplayDevice>& hw, const Region& clip,
bool useIdentityTransform) const;
SurfaceFlinger: Move Extended SF classes to same repository Move the ExSurfaceFlinger, ExLayer, etc., classes to this repository, to avoid dependency accross projects with static linking The following commits are included in this: commit 04f501b31f627e47ae540b5160b2f86b7adbd921 Author: Baldev Sahu <bsahu@codeaurora.org> Date: Wed Nov 25 18:05:51 2015 +0530 display-fw: Properly initialise mIsGPUAllowedForProtected flag - This flag need to be initialize to false when layer is created. Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07 CRs-fixed: 942102 commit 09032188751356db295bc5467133ec484dc536cd Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Tue Oct 20 10:22:51 2015 -0700 display-fw: Enable checking for INTERNAL_ONLY private flag Check for INTERNAL_ONLY private flag and return correct values from the function isIntOnly Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe CRs-fixed: 927880 commit f687ac25b3482b92da3c252d29b65e850cca3ce1 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Thu Oct 15 16:37:11 2015 -0700 display-frameworks: Include libqdutils only for target builds Featurize including libqdutils for targets which uses QCOM_BSP, helps in resolving compilation for emulator builds Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f commit 4ec765e01be506a8083980fc746a1737bbac4bf2 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Wed Oct 7 18:33:34 2015 -0700 display-fw: Disable rotation animation on secondary displays - Set the animating flag on layer during animation which is used as hint to disable rotation animation on secondary displays. - Set sys.disable_ext_animation to enable the feature - Remove unused definitions in the extended hwc header Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf CRs-fixed: 922304 commit 6998bbdfd7af3126b64897b16b6961e84952601b Author: Baldev Sahu <bsahu@codeaurora.org> Date: Thu Jul 30 16:01:15 2015 +0530 display-frameworks: Extend support for MDP3 - Add support for HWC_BLIT - Allow GPU to compose widevine level 3 Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101 Author: Manoj Kumar <manoj@codeaurora.org> Date: Thu Aug 20 13:52:15 2015 -0700 display-frameworks: Override mOutputUsage with sink Usage flags mOutputUsage flags contain default usage flags and doesnt reflect sink usage flags. Override mOutputUsage with sink usage flags. This change is needed to support WFD Secure usecase. Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f commit 09da768794c8c6acd786d73239ed5a739695b8cb Author: Raj Kamal <rkamal@codeaurora.org> Date: Mon Jul 20 10:46:27 2015 +0530 display-frameworks: Extend the classes defined in SF Add support for custom classes ExSurfaceFlinger, ExLayer, ExHWComposer and ExVirtualDisplaySurface Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2015-12-03 02:19:20 +00:00
};
#endif
SurfaceFlinger: Move Extended SF classes to same repository Move the ExSurfaceFlinger, ExLayer, etc., classes to this repository, to avoid dependency accross projects with static linking The following commits are included in this: commit 04f501b31f627e47ae540b5160b2f86b7adbd921 Author: Baldev Sahu <bsahu@codeaurora.org> Date: Wed Nov 25 18:05:51 2015 +0530 display-fw: Properly initialise mIsGPUAllowedForProtected flag - This flag need to be initialize to false when layer is created. Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07 CRs-fixed: 942102 commit 09032188751356db295bc5467133ec484dc536cd Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Tue Oct 20 10:22:51 2015 -0700 display-fw: Enable checking for INTERNAL_ONLY private flag Check for INTERNAL_ONLY private flag and return correct values from the function isIntOnly Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe CRs-fixed: 927880 commit f687ac25b3482b92da3c252d29b65e850cca3ce1 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Thu Oct 15 16:37:11 2015 -0700 display-frameworks: Include libqdutils only for target builds Featurize including libqdutils for targets which uses QCOM_BSP, helps in resolving compilation for emulator builds Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f commit 4ec765e01be506a8083980fc746a1737bbac4bf2 Author: Arun Kumar K.R <akumarkr@codeaurora.org> Date: Wed Oct 7 18:33:34 2015 -0700 display-fw: Disable rotation animation on secondary displays - Set the animating flag on layer during animation which is used as hint to disable rotation animation on secondary displays. - Set sys.disable_ext_animation to enable the feature - Remove unused definitions in the extended hwc header Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf CRs-fixed: 922304 commit 6998bbdfd7af3126b64897b16b6961e84952601b Author: Baldev Sahu <bsahu@codeaurora.org> Date: Thu Jul 30 16:01:15 2015 +0530 display-frameworks: Extend support for MDP3 - Add support for HWC_BLIT - Allow GPU to compose widevine level 3 Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101 Author: Manoj Kumar <manoj@codeaurora.org> Date: Thu Aug 20 13:52:15 2015 -0700 display-frameworks: Override mOutputUsage with sink Usage flags mOutputUsage flags contain default usage flags and doesnt reflect sink usage flags. Override mOutputUsage with sink usage flags. This change is needed to support WFD Secure usecase. Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f commit 09da768794c8c6acd786d73239ed5a739695b8cb Author: Raj Kamal <rkamal@codeaurora.org> Date: Mon Jul 20 10:46:27 2015 +0530 display-frameworks: Extend the classes defined in SF Add support for custom classes ExSurfaceFlinger, ExLayer, ExHWComposer and ExVirtualDisplaySurface Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2015-12-03 02:19:20 +00:00
}; // namespace android
#endif // ANDROID_EX_LAYER_H