class DisplayCompositorPixelTest

Defined at line 290 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

Protected Members

optional realm_root_
SynchronousInterfacePtr sysmem_allocator_
unique_ptr executor_
unique_ptr display_manager_
display::Display::VsyncCallbackId vsync_callback_id_

Public Methods

void SetUp ()

Defined at line 292 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void TearDown ()

Defined at line 337 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

bool IsDisplaySupported (DisplayCompositor * display_compositor, allocation::GlobalBufferCollectionId id)

Defined at line 344 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

fidl::WireSharedClient<fuchsia_hardware_display::Coordinator> & raw_display_coordinator ()

Defined at line 350 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

Protected Methods

std::pair<std::unique_ptr<escher::Escher>, std::shared_ptr<flatland::VkRenderer>> NewVkRenderer ()

Defined at line 367 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

std::shared_ptr<flatland::NullRenderer> NewNullRenderer ()

Defined at line 376 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

fidl::ClientEnd<fuchsia_io::Directory> OpenServiceRoot ()

Defined at line 380 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void WaitOnVSync ()

To avoid flakes, tests call this function to ensure that config stamps applied by

the display compositor are fully applied to the display coordinator before engaging

in any operations (e.g. reading back pixels from the display) that first require

these processes to have been completed.

Defined at line 395 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

fpromise::result<fuchsia::sysmem2::BufferCollectionSyncPtr, zx_status_t> SetupCapture (allocation::GlobalBufferCollectionId collection_id, fuchsia::images2::PixelFormat pixel_type, fuchsia::sysmem2::BufferCollectionInfo * collection_info, allocation::GlobalImageId image_id)

Set up the buffer collections and images to be used for capturing the diplay coordinator's

output. The only devices which currently implement the capture functionality on their

display coordinators are the AMLOGIC devices, and so we hardcode some of those AMLOGIC

assumptions here, such as making the pixel format for the capture image BGR24, as that

is the only capture format that AMLOGIC supports.

`image_id` must be an unique image ID not used by any other image.

TODO(https://fxbug.dev/42076499): Instead of providing hardcoded pixel type for

capture buffer, tests should let display driver make decision for the

capture buffer format, and use the sysmem format in BufferCollectionInfo

for capture-and-golden comparison.

Defined at line 442 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

fuchsia::sysmem2::BufferCollectionSyncPtr SetupClientTextures (DisplayCompositor * display_compositor, allocation::GlobalBufferCollectionId collection_id, fuchsia::images2::PixelFormat pixel_type, uint32_t width, uint32_t height, uint32_t num_vmos, fuchsia::sysmem2::BufferCollectionInfo * collection_info)

Sets up the buffer collection information for collections that will be imported

into the engine.

Defined at line 544 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void ReleaseCaptureBufferCollection (allocation::GlobalBufferCollectionId collection_id)

Defined at line 574 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void ReleaseClientTextureBufferCollection (DisplayCompositor * display_compositor, allocation::GlobalBufferCollectionId collection_id)

Defined at line 586 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void CaptureDisplayOutput (display::CoordinatorProxy & display_coordinator, const fuchsia::sysmem2::BufferCollectionInfo & collection_info, allocation::GlobalImageId capture_image_id, std::vector<uint8_t> * read_values, bool release_capture_image)

Captures the pixel values on the display and reads them into |read_values|.

Defined at line 592 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

bool CaptureCompare (cpp20::span<const uint8_t> captured_image, cpp20::span<const uint8_t> input_image, fuchsia::images2::PixelFormat input_image_pixel_format, uint32_t height, uint32_t width)

Defined at line 640 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

bool CaptureCompare (cpp20::span<const uint8_t> captured_image, cpp20::span<const uint8_t> input_image, fuchsia::images2::PixelFormat input_image_pixel_format_type, int height, int width)

Defined at line 661 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc