OSDN Git Service
Marissa Wall [Fri, 24 Jan 2020 23:05:57 +0000 (15:05 -0800)]
gralloc4: adds gralloc4 support
Implements the Allocator 4.0 and Mapper 4.0 interfaces.
Some notable features of the 4.0 interface:
- buffer metadata getter/setters
- buffer flushing
- buffer debugging (buffer listing and buffer id)
Exempt-From-Owner-Approval: OWNERS.android is not being parsed
Bug: b/
146515640
Test: m && launch_cvd
Test: m && launch_cvd --gpu_mode=drm_virgl
Change-Id: I27f020b4f661890bcc2817deb09ffb9af1c76f1b
Jason Macnak [Tue, 19 May 2020 16:14:33 +0000 (09:14 -0700)]
Merge 'goog/mirror-aosp-master' into 'goog/rvc-dev'
... to merge in http://crrev.com/c/
2171157 which
is needed for Cuttlefish on Minigbm Gralloc 4.
Also adds OWNERS.android to avoid merge conflicts
with upstream OWNERS file.
Bug: b/
146515640
Test: launch_cvd
Test: launch_cvd --gpu_mode=drm_virgl
Change-Id: Ic3b0812c7c35cc99fc96d3bdd3b8f811fb1507f5
Jason Macnak [Mon, 18 May 2020 19:05:53 +0000 (12:05 -0700)]
Merge 'aosp/upstream-master' into 'aosp/master'
... to merge in http://crrev.com/c/
2171157 which
is needed for Cuttlefish on Minigbm Gralloc 4.
Also adds OWNERS.android to avoid merge conflicts
with upstream OWNERS file.
Bug: b/
146515640
Test: launch_cvd
Test: launch_cvd --gpu_mode=drm_virgl
Change-Id: I6dafb814cc47e3193439cc10af74a0099962813e
Jason Macnak [Thu, 14 May 2020 17:57:17 +0000 (10:57 -0700)]
minigbm: Fix cast to avoid null pointer arithmetic
'external/minigbm/cros_gralloc/gralloc0/gralloc0.cc:417:50:
error: arithmetic on a null pointer treated as a cast from
integer to pointer is a GNU extension'
BUG=b:
146515640
TEST=m gralloc.minigbm
Change-Id: I2e86b676224657bdb656a45db4cfa49e84b61c2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2202518
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Auto-Submit: Jason Macnak <natsu@google.com>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
Chih-Yu Huang [Thu, 7 May 2020 02:54:24 +0000 (11:54 +0900)]
minigbm: virtio_gpu: add BO_USE_HW_VIDEO_DECODER usage to R8 format.
This combination will be used by ARCVM for video decoder bitstream
blobs.
BUG=b:
156442659
TEST=run e2e test with C2VDAComponent
Change-Id: Iad978f659c0a8edf3279b303794c2b840446be31
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2189994
Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
Auto-Submit: Chih-Yu Huang <akahuang@chromium.org>
Commit-Queue: Chih-Yu Huang <akahuang@chromium.org>
Tested-by: Chih-Yu Huang <akahuang@chromium.org>
Jason Macnak [Wed, 6 May 2020 20:38:12 +0000 (13:38 -0700)]
Merge 'goog/mirror-aosp-master' into 'goog/rvc-dev'
... to cherry-pick aosp/
1252358 into rvc-dev for gralloc 4
changes.
Bug: b/
146515640
Test: m && launch_cvd
Change-Id: I09be0f84945557878ffdf56b2579dba2879d1b50
Jason Macnak [Tue, 28 Apr 2020 18:21:16 +0000 (11:21 -0700)]
Fix YV12 dumb buffer plane sizes
Allocating a 1280x720 YUV420 (YV12) buffer results in
calling the create dumb ioctl with 1280x1080 and results
in a file with size
1384448
(1280 * 1080 =
1382400, ALIGN(
1382400, 4096) =
1384448).
The existing code calls drv_bo_from_format with the
aligned height of 768 which results in oversized planes
totaling a size of
1474560 bytes. This ultimately leads
to segfaults when running past the end of the mapped
file.
Because the dumb buffer iotcl height is computed using
the buffer's unaligned height (bo->meta.height), the
call to drv_bo_from_format should use the unaligned
height as well.
BUG=b:
146515640
TEST=cts android.media.cts.EncodeDecodeTest
Change-Id: I40893cf92caa9d35a89d21a3512604f361822222
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2171157
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
Bas Nieuwenhuizen [Mon, 27 Apr 2020 19:59:29 +0000 (19:59 +0000)]
Revert "amdgpu: Set USWC for SCANOUT images."
This reverts commit
d2c28439190dbf1ab678a4dae5aa23dada7808bd.
Reason for revert: b/
55018529: broke android.hardware.camera2.cts.RecordingTest#testVideoPreviewSurfaceSharing and fixing it is non-trivial
Original change's description:
> amdgpu: Set USWC for SCANOUT images.
>
> This is necessary for scanout from GTT. Without it, the kernel will
> migrate it to the carveout. For large resolutions this would not be
> feasible due to small carveout sizes and hence it is important that
> we alloc scanout from GTT.
>
> The original patch was on top of
>
4eebcea "amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default"
> which set USWC unconditionally, but has since been reverted. The
> main failure reason is being addressed in mesa-amd. This patch also
> still disables USWC if we can and the image will be read often on
> the CPU, to avoid staging textures during memory mapping.
>
> BUG=b:
153247881
> TEST=Run CtsCameraTestCases on Grunt.
> 4k YouTube video p/b
>
> Change-Id: If6393e60cea5d2a98a052d7c46604e0012de0618
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2134451
> Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
> Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
Bug: b:
153247881
Change-Id: I395798c637ab10a2cf2a2a65a3a418a18feb2310
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2167399
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
Min Zhao [Tue, 14 Apr 2020 22:51:04 +0000 (15:51 -0700)]
minigbm: synaptics: add texture source format support
BUG=b:
152384632
TEST=Test by making DUO video call
Change-Id: I2c7920652ab48699a66aedc11f56f44aea9d1c4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2162517
Tested-by: Daniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Bas Nieuwenhuizen [Mon, 6 Apr 2020 16:50:24 +0000 (18:50 +0200)]
amdgpu: Set USWC for SCANOUT images.
This is necessary for scanout from GTT. Without it, the kernel will
migrate it to the carveout. For large resolutions this would not be
feasible due to small carveout sizes and hence it is important that
we alloc scanout from GTT.
The original patch was on top of
4eebcea "amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default"
which set USWC unconditionally, but has since been reverted. The
main failure reason is being addressed in mesa-amd. This patch also
still disables USWC if we can and the image will be read often on
the CPU, to avoid staging textures during memory mapping.
BUG=b:
153247881
TEST=Run CtsCameraTestCases on Grunt.
4k YouTube video p/b
Change-Id: If6393e60cea5d2a98a052d7c46604e0012de0618
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2134451
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
Ilja H. Friedel [Fri, 17 Apr 2020 22:50:41 +0000 (15:50 -0700)]
Sort OWNERS and add ihf.
BUG=None.
TEST=None.
Change-Id: Id3efc609c23f71b1170ff6c50ef018693425f044
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2154052
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Mark Yacoub [Fri, 17 Apr 2020 20:27:48 +0000 (16:27 -0400)]
Remove i915_FORMAT_MOD_Y_TILED_CCS from modifier_order
Revert adding i915_FORMAT_MOD_Y_TILED_CCS to the modifiers options.
Reason for revert: Devices with internal 4K displays aren't able to drive external 4K monitors as well.
(This is a partial revert of crrev.com/c/
2044490)
BUG=chromium:979736,b:
153731006
Change-Id: I40a0c686ee348f94e25b399b9ab91d4d6d377bc5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2154983
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Mark Yacoub <markyacoub@google.com>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Mark Yacoub <markyacoub@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Auto-Submit: Mark Yacoub <markyacoub@google.com>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Commit-Queue: Matthew Blecker <matthewb@chromium.org>
Jao-ke Chin-Lee [Fri, 10 Apr 2020 00:12:12 +0000 (00:12 +0000)]
Revert "amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default"
This reverts commit
4eebcea0cc53e385f715730e883963e86761a2f9.
Reason for revert: Broke tast.video.DecodeAccel.*.h264_resolution_switch on grunt
Original change's description:
> amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default
>
> amdgpu kernel driver requires USWC flag for allowing bo
> allocation in GTT domain, hence enable it by default.
>
> BUG=b:
152378755
> TEST=On Dali play 4k YouTube video
>
> Signed-off-by: Shirish S <shirish.s@amd.com>
> Change-Id: Ic509701f683d184d3fb85b7616dc9a7ed467cfe3
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2128147
> Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
> Reviewed-by: Bas Nieuwenhuizen <basni@chromium.org>
> Reviewed-by: Drew Davenport <ddavenport@chromium.org>
Bug: b:
152378755
Change-Id: If382833a741faa5462df841cc801e60fd9fca77a
Exempt-From-Owner-Approval: revert.
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2145078
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Jao-ke Chin-Lee <jchinlee@google.com>
Shirish S [Tue, 31 Mar 2020 10:35:33 +0000 (16:05 +0530)]
amdgpu: make AMDGPU_GEM_CREATE_CPU_GTT_USWC flag default
amdgpu kernel driver requires USWC flag for allowing bo
allocation in GTT domain, hence enable it by default.
BUG=b:
152378755
TEST=On Dali play 4k YouTube video
Signed-off-by: Shirish S <shirish.s@amd.com>
Change-Id: Ic509701f683d184d3fb85b7616dc9a7ed467cfe3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2128147
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Drew Davenport <ddavenport@chromium.org>
Gurchetan Singh [Fri, 13 Sep 2019 00:26:45 +0000 (17:26 -0700)]
minigbm: virtgpu: refactor virtgpu features
This way, we can call the GET_PARAM ioctl in a loop.
BUG=chromium:924405
TEST=compile
Change-Id: I74359b758a864d72bdec04b7741bbe9e2b466f1c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2133073
Reviewed-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Lepton Wu <lepton@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Lepton Wu <lepton@chromium.org>
Gurchetan Singh [Fri, 28 Jun 2019 03:05:54 +0000 (20:05 -0700)]
minigbm: add resource_info callback for virtio-gpu
In ARC++, the wayland sevice and the video stack rely on
GRALLOC_DRM_GET_STRIDE and (*lock_ycbcr) with zero flags to return
the metadata associated with the buffer.
In the past, we've simply returned the metadata that was calculated
during allocation.
Since the current virtio-gpu API relies on shadow buffers, there's
actually two different sets of metadata:
1) The metadata of the shadow buffer --> useful for mapping
2) The metadata of the host resource --> useful for passing to Chrome
For the wayland_service and video stack, we want to return (2).
For the Android framework, we want to return (1).
BUG=b:
132939420
TEST=compile
Change-Id: I1134d651396ba68e064eaf2e3cad3cb3225d7c5c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1681383
Reviewed-by: David Stevens <stevensd@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Thu, 6 Feb 2020 02:18:52 +0000 (18:18 -0800)]
drm/virtgpu: add header
It's useless to try to keep up with a evolving UAPI, so just add it
here temporarily.
Change-Id: I18671f64cdf28af829fef1124f9f93cb4ffddcb4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2003266
Reviewed-by: David Stevens <stevensd@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Tue, 24 Mar 2020 20:53:51 +0000 (13:53 -0700)]
minigbm: mediatek: fix SCANOUT flag
All renderer target works are eligible for scanout, after looking
at mtk_plane_init.
BUG=b:
151064316
TEST=Mirror mode works again on Kukui
Change-Id: Ife8948c167c1d75622404af573f8cc92b3516416
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2118463
Reviewed-by: David Stevens <stevensd@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Leona Chou [Thu, 19 Mar 2020 07:06:12 +0000 (15:06 +0800)]
minigbm: add synaptics gbm driver
Change the ozone platform from cast to drm
add synaptics gbm driver for buffer management.
BUG=b:
152384632
TEST=use chromecast ui to verify drm
TEST=use ozone_demo app to verify drm
Change-Id: I9dff03e6b522ee84e34cbbcb28a40ca7857c4168
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2108458
Reviewed-by: Daniel Nicoara <dnicoara@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Daniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Bob Badour [Thu, 26 Mar 2020 01:56:41 +0000 (18:56 -0700)]
Remove redundant NOTICE copied from LICENSE.
Identified using the below shell script:
$ find -H . -name LICENSE -type f -print0 | xargs -0 dirname \
| while read dir; do \
if [ -f "${dir}/NOTICE" ] \
&& diff "${dir}/LICENSE" "${dir}/NOTICE" >/dev/null; then \
echo "${dir}/NOTICE"; \
fi; \
done
Now that http://r.android.com/r/
1235427 and http://r.android.com/r/
1238719 are
merged, LICENSE files copied into NOTICE files are no longer needed.
Bug:
67772237
Bug:
68860345
Test: manually built and diffed before and after system image notices
Change-Id: I09ef28a103ff9f4b186f4a977cfb66ae63ca01e1
Daniel Nicoara [Tue, 24 Mar 2020 23:24:43 +0000 (19:24 -0400)]
Add more scanout formats to meson driver
BUG=None
TEST=Allocated AB24 buffers with scanout bit to validate it works.
Change-Id: I415026034e2dd1598d519f00ef4e075731d28074
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2118939
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Daniel Nicoara <dnicoara@chromium.org>
Commit-Queue: Daniel Nicoara <dnicoara@chromium.org>
Gurchetan Singh [Tue, 24 Mar 2020 20:48:54 +0000 (13:48 -0700)]
minigbm: run presubmit.sh, modify OWNERs
BUG=none
TEST=none
Change-Id: I07ae6fa603117f16dee39b1b7e9ca3162daa0c97
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2118462
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Jason Macnak [Fri, 13 Mar 2020 16:55:13 +0000 (09:55 -0700)]
minigbm: virtio: check caps version before disabling formats
Gfxstream backend does not yet populate supported formats cap
info.
Bug: b/
146066070
Test: launch_cvd --gpu_mode=gfxstream
Change-Id: I28964c7701c5fd4cbe4ebc77f9fc553c64aeb924
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2103048
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Jason Macnak <natsu@google.com>
Commit-Queue: Jason Macnak <natsu@google.com>
David Stevens [Fri, 13 Mar 2020 06:24:37 +0000 (15:24 +0900)]
mediatek: get prime fd with drv_bo_get_plane_fd
Instead of calling drmPrimeHandleToFD directly, call drv_bo_get_plane_fd
so that the FD is exported with DRM_RDWR if possible.
When a handle is exported, the drm framework caches the underlying
dma_buf struct, even if all fd references are closed. This means that
the flags from the first export operation end up being the primary flags
for all subsequent export attempts. This change ensures that the O_RDWR
flag is set on the first call, to prevent permission checks in
PlatformSharedMemoryRegion from failing.
BUG=b:
151394062
TEST=youtube on arcvm on kukui
Change-Id: I9de7bb67b45b3669704f3487889b10ed62493418
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2101054
Tested-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Bas Nieuwenhuizen [Fri, 13 Mar 2020 10:21:34 +0000 (11:21 +0100)]
minigbm: dri: Set the plane sizes on bo creation.
I cut a corner here on a previous patch and apparently it is used.
Since DRI does not give us useful horizontal & vertical strides
(especially considering things like auxiliary surfaces), do this
calculation based on offsets & buffer strides.
BUG=
1061315
TEST=test_that graphics_Gbm on Zork.
Change-Id: Idbca7ce42f4f8a692129a2f8ab5d9c3ccd796496
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2100795
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Jason Macnak [Fri, 13 Mar 2020 16:36:33 +0000 (09:36 -0700)]
minigbm: virtio: check caps available before disabling formats
Gfxstream backend does not yet populate supported formats cap
info.
Bug: b/
146066070
Test: launch_cvd --gpu_mode=gfxstream
Change-Id: I2eac7bcb1c75e22f554bafc7ae354c961b73583e
Satyajit Sahu [Wed, 4 Mar 2020 10:23:30 +0000 (15:53 +0530)]
arc-cros-gralloc: amdgpu: Use DRI_PATH to load radeonsi
Use DRI_PATH cpp flag exported by ebuild to load the radeonsi
library. This ensures 64/32 bit libraries are loaded as per arch.
BUG=b:
148405947, b:
148045046, b:
139690910, b:
150425665, b:
150422260,
b:
150742051, b:
150742059
TEST=Launch play store, no black screen observed
Cq-Depend: chromium:
2098992
Change-Id: I12649457c82808aafb468d3d3123ff3eb028e7b6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2087294
Reviewed-by: Drew Davenport <ddavenport@chromium.org>
Tested-by: Drew Davenport <ddavenport@chromium.org>
Commit-Queue: Drew Davenport <ddavenport@chromium.org>
ChromeOS Developer [Mon, 2 Mar 2020 12:08:53 +0000 (13:08 +0100)]
minigbm: dri,amdgpu: Modifier support.
This adds modifier support to minigbm in the amdgpu driver.
This includes
(a) creation of images with modifiers
(b) imports
- Had to distinguish between legacy and non-legacy.
(c) Support for planes > format planes
BUG=b:
149819940
TEST=Login on a Zork device + play a YT video.
Change-Id: If58ada081aa254932e299536c48c18937266c2e8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2093212
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
ChromeOS Developer [Mon, 2 Mar 2020 15:32:09 +0000 (16:32 +0100)]
minigbm: dri: Support 2+ planes query for modifiers.
If the driver does not implement the new function, or
if modifier is INVALID this should return exactly the
same as before.
For LINEAR, DRI should return exactly the same as
minigbm for all the YUV formats.
BUG=b:
149819940
TEST=Use with followup patch and login on a Zork device + play a YT
video.
Change-Id: I6ea3b5827876844e510794b85212be51e5dfd68f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2093211
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
David Stevens [Mon, 9 Mar 2020 12:23:42 +0000 (12:23 +0000)]
Reland "minigbm: introduce test allocation"
This reverts commit
08d8dbf094fdc5aa9b92c7257e292edcf28602b2.
The original change returned early from drv_bo_create_with_modifiers,
which broke reference counting. This must have hit some race condition
in the tests, as they no longer flake after fixing reference counting.
Original change's description:
> Revert "minigbm: introduce test allocation"
>
> This reverts commit
f0e607c7d436134b53fd45a4ead36d714451be8a.
>
> Reason for revert: caused flaky regressions across the board.
>
> BUG=b:
150997559
> Exempt-From-Owner-Approval: revert.
>
> Original change's description:
> > minigbm: introduce test allocation
> >
> > This change introduces a GBM_TEST_ALLOC flag to minigbm, which allows
> > for the creation of fake buffers that can be used to determine buffer
> > metadata without actually allocating a full buffer. The new flag is
> > supported by the i915 backends. This flag also alleviates the need to
> > cache buffers when virtio_gpu queries metadata properties.
> >
> > BUG=b:
145994510
> > TEST=play youtube with arcvm demo image plus this and virgl change
> >
> > Change-Id: I9c6819aa3b5b674e4bb33b0656f2a9f155b0884e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1980688
> > Tested-by: David Stevens <stevensd@chromium.org>
> > Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
> > Commit-Queue: David Stevens <stevensd@chromium.org>
>
> Bug: b:
145994510
> Change-Id: I50079b7f0aabf38e1f373cac0f28c0e057eed760
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2093923
> Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
> Tested-by: Ilja H. Friedel <ihf@chromium.org>
> Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Bug: b:
150997559, b:
145994510
Change-Id: If0f02a4701bb6960b6413d6b0c00b481146914d9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2094068
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Tested-by: David Stevens <stevensd@chromium.org>
Ilja H. Friedel [Sun, 8 Mar 2020 04:48:13 +0000 (04:48 +0000)]
Revert "minigbm: introduce test allocation"
This reverts commit
f0e607c7d436134b53fd45a4ead36d714451be8a.
Reason for revert: caused flaky regressions across the board.
BUG=b:
150997559
Exempt-From-Owner-Approval: revert.
Original change's description:
> minigbm: introduce test allocation
>
> This change introduces a GBM_TEST_ALLOC flag to minigbm, which allows
> for the creation of fake buffers that can be used to determine buffer
> metadata without actually allocating a full buffer. The new flag is
> supported by the i915 backends. This flag also alleviates the need to
> cache buffers when virtio_gpu queries metadata properties.
>
> BUG=b:
145994510
> TEST=play youtube with arcvm demo image plus this and virgl change
>
> Change-Id: I9c6819aa3b5b674e4bb33b0656f2a9f155b0884e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1980688
> Tested-by: David Stevens <stevensd@chromium.org>
> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
> Commit-Queue: David Stevens <stevensd@chromium.org>
Bug: b:
145994510
Change-Id: I50079b7f0aabf38e1f373cac0f28c0e057eed760
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2093923
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Jason Macnak [Thu, 5 Mar 2020 22:14:25 +0000 (14:14 -0800)]
Merge 'aosp/upstream-master' into 'aosp/master'
... to update Minigbm for Cuttlefish to support always using
Minigbm as its Gralloc implementation with the 2D virtio-gpu
backend and for updating the base for implementing the latest
Gralloc version.
Bug: b/
123764798
Bug: b/
146515640
Test: m && launch_cvd
Test: m && launch_cvd --gpu_mode=drm_virgl
Change-Id: I196928cceb6bfede8a0cd302fe93f5cc1a9c29e5
Gurchetan Singh [Sat, 22 Feb 2020 01:59:01 +0000 (17:59 -0800)]
minigbm: vc4: add create_with_modifiers function
Change-Id: Iedba297cbcf69e3c87165bd54fce316b75a7a530
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2068463
Reviewed-by: Ewan Roycroft <ewan.roycroft@bbc.co.uk>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
David Stevens [Wed, 25 Dec 2019 07:43:36 +0000 (16:43 +0900)]
minigbm: introduce test allocation
This change introduces a GBM_TEST_ALLOC flag to minigbm, which allows
for the creation of fake buffers that can be used to determine buffer
metadata without actually allocating a full buffer. The new flag is
supported by the i915 backends. This flag also alleviates the need to
cache buffers when virtio_gpu queries metadata properties.
BUG=b:
145994510
TEST=play youtube with arcvm demo image plus this and virgl change
Change-Id: I9c6819aa3b5b674e4bb33b0656f2a9f155b0884e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1980688
Tested-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Jeffrey Kardatzke [Mon, 2 Mar 2020 20:25:55 +0000 (12:25 -0800)]
minigbm/msm: Update msm for removal of kms_query
Recently kms_query was removed which then caused the NV12 texture format
here to use UBWC, which is incorrect currently. This updates the msm
code similar to other changes.
I'm somewhat guessing at this, so please review this thoroughly.
BUG=b:
149190288
TEST=VDA tests pass on trogdor again
Change-Id: Ie3370623d324f8378d03bcc3562cd17561f5ba01
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2083720
Tested-by: Jeffrey Kardatzke <jkardatzke@google.com>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Commit-Queue: Jeffrey Kardatzke <jkardatzke@google.com>
Lepton Wu [Wed, 26 Feb 2020 23:13:34 +0000 (15:13 -0800)]
minigbm: virtio: Advertise BO_USE_SCANOUT correctly.
If host doesn't support BO_USE_SCANOUT for some format, we shouldn't
advertise it. Otherwise the bo will fail to allocate at host side
with minigbm.
BUG=b:
145603024
TEST=tast run 127.0.0.1:9222 arc.Boot.vm
Change-Id: I9e2c8141462b630bf18cc8859df607dca7b335c9
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2076580
Reviewed-by: Jason Macnak <natsu@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Lepton Wu <lepton@chromium.org>
Commit-Queue: Lepton Wu <lepton@chromium.org>
Auto-Submit: Lepton Wu <lepton@chromium.org>
David Stevens [Wed, 26 Feb 2020 08:14:43 +0000 (17:14 +0900)]
minigbm: virtio-gpu: wait for transfers when necessary
There are two situations where guest access and host access to buffers
need to be synchronized to ensure consistency:
- If the guest CPU can write to the mapping and something in the host
besides the GPU might access the buffer, flush must be synchronous
to ensure the host sees any guest changes. Waiting is not necessary
if only the GPU can access the buffer because any subsequent
commands will be properly ordered.
- If the guest CPU can access the mapping and something in the host
can write to the buffer, then invalidate must be synchronous to
ensure the guest sees any host changes.
To perform this synchronization, have the virtio_gpu backend wait for
the transfer to/from the host to complete before returning from
flush/invalidate. In the future, support for fence-based synchronization
should also be added.
BUG=b:
120456557 b:
136733358
TEST=arc-codec-test, ArcVideoPlayer
Change-Id: If4ad293886a67d93d85b0d4a682b31c66597d4ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1687736
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Tested-by: David Stevens <stevensd@chromium.org>
Jeffrey Kardatzke [Tue, 25 Feb 2020 18:33:37 +0000 (10:33 -0800)]
minigbm/msm: Add NV12 format for Android flex allocation
BUG=b:
149344523
TEST=HW decoder playback on ARC works w/ test codec manifest
Change-Id: Ic4c8ed8466a783dd9779b529e96be85298fc680e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2072600
Tested-by: Jeffrey Kardatzke <jkardatzke@google.com>
Reviewed-by: Fritz Koenig <frkoenig@chromium.org>
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Jeffrey Kardatzke <jkardatzke@google.com>
Ilja H. Friedel [Wed, 26 Feb 2020 02:50:51 +0000 (02:50 +0000)]
Reland "minigbm: i915: remove KMS query"
This reverts commit
b0787a9fdb40b580c473d79d0e55070a1fd4844a.
Reason for revert: I want to avoid a potentially broken build due to the revert. My local build is taking too long.
BUG=b:
149959202
Exempt-From-Owner-Approval: reland change.
Original change's description:
> Revert "minigbm: i915: remove KMS query"
>
> This reverts commit
0254a661f1511cea63d1b993d3d2b1457e371e36.
>
> Reason for revert: speculative revert to address octopus breakages
>
> BUG=b:
149959202
> Exempt-From-Owner-Approval: revert change.
>
>
> Original change's description:
> > minigbm: i915: remove KMS query
> >
> > This simplifies the code. We just have to make sure:
> >
> > - the scanout flag goes to X-tiled.
> >
> > BUG=b:
145747132
> > TEST=compile and run on Nami
> >
> > Cq-Depend: chromium:
1998011
> > Change-Id: Ic2a1c367017c28abc3a9307bea53c577bc33e31e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976275
> > Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
> > Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
> > Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
> > Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org>
>
> Bug: b:
145747132
> Change-Id: If6aa7e3623461b8f837dec581934ed86d4c4a573
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2073173
> Tested-by: Ilja H. Friedel <ihf@chromium.org>
> Reviewed-by: Jao-ke Chin-Lee <jchinlee@google.com>
> Commit-Queue: Jao-ke Chin-Lee <jchinlee@google.com>
Bug: b:
149959202, b:
145747132
Change-Id: I529f24309ee33bc6b500c65fd83a7f282dafef05
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2073478
Reviewed-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Jao-ke Chin-Lee <jchinlee@google.com>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Jao-ke Chin-Lee [Wed, 26 Feb 2020 02:14:19 +0000 (02:14 +0000)]
Revert "minigbm: i915: remove KMS query"
This reverts commit
0254a661f1511cea63d1b993d3d2b1457e371e36.
Reason for revert: speculative revert to address octopus breakages
BUG=b:
149959202
Exempt-From-Owner-Approval: revert change.
Original change's description:
> minigbm: i915: remove KMS query
>
> This simplifies the code. We just have to make sure:
>
> - the scanout flag goes to X-tiled.
>
> BUG=b:
145747132
> TEST=compile and run on Nami
>
> Cq-Depend: chromium:
1998011
> Change-Id: Ic2a1c367017c28abc3a9307bea53c577bc33e31e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976275
> Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
> Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
> Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org>
Bug: b:
145747132
Change-Id: If6aa7e3623461b8f837dec581934ed86d4c4a573
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2073173
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Reviewed-by: Jao-ke Chin-Lee <jchinlee@google.com>
Commit-Queue: Jao-ke Chin-Lee <jchinlee@google.com>
Jeffrey Kardatzke [Fri, 21 Feb 2020 23:35:01 +0000 (15:35 -0800)]
msm: Don't height align R8, height 1 buffers used for camera output
We height align to multiples of 64 and the camera will create a height
one buffer of length 13MB for JPEG output with R8 format. If we see R8
format with height 1, then don't do the height alignment.
BUG=b:
148152367
TEST=Camera app works on trogdor
Change-Id: I6e4260f37cc45fe3b7e9bd132844cbde4a58fc26
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2066796
Reviewed-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Jeffrey Kardatzke <jkardatzke@google.com>
Auto-Submit: Jeffrey Kardatzke <jkardatzke@google.com>
Commit-Queue: Jeffrey Kardatzke <jkardatzke@google.com>
Ricky Liang [Thu, 13 Feb 2020 02:42:46 +0000 (10:42 +0800)]
msm: add camera use flags for NV12 and R8
NV12 is used by the camera stack for YUV buffers. R8 is used by the
camera stack as a blob format for JPEG images.
BUG=b:
148152367
TEST=Manually with built-in camera app on Cheza
Change-Id: I484f1a5ede2dfece549706310d832086af087544
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2053665
Tested-by: Ricky Liang <jcliang@chromium.org>
Commit-Queue: Ricky Liang <jcliang@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Jason Macnak [Tue, 4 Feb 2020 00:36:46 +0000 (16:36 -0800)]
minigbm: virtio-gpu: check format support when adding combinations
Updates the minigbm virtio backend to check for renderer support
before advertising support of various combinations. This prevents
minigbm from advertising yuv/nv12 formats which are not supported
on Cuttlefish when running on GCE with Nvidia GPUs which do not
support GBM.
BUG=b:
123764798
TEST=build + launch_cvd
TEST=build + launch_cvd --gpu_mode=drm_virgl
Change-Id: I8d315a590b1953e6b73144409e6f0b8d15c7d2cd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2036962
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Jason Macnak <natsu@google.com>
Gurchetan Singh [Thu, 19 Dec 2019 18:56:51 +0000 (10:56 -0800)]
minigbm: remove KMS dependency
Adds unneeded complication and extra kernel patches.
Hopefully with Chrome using modifiers we can remove this.
BUG=b:
145747132
TEST=compile and run
Change-Id: I557bbd50828d7e39848c315a44a24587c9e2ce3a
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976277
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Gurchetan Singh [Thu, 19 Dec 2019 18:51:14 +0000 (10:51 -0800)]
minigbm: rockchip: remove KMS dependency
Same reason has i915.
BUG=b:
145747132
TEST=emerge-kevin minigbm
Change-Id: Id51c5e9e27a7bfae7db63730d637b8d5d0ff841f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976276
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Robert Tarasov <tutankhamen@chromium.org>
Gurchetan Singh [Tue, 17 Dec 2019 17:07:16 +0000 (09:07 -0800)]
minigbm: i915: remove KMS query
This simplifies the code. We just have to make sure:
- the scanout flag goes to X-tiled.
BUG=b:
145747132
TEST=compile and run on Nami
Cq-Depend: chromium:
1998011
Change-Id: Ic2a1c367017c28abc3a9307bea53c577bc33e31e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976275
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Auto-Submit: Gurchetan Singh <gurchetansingh@chromium.org>
Bas Nieuwenhuizen [Fri, 7 Feb 2020 19:20:30 +0000 (20:20 +0100)]
minigbm: Set modifiers for amdgpu/dri.
I tried kernel with modifier support and userspace without and it
failed due to having a linear (which is 0) modifier for the tiled
textures. Set the modifier explicitly.
BUG=b:
144023522
TEST=Chrome shows the login screen on zork (with some other bugfixes)
Change-Id: I806d3bb744e52d094e5b852679057cea3f0bcad0
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2043848
Tested-by: Bas Nieuwenhuizen <basni@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Bas Nieuwenhuizen <basni@chromium.org>
Jeffrey Kardatzke [Fri, 14 Feb 2020 00:19:03 +0000 (16:19 -0800)]
minigbm: Disable UBWC for texture formats
The venus driver doesn't understand UBWC formats yet so we shouldn't be
using them for texture formats that the video decoder writes to.
BUG=b:
149190288
TEST=video_decode_accelerator_tests pass on trogdor
Change-Id: I572c7ff9e1bddcd58136772b3ced07f79a219cba
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2055873
Tested-by: Jeffrey Kardatzke <jkardatzke@google.com>
Auto-Submit: Jeffrey Kardatzke <jkardatzke@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Fritz Koenig <frkoenig@chromium.org>
Commit-Queue: Fritz Koenig <frkoenig@chromium.org>
Mark Yacoub [Fri, 7 Feb 2020 16:02:22 +0000 (11:02 -0500)]
minigbm/i915: Add support for I915_FORMAT_MOD_Y_TILED_CCS
This adds support for allocating buffers with the
I915_FORMAT_MOD_Y_TILED_CCS modifier, which enables Intel's rendering
buffer compression.
(reland of crrev.com/c/
1706735)
BUG=979736
Change-Id: I90a8bc5fad0e1133d527b5ef4cff56d371763fc6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2044490
Reviewed-by: Mark Yacoub <markyacoub@google.com>
Reviewed-by: Robert Tarasov <tutankhamen@chromium.org>
Tested-by: Mark Yacoub <markyacoub@google.com>
Tested-by: Robert Tarasov <tutankhamen@chromium.org>
Auto-Submit: Mark Yacoub <markyacoub@google.com>
Commit-Queue: Mark Yacoub <markyacoub@google.com>
Matthias Springer [Mon, 3 Feb 2020 07:40:09 +0000 (16:40 +0900)]
cros_gralloc: Use entire graphics buffer if all-zeros access region is specified
This is a requirement of gralloc and the graphics.mapper HAL in Android.
BUG=b:
143924619
TEST=Photo capture in GCA succeeds and most camera CTS tests pass
Change-Id: Ic34a49aa7175c1c3b9f6c0738b5ab848e002b93d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2035207
Tested-by: Matthias Springer <springerm@chromium.org>
Commit-Queue: Matthias Springer <springerm@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
Auto-Submit: Matthias Springer <springerm@chromium.org>
Junichi Uekawa [Wed, 29 Jan 2020 06:45:16 +0000 (15:45 +0900)]
minigbm: Reformat with clang-format.
Touching the files seem to cause reformatting.
BUG=None
TEST=None
Change-Id: I31d2fbb01f4ee803da2b740dea036971e861bf60
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2027288
Tested-by: Junichi Uekawa <uekawa@chromium.org>
Reviewed-by: Lepton Wu <lepton@chromium.org>
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
Woody Chow [Fri, 17 Jan 2020 07:46:33 +0000 (16:46 +0900)]
Remove level=stride hack in virtio_gpu_bo_invalidate
The non-gbm path in virglrenderer does not need this hack
BUG=b:
142364535
TEST=Run these CTS tests
android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputCpuRead_R8G8B8A8_UNORM
android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputCpuRead_R8G8B8X8_UNORM
android.hardware.nativehardware.cts.AHardwareBufferNativeTests#SingleLayer_ColorTest_GpuColorOutputCpuRead_R5G6B5_UNORM
Change-Id: I672dcec7e3bb5d9e6841e6ea48f56f26a4130df2
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
2007028
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Woody Chow <woodychow@chromium.org>
Commit-Queue: Woody Chow <woodychow@chromium.org>
Gurchetan Singh [Thu, 19 Dec 2019 17:48:21 +0000 (09:48 -0800)]
minigbm: i915: get rid of tileable texture formats
I don't think Chrome ever used DRM_FORMAT_UYVY + DRM_FORMAT_YUYV.
Plus, R8 tiled isn't really useful.
BUG=b:
145747113
TEST=compile
Change-Id: I30bc3d966cc935dab725f96d39d86629436f5640
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1976273
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Maksim Sisov [Wed, 6 Mar 2019 11:04:12 +0000 (13:04 +0200)]
minigbm: Remove deprecated methods.
We have been running an effort to align minigbm apis with
the upstream libgbm.
The clients of minigbm are fixed, and the deprecated methods can be
removed now.
Change-Id: I09043ef5728af36298e3331c6694fde656b0d7e1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1505613
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Fri, 13 Dec 2019 17:37:01 +0000 (09:37 -0800)]
amdgpu: make libdir work on stock Linux
BUG=b:
145747113
TEST=emerge-grunt minigbm
Cq-Depend: chromium:
1967711
Change-Id: I10e721ffcbe8e36551269cf54e981be411389eaf
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1967731
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Hirokazu Honda [Tue, 14 Jan 2020 04:08:12 +0000 (04:08 +0000)]
rockchip: align height in NV12 format
This reverts commit
b80c6b9737dc22e7b71ca684fa85e51953465512.
Thanks to crrev.com/c/
1909686, camera HAL on scarlet can fill
camera content with arbitrary offsets. Remove the workaround
introduced in
b80c6b9737dc22e7b71ca684fa85e51953465512.
BUG=b:
140152839
TEST=GCA on scarlet
TEST=CCA on scarlet
Cq-Depend: chromium:
1906454
Change-Id: I6782e713b8f5dd57c5cdf6d1217adc9f73b61ac3
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1999866
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Gurchetan Singh [Thu, 12 Dec 2019 18:20:41 +0000 (10:20 -0800)]
minigbm: add gbm_bo_map2
Plan is convert all users to gbm_bo_map2, and then make gbm_bo_map
follow the upstream convention.
BUG=b:
145747350
TEST=emerge-nami minigbm
Change-Id: I7c7d54d519277e21ebfa99c57d9a738e9d257a57
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1965671
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Fri, 6 Dec 2019 18:24:53 +0000 (10:24 -0800)]
minigbm: implement new functions
These functions were newly added -- implement some, don't implement
surface functions.
This patch series is not bisectable.
BUG=b:
145747113
TEST=emerge-nami minigbm
Cq-Depend: chromium:
1963000
Change-Id: I36814955b754840daab31fa2762910aa44e80fd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1963002
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
Gurchetan Singh [Fri, 6 Dec 2019 17:52:03 +0000 (09:52 -0800)]
minigbm: gbm.h: organize our downstream patches
This patch series is not bisectable.
BUG=b:
145747113
TEST=compile
Change-Id: I447e554f27e55e43a4f5d3ca8f1725eda46852fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1963001
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Fri, 6 Dec 2019 17:11:53 +0000 (09:11 -0800)]
minigbm: gbm.h sync gbm header
First step to removing technical debt: sync header.
This patch series is not bisectable.
The header was copied from commit
1abca2b3c84a42ab64c466bc209db42c41bba5e3.
BUG=b:
145747113
TEST=emerge-nami minigbm
Cq-Depend: chromium:
1963000
Change-Id: Ic19a471887f57a46de75e71c3db4791d4ae9795d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1963000
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Dominik Behr <dbehr@chromium.org>
David Stevens [Wed, 25 Dec 2019 07:35:55 +0000 (16:35 +0900)]
minigbm: align BO_USE flags with GBM flags
Swap the values of the BO_USE encoder and decoder flags, to match the
values of the respective GBM flags.
BUG=none
TEST=compile
Change-Id: I419ca7b8234d4ce4e8a771ee608efac836b7d007
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1980687
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Queue: David Stevens <stevensd@chromium.org>
Fritz Koenig [Wed, 11 Dec 2019 00:30:34 +0000 (16:30 -0800)]
msm: Add scanout support for UBWC RGB8888
msm hardware does not support UBWC RGB, only BGR.
The creator and consumers know that UBWC buffers
are hw native format. This is an opaque buffer
that will not be accessed outside of the gpu.
BUG=b:
145579089
TEST=webgl aquarium goes to ubwc underlay
Change-Id: I4872958d00e1de623b2a9692249e88e4aa302334
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1960784
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Fritz Koenig <frkoenig@chromium.org>
Commit-Queue: Fritz Koenig <frkoenig@chromium.org>
Auto-Submit: Fritz Koenig <frkoenig@chromium.org>
Moja Hsu [Wed, 2 Oct 2019 06:47:10 +0000 (14:47 +0800)]
mediatek: Align height to 16 bytes for NV12
We want to use the same buffer from camera to JPEG hardware encoder so
align the height of camera usage buffer 16 that is required by the JPEG
hardware encoder.
BUG=b:
141516308
TEST=Check if data offset is correct. Take picture with CCA.
Change-Id: I0db10762494423f7c4a340725015839803b40af4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1984211
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org>
Commit-Queue: Hsu Wei-Cheng <mojahsu@chromium.org>
Hirokazu Honda [Fri, 11 Oct 2019 06:54:50 +0000 (15:54 +0900)]
mediatek: Allocate a buffer expected by encoder if BO_USE_HW_VIDEO_ENCODER
MediaTek driver expects 16 aligned width and 32 aligned height for an input
buffer on encoding [1]. Besides, there is an extra data between planes.
This changes the minigbm allocation to match the expectation though width
is aligned by 64 for the AMD cache-width optimization.
[1] https://chromium.googlesource.com/chromiumos/third_party/kernel/+/
3c551224d8600b956ed53097520501d58f31cf59/drivers/media/platform/mtk-vcodec/mtk_vcodec_enc.c#278
BUG=b:
144135251
TEST=ARC++ encoder on kukui
Change-Id: Id330a8a6b0a40040098920427e6e29f05fcb64d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1855520
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hsu Wei-Cheng <mojahsu@chromium.org>
Dominik Behr [Wed, 9 Oct 2019 22:43:52 +0000 (15:43 -0700)]
minigbm: virtio: restrict formats supported without 3D
Upstream virtio drm commit "drm/virtio: fix DRM_FORMAT_* handling" severely
restricts supported formats and strictly enforces 32bpp dumb buffers.
Therefore now we only support XRGB8888 for scanout, ARGB8888 for cursor,
ARGB8888 for rendering. Also, we pretend all buffers are 32bpp when allocating
as dumb buffers.
BUG=none
TEST=tast run 127.0.0.1:9222 webrtc.RTCPeerConnection.vp8
Change-Id: I6225a9cb3c49f0850c6d94b2d12efaf9a33b149e
Signed-off-by: Dominik Behr <dbehr@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1849773
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Hirokazu Honda [Fri, 6 Dec 2019 06:21:45 +0000 (15:21 +0900)]
virtio_gpu: Add HW_VIDEO_ENCODER usage flags to NV12
A virtual device resolves a flexible format to NV12. NV12 should
have the usage HW_VIDEO_ENCODER.
BUG=b:
145715379
TEST=Camera video recording on a virtual device
Change-Id: I8ea1c75087d35c19c472890138c603b74f1ef491
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1955344
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Matthias Springer <springerm@chromium.org>
Reviewed-by: Hirokazu Honda <hiroh@chromium.org>
Tested-by: Matthias Springer <springerm@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Drew Davenport [Tue, 12 Nov 2019 19:03:59 +0000 (12:03 -0700)]
minigbm: dri: Don't redefine GL typedefs
dri_interface.h now #includes GL/gl.h so there is no need to define
these.
BUG=b:
143621384
TEST=build/deploy minigbm and arc-cros-gralloc for grunt
Cq-Depend: chromium:
1907530
Change-Id: Ic370dc1404156c8e5de5dc9490a8c68b49661c00
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1912763
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Ilja H. Friedel <ihf@chromium.org>
Tested-by: Ilja H. Friedel <ihf@chromium.org>
Jasmine Chen [Wed, 14 Aug 2019 07:28:22 +0000 (15:28 +0800)]
Add MediaTek private format for reprocessing
In this CL, we add DRM_FORMAT_MTISP_SXYZW10, a 10-bit private bayer
format for private reprocessing on MediaTek ISP P1. We change the logic
around resolving the DRM format for IMPLEMENTATION_DEFINED buffers. When
CAMERA_READ usage flag is present, we consider it to be a buffer for
reprocessing and resolve the format to our private format.
BUG=b:
130851309
TEST=Emerge and deploy minigbm cros-camera-libcbm cros-camera
cros-camera-hal-mtk, then verify that ZSL is working.
Change-Id: I8d9fd4e6a20c284751915e136bef0b4ceb143d78
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1753902
Tested-by: Jasmine Chen <lnishan@google.com>
Auto-Submit: Jasmine Chen <lnishan@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Jasmine Chen <lnishan@google.com>
Hirokazu Honda [Tue, 3 Dec 2019 02:01:59 +0000 (11:01 +0900)]
gralloc0: Unmask HW_VIDEO_ENCODER usage in the case of non-YUV formats
Non-yuv formats are allocated with HW_VIDEO_ENCODER usage as an
intermediate buffers, for example, camera fills. They are converted to
YUV formats finally when they are fed to a hw encoder. So there is no
need of allocating the buffers with HW_VIDEO_ENCODER.
TEST=Recording with GCA
TEST=android.media.cts.EncodeVirtualDisplayTest#testEncodeVirtualDisplay on kevin
Cq-Depend: chromium:
1947685
Change-Id: Ic5c09823de1f53ffb6117d07327779e46f32a3f6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1940034
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Hirokazu Honda [Tue, 3 Dec 2019 02:12:09 +0000 (02:12 +0000)]
Revert "Enable to allocate XBGR8888 with HW_VIDEO_ENCODER usage"
This reverts commit
aa6b072d4ce2d445e48b9978ac3f0bc73cd97176.
Reason for revert: This change is unnecessary because HW_VIDEO_ENCODER
usage is unmasked in crrev.com/c/
1940034.
Original change's description:
> Enable to allocate XBGR8888 with HW_VIDEO_ENCODER usage
>
> crrev.com/c/
1904910 masks the HW_VIDEO_ENCODER usage when
> BO_USE_HW_VIDEO_ENCODER is specified in gralloc. A camera stack allocates
> XBGR8888 buffer with BO_USE_HW_VIDEO_ENCODER usage in ARC++ video
> recording if the camera HAL version is V1. Thanks to crrev.com/c/
1904910,
> it is necessary to enable to allocate XBGR8888 with HW_VIDEO_ENCODER usage.
>
> BUG=b:
144135251
> TEST=Recording with GCA
>
> Change-Id: I61beee87a1531c0dea371861ffb31ce2189ef854
> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1934068
> Tested-by: Hirokazu Honda <hiroh@chromium.org>
> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
> Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Bug: b:
144135251
Cq-Depend: chromium:
1940034
Change-Id: I8d64c97399a601487fc84a6ecae337c235bd4464
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1947685
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Hirokazu Honda [Mon, 25 Nov 2019 07:48:30 +0000 (16:48 +0900)]
Enable to allocate XBGR8888 with HW_VIDEO_ENCODER usage
crrev.com/c/
1904910 masks the HW_VIDEO_ENCODER usage when
BO_USE_HW_VIDEO_ENCODER is specified in gralloc. A camera stack allocates
XBGR8888 buffer with BO_USE_HW_VIDEO_ENCODER usage in ARC++ video
recording if the camera HAL version is V1. Thanks to crrev.com/c/
1904910,
it is necessary to enable to allocate XBGR8888 with HW_VIDEO_ENCODER usage.
BUG=b:
144135251
TEST=Recording with GCA
Change-Id: I61beee87a1531c0dea371861ffb31ce2189ef854
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1934068
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Miguel Casas [Tue, 19 Nov 2019 21:10:17 +0000 (16:10 -0500)]
i915: allow allocating AR30/AB30 for scanout
This CL extends the current M.O. of allowing ARGB formats for
scanout if the corresponding XRGB format supports it, for XR30
and XB30.
(Needs crrev.com/c/
1925247 patched in).
BUG=chromium:949260
TEST=null_platform_tests -f AR30 etc on kohaku/hatch
Change-Id: I720e82a17873e5f635f530bf3eefff24c2e3ab77
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1925250
Tested-by: Miguel Casas <mcasas@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Hirokazu Honda [Fri, 8 Nov 2019 03:57:55 +0000 (12:57 +0900)]
gralloc0: Add BO_USE_HW_VIDEO_ENCODER mask in GRALLOC_USAGE_HW_VIDEO_ENCODER
BUG=b:
144135251
TEST=ARC++ encoder on kukui
Change-Id: Ic15adebf2266b51aeaa19e863369e1c49c4fab03
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1904910
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Auto-Submit: Hirokazu Honda <hiroh@chromium.org>
Commit-Queue: Hirokazu Honda <hiroh@chromium.org>
Lepton Wu [Sat, 9 Nov 2019 06:58:12 +0000 (22:58 -0800)]
minigbm: virtio_gpu: add NV12 back as texture source format
BUG=b:
141082210
TEST=ozone_gl_unittests
Change-Id: I8288806796038f46ef9cb61afbf37443505dc79e
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1907996
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Lepton Wu <lepton@chromium.org>
Auto-Submit: Lepton Wu <lepton@chromium.org>
Commit-Queue: Lepton Wu <lepton@chromium.org>
Jason Macnak [Tue, 12 Nov 2019 18:53:05 +0000 (10:53 -0800)]
Make drv_mapping_destroy() be called in release builds
The entire assert statement is currently being dropped when NDEBUG is defined
which causes mappings to never be cleaned up on bo destruction. When mappings
are not cleaned up, a new buffer that gets a recycled handle may find an old
mapping in drv_bo_map() which is not valid for the new buffer.
BUG=b:
123764798
TEST=built and ran with cuttlefish locally
Change-Id: Ib7147c3f5ed3a2b84793dfc2b17236ee0d92ac13
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1912760
Tested-by: Jason Macnak <natsu@google.com>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Jason Macnak <natsu@google.com>
Xin Li [Wed, 30 Oct 2019 21:21:41 +0000 (14:21 -0700)]
[automerger skipped] DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@
5915889 into stage-aosp-master am:
30f6c76384
am:
d78d3b2d59 -s ours
am skip reason: subject contains skip directive
Change-Id: Iaae5d34210bf805c4751f3810f786026d661cef2
Xin Li [Wed, 30 Oct 2019 20:57:46 +0000 (13:57 -0700)]
DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@
5915889 into stage-aosp-master
am:
30f6c76384
Change-Id: Iaedce822ce9ce5cf9979aa296f68ef9ebb8bbcfa
Xin Li [Wed, 30 Oct 2019 18:48:14 +0000 (11:48 -0700)]
DO NOT MERGE - qt-qpr1-dev-plus-aosp-without-vendor@
5915889 into stage-aosp-master
Bug:
142003500
Change-Id: Ia09f52b985183da2799aae2796b2836d158bc559
David Stevens [Thu, 24 Oct 2019 05:59:31 +0000 (14:59 +0900)]
minigbm: virtio-gpu: bo_invalidate fixes
When invalidating a buffer, minigbm needs to ensure that the
host-to-guest transfer completes before returning from invalidate, to
prevent the host from overwriting subsequent guest changes.
However, invalidate is only necessary when the host can modify the
buffer. For now, just check for buffers the virtio gpu device can write
to (BO_USE_RENDERING). More flags can be added later for other virtio
devices.
BUG=b:
142687692
TEST=manual - Launch play store and verify there is no black app window.
Change-Id: Id9475e6037ff667324f4fd95a94b1723c18ea2d2
Reviewed-on: https://chromium-review.googlesource.com/
1875897
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Reviewed-by: Lepton Wu <lepton@chromium.org>
Gurchetan Singh [Tue, 24 Sep 2019 17:37:59 +0000 (10:37 -0700)]
minigbm: rockchip/mediatek: add PROTECTED flag back in
crrev.com/c/
1643677 removed it, so we should add it back in.
BUG=b:
141347335
TEST=GtsExoPlayerTestCases/GtsMediaTestCases
Change-Id: Ic49bd4158349da6170e8435c5c516954fe1646fa
Reviewed-on: https://chromium-review.googlesource.com/
1821693
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Ready: Kazuhiro Inaba <kinaba@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
David Stevens [Wed, 25 Sep 2019 02:17:48 +0000 (11:17 +0900)]
minigbm: i915: fix planar height alignment
Aligned planar height should be calculated from the planar height, not
the buffer height.
BUG=b:
133292033
TEST=ArcVideoTest renders video correctly (w/a few other changes)
Change-Id: I1dc35ab4eebf9a5a86b2a9befaeb817a56dcfec2
Reviewed-on: https://chromium-review.googlesource.com/
1824304
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: Tomasz Figa <tfiga@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Gurchetan Singh [Tue, 24 Sep 2019 17:20:07 +0000 (10:20 -0700)]
minigbm: modify gbm.pc
virglrenderer will start requiring gbm >= 18.0.0, so add that
here.
BUG=none
TEST=local build
Change-Id: I40e63140d8b0ad6a76fc273c9c1e561c264aad7d
Reviewed-on: https://chromium-review.googlesource.com/
1821692
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Ready: Kazuhiro Inaba <kinaba@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Robert Tarasov <tutankhamen@chromium.org>
Alexandre Courbot [Tue, 1 Oct 2019 07:07:31 +0000 (16:07 +0900)]
mediatek: provide NV12 buffers for video decoding for MT8183
crrev.com/c/
1767450 changed the default android flexible buffer format
back to YV12, but the video decoding scenario on MT8183 requires NV12
buffers. Add an exception for this case.
BUG=b:
141732718
TEST=Play H.264 video with acceleration using both Chrome and Android's
Youtube.
Change-Id: Ie4b80389b22650450ea45f5cdea36a00360899a9
Reviewed-on: https://chromium-review.googlesource.com/
1833362
Tested-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Ready: Alexandre Courbot <acourbot@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Fri, 21 Jun 2019 03:48:01 +0000 (20:48 -0700)]
minigbm: allocate YV12 according to Android requirements
If we teach GBM/Virgl protocol/crosvm about
DRM_FORMAT_YVU420_ANDROID, we'll have probably teach Chrome too.
Since nobody uses DRM_FORMAT_YVU420 on GBM side really, let's
just resolve to DRM_FORMAT_YVU420_ANDROID for now.
Since DRM_FORMAT_YVU420_ANDROID is strictly defined, this call can
be probably be completely resolved in the guest in the future
possibly.
BUG=b:
132939420
TEST=compile only
Change-Id: I834e1d2644b199d74ac6efc5920e9040097246c7
Reviewed-on: https://chromium-review.googlesource.com/
1670555
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
David Stevens [Tue, 3 Sep 2019 01:45:33 +0000 (10:45 +0900)]
minigbm: virtio-gpu: pass more bind flags
Change-Id: I771b5e7ce8e028477570bff8bc7eee6822aaf22b
Reviewed-on: https://chromium-review.googlesource.com/
1786418
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: David Stevens <stevensd@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Ricky Liang [Tue, 24 Sep 2019 05:15:55 +0000 (13:15 +0800)]
mediatek: Fix the metadata for R8
The R8 format should be configured with LINEAR_METADATA.
BUG=b:
141328294
TEST=manually on Kukui
Change-Id: I612e78d28b63960428a6dce04104c3266b124a23
Reviewed-on: https://chromium-review.googlesource.com/
1816204
Tested-by: Ricky Liang <jcliang@chromium.org>
Commit-Ready: Ricky Liang <jcliang@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Gurchetan Singh [Tue, 24 Sep 2019 17:18:59 +0000 (10:18 -0700)]
minigbm: modify OWNERS
Having more reviewers is always nice.
BUG=none
TEST=none
Change-Id: I6990e248f0c1a2c4b9c791110dbf32585e296507
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1821691
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Sat, 14 Sep 2019 01:36:52 +0000 (18:36 -0700)]
minigbm: fix flags to align with GBM
For virtio, we can just forward use flags to host gbm. For that
to work, these flags must be aligned.
BUG=chromium:924405
TEST=compile
Change-Id: I64c03b4a374296a59749dccf65ab9ebeb59fc762
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1804827
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Gurchetan Singh [Thu, 19 Sep 2019 16:55:18 +0000 (09:55 -0700)]
minigbm: factor out metadata from struct bo
Generated using coccinelle:
@@
struct bo *B;
@@
- B->width
+ B->width
BUG=chromium:924405
TEST=compile
Change-Id: I4da1731a650d198ce7f2bda3031a47b2f9c3041c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1815566
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
David Stevens [Tue, 3 Sep 2019 01:49:50 +0000 (10:49 +0900)]
minigbm: cros_gralloc: handle video decoder flag
Although gralloc0 doesn't include a video decoder flag, the IAllocator
gralloc0 passthrough gives the lower 32 bits of the BufferUsage flags
to gralloc0. This change makes cros_gralloc add the video decoder BO_USE
flag when that happens. It also adds some missing combinations for when
the BO_USE_HW_VIDEO_DECODER flag is actually set.
Change-Id: If2248f33ac2456c077fe63e90d2c39e7f57e2568
Reviewed-on: https://chromium-review.googlesource.com/
1786419
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Tue, 4 Jun 2019 23:53:54 +0000 (16:53 -0700)]
minigbm: rockchip/mediatek: remove R8 as texture source on Mali/Bifrost
EGL can't import this format on Mali/Bifrost.
BUG=chromium:969044
TEST=Ozone unit test
Change-Id: I356ec2bd35030af600b268bf39565e30e16465f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1643677
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Commit-Queue: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Kazuhiro Inaba [Thu, 19 Sep 2019 03:18:31 +0000 (03:18 +0000)]
Revert "minigbm: remove vgem backend"
This reverts commit
d014ed5b4c12e7c806260e2ae304accfcd6c73aa.
Reason for revert: broke video tests on rockchip devices b/
141093122
Bug:
141278896
Bug:
141093122
Original change's description:
> minigbm: remove vgem backend
>
> It's not used anymore, or atleast shouldn't be.
>
> BUG=none
> TEST=CQ will test
>
> Change-Id: Ib9232a7704bd39e59a8e2a5bc2ece62c5dd8e9c1
> Reviewed-on: https://chromium-review.googlesource.com/
1643676
> Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
> Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Bug: none
Change-Id: I6645e9b32ebc6dcd97d126cc40523f516a201a05
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/minigbm/+/
1812540
Reviewed-by: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Auto-Submit: Kazuhiro Inaba <kinaba@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Nataraj Deshpande [Wed, 21 Aug 2019 22:19:46 +0000 (15:19 -0700)]
minigbm: Add support for RGBA_1010102 and RGBA_FP16
The CL adds support for HAL_PIXEL_FORMAT_RGBA_1010102 and
HAL_PIXEL_FORMAT_RGBA_FP16 in order to supplement Android
framework's VkFormats: VK_FORMAT_A2B10G10R10_UNORM_PACK32
and VK_FORMAT_R16G16B16A16_SFLOAT.
Fixes following dEQP failures on eve-arcnext.
dEQP-VK.wsi.android.swapchain.create#image_format
dEQP-VK.wsi.android.swapchain.simulate_oom#image_format
dEQP-VK.wsi.android.colorspace#basic
dEQP-VK.wsi.android.incremental_present.*
BUG=b:
139890132
TEST=Run dEQP-VK.wsi.android.* tests on eve-arcnext.
Change-Id: I0b52d9f970d34fe69e1b8c31a1f096365a74d8ec
Signed-off-by: Nataraj Deshpande <nataraj.deshpande@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/
1769261
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Sat, 29 Jun 2019 00:21:40 +0000 (17:21 -0700)]
minigbm: virtio-gpu: stride == level
Unfortunately, the kernel doesn't actually pass the guest layer_stride
and guest stride to the host (compare virtio_gpu.h and virtgpu_drm.h).
We can use the level to work around this.
BUG=b:
132939420
TEST=none
Change-Id: I96927b22fae2662a3a37e5191b3dfdf86c99dd84
Reviewed-on: https://chromium-review.googlesource.com/
1683087
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: David Stevens <stevensd@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: David Stevens <stevensd@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Gurchetan Singh [Tue, 4 Jun 2019 23:27:56 +0000 (16:27 -0700)]
minigbm: remove vgem backend
It's not used anymore, or atleast shouldn't be.
BUG=none
TEST=CQ will test
Change-Id: Ib9232a7704bd39e59a8e2a5bc2ece62c5dd8e9c1
Reviewed-on: https://chromium-review.googlesource.com/
1643676
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Kansho Nishida [Fri, 14 Jun 2019 09:28:18 +0000 (18:28 +0900)]
minigbm: virtio-gpu: Allocate one buffer even for multi plane format
It seems that DRM_IOCTL_VIRTGPU_RESOURCE_INFO ioctl doesn't work.
BUG=b:
133385154 b:
132939420
TEST=None
Change-Id: I3eec946894b0935a5fcd774346194087bb831249
Signed-off-by: Kansho Nishida <kansho@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/
1659792
Tested-by: David Stevens <stevensd@chromium.org>
Commit-Ready: Keiichi Watanabe <keiichiw@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Hirokazu Honda [Fri, 30 Aug 2019 02:07:53 +0000 (11:07 +0900)]
rockchip: Don't align height in NV12 format
crrev.com/c/
1729176 corrected a wrong NV12 buffer allocation on rockchip. After
the CL, the width and height both are aligned by 16. Since GBM API doesn't
notify the aligned height to an application. The application must handle the
planes with offsets.
It turns out that Camera HAL on ChromeOS doesn't handle the allocated buffer
with offsets. In other words, it doesn't think of extra data between planes.
This causes, in a camera preview, a green line at bottom and a strange blue line
due to misposition of color planes.
This CL is a temproal workaround for the Camera HAL issue. This CL changes
minigbm implementation to not align height. This works because present video
encoder and decoder always calls GBM API with the height already aligned by
video driver. Note that a camera stack on encoding process will have to allocate
a proper buffer with non-aligned height in the future. This must be a temporal
workaround.
BUG=b:
140152839
TEST=Confirm no green line in camera view and recorded video with Camera app
Change-Id: Ide53fa6801fc4bdabcfbe46004d01f5ab83a002f
Reviewed-on: https://chromium-review.googlesource.com/
1775953
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Commit-Ready: Hirokazu Honda <hiroh@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Xin Li [Sun, 8 Sep 2019 22:13:54 +0000 (15:13 -0700)]
[automerger skipped] Merge qt-r1-dev-plus-aosp-without-vendor (
5817612) into stage-aosp-master am:
513558d983 -s ours am:
0484cc459d -s ours
am:
80aeabe082 -s ours
am skip reason: change_id Ibfac366eff7b1e63b2b6757d2600ef20f19e71a6 with SHA1
03d46b8ec2 is in history
Change-Id: I128cf1d3c3c1f29d58d30b3df1cfd12856d28fef
Xin Li [Sun, 8 Sep 2019 21:52:48 +0000 (14:52 -0700)]
[automerger skipped] Merge qt-r1-dev-plus-aosp-without-vendor (
5817612) into stage-aosp-master am:
513558d983 -s ours
am:
0484cc459d -s ours
am skip reason: change_id Ibfac366eff7b1e63b2b6757d2600ef20f19e71a6 with SHA1
03d46b8ec2 is in history
Change-Id: I774dc301a4868b98f5cd4858b52cf7e0b1ebb327
Xin Li [Sun, 8 Sep 2019 21:32:24 +0000 (14:32 -0700)]
[automerger skipped] Merge qt-r1-dev-plus-aosp-without-vendor (
5817612) into stage-aosp-master
am:
513558d983 -s ours
am skip reason: change_id Ibfac366eff7b1e63b2b6757d2600ef20f19e71a6 with SHA1
03d46b8ec2 is in history
Change-Id: If8b46edb3d19fb36581337e19773a85fdc3e74f1