summaryrefslogtreecommitdiff
path: root/libacryl
AgeCommit message (Collapse)Author
2023-04-10Fix formatting when _FILE_OFFSET_BITS=64Colin Cross
_FILE_OFFSET_BITS=64 can change off_t to be larger than a long. Cast to intmax_t and print with %jd or switch to ptrdiff_t and print with %td. Bug: 275601166 Test: builds Change-Id: I011cc53f108aaa7f773b0d09511728864f602429
2023-03-21libacryl: Check color fill layer if presentKaran Bhagoji
Bug: 225772892 Change-Id: I5656e580d13f04cd85882fc3f404a3ede83f4153 Signed-off-by: Karan Bhagoji <karan.rb@samsung.com>
2023-01-26HWC: unify Android log tagsPetri Gynther
Use "hwc-" log tag prefix for all HWC subcomponents. Bug: 266842425 Test: boot to home, check logcat logs Change-Id: I25efdf56da4c9de6ccbced641c952b1c550bdd50
2023-01-18libacryl: add HAL_PIXEL_FORMAT_EXYNOS_YCbCr_P010_SPN supportwenchangliu
Bug: 229547170 Test: HEVC/VP9 HDR playback Change-Id: Id1f3ba77bf1cd4b95b0958b4d5502543ca221934 Signed-off-by: wenchangliu <wenchangliu@google.com>
2022-06-24libacryl: Update acrylic instance for bringupYoshita Sharma
Bug: 233787007 Signed-off-by: Yoshita Sharma <yoshita.as@samsung.com> Change-Id: Ie4b5daead84e85564291ae74b8163d8606c6f95e
2022-01-28Fix licenses and license texts. am: dc3b164f23 am: 95c355142b am: ad0726e125 ↵Bob Badour
am: 34e6d9a5c5 Original change: https://android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/1959717 Change-Id: Ia3b05c4d4ae4a1e7aa3d4d4f8826ff6183026203
2022-01-27Fix licenses and license texts.Bob Badour
The contents are all Android 1p. Test: m nothing Change-Id: I09270b0bf0a5ffc423d430d0515303a91368ad19
2022-01-14libacryl: add support for MALI_GRALLOC_FORMAT_INTERNAL_YUV420Midas Chien
support for MALI_GRALLOC_FORMAT_INTERNAL_YUV420_8BIT_I and MALI_GRALLOC_FORMAT_INTERNAL_YUV420_10BIT_I. Bug: 175554638 Bug: 188647138 Test: play afbc av1 by g2d Change-Id: Ic1dcba52512d18e5517689b415a600e836f73d7f
2021-08-13Merge "libacryl: update YCbCr narrow/wide range mode setting for 4k video" ↵Long Ling
into sc-dev am: e8336ab052 am: ac187885c3 am: ac256625c0 am: ac4256abc0 Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/15547756 Change-Id: Ic02b15d3f9415d25a3d7114b4c24759432b0808d
2021-08-13libacryl: update YCbCr narrow/wide range mode setting for 4k videoYoshita Sharma
When 4k limited range video (narrow mode) is played after 4k full range video (wide mode) is played back, the register setting for narrow/wide mode was not getting updated correctly, causing a dimming effect for a limited range 4k video. Bug: 193496833 Signed-off-by: Yoshita Sharma <yoshita.as@samsung.com> Change-Id: I94a8db8596c497b09c11d6b687edfa23782cf5da
2021-06-23libacryl: add support for SBWC lossy formatYoshita Sharma
1. Add SBWC lossy formats 2. Add support for blocksizes 64, 96 and 128 bytes Bug: 191175553 Signed-off-by: Yoshita Sharma <yoshita.as@samsung.com> Change-Id: I757158a5ad976a983a85078583974ce652fe81cc
2021-06-21Merge changes from topic "g2d_ppc_sbwc_afbc" into sc-dev am: 8944c20a17 am: ↵Midas Chien
f8a418b26c am: ba90052f8b Original change: https://googleplex-android-review.googlesource.com/c/platform/hardware/google/graphics/common/+/14771911 Change-Id: I58f0f6f2e02631ca36cfe6c0c2a9ac53ddb742e7
2021-06-16libacryl: Update acrylic instance to gs201 for G2D bringupYoshita Sharma
Add support for both gs201, retaining gs101 Bug: 186580217 Signed-off-by: Yoshita Sharma <yoshita.as@samsung.com> Change-Id: I8881068aff1484cea64cb413f01794fab424926d
2021-06-01libacryl: separate AFBC into RGB and YUV ppc tableYoshita Sharma
According performance measurement, the ppc table for AFBC RGB and YUV is different. Bug: 177310644 Test: check g2d path for yuv, sbwc and afbc av1 Signed-off-by: Yoshita Sharma <yoshita.as@samsung.com> Change-Id: I00a16fe73448a43253194151ecda8807844067f9
2021-06-01libacryl: make sbwc classified into G2D_PERF_LAYER_SBWCHyebin Jeong
sbwc format is classified into G2D_PERF_LAYER_SBWC because its ppc is different from that of yuv2p. Also 8+2 format related code is removed as it is deprecated. Bug: 177310644 Test: check check g2d path for yuv, sbwc and afbc av1 Signed-off-by: Hyebin Jeong <hyebin.jeong@samsung.com> Change-Id: I49eb4bdbbdc5ffc50a2ebb24c7d1429719f6dc1c
2021-03-01[LSC] Add LOCAL_LICENSE_KINDS to hardware/google/graphics/commonBob Badour
Added SPDX-license-identifier-Apache-2.0 to: Android.bp libacryl/Android.bp libacryl/Android.mk libgscaler/Android.mk libhwc2.1/Android.mk libhwjpeg/Android.mk libion/Android.bp libion/test/Android.bp libmemtrack/Android.mk libscaler/Android.mk libv4l2/Android.mk Bug: 68860345 Bug: 151177513 Bug: 151953481 Test: m all Exempt-From-Owner-Approval: janitorial work Change-Id: I0a3746b35fd8d476ae1a51ef89b27c6797e51de9
2021-02-18libacryl: add P010, SBWC to G2D_PERF_LAYER_YUV2PHyebin Jeong
This patch fix three things. 1. P010 and SBWC have to be classified into G2D_PERF_LAYER_YUV2P. 2. bpp of SBWC is correctly taken from __halfmt_plane_bpp[]. 3. Only src crop size is used for read bandwidth. Bug: 177219191 Test: gfx-g2d-benchmarks64, gfx-g2d-stress-test64 Test: play video with downscale Signed-off-by: Hyebin Jeong <hyebin.jeong@samsung.com> Change-Id: I445d7b2a886814814fcf8fc3a59c6a33ef90d301
2020-12-17libacryl: add support for HAL_PIXEL_FORMAT_GOOGLEHyebin Jeong
support for HAL_PIXEL_FORMAT_GOOGLE_NV12_SP and HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B. Bug: 169733465 Test: able to play AV1 8bit and 10bit video Signed-off-by: Hyebin Jeong <hyebin.jeong@samsung.com> Change-Id: Id6fd986fe821c792b85b2d825c269fa22696c0fa
2020-12-11libhwc2.1: trace dpu skip layer countMidas Chien
skipStaticLayer feature is used to skip useless GLES composition in case the client composition layers aren't update. In this case HWC sets composition type to DEVICE. Add trace to know how many layers fall in this case. Also add trace to know how much time to remove FBid. Bug: 174538438 Test: systrace, perfetto trace Change-Id: If35f781122b02d24e75bfbfe37659b4292b618b2
2020-10-19libacryl: make alpha max if HWC blend mode is NONEHyebin Jeong
HWC_BLEND_NONE is used not to appear its lower layer to target layer. But, when G2D output is reused by DPU, lower layer could appear to target layer. To prevent this, when blend mode is HWC_BLEND_NONE, make alpha channel max. Example case is as follow. If G2D composites several layers and topmost layer is HWC_BLEND_NONE and has alpha lower than max, that alpha value remains in target buffer. And if this result layer is recomposited with lower layer by DPU lower layer color appears to final result layer. Bug: 167552373 Test: split screen, Youtube PIP Change-Id: Iceebdb292fec2562b900e7ad35cd2677cf3a6251
2020-05-14libacryl: use unique_ptr for HDR pluginCho KyongHo
The instance of HDR plugin is dynamically allocated by createInstance() and should be deleted by libacryl. Let's use unique_ptr to manage dynamically allocated objects. Bug: 155413192 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Change-Id: I6547df49d5920467ee29b6a43ed8f63973f120b3
2020-05-07libacryl: remove unused chip nameCho KyongHo
9810 and 9820 are removed all source files and file names. Bug: 155412561 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Change-Id: I4be2e7033849f7df8f18525f67c7a24b3910c394
2020-05-06libacryl: remove unused filesCho KyongHo
Let's remove libacryl backend implementations which is not used. Bug: 155412561 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Change-Id: Idc374357dbdbc51485150d3554780dfd649580ba
2020-04-30Merge "libacryl: remove 9810 from G2D HDR plugin definitions" into ↵TreeHugger Robot
qt-hammersmith-dev
2020-04-30libacryl: remove 9810 from G2D HDR plugin definitionsCho KyongHo
Change-Id: I21792177351fc85768b87d85750afee389bc08e7 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-04-27libacryl: g2d: set layer data alwaysCho KyongHo
Layer opaque data may be discarded and cleared by the users. So libacryl should also clear the layer data to its plugin when the layer data is not set. Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Change-Id: I99bef967e5fe7db4b9749037111a91f0229f72c2
2020-03-18libacryl: g2d9810: fix filter coefficient countCho KyongHo
Filter coefficients are only applicable to the G2D with poly-phase filter. The number of filter coefficients should not be added to the number of extra commands to G2D without poly-phase filte. Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Change-Id: I6b93d84c51de281def088f391f7e95ebff309a66
2020-03-09libacryl: deliver layer opaque dataCho KyongHo
If users want to attach an opaque data associated with its layer, they can deliver it to the layer with setLayerData(). Since it needs to a pointer to some data, the memory that contain the data should be managed by the caller properly until the data is cleared explicitely with clearLayerData(). Change-Id: I123dcc3ded1932313873276ae75c3f1b08173d4c Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-25libacryl: add support for G2D GS101Cho KyongHo
fimg2d_gs101 has poly-phase filter instead of bi-linear filter for image resampling. Unlike bi-linear or bi-cubic filter, poly-phase filter does not calculate interpolation coefficients from the interpolation offset. So, the driver should configure all interpolation coefficients of the fixed set of interpolation phases(offsets). fimg2d_gs101 also supports YCbCr420 planar images on both of source layers and the destination. Change-Id: Id52d8e8e5f73b9a1223b6334f5bc3dacf4ef1952 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-25libacryl: remove unnecessary log for frameRateHyesoo Yu
Not all chipsets support frameRate interface. The failure of interface call is not an error, Debug message is printed every frame request, so remove it. Change-Id: I353074cfe8dd76d0e1743e79872488dbfc5c3b9e Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-25libacryl: add performance attribute for AFBCHyesoo Yu
Change-Id: I129d3aa8667b85db054e2894a8395f794c85accb Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-25libacryl: add framerate setting for msclJanghyuck Kim
Change-Id: I1c8852971073b59b19dd52c3c2ae1a6b7c2494f2 Signed-off-by: Janghyuck Kim <janghyuck.kim@samsung.com>
2020-02-25libacryl: keep running with MSCL irq of previous frameDongseong Kim
dqbuf with ERROR flag means dequeue the buffer,but just there is error. So, Acryl doesn't need to stop execute(). Change-Id: Ieba4ab2ce4ecf8b60ae14898c32214a7aa85ac87 Signed-off-by: Dongseong Kim <ds_in_ds.kim@samsung.com>
2020-02-25libacryl: use std::string instead of char *Cho KyongHo
Change-Id: I7e0f74a0ce478e369885738535eb920f211840ca Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-25libacryl: use vector instead of arrayCho KyongHo
acrylic::mLayers is an array of pointer to AcrylicLayer and elements of the array tend to be changed. However the behavior of mLayers is exactly the same as std::vector. There is no reason not to use vector. Change-Id: Ic02cdcb448e86f8895ec9a14bcda7bf5a0da1430 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-25libacryl: deperate support for RefBaseCho KyongHo
RefBase is basically not a ordinary smart pointer but one of the infrastructure of JNI. Rather the users of the objects implenting RefBase should pay more care. Otherwise, the attributes of RefBase is remained undefined. Since libacryl is never used by Java programs, support for RefBase is not necessary. Change-Id: I30ecb121d2b431dee8536eab697cbd69b8172436 Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2020-02-25libacryl: use setFence() to prevent fd leak.Dongseong Kim
Change-Id: I8d7fd6f62950cbe5671568e228b487c3e7adfd28 Signed-off-by: Dongseong Kim <ds_in_ds.kim@samsung.com>
2020-02-25libacryl: Factory is created by new formattingHyesoo Yu
The format created by L{layer_number}F{feature} Change-Id: I643ec34b2651290c203c91b562ff36ff224040d3 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-25libacryl: initialize layer dataHyesoo Yu
Change-Id: I5225dca678cb5a49f614a99a768d17b1a6d02cc8 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: support sbwc lossy format for G2DHyesoo Yu
Change-Id: I017d3662eb53ee47b923cffab1cd68f144c78f58 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: change ycbcr conversion siting valueHyesoo Yu
There is a color problem in case of color space conversion of odd position. For YUV420 or YUV422, since each U or V sample is used to two pixels horizontally, the odd position pixel chroma is used as an even numbered chroma value. Thus, we enable to interpolate two pixel to fix color change. Change-Id: I21b60943eda2aa9cafead0198946292c0c2d8c83 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: set background for SBWC encodingHyesoo Yu
The H/W has restriction that all destination region should be covered with layer's destination crop region, so, we cover the destination with background of bottom layer for SBWC encoding. Change-Id: I0a254320100fbfff47ccdf778bc1bd3153247437 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: support blend mode for dim layerHyesoo Yu
Change-Id: Ia841ac8d5bcebd89c02f2485349156c996cb7dda Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: fix supported formats for msclJanghyuck Kim
Change-Id: Idb7e867e573e434276f69578f53e7c9b4c1affd2 Signed-off-by: Janghyuck Kim <janghyuck.kim@samsung.com>
2020-02-24libacryl: support sbwc and rgba 10bit format for msclJanghyuck Kim
SBWC formats based on NV12M, NV12N, NV12M and RGBA 10bit format are added for mscl_9830. Change-Id: Id3b77f2cf734172b44e11a98316985ba581ed70b Signed-off-by: Janghyuck Kim <janghyuck.kim@samsung.com>
2020-02-24libacryl: support solidcolor layerHyesoo Yu
Change-Id: Idcc013e35eae82f312a1606cb46d83fd414848c4 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: copy laptime_in_usec from compatHyesoo Yu
Change-Id: I7047e68d36c18e9edeca4bd7c2a02212d4dcf286 Signed-off-by: Hyesoo Yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: support sbwc format on 2020 versionhyesoo.yu
Change-Id: I6201f79430f71bc943744279ab899486194ebe79 Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com>
2020-02-24libacryl: add new ioctl for extended commandshyesoo.yu
The old g2d_task structure passed commands of target as an array. However, commands can be added according to H/W changes. we add new ioctl to use extended argument that passed commands of target as a pointer. To support existing G2D driver, we add the version of H/W to make acrylic class. If version of H/W is lower than G2D 2020 version, we uses existing ioctl for compatibility. Change-Id: I596e4baf1e52568fda72aa6e418a773a16a71886 Signed-off-by: hyesoo.yu <hyesoo.yu@samsung.com> Signed-off-by: Cho KyongHo <pullip.cho@samsung.com>
2019-09-18Add initial source codeHyunKyung Kim
Change-Id: I285a55c44c9fd5d3a8abaa781ef9dc8d9d39f53a Signed-off-by: HyunKyung Kim <hk310.kim@samsung.com>