class Ge2dDevice

Defined at line 50 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

This provides ZX_PROTOCOL_GE2D.

Protected Members

port port_

Public Methods

void Ge2dDevice (const Ge2dDevice & )

Defined at line 52 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

Ge2dDevice & operator= (const Ge2dDevice & )

Defined at line 52 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

void Ge2dDevice (zx_device_t * parent, fdf::MmioBuffer ge2d_mmio, zx::interrupt ge2d_irq, zx::bti bti, zx::port port, std::vector<zx::vmo> watermark_input_contiguous_vmos, zx::vmo watermark_blended_contiguous_vmo, fidl::ClientEnd<fuchsia_hardware_amlogiccanvas::Device> canvas)

Defined at line 53 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

zx_status_t Setup (zx_device_t * parent, std::unique_ptr<Ge2dDevice> * out)

Setup() is used to create an instance of Ge2dDevice.

Defined at line 942 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

void DdkRelease ()

Methods required by the ddk.

Defined at line 1034 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

void DdkUnbind (ddk::UnbindTxn txn)

Defined at line 1029 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t Ge2dInitTaskResize (const buffer_collection_info_2_t * input_buffer_collection, const buffer_collection_info_2_t * output_buffer_collection, const resize_info_t * info, const image_format_2_t * input_image_format, const image_format_2_t * output_image_format_table_list, size_t output_image_format_table_count, uint32_t output_image_format_index, const hw_accel_frame_callback_t * frame_callback, const hw_accel_res_change_callback_t * res_callback, const hw_accel_remove_task_callback_t * task_remove_callback, uint32_t * out_task_index)

ZX_PROTOCOL_GE2DC (Refer to ge2d.banjo for documentation).

Defined at line 33 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t Ge2dInitTaskWaterMark (const buffer_collection_info_2_t * input_buffer_collection, const buffer_collection_info_2_t * output_buffer_collection, const water_mark_info_t * info_list, size_t info_count, const image_format_2_t * image_format_table_list, size_t image_format_table_count, uint32_t image_format_index, const hw_accel_frame_callback_t * frame_callback, const hw_accel_res_change_callback_t * res_callback, const hw_accel_remove_task_callback_t * task_remove_callback, uint32_t * out_task_index)

See ge2d_task.h for description of args.

Defined at line 64 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t Ge2dInitTaskInPlaceWaterMark (const buffer_collection_info_2_t * buffer_collection, const water_mark_info_t * info_list, size_t info_count, const image_format_2_t * image_format_table_list, size_t image_format_table_count, uint32_t image_format_index, const hw_accel_frame_callback_t * frame_callback, const hw_accel_res_change_callback_t * res_callback, const hw_accel_remove_task_callback_t * task_remove_callback, uint32_t * out_task_index)

See ge2d_task.h for description of args.

Defined at line 98 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

const fdf::MmioBuffer * ge2d_mmio ()

Used for unit tests.

Defined at line 122 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

const zx::bti & bti ()

Defined at line 125 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

fidl::UnownedClientEnd<fuchsia_hardware_amlogiccanvas::Device> canvas ()

Defined at line 126 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

zx_status_t Ge2dProcessFrame (uint32_t task_index, uint32_t input_buffer_index, uint64_t capture_timestamp)

Defined at line 237 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

void Ge2dRemoveTask (uint32_t task_index)

Defined at line 130 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

void Ge2dReleaseFrame (uint32_t task_index, uint32_t buffer_index)

Defined at line 152 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t Ge2dSetInputAndOutputResolution (uint32_t task_index, uint32_t new_image_format_index)

Note that this is only supported on Watermark Tasks. The new format applies to both

input AND output formats.

Defined at line 202 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t Ge2dSetOutputResolution (uint32_t task_index, uint32_t new_output_image_format_index)

Note that this is only supported on Resize Tasks.

Defined at line 172 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

void Ge2dSetCropRect (uint32_t task_index, const rect_t * crop)

Defined at line 266 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t StartThread ()

Defined at line 919 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

zx_status_t StopThread ()

Defined at line 926 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.cc

Enumerations

enum Ge2dOp
Name Value
GE2D_OP_SETOUTPUTRES 0
GE2D_OP_SETINPUTOUTPUTRES 1
GE2D_OP_FRAME 2
GE2D_OP_SETCROPRECT 3
GE2D_OP_REMOVETASK 4

Defined at line 131 of file ../../src/camera/drivers/hw_accel/ge2d/ge2d.h

Records

Friends

class Ge2dDeviceTester