[zircon][dev][goldfish] Add goldfish display driver

DX-939 #comment

This adds a goldfish display controller implementation. The
change is a critical step towards AEMU support and testing
Fuchsia UI without access to Fuchsia supported hardware.

The current framebuffer is transferred to host at each refresh
interval so performance is not expected to be great when using
linear buffers. This can be improved by using address space
device and mapping host side memory into physical address space.

Non-linear (Vulkan) buffer handling is more efficient as
uploads to color buffers are not needed.

This change is part of a series of changes that allow
Fuchsia to run in AEMU, which makes it possible to run a
large set of our existing UI unit/integration tests
without Fuchsia hardware.

Test: gfxtest
Test: display-test --simple
Change-Id: Ib68dc1c23e25fcf921102aa6c7765435f18648ba
4 files changed
tree: d958b83dde6211362fdb8f7ba90d0f4a0592cdde
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. infra/
  9. peridot/
  10. products/
  11. scripts/
  12. sdk/
  13. src/
  14. third_party/
  15. tools/
  16. zircon/
  17. .clang-format
  18. .clang-tidy
  19. .dir-locals.el
  20. .gitattributes
  21. .gitignore
  22. .gn
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. LICENSE
  28. OWNERS
  29. PATENTS
  30. README.md
  31. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.