[roll] Roll fuchsia [goldfish-display] Split the display driver class and the display engine
class.

Previously the goldfish::Display class contains both the driver
framework (DDK) integration code and the display engine protocol
(the fuchsia.hardware.display.controller/ControllerImpl banjo protocol)
implementation.

To make it easier for driver framework migration, this change splits the
Display class to two classes: DisplayDriver, which interacts with the
driver framework to acquire resources and manages the driver lifetime;
and DisplayEngine, which provides an interface of the display Engine
protocol and performs actual display control logic.

This change also renames the name of the DisplayEngine::DisplayDevice
struct to DisplayEngine::DisplayState which better describes the contents
of the class.

Test: goldfish-unittests

On FEMU (ffx emu start) on core.x64:
Test: (1) virtcon works
Test: (2) vkcube-on-fb passed

Original-Bug: 335325419
Original-Bug: 335324453
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1029797
Original-Revision: 6aabf5f4bef074f98877c026b8fb7f10a5d5dc8b
GitOrigin-RevId: 840f00861fcd2f10fdb402fe280df5b2ac3e67f1
Change-Id: I829e211b6b8279cb7b9137a513bf1ee0ec6ed30f
1 file changed
tree: 6a3434244647b7b66dc18572a706dcab5cc2b1dd
  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.