New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 653283 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

autotest: migrate drm.py to use gbm_bo_map for screenshot capturing

Project Member Reported by h...@chromium.org, Oct 5 2016

Issue description

See also bug 650465 for background.

In third_party/autotest/files/client/cros/graphics/drm.py currently the python routine "crtcScreenshot" is binding onto libdrm.so drmIoctl( DRM_IOCTL_MODE_MAP_DUMB).

The problem with MAP_DUMB is that behavior is driver-specific. In the tegra case, tegra drm does not remap blocklinear buffers and instead just returns the raw mmapped buffer.

The goal is to migrate drm.py to bind to libgbm.so gbm_bo_map (and gbm_bo_unmap) for screenshot capturing.
 

Comment 1 by h...@chromium.org, Oct 6 2016

Cc: za...@chromium.org

Comment 2 by h...@chromium.org, Jan 28 2017

Cc: dbehr@chromium.org h...@chromium.org
Owner: ----
+ dbehr@ who recently worked on drm.py and is familiar with cffi

Comment 3 by dbehr@chromium.org, Jan 30 2017

Owner: dbehr@chromium.org

Comment 4 by dbehr@chromium.org, Jun 6 2017

Cc: deepak.s...@amd.com
Labels: GPU-AMD
Owner: djmk@chromium.org
Joe,

We need to add libgbm.so imports using ctypes in drm.py and start using GBM map/unmap so we can take advantage of software tiling/untiling implemented there.
Also, AMD folks need to implement their tiling/untiling in their gbm backend, so please work with Deepak and others from AMD who will be working on gbm.
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/minigbm/+/5f61c792038b93f1215e3f5ae60deb4c6e600674

commit 5f61c792038b93f1215e3f5ae60deb4c6e600674
Author: Joe Kniss <djmk@google.com>
Date: Thu Jun 29 17:37:40 2017

Add tegra_bo_import to query tile format.

When a buffer is imported, knowledge of tiling is needed for later calls
to map.  Add this functionality for tegra gpus.

The Tegra display engine only knows about 3 compression schemes, of
which we only use two (NV_MEM_KIND_C32_2CRA and NV_MEM_KIND_PITCH), these
are correlated to DRM_TEGRA_GEM_TILING_MODE_BLOCK and
DRM_TEGRA_GEM_TILING_MODE_PITCH respectively in the tegra drm driver.

BUG= chromium:653283 , b:38152101
TEST=graphicsSanity on nyan_big

Change-Id: Ie28212494ad109bd8caa929a9271fc4c55c5c977
Reviewed-on: https://chromium-review.googlesource.com/553517
Commit-Ready: Joe Kniss <djmk@google.com>
Tested-by: Joe Kniss <djmk@google.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>

[modify] https://crrev.com/5f61c792038b93f1215e3f5ae60deb4c6e600674/tegra.c

Project Member

Comment 6 by bugdroid1@chromium.org, Jul 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/557946d18d625f8c14e0a1bf6a23d91b17d70f1d

commit 557946d18d625f8c14e0a1bf6a23d91b17d70f1d
Author: Joe Kniss <djmk@google.com>
Date: Fri Jul 14 02:46:17 2017

Implement python screenshots using GBM library.

... so that untiling is no longer handled in python code.

BUG= chromium:653283 , b:38152101
TEST=Ran tests that use screenshot.py or crtcScreenShot()

Change-Id: Idb4d4933015d70c35a404a6ef0cbc3fbb664f65c
Reviewed-on: https://chromium-review.googlesource.com/550737
Commit-Ready: Joe Kniss <djmk@google.com>
Tested-by: Joe Kniss <djmk@google.com>
Reviewed-by: Joe Kniss <djmk@google.com>

[modify] https://crrev.com/557946d18d625f8c14e0a1bf6a23d91b17d70f1d/client/common_lib/cros/arc.py
[modify] https://crrev.com/557946d18d625f8c14e0a1bf6a23d91b17d70f1d/client/bin/screenshot.py
[add] https://crrev.com/557946d18d625f8c14e0a1bf6a23d91b17d70f1d/client/cros/graphics/gbm.py
[modify] https://crrev.com/557946d18d625f8c14e0a1bf6a23d91b17d70f1d/client/cros/graphics/drm.py
[modify] https://crrev.com/557946d18d625f8c14e0a1bf6a23d91b17d70f1d/client/cros/graphics/graphics_utils.py

Comment 7 by djmk@chromium.org, Jul 18 2017

Status: Fixed (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/1a1a3e19339635cfa8d8c69efa9927612303d3dd

commit 1a1a3e19339635cfa8d8c69efa9927612303d3dd
Author: Joe Kniss <djmk@google.com>
Date: Wed Aug 16 07:17:52 2017

Updating gbm tests.

Adds tests for tilied buffer mmaps.

BUG= chromium:653283 , b:38152101
TEST=cyan graphics_Gbm

Change-Id: Iea0695d64b379de5399a8c4f7812cebe0dd74fb2
Reviewed-on: https://chromium-review.googlesource.com/571304
Commit-Ready: Stéphane Marchesin <marcheu@chromium.org>
Tested-by: Joe Kniss <djmk@google.com>
Reviewed-by: Joe Kniss <djmk@google.com>

[modify] https://crrev.com/1a1a3e19339635cfa8d8c69efa9927612303d3dd/client/site_tests/graphics_Gbm/src/gbmtest.c

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/04fd06e418ef3cb3ed5dfb583ac650310177f5b0

commit 04fd06e418ef3cb3ed5dfb583ac650310177f5b0
Author: Satyajit Sahu <satyajit.sahu@amd.com>
Date: Tue Oct 03 21:26:11 2017

amdgpu-addrlib: Expose AddrComputeSurfaceAddrFromCoord

AddrComputeSurfaceAddrFromCoord needs to be called from minigbm
to convert tiled buffer to linear.

BUG=b:38152101,  chromium:653283 
TEST=Tested by running graphics_Sanity autotest and mmap_test.

Change-Id: Id607ca1f9039d99dff141d165647cbca1b0ef671
Signed-off-by: Satyajit Sahu <satyajit.sahu@amd.com>
Reviewed-on: https://chromium-review.googlesource.com/670420
Commit-Ready: Drew Davenport <ddavenport@chromium.org>
Reviewed-by: Dominik Behr <dbehr@google.com>

[rename] https://crrev.com/04fd06e418ef3cb3ed5dfb583ac650310177f5b0/media-libs/amdgpu-addrlib/amdgpu-addrlib-12.0.1-r1.ebuild
[modify] https://crrev.com/04fd06e418ef3cb3ed5dfb583ac650310177f5b0/media-libs/amdgpu-addrlib/files/12.1-amdgpu-addrlib.patch

Comment 10 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment