[roll] Roll fuchsia [display][banjo] Merge DisplayCaptureInterface into
DisplayControllerInterface.

Both DisplayControllerInterface and DisplayCaptureInterface banjo
protocols were "callback interfaces", which were workarounds for the
display engine drivers to emit events that could be handled by the
display coordinator. In the fuchsia.hardware.display.engine FIDL
library where real FIDL events are supported, all the callback
methods are defined in the Engine protocol as FIDL events.

The SetDisplayCaptureInterface() method in the DisplayControllerImpl
served two purposes: The display coordinator used this method to
(explicitly, as indicated by the method name) set the event callback
handlers on display engine drivers, and (implicitly) check whether
the display capture feature is supported.

To make it easier for display engine drivers to migrate from banjo
to FIDL, this change makes the following changes to the fuchsia.
hardware.display.controller banjo protocol:

- It merges the DisplayCaptureInterface protocol into
  DisplayControllerInterface, so that there is only one callback
  interface between the display coordinator and the engine drivers.

- It removes the SetDisplayCaptureInterface() banjo method from the
  DisplayControllerImpl banjo protocol. The deleted banjo method
  is replaced by the following methods:

  * A new method IsCaptureSupported() is added for the display
  coordinator to check whether the capture feature is supported on
  a specific display engine.

  * SetDisplayControllerInterface() now sets the capture callback
  handler as well.

Test: display-tool squares on:
      - core.vim3 (using amlogic-display)
      - core.x64 on NUC11 (using intel-i915)
      - core.x64 on AEMU (using goldfish-display)
      - core.x64 on QEMU using virtio-gpu
      - core.x64 on QEMU using standard VGA display (simple-display)
Test: flatland_display_compositor_pixeltest (to test display capture)
      on core.vim3
Original-Bug: 314126494
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1011278
Original-Revision: 5015f57d00a55f4bdc0bde1a95e04e12d28a4f01
GitOrigin-RevId: 038c926e2499a9dc2049639c6293eea7d594f2b5
Change-Id: I012f2c05256ca5d2acc09a071aa4988f50aa2a79
1 file changed
tree: 0ca5481db97a7cd1d71afe8a4725de99e56d6e45
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.