[Scenic][SCN-713]  Direct YUV support

This is a working (though hacky in places) implementation of direct YUV support, where a host image, on a UMA platform, is imported directly as device memory and used as the source for a sampler, without any copies involved.

However, it does so by both punching a not-so-pretty hole through Escher, and relies on quite a bit of hardcoded behavior to maintain some optimality. Further refinments are documented in a series of jira bugs noted in the comments (e.g. ES-199, ES-200, ES-201, SCN-1380, SCN-1387. SCN-1403).

Tests: New host_image_unittest, new scenic_pixel_test, extended shader_program_unittest (which also effectively does an integration test with the pipeline caching), run on multiple devices and as part of CQ, as well as a manual test of use_media_decoder, along with manual checks for Vulkan validation errors.

SCN-713 #done

WAS-Change-Id: I2557909245af036bba8d3b8ac9441dd05b6b92bd

Direct YUV test flow with sampler

WAS-Change-Id: I1e30f65e84ac13e90475df321909c5ccf0010df0
Change-Id: I8956205f73482b47589c28a6c170a93ab0884b17
54 files changed
tree: d8d2279721a1fcc1040fe2f9d77ddc07d847f9d2
  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.