diff options
author | codewalker <codewalker@hardkernel.com> | 2014-08-19 18:20:50 +0900 |
---|---|---|
committer | Dongjin Kim <tobetter@gmail.com> | 2014-08-19 18:47:59 +0900 |
commit | 500214a10db4a78d4eee9649ced413716b7c2fbb (patch) | |
tree | 5731fbcab43476265d26996e5be9e6fe50545f8b /libvirtualdisplaymodule | |
parent | 6414706ded5e58737ec115a9963d24627e02f8e1 (diff) | |
download | android_hardware_samsung_slsi_exynos5430-500214a10db4a78d4eee9649ced413716b7c2fbb.tar.gz android_hardware_samsung_slsi_exynos5430-500214a10db4a78d4eee9649ced413716b7c2fbb.tar.xz android_hardware_samsung_slsi_exynos5430-500214a10db4a78d4eee9649ced413716b7c2fbb.zip |
Samsung Patch (05/27/2014) - RTM 1.00
Change-Id: I013f933ac0a52c4cc1b5e5b550a92b06534a0a34
Diffstat (limited to 'libvirtualdisplaymodule')
-rw-r--r-- | libvirtualdisplaymodule/Android.mk | 43 | ||||
-rw-r--r-- | libvirtualdisplaymodule/ExynosVirtualDisplayModule.cpp | 37 | ||||
-rw-r--r-- | libvirtualdisplaymodule/ExynosVirtualDisplayModule.h | 14 |
3 files changed, 94 insertions, 0 deletions
diff --git a/libvirtualdisplaymodule/Android.mk b/libvirtualdisplaymodule/Android.mk new file mode 100644 index 0000000..bc422eb --- /dev/null +++ b/libvirtualdisplaymodule/Android.mk @@ -0,0 +1,43 @@ +# Copyright (C) 2008 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. + +ifeq ($(filter-out exynos5,$(TARGET_BOARD_PLATFORM)),) + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_PRELINK_MODULE := false +LOCAL_SHARED_LIBRARIES := liblog libutils libcutils libexynosutils libexynosv4l2 libsync libdisplay libvirtualdisplay + +LOCAL_CFLAGS += -DUSES_VIRTUAL_DISPLAY + +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/../../exynos5/include \ + $(TOP)/hardware/samsung_slsi/exynos/include \ + $(TOP)/hardware/samsung_slsi/exynos/libexynosutils \ + $(TOP)/hardware/samsung_slsi/$(TARGET_SOC)/include \ + $(TOP)/hardware/samsung_slsi/$(TARGET_SOC)/libhwcmodule \ + $(TOP)/hardware/samsung_slsi/exynos/libhwc \ + $(TOP)/hardware/samsung_slsi/exynos/libhwcutils \ + $(TOP)/hardware/samsung_slsi/exynos/libdisplay \ + $(TOP)/hardware/samsung_slsi/exynos/libvirtualdisplay + +LOCAL_SRC_FILES := \ + ExynosVirtualDisplayModule.cpp + +LOCAL_MODULE_TAGS := eng +LOCAL_MODULE := libvirtualdisplaymodule +include $(BUILD_SHARED_LIBRARY) + +endif diff --git a/libvirtualdisplaymodule/ExynosVirtualDisplayModule.cpp b/libvirtualdisplaymodule/ExynosVirtualDisplayModule.cpp new file mode 100644 index 0000000..10fe1fc --- /dev/null +++ b/libvirtualdisplaymodule/ExynosVirtualDisplayModule.cpp @@ -0,0 +1,37 @@ +#include "ExynosVirtualDisplayModule.h" + +ExynosVirtualDisplayModule::ExynosVirtualDisplayModule(struct exynos5_hwc_composer_device_1_t *pdev) + : ExynosVirtualDisplay(pdev) +{ + mGLESFormat = HAL_PIXEL_FORMAT_RGBA_8888; +} + +ExynosVirtualDisplayModule::~ExynosVirtualDisplayModule() +{ +} + +int32_t ExynosVirtualDisplayModule::getDisplayAttributes(const uint32_t attribute) +{ + switch(attribute) { + case HWC_DISPLAY_COMPOSITION_TYPE: + return mCompositionType; + case HWC_DISPLAY_GLES_FORMAT: + return mGLESFormat; + case HWC_DISPLAY_SINK_BQ_FORMAT: + return HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M; + case HWC_DISPLAY_SINK_BQ_USAGE: + return mSinkUsage; + case HWC_DISPLAY_SINK_BQ_WIDTH: + if (mDisplayWidth == 0) + return mWidth; + return mDisplayWidth; + case HWC_DISPLAY_SINK_BQ_HEIGHT: + if (mDisplayHeight == 0) + return mHeight; + return mDisplayHeight; + default: + ALOGE("unknown display attribute %u", attribute); + return -EINVAL; + } + return 0; +} diff --git a/libvirtualdisplaymodule/ExynosVirtualDisplayModule.h b/libvirtualdisplaymodule/ExynosVirtualDisplayModule.h new file mode 100644 index 0000000..44c31ff --- /dev/null +++ b/libvirtualdisplaymodule/ExynosVirtualDisplayModule.h @@ -0,0 +1,14 @@ +#ifndef EXYNOS_VIRTUAL_DISPLAY_MODULE_H +#define EXYNOS_VIRTUAL_DISPLAY_MODULE_H + +#include "ExynosVirtualDisplay.h" + +class ExynosVirtualDisplayModule : public ExynosVirtualDisplay { + public: + ExynosVirtualDisplayModule(struct exynos5_hwc_composer_device_1_t *pdev); + ~ExynosVirtualDisplayModule(); + + virtual int32_t getDisplayAttributes(const uint32_t attribute); +}; + +#endif |