Contains the graphics metalanguage interface details
Marcel Sondaar
udi_gfx.h | Contains the graphics metalanguage interface details |
UDI_GFX_PROP | Lists the various UDI properties |
Constants | |
UDI_GFX_PROP_ENABLE | |
UDI_GFX_PROP_INPUT | Any valid engine ID, provided no dependency cycles are created, or -1 |
UDI_GFX_PROP_WIDTH | Any non-zero positive number. |
UDI_GFX_PROP_HEIGHT | Any non-zero positive number. |
UDI_GFX_PROP_CUSTOM | The first property index of the driver’s custom range. |
UDI_GFX_PROP_CLIP | |
UDI_GFX_PROP_UNIT_WIDTH | Any non-zero positive value |
UDI_GFX_PROP_UNIT_HEIGHT | Any non-zero positive value |
UDI_GFX_PROP_TRANSLATEX | Any, signed value. |
UDI_GFX_PROP_TRANSLATEY | Any signed value. |
UDI_GFX_PROP_STOCK_FORMAT | Zero, or any constant from UDI_GFX_STOCK_FORMAT |
UDI_GFX_PROP_OPERATOR_COUNT | Any non-zero positive number |
UDI_GFX_SIGNAL | Lists the various signal types |
UDI_GFX_CONNECTOR | Lists the various external connectors |
UDI_GFX_OPERATOR | Lists the display output operator |
UDI_GFX_STOCK_FORMAT | Lists stock configurations |
UDI_GFX_BUFFER_INFO_FLAG | Lists behavioural patterns for direct buffer accesses. |
Constants | |
UDI_GFX_PROVIDER_OPS_NUM | the ops number used for the graphics driver |
UDI_GFX_CLIENT_OPS_NUM | the ops number used for the graphics application |
udi_gfx_bind_cb_t | Contains the operations of a driver binding request |
Variables | |
gcb | The main control block |
Functions | |
udi_block_bind_req | function pointer prototype for connecting to a block device |
udi_gfx_bind_ack | function pointer prototype for acknowledging a connection request |
udi_gfx_unbind_req | function pointer prototype for disconnecting a block device |
udi_gfx_unbind_ack | function pointer prototype for connecting to a block device |
udi_gfx_state_cb_t | Contains the operations of a read/write transaction |
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_set_engine_req | function pointer prototype for setting an engine state |
udi_gfx_set_connector_req | function pointer prototype for setting an connector state |
udi_gfx_set_engine_ack | function pointer prototype for setting an engine state |
udi_gfx_set_connector_ack | function pointer prototype for setting an engine state |
udi_gfx_get_engine_req | function pointer prototype for setting an engine state |
udi_gfx_get_connector_req | function pointer prototype for setting an connector state |
udi_gfx_get_engine_ack | function pointer prototype for setting an engine state |
udi_gfx_get_connector_ack | function pointer prototype for setting an engine state |
udi_gfx_set_engine_nak | function pointer prototype for setting an engine state |
udi_gfx_set_connector_nak | function pointer prototype for setting an engine state |
udi_gfx_range_cb_t | Contains the operations of a range request transaction |
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_range_engine_req | function pointer prototype for getting an engine property range |
udi_gfx_range_connector_req | function pointer prototype for getting a connector property range |
udi_gfx_range_engine_ack | function pointer prototype for replying an engine property range |
udi_gfx_range_connector_ack | function pointer prototype for replying a connector property range |
udi_gfx_get_engine_operator_req | function pointer prototype for requesting the engine operator layout |
udi_gfx_get_engine_operator_ack | function pointer prototype for replying the engine operator layout |
udi_gfx_command_cb_t | Contains the operations of a command sequence |
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_connector_command_req | function pointer prototype for sending command data to the output connector |
udi_gfx_engine_command_req | function pointer prototype for sending command data to the engine |
udi_gfx_connector_command_ack | function pointer prototype for sending command data replies |
udi_gfx_engine_command_ack | function pointer prototype for sending engine data replies |
udi_gfx_buffer_cb_t | Contains a description of a buffer, or area thereof |
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_buffer_info_req | function pointer prototype for getting buffer configuration information |
udi_gfx_buffer_info_ack | function pointer prototype for getting buffer configuration information |
udi_gfx_buffer_cb_t | Contains a description of a buffer, or area thereof |
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_buffer_write_req_op_t | function pointer prototype for writing raw hardware buffers |
udi_gfx_buffer_write_req_op_t | function pointer prototype for reading raw hardware buffers |
udi_gfx_buffer_write_ack_op_t | function pointer prototype for writing raw hardware buffers |
udi_gfx_buffer_write_ack_op_t | function pointer prototype for reading raw hardware buffers |
udi_gfx_buffer_write_nak_op_t | error handling for buffer writes |
udi_gfx_buffer_write_nak_op_t | error handling for buffer reads |
udi_gfx_provider_ops_t | The graphics metalanguage entry points (provider side) |
udi_gfx_client_ops_t | The graphics metalanguage entry points (client side) |
Lists the various UDI properties
Constants | |
UDI_GFX_PROP_ENABLE | |
UDI_GFX_PROP_INPUT | Any valid engine ID, provided no dependency cycles are created, or -1 |
UDI_GFX_PROP_WIDTH | Any non-zero positive number. |
UDI_GFX_PROP_HEIGHT | Any non-zero positive number. |
UDI_GFX_PROP_CUSTOM | The first property index of the driver’s custom range. |
UDI_GFX_PROP_CLIP | |
UDI_GFX_PROP_UNIT_WIDTH | Any non-zero positive value |
UDI_GFX_PROP_UNIT_HEIGHT | Any non-zero positive value |
UDI_GFX_PROP_TRANSLATEX | Any, signed value. |
UDI_GFX_PROP_TRANSLATEY | Any signed value. |
UDI_GFX_PROP_STOCK_FORMAT | Zero, or any constant from UDI_GFX_STOCK_FORMAT |
UDI_GFX_PROP_OPERATOR_COUNT | Any non-zero positive number |
0 | disabled |
1 | enabled |
2 | reset |
Must include at least 1
The primary state of the connector or engine. An enabled state indicates it is functioning and generating live output. A disabled state is one where it is not contributing to any output but is otherwise functional. Finally the reset state is where the driver is free to deallocate all resources corresponding to this component and trash any state not referenced by other components.
A disabled or reset engine forwards all data from the previous stage unmodified. The disabled state indicates that the component might be returned to its enabled state within short notice.
A disabled connector will not send pixel data, but can perform other initialisation communication such as DDC. A reset connector will not respond in any fashion and can not be used for other purposes. Hardware is expected to be powered down in such state.
Users should expect significant delays when moving components in and out of the reset state. Moving engines between the enabled and disabled state should take effect within one frame, such transition should take effect on a frame boundary when supported.
Any valid engine ID, provided no dependency cycles are created, or -1
Any non-empty set of valid values. Often hardwired.
Points to the engine that is processed before this unit. In the case of a connector, it points to the last engine in a pipeline, and each engine points to the next engine in the sequence. A value of -1 indicates a source that only yields black pixels. Implementations must not allow cyclic structures. Changing this value may reallocate resources, and engines that are no longer referenced may lose their data (but not their state) when it is not part of any pipeline. If preservation is required, the ENABLE state should be used instead. Valid ranges includes one or more from the list of engines and -1 combined. In most cases, this property can not be modified.
Any non-zero positive number.
Contains at least one valid value. Often only multiples of UNIT_WIDTH or a power of two are allowed. May be hardwired.
Contains the amount of pixels in the horizontal direction. For connectors, this is the amount of data pixels rendered horizontally. For engines, this is the width in pixels of the image. Pixels requested from an engine outside the range (0..width-1) are defined according to the UDI_GFX_PROP_CLIP property. In some cases, hardware may support only fixed combinations of width and height. In such cases, changing the width will also change the height to a corresponding valid number. Valid ranges include any values strictly above zero. For connectors, expect large continuous ranges, large ranges with a certain modulus, a limited number of fixed values, or a constant value.
Any non-zero positive number.
Contains at least one valid value. Often only multiples of UNIT_HEIGHT or a power of two are allowed. May be hardwired.
Contains the amount of pixels in the vertical direction. Functions similar to the width property, but changing it will not alter the width property, and it’s range at any time contains the valid range for the currently selected width.
The first property index of the driver’s custom range. These are not assigned directly assigned by the UDI specification, but may be specified in the operator tree.
0 | points outside width x height are passed unmodified from input |
1 | the engine’s contents is tiled with size width x height |
2 | points outside the width overflow into the y coordinate |
3 | points outside the height overflow into the x coordinate |
Hardwired zero for connectors. Any non-empty subset for engines, usually hardwired.
For engines, contains the behaviour for pixels requested outside the width and height of the engine. Can be either 0 (pass from next stage), 1 (the coordinates are wrapped modulus the height and width), 2 (the coordinates overflow onto the next scanline horizontally, and wrap vertically), 3 (the coordinates overflow onto the next column vertically, and wrap horizontally). Valid ranges contain one or more of these options. For overlays and sprites, a value 0 is common. For framebuffers, 2 is the most common value. For connectors, this property is always 0 since they do not store pixel data
Any non-zero positive value
Any non-empty set of valid values. May be hardwired to 1 for framebuffers, or a range of small values for hardware scaling, or any larger hardwired number or set for tiling engines.
Tiles are used to indicate that the hardware groups sets of pixels and have each group share certain properties, i.e. color or tile index, or share the same chroma subsample with only a different intensity. If the engine has no such grouping, or shares all properties over the entire contents, the value of this property should be 1. Some tile examples include rescaling, where a tile width of 2 indicates a pixel doubling in X direction, or in text mode where a tile width of 8 or 9 corresponds with the width of common bitmap fonts
Any non-zero positive value
Any non-empty set of valid values. May be hardwired to 1 for framebuffers, or a range of small values for hardware scaling, or any larger hardwired number or set for tiling engines.
See UDI_GFX_PROP_UNIT_WIDTH, but for the Y direction. Common values are 1-2 for framebuffers (doublescanning on or off), identical to the tile width, or mostly independent.
Any, signed value.
Any non-empty set. Typical values are hardwired zero, continuous between -WIDTH and WIDTH, -WIDTH to zero inclusive, or all possible values
The horizontal offset where drawing starts. A positive value means the top-left corner moves towards the right end of the screen, a negative value moves the origin off the screen on the left side. Clipped areas moved off the screen do not reappear on the opposite side.
With clipping enabled, this field combined with UDI_GFX_PROP_WIDTH determines the area where the image should be drawn, which is the horizontal range from UDI_GFX_PROP_TRANSLATEX to UDI_GFX_PROP_WIDTH + UDI_GFX_PROP_TRANSLATEX - 1
Any signed value.
Any non-empty set. Typical values are hardwired zero, continuous between -WIDTH and WIDTH, or all possible values
See UDI_GFX_PROP_TRANSLATEX but for the Y direction.
Zero, or any constant from UDI_GFX_STOCK_FORMAT
Any non-empty set of valid values.
This field indicates the storage format is one from a limited set of typical configurations. If the field is zero, the engine is not knowingly configured as a common framebuffer. If nonzero, the operator chain and any dependent settings are defined to be functionally equivalent to that of a typical framebuffer device.
The value zero does not imply that the device does not actually follow a set convention. This saves drivers from writing elaborate checking code to determine the condition in question.
Writing this field potentially modifies other property fields within the same engine to establish the requested configuration. Manually writing such properties after changing this setting may in turn revert this property to the zero state, even if there was no modification or the behaviour is still as previously advertised by this property.
Any non-zero positive number
Most likely constant. Can be any set of valid values.
The current value is the number of entries in the operator tree that can be requested for this engine using <udi_gfx_get_engine_operator_req> and <udi_gfx_get_engine_operator_ack>
Lists stock configurations
When a stock configuration is used, the device is set to behave as a simple framebuffer device. The <UDI_GFX_PROP_WIDTH> and <UDI_GFX_PROP_HEIGHT> determine the virtual size of the framebuffer, and <UDI_GFX_PROP_TRANSLATEX> and <UDI_GFX_PROP_TRANSLATEY> indicate the offset into that framebuffer that is visible (which are typically restricted to negative values)
Lists behavioural patterns for direct buffer accesses.
Constants | |
UDI_GFX_PROVIDER_OPS_NUM | the ops number used for the graphics driver |
UDI_GFX_CLIENT_OPS_NUM | the ops number used for the graphics application |
Contains the operations of a driver binding request
Variables | |
gcb | The main control block |
Functions | |
udi_block_bind_req | function pointer prototype for connecting to a block device |
udi_gfx_bind_ack | function pointer prototype for acknowledging a connection request |
udi_gfx_unbind_req | function pointer prototype for disconnecting a block device |
udi_gfx_unbind_ack | function pointer prototype for connecting to a block device |
typedef void udi_gfx_bind_ack_op_t ( udi_gfx_bind_cb_t * cb, udi_index_t sockets, udi_index_t engines, udi_status_t status )
function pointer prototype for acknowledging a connection request
cb | A pointer to a udi_gfx_bind_cb_t |
sockets | The number of addressable socket components |
engines | The number of addressable engine components |
status | The result of the bind operation |
typedef void udi_gfx_unbind_req_op_t ( udi_gfx_bind_cb_t * cb )
function pointer prototype for disconnecting a block device
cb | A pointer to a udi_block_bind_cb_t |
typedef void udi_gfx_unbind_ack_op_t ( udi_gfx_bind_cb_t * cb )
function pointer prototype for connecting to a block device
cb | A pointer to a udi_gfx_bind_cb_t |
Contains the operations of a read/write transaction
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_set_engine_req | function pointer prototype for setting an engine state |
udi_gfx_set_connector_req | function pointer prototype for setting an connector state |
udi_gfx_set_engine_ack | function pointer prototype for setting an engine state |
udi_gfx_set_connector_ack | function pointer prototype for setting an engine state |
udi_gfx_get_engine_req | function pointer prototype for setting an engine state |
udi_gfx_get_connector_req | function pointer prototype for setting an connector state |
udi_gfx_get_engine_ack | function pointer prototype for setting an engine state |
udi_gfx_get_connector_ack | function pointer prototype for setting an engine state |
udi_gfx_set_engine_nak | function pointer prototype for setting an engine state |
udi_gfx_set_connector_nak | function pointer prototype for setting an engine state |
typedef void udi_gfx_set_engine_req_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_set_connector_req_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an connector state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_set_engine_ack_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_set_connector_ack_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_get_engine_req_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_get_connector_req_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an connector state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_get_engine_ack_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_get_connector_ack_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_set_engine_nak_op_t ( udi_gfx_state_cb_t * cb, udi_status_t status )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
status | An UDI status value indicative of the error |
typedef void udi_gfx_set_connector_nak_op_t ( udi_gfx_state_cb_t * cb, udi_status_t status )
function pointer prototype for setting an engine state
cb | A pointer to a udi_gfx_state_cb_t |
status | An UDI status value indicative of the error |
Contains the operations of a range request transaction
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_range_engine_req | function pointer prototype for getting an engine property range |
udi_gfx_range_connector_req | function pointer prototype for getting a connector property range |
udi_gfx_range_engine_ack | function pointer prototype for replying an engine property range |
udi_gfx_range_connector_ack | function pointer prototype for replying a connector property range |
udi_gfx_get_engine_operator_req | function pointer prototype for requesting the engine operator layout |
udi_gfx_get_engine_operator_ack | function pointer prototype for replying the engine operator layout |
typedef void udi_gfx_range_engine_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for getting an engine property range
cb | A pointer to a udi_gfx_range_cb_t |
typedef void udi_gfx_range_connector_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for getting a connector property range
cb | A pointer to a udi_gfx_range_cb_t |
typedef void udi_gfx_range_engine_ack_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for replying an engine property range
cb | A pointer to a udi_gfx_range_cb_t |
typedef void udi_gfx_range_connector_ack_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for replying a connector property range
cb | A pointer to a udi_gfx_range_cb_t |
typedef void udi_gfx_get_engine_operator_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for requesting the engine operator layout
cb | A pointer to a udi_gfx_state_cb_t |
typedef void udi_gfx_get_engine_operator_ack_op_t ( udi_gfx_range_cb_t * cb, udi_ubit32_t op, udi_ubit32_t arg1, udi_ubit32_t arg2, udi_ubit32_t arg3 )
function pointer prototype for replying the engine operator layout
cb | A pointer to a udi_gfx_state_cb_t |
op | The operator performed at this index |
arg1 | the first argument to this operator |
arg2 | the second argument to this operator |
arg3 | the third argument to this operator |
Contains the operations of a command sequence
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_connector_command_req | function pointer prototype for sending command data to the output connector |
udi_gfx_engine_command_req | function pointer prototype for sending command data to the engine |
udi_gfx_connector_command_ack | function pointer prototype for sending command data replies |
udi_gfx_engine_command_ack | function pointer prototype for sending engine data replies |
typedef void udi_gfx_connector_command_req_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending command data to the output connector
cb | A pointer to a udi_gfx_command_cb_t |
typedef void udi_gfx_engine_command_req_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending command data to the engine
cb | A pointer to a udi_gfx_command_cb_t |
typedef void udi_gfx_connector_command_ack_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending command data replies
cb | A pointer to a udi_gfx_command_cb_t |
typedef void udi_gfx_engine_command_ack_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending engine data replies
cb | A pointer to a udi_gfx_command_cb_t |
Contains a description of a buffer, or area thereof
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_buffer_info_req | function pointer prototype for getting buffer configuration information |
udi_gfx_buffer_info_ack | function pointer prototype for getting buffer configuration information |
typedef void udi_gfx_buffer_info_req_op_t ( udi_gfx_buffer_info_cb_t * cb )
function pointer prototype for getting buffer configuration information
cb | A pointer to a udi_gfx_command_cb_t |
typedef void udi_gfx_buffer_info_ack_op_t ( udi_gfx_buffer_info_cb_t * cb, udi_ubit32_t width, udi_ubit32_t height, udi_ubit32_t bitsper, udi_ubit32_t flags )
function pointer prototype for getting buffer configuration information
cb | A pointer to a udi_gfx_command_cb_t |
width | The width of the buffer |
height | The height of the buffer |
bitsper | The number of bits read from the buffer per pixel unit |
flags | A bitfield of <UDI_GFX_BUFFER_FLAGS> indicating the exposed capabilities of this buffer |
Note that bitsper might not be a multiple of eight.
Contains a description of a buffer, or area thereof
Variables | |
gcb | The main control block |
Functions | |
udi_gfx_buffer_write_req_op_t | function pointer prototype for writing raw hardware buffers |
udi_gfx_buffer_write_req_op_t | function pointer prototype for reading raw hardware buffers |
udi_gfx_buffer_write_ack_op_t | function pointer prototype for writing raw hardware buffers |
udi_gfx_buffer_write_ack_op_t | function pointer prototype for reading raw hardware buffers |
udi_gfx_buffer_write_nak_op_t | error handling for buffer writes |
udi_gfx_buffer_write_nak_op_t | error handling for buffer reads |
typedef void udi_gfx_buffer_write_req_op_t ( udi_gfx_buffer_cb_t * cb )
function pointer prototype for writing raw hardware buffers
cb | A pointer to a udi_gfx_buffer_cb_t |
typedef void udi_gfx_buffer_write_ack_op_t ( udi_gfx_buffer_cb_t * cb )
function pointer prototype for writing raw hardware buffers
cb | A pointer to a udi_gfx_buffer_cb_t |
typedef void udi_gfx_buffer_write_nak_op_t ( udi_gfx_buffer_cb_t * cb, udi_status_t status )
error handling for buffer writes
cb | A pointer to a udi_gfx_buffer_cb_t |
The main control block
udi_cb_t gcb
function pointer prototype for acknowledging a connection request
typedef void udi_gfx_bind_ack_op_t ( udi_gfx_bind_cb_t * cb, udi_index_t sockets, udi_index_t engines, udi_status_t status )
function pointer prototype for disconnecting a block device
typedef void udi_gfx_unbind_req_op_t ( udi_gfx_bind_cb_t * cb )
function pointer prototype for connecting to a block device
typedef void udi_gfx_unbind_ack_op_t ( udi_gfx_bind_cb_t * cb )
The main control block
udi_cb_t gcb
function pointer prototype for setting an engine state
typedef void udi_gfx_set_engine_req_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an connector state
typedef void udi_gfx_set_connector_req_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
typedef void udi_gfx_set_engine_ack_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
typedef void udi_gfx_set_connector_ack_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
typedef void udi_gfx_get_engine_req_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an connector state
typedef void udi_gfx_get_connector_req_op_t ( udi_gfx_state_cb_t * cb )
function pointer prototype for setting an engine state
typedef void udi_gfx_get_engine_ack_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
typedef void udi_gfx_get_connector_ack_op_t ( udi_gfx_state_cb_t * cb, udi_ubit32_t value )
function pointer prototype for setting an engine state
typedef void udi_gfx_set_engine_nak_op_t ( udi_gfx_state_cb_t * cb, udi_status_t status )
function pointer prototype for setting an engine state
typedef void udi_gfx_set_connector_nak_op_t ( udi_gfx_state_cb_t * cb, udi_status_t status )
The main control block
udi_cb_t gcb
function pointer prototype for getting an engine property range
typedef void udi_gfx_range_engine_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for getting a connector property range
typedef void udi_gfx_range_connector_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for replying an engine property range
typedef void udi_gfx_range_engine_ack_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for replying a connector property range
typedef void udi_gfx_range_connector_ack_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for requesting the engine operator layout
typedef void udi_gfx_get_engine_operator_req_op_t ( udi_gfx_range_cb_t * cb )
function pointer prototype for replying the engine operator layout
typedef void udi_gfx_get_engine_operator_ack_op_t ( udi_gfx_range_cb_t * cb, udi_ubit32_t op, udi_ubit32_t arg1, udi_ubit32_t arg2, udi_ubit32_t arg3 )
The main control block
udi_cb_t gcb
function pointer prototype for sending command data to the output connector
typedef void udi_gfx_connector_command_req_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending command data to the engine
typedef void udi_gfx_engine_command_req_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending command data replies
typedef void udi_gfx_connector_command_ack_op_t ( udi_gfx_command_cb_t * cb )
function pointer prototype for sending engine data replies
typedef void udi_gfx_engine_command_ack_op_t ( udi_gfx_command_cb_t * cb )
The main control block
udi_cb_t gcb
function pointer prototype for getting buffer configuration information
typedef void udi_gfx_buffer_info_req_op_t ( udi_gfx_buffer_info_cb_t * cb )
function pointer prototype for getting buffer configuration information
typedef void udi_gfx_buffer_info_ack_op_t ( udi_gfx_buffer_info_cb_t * cb, udi_ubit32_t width, udi_ubit32_t height, udi_ubit32_t bitsper, udi_ubit32_t flags )
function pointer prototype for writing raw hardware buffers
typedef void udi_gfx_buffer_write_req_op_t ( udi_gfx_buffer_cb_t * cb )
function pointer prototype for writing raw hardware buffers
typedef void udi_gfx_buffer_write_ack_op_t ( udi_gfx_buffer_cb_t * cb )
error handling for buffer writes
typedef void udi_gfx_buffer_write_nak_op_t ( udi_gfx_buffer_cb_t * cb, udi_status_t status )