Develop gralloc minigbm backend |
||||||||||
Issue descriptionIt is desirable to have a gralloc implementation based on minigbm. The strategy is to first write an unit test for existing implementations before writing the minigbm backend. This bug tracks all changes related to this effort.
,
Jul 19 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/f64487b09663ecd16b176e0bf6277ecba3542951 commit f64487b09663ecd16b176e0bf6277ecba3542951 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Jul 15 02:54:44 2016 minigbm: One buffer for NV12 Some of our Android framework code expects one fd per format. The gbm API allows it, so let's go with this representation. Also fixed a bug that comes up when bo->num_planes = 2, but the handles are the same. BUG= chromium:616275 TEST=gbmtest, plane_test Change-Id: Iec0e6319d144941a73c26497af2078112d5e4e64 Reviewed-on: https://chromium-review.googlesource.com/360905 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> [modify] https://crrev.com/f64487b09663ecd16b176e0bf6277ecba3542951/rockchip.c [modify] https://crrev.com/f64487b09663ecd16b176e0bf6277ecba3542951/helpers.c
,
Jul 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/cd45e4fdc511e02734476abb72bb169870f0193e commit cd45e4fdc511e02734476abb72bb169870f0193e Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Jul 20 02:41:47 2016 sys-devel/arc-libs: Fetch additional libdrm headers We need these headers for the minigbm-gralloc. BUG= chromium:616275 TEST=Ran "sudo emerge arc-libs" and verified the headers are found in the proper directory. Change-Id: I204c044c55f60439cd2a160c78820f23ff439493 Reviewed-on: https://chromium-review.googlesource.com/361814 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/cd45e4fdc511e02734476abb72bb169870f0193e/sys-devel/arc-libs/files/gather.sh [rename] https://crrev.com/cd45e4fdc511e02734476abb72bb169870f0193e/sys-devel/arc-libs/arc-libs-2016.06.13.090407_p2.ebuild [modify] https://crrev.com/cd45e4fdc511e02734476abb72bb169870f0193e/sys-devel/arc-libs/Manifest
,
Jul 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/drm-tests/+/309c0107cd02bad4142bc5f8f76cc3778c9bd113 commit 309c0107cd02bad4142bc5f8f76cc3778c9bd113 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Jul 15 22:08:25 2016 drm-tests: Fix issue related to multi-plane buffer objects When a single buffer represents a multi-plane format, the mmap() length argument needs to be modified. CQ-DEPEND=CL:360905 BUG= chromium:616275 TEST=plane_test (defaults to NV12) Change-Id: Ic404de043803b65d5336d693a43fbbfe2861c8f0 Reviewed-on: https://chromium-review.googlesource.com/360918 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> [modify] https://crrev.com/309c0107cd02bad4142bc5f8f76cc3778c9bd113/bsdrm/src/dma_buf.c
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/71861af3c69fe88590da653fc4aa0b3d40728a6b commit 71861af3c69fe88590da653fc4aa0b3d40728a6b Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Mon Aug 08 23:19:44 2016 chromeos-base: add public ARC++ autotest ebuild. This ebuild can be used for container tests that don't have to be kept private. BUG= chromium:616275 ,b/28937952 TEST=Ran emerge-veyron_minnie-cheets autotest-tests-arc-public emerge-cyan-cheets autotest-tests-arc-public CQ-DEPEND=CL:367952 Change-Id: I43437873e4848e5699039fe6cdd62bdb716add5f Reviewed-on: https://chromium-review.googlesource.com/368017 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> [add] https://crrev.com/71861af3c69fe88590da653fc4aa0b3d40728a6b/chromeos-base/autotest-tests-arc-public/autotest-tests-arc-public-9999.ebuild [modify] https://crrev.com/71861af3c69fe88590da653fc4aa0b3d40728a6b/chromeos-base/autotest-all/autotest-all-0.0.1.ebuild [rename] https://crrev.com/71861af3c69fe88590da653fc4aa0b3d40728a6b/chromeos-base/autotest-all/autotest-all-0.0.1-r36.ebuild
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/b3ea64f1d91a35c754c25f080b56d735415da051 commit b3ea64f1d91a35c754c25f080b56d735415da051 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Aug 10 17:00:42 2016 autotest: Added gralloc unit test The graphics_Gbm test often catches many bugs on CrOS. It is desirable to have a similar test for the gralloc API. BUG= chromium:616275 TEST=Ran test_that -b veyron_minnie-cheets $IP1 graphics_Gralloc test_that -b cyan-cheets $IP1 graphics_Gralloc Change-Id: I0d2df06c12f17d610a10862dae379046df270362 Reviewed-on: https://chromium-review.googlesource.com/367952 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Ilja H. Friedel <ihf@chromium.org> [add] https://crrev.com/b3ea64f1d91a35c754c25f080b56d735415da051/client/site_tests/graphics_Gralloc/graphics_Gralloc.py [add] https://crrev.com/b3ea64f1d91a35c754c25f080b56d735415da051/client/site_tests/graphics_Gralloc/src/Makefile [add] https://crrev.com/b3ea64f1d91a35c754c25f080b56d735415da051/client/site_tests/graphics_Gralloc/src/sw_sync.h [add] https://crrev.com/b3ea64f1d91a35c754c25f080b56d735415da051/client/site_tests/graphics_Gralloc/control [add] https://crrev.com/b3ea64f1d91a35c754c25f080b56d735415da051/client/site_tests/graphics_Gralloc/src/gralloctest.c
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/5e23ff7acba924a3d5d3c1887818cd78a7652aaa commit 5e23ff7acba924a3d5d3c1887818cd78a7652aaa Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Aug 10 21:06:59 2016 media-libs/minigbm: Renamed ebuild variables We are refactoring minigbm to be dependent on a generic driver API. As such, don't export GBM-specific variables. CQ-DEPEND=CL:367780 BUG= chromium:616275 TEST=minigbm builds Change-Id: I61f92108d26322a4857685a5103198c7f23a613f Reviewed-on: https://chromium-review.googlesource.com/367791 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/5e23ff7acba924a3d5d3c1887818cd78a7652aaa/media-libs/minigbm/minigbm-9999.ebuild
,
Aug 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/46faf6bf430b8f8805f2acfad546329eebcd50f6 commit 46faf6bf430b8f8805f2acfad546329eebcd50f6 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Aug 05 21:40:07 2016 minigbm: Refactored minigbm on top a private API We would like to reuse the same set of drivers for ChromeOS (with a minigbm frontend) and Android (with a gralloc frontend). Since we don't want to pollute the gbm API with gralloc formats and usages, we can refactor minigbm on top a private API that will be a superset of gbm and gralloc. This change redirects gbm calls to the private API. TEST=Ran graphics_Gbm on minnie and cyan, and checked if Chrome boots. BUG= chromium:616275 CQ-DEPEND=CL:367791 Change-Id: I50d10f9d6c7ea936b0d76c5299a58d948939fdf9 Reviewed-on: https://chromium-review.googlesource.com/367780 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/helpers.h [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/evdi.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/gbm.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/virtio_gpu.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/tegra.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/gma500.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/Makefile [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/udl.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/mediatek.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/helpers.c [add] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/drv_priv.h [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/exynos.c [add] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/gbm_helpers.c [add] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/drv.h [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/rockchip.c [add] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/gbm_helpers.h [add] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/drv.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/cirrus.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/marvell.c [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/gbm_priv.h [modify] https://crrev.com/46faf6bf430b8f8805f2acfad546329eebcd50f6/i915.c
,
Aug 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/ef920536083c3e6959daa6a98db01b0f653c1c83 commit ef920536083c3e6959daa6a98db01b0f653c1c83 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Aug 12 23:38:25 2016 minigbm: Add mmap() in backends Gralloc requires the ability to mmap a buffer into userspace. This change adds the necessary entry points to our internal "drv" interface. BUG= chromium:616275 TEST=minigbm still builds. Also ran: ./gralloctest mapping with CL:362062 applied on minnie and cyan (decided to split that CL into smaller patches). CQ-DEPEND=CL:366041 Change-Id: I7396b0c79702f24eb779984805bc679c237bd932 Reviewed-on: https://chromium-review.googlesource.com/370798 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/evdi.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/helpers.h [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/virtio_gpu.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/tegra.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/mediatek.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/udl.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/rockchip.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/helpers.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/drv_priv.h [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/exynos.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/drv.h [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/gma500.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/drv.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/cirrus.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/marvell.c [modify] https://crrev.com/ef920536083c3e6959daa6a98db01b0f653c1c83/i915.c
,
Aug 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/bfba8c2697ef0dec00ba28eb7d976d56e3e61166 commit bfba8c2697ef0dec00ba28eb7d976d56e3e61166 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Aug 17 00:57:10 2016 minigbm: Added gralloc API to internal API Added the drv analogues of the 2 flexible formats we need to support. Added analogues of most of the gralloc use flags, except: GRALLOC_USAGE_SW_READ_MASK GRALLOC_USAGE_SW_WRITE_MASK GRALLOC_USAGE_HW_MASK GRALLOC_USAGE_FOREIGN_BUFFERS GRALLOC_USAGE_ALLOC_MASK These are used as masks and don't make sense as usage hints. In addition, put the new flags in the drivers' supported lists and added a flexible format query function. BUG= chromium:616275 TEST=minigbm still builds CQ-DEPEND=CL:371501 Change-Id: Idd2ecd6fde3e6c5caaaf3a8404d0d7db20b4ecf4 Reviewed-on: https://chromium-review.googlesource.com/372359 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/rockchip.c [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/drv_priv.h [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/tegra.c [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/drv.h [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/drv.c [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/i915.c [modify] https://crrev.com/bfba8c2697ef0dec00ba28eb7d976d56e3e61166/mediatek.c
,
Aug 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/83dc4fb6e4de05d683ddc044445aa4a80ad32efe commit 83dc4fb6e4de05d683ddc044445aa4a80ad32efe Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Jul 19 22:52:33 2016 minigbm: Add YV12 for i915 At the moment, the ArcCodec produces YV12 on Intel. The gralloc module should support it, atleast temporarily until UYVY hardware overlays are enabled on CrOS. TEST=ran graphics_Gbm, tested Chrome boots on Cyan BUG=b/29335168, chromium:616275 CQ-DEPEND=CL:372359 Change-Id: I27c888d3467aa89e8ca48b22523cbc76973aa314 Reviewed-on: https://chromium-review.googlesource.com/373048 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/helpers.h [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/tegra.c [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/rockchip.c [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/helpers.c [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/exynos.c [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/i915.c [modify] https://crrev.com/83dc4fb6e4de05d683ddc044445aa4a80ad32efe/mediatek.c
,
Aug 25 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/b72badb6c83a497b299873136e37435261b174ad commit b72badb6c83a497b299873136e37435261b174ad Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Aug 19 23:26:46 2016 minigbm: Added support for multiplane import Gralloc requires flexible YUV formats (YV12, NV12) to be importable. This change modifies our internal import API to support this. TEST=ran graphics_Gbm BUG= chromium:616275 CQ-DEPEND=CL:373048 Change-Id: I4100e1c1639828e4adf08764b45fe5a44b7078a3 Reviewed-on: https://chromium-review.googlesource.com/374162 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/b72badb6c83a497b299873136e37435261b174ad/drv.c [modify] https://crrev.com/b72badb6c83a497b299873136e37435261b174ad/drv.h [modify] https://crrev.com/b72badb6c83a497b299873136e37435261b174ad/gbm.c
,
Sep 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/42cc6d6c2a93f585daad4c70398edfd770578683 commit 42cc6d6c2a93f585daad4c70398edfd770578683 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Aug 30 01:19:19 2016 minigbm: Added YV12 for Mali platforms Oak-cheets is using YV12 as it's Android flexible YUV format, so we need to support it. Additionally, we're trying to enable YV12 on Mali with EXT_image_dma_buf_import. Instead of having redundant switch statements in every driver, let's add a helper function to do this. BUG=chrome-os-partner:54632, b/29059119, chromium:616275 TEST=Ran plane_test, graphics_Gbm on veyron_minnie Change-Id: I4798225db809941367e58dde962576535b8d767c Reviewed-on: https://chromium-review.googlesource.com/377884 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/42cc6d6c2a93f585daad4c70398edfd770578683/mediatek.c [modify] https://crrev.com/42cc6d6c2a93f585daad4c70398edfd770578683/i915.c [modify] https://crrev.com/42cc6d6c2a93f585daad4c70398edfd770578683/helpers.h [modify] https://crrev.com/42cc6d6c2a93f585daad4c70398edfd770578683/rockchip.c [modify] https://crrev.com/42cc6d6c2a93f585daad4c70398edfd770578683/helpers.c
,
Sep 3 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/a40ca9e44611b763646795427100e183443dcf33 commit a40ca9e44611b763646795427100e183443dcf33 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Aug 30 02:51:45 2016 minigbm: Map and unmap correct size We were not mapping the entire buffer for multi-plane buffer objects. BUG= chromium:616275 TEST=NONE CQ-DEPEND=CL:377884 Change-Id: Ia64a6eb45310abeaed3f376479a6738ccd09f0bf Reviewed-on: https://chromium-review.googlesource.com/377841 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/tegra.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/rockchip.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/helpers.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/drv_priv.h [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/exynos.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/drv.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/mediatek.c [modify] https://crrev.com/a40ca9e44611b763646795427100e183443dcf33/i915.c
,
Sep 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/fafa54b4f3045df0f4e732fbd985f461d8a8e503 commit fafa54b4f3045df0f4e732fbd985f461d8a8e503 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Aug 31 16:53:40 2016 graphics_Gralloc: Add private API test We decided to go with a private API to determine characteristics of the buffer. Let's add a test for it. Also modified the use flags we test for to be the same as the ones we support. BUG= chromium:616275 TEST=./gralloctest perform Change-Id: Ica1ceb420b6295b78aae01443c1efb51f2ed95ea Reviewed-on: https://chromium-review.googlesource.com/379612 Commit-Ready: Ilja H. Friedel <ihf@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/fafa54b4f3045df0f4e732fbd985f461d8a8e503/client/site_tests/graphics_Gralloc/graphics_Gralloc.py [modify] https://crrev.com/fafa54b4f3045df0f4e732fbd985f461d8a8e503/client/site_tests/graphics_Gralloc/src/gralloctest.c
,
Oct 6 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/vendor/mali-ddk/+/8b7f28712055a870e178431e2c2bbb75f51e3097 commit 8b7f28712055a870e178431e2c2bbb75f51e3097 Author: Gurchetan Singh <gurchetansingh@google.com> Date: Thu Sep 08 17:24:47 2016
,
Oct 17 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/2e786ad60038a7c772006e3190fcb8bcf1ff267d commit 2e786ad60038a7c772006e3190fcb8bcf1ff267d Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Aug 25 01:31:23 2016 minigbm: Implemented cros_gralloc It is desirable to have a gralloc implementation based on the same drivers we use for minigbm. This will help synchronize the code between CrOS and the Android container. BUG= chromium:616275 TEST=Ran the gralloc unit test: test_that -b veyron_minnie-cheets $IP1 graphics_Gralloc Verified it succeeded. CQ-DEPEND=CL:395066 Change-Id: Iff11eba3a92268327ef00eb12b4eabe6fc190cf3 Reviewed-on: https://chromium-review.googlesource.com/362062 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_gralloc_handle.h [modify] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/helpers.h [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_gralloc.h [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_gralloc_helpers.cc [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_gralloc_helpers.h [modify] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/helpers.c [modify] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/drv_priv.h [modify] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/drv.h [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_alloc_device.cc [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/cros_gralloc_module.cc [modify] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/drv.c [add] https://crrev.com/2e786ad60038a7c772006e3190fcb8bcf1ff267d/cros_gralloc/Makefile
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/ab7ec19d288aabcff53913b869693d3aa66685d4 commit ab7ec19d288aabcff53913b869693d3aa66685d4 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Sep 23 00:00:42 2016 minigbm: i915: enable required Android buffers The Play Store wants a HAL_PIXEL_FORMAT_RGBA_8888 (ABGR with fourcc) buffer with the 0x8933 flag sometimes, which translates to: GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN | GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_HW_COMPOSER | GRALLOC_USAGE_HW_FB | GRALLOC_USAGE_CURSOR Some dEQP EGL tests also need XBGR8888 buffers with GRALLOC_USAGE_SW_WRITE_OFTEN | GRALLOC_USAGE_SW_READ_OFTEN flags. In addition, we need to support YUV buffers with these usage flags: GRALLOC_USAGE_EXTERNAL_DISP | GRALLOC_USAGE_HW_COMPOSER | GRALLOC_USAGE_TEXTURE for Youtube videos to work, so add that too. BUG= chromium:616275 TEST=Play Angry birds and run Youtube app on Cyan. Verified all dEQP EGL tests pass: run cts --package com.drawelements.deqp.egl CQ-DEPEND=CL:392546 Change-Id: I3a4a03e4b300240a167e1fbc3eb3e23c55551c8b Reviewed-on: https://chromium-review.googlesource.com/392547 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/ab7ec19d288aabcff53913b869693d3aa66685d4/drv_priv.h [modify] https://crrev.com/ab7ec19d288aabcff53913b869693d3aa66685d4/i915.c
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/10a11801089d87c1371e0b02b8c987b1d3417c61 commit 10a11801089d87c1371e0b02b8c987b1d3417c61 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Sep 23 22:27:07 2016 minigbm: rockchip: enable NV12 for Android For NV12 buffers to work on Android, we need to use the same logic that we use in gralloc_drm_rockchip. Otherwise, video playback doesn't work in the container. BUG= chromium:616275 TEST=Play Youtube app. Also ran plane_test (which defaults to NV12). CQ-DEPEND=CL:392547 Change-Id: I8dbd989f2638c99200866f8191450c71114bdbe5 Reviewed-on: https://chromium-review.googlesource.com/392548 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/10a11801089d87c1371e0b02b8c987b1d3417c61/rockchip.c
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/5521bde70f7781edbf5d6f5cced4b9cea41d0518 commit 5521bde70f7781edbf5d6f5cced4b9cea41d0518 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Sep 30 21:53:32 2016 minigbm: add vgem backend When running x86 ARC++ images on a virtual machine, we use the vgem driver. We should support it here too. BUG= chromium:616275 TEST=container boots when running QEMU with cros_gralloc. Note videos (i.e, YUV formats) don't work on QEMU, but they never did with gralloc_drm either. CQ-DEPEND=CL:392548 Change-Id: If9f6b8035f2a88068980bede5121ef4599b37272 Reviewed-on: https://chromium-review.googlesource.com/392549 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/5521bde70f7781edbf5d6f5cced4b9cea41d0518/drv.c [add] https://crrev.com/5521bde70f7781edbf5d6f5cced4b9cea41d0518/vgem.c [modify] https://crrev.com/5521bde70f7781edbf5d6f5cced4b9cea41d0518/cros_gralloc/cros_gralloc_helpers.cc
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/3d5a9b466637e424d567a7dfeb851977995eb27a commit 3d5a9b466637e424d567a7dfeb851977995eb27a Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Oct 14 00:23:15 2016 minigbm: rockchip: Enable required Android buffers The Play store passes down the 0x8933 flag sometimes, which translates to: GRALLOC_USAGE_SW_READ_OFTEN | GRALLOC_USAGE_SW_WRITE_OFTEN | GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_HW_COMPOSER | GRALLOC_USAGE_HW_FB | GRALLOC_USAGE_CURSOR so we need to handle this case with ABGR8888 buffers. In addition, the dEQP EGL tests require RGB565 and XBGR8888 formats to succeed. BUG= chromium:616275 TEST=Play angry birds on minnie, also verified all EGL dEQP tests pass: run cts --package com.drawelements.deqp.egl CQ-DEPEND=CL:392548 Change-Id: Ifb4953741bdd4c85a210e499061c8c4a0a6a731e Reviewed-on: https://chromium-review.googlesource.com/398424 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/3d5a9b466637e424d567a7dfeb851977995eb27a/rockchip.c
,
Oct 18 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/e1707bcfdaf723eae4bbbdb8df52ab6e354d8a55 commit e1707bcfdaf723eae4bbbdb8df52ab6e354d8a55 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Mon Oct 17 23:19:13 2016 minigbm: mediatek: add required Android buffers We need ABGR8888, XBGR8888, and RGB565 buffers for mediatek. We also need to add certain flags to our flexible YUV formats. BUG= chromium:616275 TEST=run dEQP EGL tests on elm. CQ-DEPEND=CL:398424 Change-Id: Ia3122b4e792911575e13fcbeb4f77b5691290a2d Reviewed-on: https://chromium-review.googlesource.com/399924 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/e1707bcfdaf723eae4bbbdb8df52ab6e354d8a55/mediatek.c
,
Oct 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/f719a9fd69d2bff7e6b0dfa0fa437fc43533249e commit f719a9fd69d2bff7e6b0dfa0fa437fc43533249e Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Sep 01 22:24:23 2016 Add ebuild for arc-cros-gralloc This allows us to build gralloc for the Android container in Portage. The shared library will be installed in /vendor/lib/hw/. BUG= chromium:616275 TEST=emerge-{veyron-minnie-cheets, cyan} arc-cros-gralloc sh deploy_vendor_image.sh $IP Verify gralloc.cros.so is in the desired directory when container starts. CQ-DEPEND=CL:362062 Change-Id: I6313fa7e17d35b88e481679b76e929037932332c Reviewed-on: https://chromium-review.googlesource.com/362101 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [add] https://crrev.com/f719a9fd69d2bff7e6b0dfa0fa437fc43533249e/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
,
Oct 22 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/0e8ec504522adac9c642b1d18b1f041c0b58c5d4 commit 0e8ec504522adac9c642b1d18b1f041c0b58c5d4 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Oct 20 21:22:14 2016 media-libs/arc-cros-gralloc: set correct CROS_WORKON_LOCALNAME We were setting CROS_WORKON_LOCALNAME to an non-existant git repo. This worked locally with 9999 ebuilds but made the build-bots unhappy. Set it to the correct repo, which slightly modifies where we need to invoke emake. BUG= chromium:616275 TEST=arc-cros-gralloc builds Change-Id: I3bf986bca75db83f2f66cdccade120c5aebd7fe2 Reviewed-on: https://chromium-review.googlesource.com/401046 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [modify] https://crrev.com/0e8ec504522adac9c642b1d18b1f041c0b58c5d4/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
,
Oct 22 2016
The following revision refers to this bug: https://chrome-internal.googlesource.com/chromeos/overlays/project-cheets-private/+/964609a67b3ae6365a050caf4deebb2e8e6c0c5e commit 964609a67b3ae6365a050caf4deebb2e8e6c0c5e Author: Gurchetan Singh <gurchetansingh@google.com> Date: Thu Sep 08 23:10:34 2016
,
Nov 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/d787ab1b75899b51bdbf24dbc78c45deb66ba3a1 commit d787ab1b75899b51bdbf24dbc78c45deb66ba3a1 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 17:26:30 2016 CHROMIUM: drm: Allow render node access to KMS getters We need to query the KMS API to present an accurate view of overlay formats in Android (see CL:405019). With the exception of SET_CLIENT_CAP, these ioctls are getters. SET_CLIENT_CAP is allowable with render nodes since it only presents a different version of the drm core to userspace when modified. BUG= chromium:616275 TEST=none Change-Id: I967d923d778239e3c97e22f6fe19befb43ece406 Reviewed-on: https://chromium-review.googlesource.com/405714 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/d787ab1b75899b51bdbf24dbc78c45deb66ba3a1/drivers/gpu/drm/drm_ioctl.c
,
Nov 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/9d76ab103c4d704783dd6cfdaa84e1c600190c4a commit 9d76ab103c4d704783dd6cfdaa84e1c600190c4a Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 17:36:03 2016 CHROMIUM: drm: Allow render node access to KMS getters We need to query the KMS API to present an accurate view of overlay formats in Android (see CL:405019). With the exception of SET_CLIENT_CAP, these ioctls are getters. SET_CLIENT_CAP is allowable with render nodes since it only presents a different version of the drm core to userspace when modified. BUG= chromium:616275 TEST=none Change-Id: I2403af23543fc961d19969fcf92469aa09c4480a Reviewed-on: https://chromium-review.googlesource.com/406369 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/9d76ab103c4d704783dd6cfdaa84e1c600190c4a/drivers/gpu/drm/drm_drv.c
,
Nov 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/a7c78515060be1214f098e39ad5e815a35d121e6 commit a7c78515060be1214f098e39ad5e815a35d121e6 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 16:53:06 2016 CHROMIUM: drm: Allow render node access to KMS getters We need to query the KMS API to present an accurate view of overlay formats in Android (see CL:405019). With the exception of SET_CLIENT_CAP, these ioctls are getters. SET_CLIENT_CAP is allowable with render nodes since it only presents a different version of the drm core to userspace when modified. BUG= chromium:616275 TEST=none Change-Id: Id26e1b2b37dfa72f6ce55b524e849141750787c6 Reviewed-on: https://chromium-review.googlesource.com/405758 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/a7c78515060be1214f098e39ad5e815a35d121e6/drivers/gpu/drm/drm_ioctl.c
,
Nov 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/ae0c8a4c44b35fa49feb268c1dbf40afa040dd5e commit ae0c8a4c44b35fa49feb268c1dbf40afa040dd5e Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 22:14:37 2016 sys-devel/arc-libs: Fetch new build artifacts This installs the new version of <drm_fourcc.h> into the Android sysroot. This newer version has the AFBC modifiers in it. Also, let's start fetching the 2.4.70 libdrm branch since that's where most of the development has been taking place. BUG= chromium:616275 TEST=arc-mesa, cros_gralloc still build Change-Id: I83993e0a8445d966a2c519d75276b938412af386 Reviewed-on: https://chromium-review.googlesource.com/405718 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> [modify] https://crrev.com/ae0c8a4c44b35fa49feb268c1dbf40afa040dd5e/sys-devel/arc-libs/files/gather.sh [rename] https://crrev.com/ae0c8a4c44b35fa49feb268c1dbf40afa040dd5e/sys-devel/arc-libs/arc-libs-2016.08.02.071310_p0.ebuild [modify] https://crrev.com/ae0c8a4c44b35fa49feb268c1dbf40afa040dd5e/sys-devel/arc-libs/Manifest
,
Nov 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/7e92e89693133088cd9ed6b07178c5ac0502e914 commit 7e92e89693133088cd9ed6b07178c5ac0502e914 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 20:53:31 2016 CHROMIUM: drm: Allow render node access to KMS getters We need to query the KMS API to present an accurate view of overlay formats in Android (see CL:405019). With the exception of SET_CLIENT_CAP, these ioctls are getters. SET_CLIENT_CAP is allowable with render nodes since it only presents a different version of the drm core to userspace when modified. BUG= chromium:616275 TEST=none Change-Id: I857649d6fde4d06bc5e8d83ccd5f51bda7029dd3 Reviewed-on: https://chromium-review.googlesource.com/405700 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Dominik Behr <dbehr@chromium.org> [modify] https://crrev.com/7e92e89693133088cd9ed6b07178c5ac0502e914/drivers/gpu/drm/drm_drv.c
,
Nov 9 2016
,
Nov 10 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/06e6c1c0493fa3693bf79a482682b42e54f911c8 commit 06e6c1c0493fa3693bf79a482682b42e54f911c8 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 01 21:44:57 2016 CHROMIUM: drm: Allow render node access to KMS getters We need to query the KMS API to present an accurate view of overlay formats in Android (see CL:405019). With the exception of SET_CLIENT_CAP, these ioctls are getters. SET_CLIENT_CAP is allowable with render nodes since it only presents a different version of the drm core to userspace when modified. BUG= chromium:616275 TEST=none Change-Id: I971edd77d0fd5879ccb4cee0bec570004c6d4381 Reviewed-on: https://chromium-review.googlesource.com/405715 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/06e6c1c0493fa3693bf79a482682b42e54f911c8/drivers/gpu/drm/drm_drv.c
,
Nov 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/82f838c302bd6c8b5ade8bcc01739c4bf19dc234 commit 82f838c302bd6c8b5ade8bcc01739c4bf19dc234 Author: Ilja H. Friedel <ihf@chromium.org> Date: Wed Nov 09 06:53:33 2016 graphics_Gralloc: catch exception during failure. 1) Catch exception that happens during test failure. 2) Provide better failure message. BUG= chromium:616275 TEST=test_that $DUT graphics_Gralloc FAIL: Failed: gralloc on broadwell in ['api', 'gralloc_order', 'uninitialized_handle']. Change-Id: I6fe779fd0fcf8fb99196d2a1c6a331415216d3c7 Reviewed-on: https://chromium-review.googlesource.com/409119 Tested-by: Ilja H. Friedel <ihf@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> [modify] https://crrev.com/82f838c302bd6c8b5ade8bcc01739c4bf19dc234/client/site_tests/graphics_Gralloc/graphics_Gralloc.py
,
Nov 15 2016
I think we may also need to fix occasional hangs. Failed: gralloc on braswell in ['api', 'gralloc_order', 'uninitialized_handle']. Failed: gralloc on broadwell in ['api', 'gralloc_order', 'uninitialized_handle']. Failed: gralloc on mali-t760 in ['api', 'gralloc_order', 'uninitialized_handle']. Failed: gralloc on mali-t860 in ['api', 'gralloc_order', 'uninitialized_handle']. Failed: gralloc on rogue in ['api', 'gralloc_order', 'uninitialized_handle']. Failed: gralloc on skylake in ['api', 'gralloc_order', 'uninitialized_handle'].
,
Nov 15 2016
Sample log 11/13 21:19:59.937 INFO | base_sysinfo:0380| ChromeOS BOARD = samus_2.7GHz_8GB 11/13 21:19:59.938 DEBUG| base_utils:0185| Running 'logger "autotest starting iteration /usr/local/autotest/results/default/graphics_Gralloc/sysinfo/iteration.1 on samus_2.7GHz_8GB"' 11/13 21:19:59.945 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest alloc_varying_sizes'' 11/13 21:20:00.061 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.alloc_varying_sizes [ PASSED ] gralloctest.alloc_varying_sizes 11/13 21:20:00.062 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest alloc_usage'' 11/13 21:20:00.125 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.alloc_usage [ PASSED ] gralloctest.alloc_usage 11/13 21:20:00.126 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest api'' 11/13 21:20:00.191 ERROR| graphics_Gralloc:0068| [ RUN ] gralloctest.api CHECK failed in test_api() gralloctest.c:348 [ FAILED ] gralloctest.api 11/13 21:20:00.197 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest gralloc_order'' 11/13 21:20:00.263 ERROR| graphics_Gralloc:0068| [ RUN ] gralloctest.gralloc_order CHECK failed in test_gralloc_order() gralloctest.c:381 [ FAILED ] gralloctest.gralloc_order 11/13 21:20:00.269 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest uninitialized_handle'' 11/13 21:20:00.554 ERROR| graphics_Gralloc:0063| Exception running /data/executables/gralloctest uninitialized_handle 11/13 21:20:00.559 ERROR| graphics_Gralloc:0068| [ RUN ] gralloctest.gralloc_order CHECK failed in test_gralloc_order() gralloctest.c:381 [ FAILED ] gralloctest.gralloc_order 11/13 21:20:00.567 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest freed_handle'' 11/13 21:20:00.628 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.freed_handle [ PASSED ] gralloctest.freed_handle 11/13 21:20:00.628 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest mapping'' 11/13 21:20:00.711 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.mapping [ PASSED ] gralloctest.mapping 11/13 21:20:00.712 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest perform'' 11/13 21:20:00.782 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.perform [ PASSED ] gralloctest.perform 11/13 21:20:00.783 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest ycbcr'' 11/13 21:20:00.850 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.ycbcr [ PASSED ] gralloctest.ycbcr 11/13 21:20:00.851 DEBUG| base_utils:0185| Running 'android-sh -c '/data/executables/gralloctest async'' 11/13 21:20:00.916 DEBUG| graphics_Gralloc:0070| [ RUN ] gralloctest.async [ PASSED ] gralloctest.async
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/c67f9e422c5e4abd86cca009bf609e2438acf757 commit c67f9e422c5e4abd86cca009bf609e2438acf757 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Mon Nov 28 23:25:26 2016 minigbm: flatten gralloc handle Many GL drivers assume that first value in the native_handle data array is the fd associated with the graphics buffer, i.e, int prime_fd = handle->data[0]; This in our case until 4bfc7401. We added 64-bit modifiers in our import data, so all values in the drv_import_fd_data struct get 8-byte aligned. In our cros_gralloc_handle, 4 bytes of padding are added between native_handle_t and drv_import_fd_data to make the alignment work. To counter-act this, we can stop embedding drv_import_fd_data in cros_gralloc_handle. BUG= chromium:616275 TEST=Mali driver doesn't return an error when running cros_gralloc CQ-DEPEND=CL:414585 Change-Id: Ib6c165e98126468b96fa7119d5ca13eebee1655c Reviewed-on: https://chromium-review.googlesource.com/414536 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/c67f9e422c5e4abd86cca009bf609e2438acf757/cros_gralloc/cros_gralloc_handle.h [modify] https://crrev.com/c67f9e422c5e4abd86cca009bf609e2438acf757/cros_gralloc/cros_gralloc_helpers.h [modify] https://crrev.com/c67f9e422c5e4abd86cca009bf609e2438acf757/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/c67f9e422c5e4abd86cca009bf609e2438acf757/cros_gralloc/cros_gralloc_module.cc
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/ebe1e95c87a97a33c312c69bbdf31973a74dbce3 commit ebe1e95c87a97a33c312c69bbdf31973a74dbce3 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Wed Nov 30 04:36:13 2016 minigbm: vgem: align to llvm tile size We're planning on using Mesa with llvmpipe when running the Android container in a virtual machine. It's faster than softpipe. llvmpipe requires alignment to a 64-byte tile size, so add it here. This is the analogue to norvez@'s drm_gralloc commiti (ag/1599269). BUG=b:28802929, chromium:616275 TEST=run arc-cros-gralloc in QEMU CQ-DEPEND=CL:414537 Change-Id: If4160d376447ce218df3bc410a8427b284de74fd Reviewed-on: https://chromium-review.googlesource.com/416291 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/ebe1e95c87a97a33c312c69bbdf31973a74dbce3/vgem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/f17c813c9f95d91c53c7e72ca66473153527cdc6 commit f17c813c9f95d91c53c7e72ca66473153527cdc6 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Nov 29 22:45:46 2016 minigbm: tweak cros-gralloc flags The Play Store wants a ABGR8888 HW cursor, and we can't in general support this, so let's ignore the cursor flag rather than fail the allocation. We also interpret GRALLOC_USAGE_HW_COMPOSER as BO_USE_SCANOUT | BO_USE_RENDERING. This fails with YV12, since we can't scanout from it on Intel/Mediatek. Let's first try to allocate with the scanout flag enabled and then fall-back to rendering if it's not supported (i.e, first try overlay but then try OpenGL). In addition, let's interpret GRALLOC_USAGE_HW_FB the same as GRALLOC_USAGE_HW_COMPOSER since the framebuffer device (Chrome in our case) wants to scanout but can also fall back. BUG= chromium:616275 TEST=run cts --package com.drawelements.deqp.egl on minnie CQ-DEPEND=CL:414536 Change-Id: I57cd681ca8ff0186698bd0a046c3a7b346f3e434 Reviewed-on: https://chromium-review.googlesource.com/414537 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f17c813c9f95d91c53c7e72ca66473153527cdc6/cros_gralloc/cros_gralloc_helpers.cc [modify] https://crrev.com/f17c813c9f95d91c53c7e72ca66473153527cdc6/cros_gralloc/cros_alloc_device.cc
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/45de1991cdfea52ca6e0c2db1bf390920f9a7156 commit 45de1991cdfea52ca6e0c2db1bf390920f9a7156 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Dec 02 20:32:16 2016 minigbm: vgem: add a few more supported formats While running Android in QEMU, I encountered a few crashes due to unsupported formats. Add them here. BUG= chromium:616275 TEST=Run arc-cros-gralloc in QEMU CQ-DEPEND=CL:416291 Change-Id: Ie9a9dee0cba7c8b83592c40a3249ebcb30391346 Reviewed-on: https://chromium-review.googlesource.com/416292 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/45de1991cdfea52ca6e0c2db1bf390920f9a7156/vgem.c
,
Dec 9 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/f028a6fc0dcfe5df2d0e09aba2ccf90c1ee70061 commit f028a6fc0dcfe5df2d0e09aba2ccf90c1ee70061 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Sat Dec 03 01:54:09 2016 minigbm: mediatek: add support HAL_PIXEL_FORMAT_YV12 For some reason, we use HAL_PIXEL_FORMAT_YV12 instead of HAL_PIXEL_FORMAT_YCbCr_420_888 as our YUV format on mediatek based boards. We also pass down a different use flags. Since mediatek only supports linear buffers the moment, just lump all the flags together for our YUV supported combination. BUG= chromium:616275 TEST=Played Youtube video in Oak ARC++ container CQ-DEPEND=CL:416292 Change-Id: Iac4797517048981235cd17ad464eb1e3852c4072 Reviewed-on: https://chromium-review.googlesource.com/416396 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/f028a6fc0dcfe5df2d0e09aba2ccf90c1ee70061/cros_gralloc/cros_gralloc_module.cc [modify] https://crrev.com/f028a6fc0dcfe5df2d0e09aba2ccf90c1ee70061/mediatek.c
,
Dec 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/0d210f92cc58c5a183896d06bf2fd4548f511b65 commit 0d210f92cc58c5a183896d06bf2fd4548f511b65 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Sat Dec 03 02:15:35 2016 minigbm: cros_gralloc: fix rendernode query If the vgem driver and a hardware driver are both present on a machine, and if the vgem driver corresponds to a lower number rendernode, we'll end up picking the vgem driver. This is not the desired behavior, so let's fix it. BUG= chromium:616275 TEST=mediatek driver loads CQ-DEPEND=CL:416396 Change-Id: Ib2647f4dbaf3c45fab97bbbcbb94e09c1daa6d5d Reviewed-on: https://chromium-review.googlesource.com/416397 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/0d210f92cc58c5a183896d06bf2fd4548f511b65/cros_gralloc/cros_gralloc_helpers.cc
,
Dec 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/394da64801a18c1d988dc73b047fbbeddecba5c5 commit 394da64801a18c1d988dc73b047fbbeddecba5c5 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Mon Dec 05 17:47:45 2016 minigbm: cros_gralloc: Don't build gbm Reduces binary size by 4.5 KB. BUG= chromium:616275 TEST=arc-cros-gralloc builds CQ-DEPEND=CL:416398 Change-Id: I0d73373657076ce540726225993e1b6c5bb12ae2 Reviewed-on: https://chromium-review.googlesource.com/416399 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/394da64801a18c1d988dc73b047fbbeddecba5c5/cros_gralloc/Makefile
,
Dec 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/54150e89f4453d5edd60c9d3d639b39dd22823b1 commit 54150e89f4453d5edd60c9d3d639b39dd22823b1 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Sat Dec 03 02:28:38 2016 minigbm: cros_gralloc: modify error statements The error statements now look like what's printed in Chrome's /var/log/ui/ui.LATEST, which I think looks nice. BUG= chromium:616275 TEST=None CQ-DEPEND=CL:416397 Change-Id: Ide3eb381ac710f016e9d002e4dd5f9e5ab8eda7f Reviewed-on: https://chromium-review.googlesource.com/416398 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/54150e89f4453d5edd60c9d3d639b39dd22823b1/cros_gralloc/cros_gralloc_helpers.cc [modify] https://crrev.com/54150e89f4453d5edd60c9d3d639b39dd22823b1/cros_gralloc/cros_gralloc_helpers.h
,
Dec 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/9cbb435d984b46da53f59337508dd90737866754 commit 9cbb435d984b46da53f59337508dd90737866754 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Mon Dec 05 19:02:55 2016 minigbm: cros_gralloc: remove unnecessary information from handle Only include information needed to import in the handle. We were previously including the address space of another process in the handle, which is a potential security risk. BUG= chromium:616275 TEST=arc-cros-gralloc works on oak, minnie, cyan CQ-DEPEND=CL:416399 Change-Id: I10230053e305865db0dde26a596403ec0b9e4f4c Reviewed-on: https://chromium-review.googlesource.com/416400 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/9cbb435d984b46da53f59337508dd90737866754/cros_gralloc/cros_gralloc_handle.h [modify] https://crrev.com/9cbb435d984b46da53f59337508dd90737866754/cros_gralloc/cros_gralloc.h [modify] https://crrev.com/9cbb435d984b46da53f59337508dd90737866754/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/9cbb435d984b46da53f59337508dd90737866754/cros_gralloc/cros_gralloc_module.cc
,
Dec 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/682d73bd00595a493bd446c5274bef08bd17c096 commit 682d73bd00595a493bd446c5274bef08bd17c096 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Dec 27 18:25:18 2016 minigbm: cros_gralloc: don't fail BO_USE_SW_*_OFTEN | BO_USE_RENDERING allocation Some camera CTS tests pass down the following usage: GRALLOC_USAGE_HW_TEXTURE | GRALLOC_USAGE_SW_WRITE_OFTEN, which we convert. Since we generally want to create a tiled buffer when GRALLOC_USAGE_HW_TEXTURE is specified and tiled buffers are inefficient for frequent software access, many drivers don't support this combination. When this occurs, let's drop the BO_USE_RENDERING flag and try the allocation again with different flags. BUG= chromium:616275 TEST=run cts --disable-reboot --class android.hardware.camera2.cts.MultiViewTest passes on kevin Change-Id: Id3364edb849fe92d4710c765ed664e8aa4a4738d Reviewed-on: https://chromium-review.googlesource.com/424318 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/682d73bd00595a493bd446c5274bef08bd17c096/cros_gralloc/cros_alloc_device.cc
,
Jan 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/82a8eedaa5d01dea4c244be751e950566dcd274e commit 82a8eedaa5d01dea4c244be751e950566dcd274e Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Jan 03 21:01:37 2017 minigbm: i915: libdrm-ize backend With cros_gralloc enabled, the following three CTS tests fail with an i915 backend: EncodeVirtualDisplayWithCompositionTest#testRendering800x480Locally EncodeVirtualDisplayWithCompositionTest#testRenderingMaxResolutionRemotely EncodeVirtualDisplayWithCompositionTest#testVirtualDisplayRecycles The reason for the failures is the bo_map() function calls DRM_IOCTL_I915_GEM_MMAP_GTT with untiled buffers, leading to Surface::dequeueBuffer not completing in time. In addition, we never set the domain when we map, which can lead to cache coherency issues. libdrm already has functions for regular and GTT mapppings, so let's just add it here rather than duplicating the logic. TEST=Chrome boots and container boots gbmtest, tiled_bo_test, all CTS tests specified in go/arc++gfx pass BUG= chromium:616275 CQ-DEPEND=CL:424674 Change-Id: I68943367205abd3b470adb0597109fe30aa3e381 Reviewed-on: https://chromium-review.googlesource.com/424832 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/82a8eedaa5d01dea4c244be751e950566dcd274e/Makefile [modify] https://crrev.com/82a8eedaa5d01dea4c244be751e950566dcd274e/i915.c
,
Jan 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/0bfca8c87ea2e3210272a39f6b993ab67a4d4b09 commit 0bfca8c87ea2e3210272a39f6b993ab67a4d4b09 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Jan 03 22:40:29 2017 media-libs/arc-cros-gralloc: use libdrm_intel Need this if want to libdrm-ize i915 backend. TEST=arc-cros-gralloc builds BUG= chromium:616275 CQ-DEPEND=CL:424832 Change-Id: I152226a5bee750038082ba7ebb27e0702bc0ad12 Reviewed-on: https://chromium-review.googlesource.com/424674 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/0bfca8c87ea2e3210272a39f6b993ab67a4d4b09/media-libs/arc-cros-gralloc/arc-cros-gralloc-9999.ebuild
,
Jan 25 2017
,
Feb 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/6ea14bad3f31e449aa5d01c6b625c6dfe087144b commit 6ea14bad3f31e449aa5d01c6b625c6dfe087144b Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Sat Feb 18 08:39:28 2017 minigbm: align first plane to 64 bytes The chroma stride of Android YV12 buffers is required to be aligned to 16 bytes (see <system/graphics.h>). Additionally, the size of the ARM L1 cache line is 64-bytes (see chrome-os-partner:45777). Let's always align the first plane to 64 bytes. The chroma strides will be aligned to 32 bytes in that case. BUG= chromium:616275 TEST= ImageReaderDecoderTest#testGoogH264ImageReader passes on veyron_minnie-cheets. Change-Id: I87a309ce0612bf8c5be8f8e47dad3da10d61a081 Reviewed-on: https://chromium-review.googlesource.com/441912 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Tomasz Figa <tfiga@chromium.org> [modify] https://crrev.com/6ea14bad3f31e449aa5d01c6b625c6dfe087144b/rockchip.c [modify] https://crrev.com/6ea14bad3f31e449aa5d01c6b625c6dfe087144b/mediatek.c
,
Mar 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/2a30f8a988418fa09cb8748585e397ca5b856f91 commit 2a30f8a988418fa09cb8748585e397ca5b856f91 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Mar 09 06:27:41 2017 minigbm: add BO_USE_TEXTURE Many people have requested re-adding BO_USE_TEXTURE as a flag since: BO_USE_RENDERING means the buffer will be used as a render target. BO_USE_TEXTURE means the buffer will be textured from. BUG= chromium:616275 TEST=minigbm/arc-cros-gralloc compiles Change-Id: I63be6682cf4e2415dc42c78b2cab3ad694bcd818 Reviewed-on: https://chromium-review.googlesource.com/448251 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/2a30f8a988418fa09cb8748585e397ca5b856f91/drv.h [modify] https://crrev.com/2a30f8a988418fa09cb8748585e397ca5b856f91/cros_gralloc/cros_gralloc_helpers.cc
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77 commit 6b41fb55deae7d8ae00c33f7ce849d6fd6525d77 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Mar 16 18:25:47 2017 minigbm: rework flag API We've been back and forth on the semantics of the flag API many times, and the current situation is confusing. Change the drivers so every combination defines a distinct type of buffer. That means if the same format is in the combination list three times, the tiling or format modifiers of one of those combinations must be different from the other two. Let's add a priority variable in struct supported_combination that breaks ties. For example, if a consumer specifies BO_USE_TEXTURE, we of course can texture from both linear and tiled buffers, but because a tiled buffer's priority is greater, it will be chosen. If a consumer specifies BO_USE_TEXTURE | BO_USE_SW_WRITE_OFTEN, the tiled combination won't have the BO_USE_SW_WRITE_OFTEN flag and the linear combination will be chosen. We expect drivers to modify the combinations after querying KMS. This is clunky using linked lists, so get rid of list.h and use arrays. BUG= chromium:616275 TEST=all the following compiles: emerge-cyan minigbm/arc-cros-gralloc emerge-oak minigbm/arc-cros-gralloc emerge-veyron_minnie-cheets minigbm/arc-cros-gralloc emerge-peach_pi minigbm emerge-nyan_big minigbm emerge-jadeite minigbm Tested with gbmtest on cyan, checked if Chrome boots Change-Id: Ib3fccf6f0cb86c8ded45924297df3c06f8e49271 Reviewed-on: https://chromium-review.googlesource.com/448252 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/helpers.h [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/vc4.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/helpers.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/amdgpu.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/gma500.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/marvell.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/vgem.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/gbm.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/tegra.c [delete] https://crrev.com/4d22b4e285f02adfc65d6ae1d6469a0e13ee12ba/list.h [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/rockchip.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/cirrus.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/nouveau.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/i915.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/udl.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/drv.h [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/drv.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/virtio_gpu.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/evdi.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/drv_priv.h [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/exynos.c [modify] https://crrev.com/6b41fb55deae7d8ae00c33f7ce849d6fd6525d77/mediatek.c
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/4d22b4e285f02adfc65d6ae1d6469a0e13ee12ba commit 4d22b4e285f02adfc65d6ae1d6469a0e13ee12ba Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Mar 16 18:25:47 2017 minigbm: cros_gralloc: back out of scanout flag with more clarity We interpret the following flags as GRALLOC_USAGE_HW_COMPOSER as BO_USE_SCANOUT | BO_USE_RENDERING: If the combination is not supported by the driver, let's check if the gralloc flag is present before we back out for clarity. BUG= chromium:616275 TEST=compiles Change-Id: If546ce653f1088cbb1d31cf2f90aba0621ed8b4a Reviewed-on: https://chromium-review.googlesource.com/451978 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/4d22b4e285f02adfc65d6ae1d6469a0e13ee12ba/cros_gralloc/cros_alloc_device.cc
,
Mar 16 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/de3284909f9bd467b23e0103bc88a8889f5e4601 commit de3284909f9bd467b23e0103bc88a8889f5e4601 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Mar 16 18:25:47 2017 minigbm: cros_gralloc: make HW_FB a no-op GRALLOC_USAGE_HW_FB is a legacy flag, and doesn't make sense in our setup. BUG= chromium:616275 TEST=compiles Change-Id: If39634a12ad325b4d28afbd3db335e6ee9e287f6 Reviewed-on: https://chromium-review.googlesource.com/455282 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/de3284909f9bd467b23e0103bc88a8889f5e4601/cros_gralloc/cros_gralloc_helpers.cc
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/03f13569eca3ce0acdec5865454f345d53a80fb9 commit 03f13569eca3ce0acdec5865454f345d53a80fb9 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Mar 21 02:30:09 2017 minigbm: add DRM_FORMAT_YVU420_ANDROID YV12 in <system/graphics.h> in the Android tree defines the HAL_PIXEL_FORMAT_YV12 as: * y_size = stride * height * c_stride = ALIGN(stride/2, 16) * c_size = c_stride * height/2 * size = y_size + c_size * 2 * cr_offset = y_size * cb_offset = y_size + c_size Let's add a special format DRM_FORMAT_YVU420_ANDROID that adheres to these requirements. Previously, our y_size on Intel not adhere to the spec. We should change drv_bo_from_format to calculate the size of plane not based on the aligned height, but the height that outside world sees. BUG= chromium:616275 TEST= ImageReaderDecoderTest#testGoogH264ImageReader passes on cyan. Run YT app. Change-Id: I4906300a0775cf561c4b05bf6d973cf4e82470bc Reviewed-on: https://chromium-review.googlesource.com/441913 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/helpers.h [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/cros_gralloc/cros_gralloc_helpers.cc [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/rockchip.c [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/helpers.c [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/drv.h [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/cros_gralloc/cros_gralloc_module.cc [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/drv.c [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/mediatek.c [modify] https://crrev.com/03f13569eca3ce0acdec5865454f345d53a80fb9/i915.c
,
Mar 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/507f5ddba23c76e4b4150b488c542b75fcf4d648 commit 507f5ddba23c76e4b4150b488c542b75fcf4d648 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Mar 21 02:30:09 2017 minigbm: i915: align YV12 to HW requirements As per drm_gralloc we need to: (1) align the Y plane to 128 bytes so the chroma planes would be aligned to 64 bytes boundaries. (2) Have no tiling with YV12. BUG= chromium:616275 TEST=DecodeEditEncodeTest#testVideoEdit720p passes on cyan. Run YT app. Change-Id: I339163c94d4481991702b8bfd232a70f3a275506 Reviewed-on: https://chromium-review.googlesource.com/456403 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/507f5ddba23c76e4b4150b488c542b75fcf4d648/i915.c
,
Mar 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/4f298f9fd2801512199416bbbbb916777179c5b5 commit 4f298f9fd2801512199416bbbbb916777179c5b5 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Thu Mar 30 07:15:53 2017 minigbm: add bytes per pixel function We were using the drv_stride_from_format as a shorthand to calculate bytes per pixel. This is incorrect with the addition of DRM_FORMAT_YVU420_ANDROID, which always aligns to 16 bytes. Let's have a separate bytes_per_pixel function to better express what we want. BUG= chromium:616275 TEST=android.media.cts.DecodeAccuracyTest #testVP9GLViewLargerHeightVideoDecode passes on veyron_minnie-cheets. Change-Id: I2d740828d66031c3a032932c09d79dbce21b8986 Reviewed-on: https://chromium-review.googlesource.com/458978 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/4f298f9fd2801512199416bbbbb916777179c5b5/drv.c [modify] https://crrev.com/4f298f9fd2801512199416bbbbb916777179c5b5/helpers.h [modify] https://crrev.com/4f298f9fd2801512199416bbbbb916777179c5b5/drv.h [modify] https://crrev.com/4f298f9fd2801512199416bbbbb916777179c5b5/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/4f298f9fd2801512199416bbbbb916777179c5b5/helpers.c
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/4c3aa42a5220d08b9bc06fa15a494b9d25e83507 commit 4c3aa42a5220d08b9bc06fa15a494b9d25e83507 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Mar 31 04:21:54 2017 minigbm: rockchip: align to 128 bytes cmemp_heap_partition in the mali driver checks if every plane is 64-byte aligned. Since we expose a fd for every plane in the cros gralloc handle, we hit this case. We need to enforce this alignment on our YV12 allocations. BUG= chromium:616275 TEST= android.media.cts.VideoEncoderTest#testGoogH264FlexArbitraryH passes on veyron_minnie-cheets. Change-Id: If6375eddd18fd216e7f07eb2cc47090d838f82ab Reviewed-on: https://chromium-review.googlesource.com/459104 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> [modify] https://crrev.com/4c3aa42a5220d08b9bc06fa15a494b9d25e83507/rockchip.c
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/eb86a70aa5559362608b16df47b26b12660eca87 commit eb86a70aa5559362608b16df47b26b12660eca87 Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Mar 31 17:40:28 2017 minigbm: cros_gralloc: remove memsets The C++ standard says value initialization results in zero initialization for structs, so our memsets are unecessary. BUG= chromium:616275 TEST=compiles Change-Id: I1744b237790cb79d2a8be92beffdb2ee9829f4e2 Reviewed-on: https://chromium-review.googlesource.com/457287 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/eb86a70aa5559362608b16df47b26b12660eca87/cros_gralloc/cros_alloc_device.cc
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/b7538e29a4aebf6d8f091a7c41191f2feacfeb6d commit b7538e29a4aebf6d8f091a7c41191f2feacfeb6d Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Mar 31 17:40:28 2017 minigbm: cros_gralloc: remove constexpr functions There's no reason to have these as functions. Also eliminate sw_write() and sw_read(), the only reason I added them because I was hitting the 80 column limit (we're 100 columns wide now). BUG= chromium:616275 TEST=compiles Change-Id: If0d406df64dc760f2c007eeecf79874c1deb3ec7 Reviewed-on: https://chromium-review.googlesource.com/457288 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/b7538e29a4aebf6d8f091a7c41191f2feacfeb6d/cros_gralloc/cros_gralloc_helpers.h [modify] https://crrev.com/b7538e29a4aebf6d8f091a7c41191f2feacfeb6d/cros_gralloc/cros_gralloc_helpers.cc [modify] https://crrev.com/b7538e29a4aebf6d8f091a7c41191f2feacfeb6d/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/b7538e29a4aebf6d8f091a7c41191f2feacfeb6d/cros_gralloc/cros_gralloc_module.cc
,
Mar 31 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/f1afe32a3de3a87490780d3019ab734b89102bef commit f1afe32a3de3a87490780d3019ab734b89102bef Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Fri Mar 31 17:40:28 2017 minigbm: cros_gralloc: fix modifier serialization/de-serialization We were only filling up the first five entries of the modifier array in the handle, and we were doing it incorrectly. Fix this. BUG= chromium:616275 TEST=compiles Change-Id: I435f88db1b16af919081122a502cbe7d7fc9e3d9 Reviewed-on: https://chromium-review.googlesource.com/457289 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Haixia Shi <hshi@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/f1afe32a3de3a87490780d3019ab734b89102bef/cros_gralloc/cros_alloc_device.cc [modify] https://crrev.com/f1afe32a3de3a87490780d3019ab734b89102bef/cros_gralloc/cros_gralloc_module.cc
,
Apr 4 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/2de66f78ea4a7438ec189ff021f28484bc07b56f commit 2de66f78ea4a7438ec189ff021f28484bc07b56f Author: Gurchetan Singh <gurchetansingh@chromium.org> Date: Tue Apr 04 21:08:14 2017 minigbm: vgem: add more supported formats The VM-tests in the Android PFQ require this now. BUG= chromium:616275 TEST=-cheets_CTSHelper.smoke doesn't crash in a VM Change-Id: Icd062210852810036ab349af10b350507e1b560b Reviewed-on: https://chromium-review.googlesource.com/467626 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/2de66f78ea4a7438ec189ff021f28484bc07b56f/vgem.c
,
Apr 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/minigbm/+/e2b3a0605aee0d9bde24c8167a5adeea1975a869 commit e2b3a0605aee0d9bde24c8167a5adeea1975a869 Author: Gurchetan Singh <gurchetansingh@google.com> Date: Thu Apr 13 03:22:38 2017 minigbm: virtio-gpu: add more supported formats There is a desire to use virtio-gpu + Android with kernel v4.4. Let's make it like the vgem backend, which aligns widths and heights to 64-pixel boundaries to support LLVM requirements. BUG= chromium:616275 TEST=no crashes when running Android with amd64-generic-cheets Change-Id: I5640a0f9cc84260d30eecddd84307170fa41d2ce Reviewed-on: https://chromium-review.googlesource.com/471879 Commit-Ready: Gurchetan Singh <gurchetansingh@chromium.org> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org> [modify] https://crrev.com/e2b3a0605aee0d9bde24c8167a5adeea1975a869/virtio_gpu.c
,
Apr 25 2017
|
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by bugdroid1@chromium.org
, Jun 1 2016