class DisplayCompositorPixelTest

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

Protected Members

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

Public Methods

void SetUp ()

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

void TearDown ()

Defined at line 345 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 352 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 358 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 375 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

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

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

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

Defined at line 388 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 403 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 450 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_format, 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 552 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc

void ReleaseCaptureBufferCollection (allocation::GlobalBufferCollectionId collection_id)

Defined at line 588 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 600 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 606 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 654 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 675 of file ../../src/ui/scenic/lib/flatland/engine/tests/pixeltests/display_compositor_pixeltest.cc