udi_gfx.h

Contains the graphics metalanguage interface details

Author

Marcel Sondaar

License

Public Domain

Summary
udi_gfx.hContains the graphics metalanguage interface details
UDI_GFX_PROPLists the various UDI properties
Constants
UDI_GFX_PROP_ENABLE
UDI_GFX_PROP_INPUTAny valid engine ID, provided no dependency cycles are created, or -1
UDI_GFX_PROP_WIDTHAny non-zero positive number.
UDI_GFX_PROP_HEIGHTAny non-zero positive number.
UDI_GFX_PROP_CUSTOMThe first property index of the driver’s custom range.
UDI_GFX_PROP_CLIP
UDI_GFX_PROP_UNIT_WIDTHAny non-zero positive value
UDI_GFX_PROP_UNIT_HEIGHTAny non-zero positive value
UDI_GFX_PROP_TRANSLATEXAny, signed value.
UDI_GFX_PROP_TRANSLATEYAny signed value.
UDI_GFX_PROP_STOCK_FORMATZero, or any constant from UDI_GFX_STOCK_FORMAT
UDI_GFX_PROP_OPERATOR_COUNTAny non-zero positive number
UDI_GFX_SIGNALLists the various signal types
UDI_GFX_CONNECTORLists the various external connectors
UDI_GFX_OPERATORLists the display output operator
UDI_GFX_STOCK_FORMATLists stock configurations
UDI_GFX_BUFFER_INFO_FLAGLists behavioural patterns for direct buffer accesses.
Constants
UDI_GFX_PROVIDER_OPS_NUMthe ops number used for the graphics driver
UDI_GFX_CLIENT_OPS_NUMthe ops number used for the graphics application
udi_gfx_bind_cb_tContains the operations of a driver binding request
Variables
gcbThe main control block
Functions
udi_block_bind_reqfunction pointer prototype for connecting to a block device
udi_gfx_bind_ackfunction pointer prototype for acknowledging a connection request
udi_gfx_unbind_reqfunction pointer prototype for disconnecting a block device
udi_gfx_unbind_ackfunction pointer prototype for connecting to a block device
udi_gfx_state_cb_tContains the operations of a read/write transaction
Variables
gcbThe main control block
Functions
udi_gfx_set_engine_reqfunction pointer prototype for setting an engine state
udi_gfx_set_connector_reqfunction pointer prototype for setting an connector state
udi_gfx_set_engine_ackfunction pointer prototype for setting an engine state
udi_gfx_set_connector_ackfunction pointer prototype for setting an engine state
udi_gfx_get_engine_reqfunction pointer prototype for setting an engine state
udi_gfx_get_connector_reqfunction pointer prototype for setting an connector state
udi_gfx_get_engine_ackfunction pointer prototype for setting an engine state
udi_gfx_get_connector_ackfunction pointer prototype for setting an engine state
udi_gfx_set_engine_nakfunction pointer prototype for setting an engine state
udi_gfx_set_connector_nakfunction pointer prototype for setting an engine state
udi_gfx_range_cb_tContains the operations of a range request transaction
Variables
gcbThe main control block
Functions
udi_gfx_range_engine_reqfunction pointer prototype for getting an engine property range
udi_gfx_range_connector_reqfunction pointer prototype for getting a connector property range
udi_gfx_range_engine_ackfunction pointer prototype for replying an engine property range
udi_gfx_range_connector_ackfunction pointer prototype for replying a connector property range
udi_gfx_get_engine_operator_reqfunction pointer prototype for requesting the engine operator layout
udi_gfx_get_engine_operator_ackfunction pointer prototype for replying the engine operator layout
udi_gfx_command_cb_tContains the operations of a command sequence
Variables
gcbThe main control block
Functions
udi_gfx_connector_command_reqfunction pointer prototype for sending command data to the output connector
udi_gfx_engine_command_reqfunction pointer prototype for sending command data to the engine
udi_gfx_connector_command_ackfunction pointer prototype for sending command data replies
udi_gfx_engine_command_ackfunction pointer prototype for sending engine data replies
udi_gfx_buffer_cb_tContains a description of a buffer, or area thereof
Variables
gcbThe main control block
Functions
udi_gfx_buffer_info_reqfunction pointer prototype for getting buffer configuration information
udi_gfx_buffer_info_ackfunction pointer prototype for getting buffer configuration information
udi_gfx_buffer_cb_tContains a description of a buffer, or area thereof
Variables
gcbThe main control block
Functions
udi_gfx_buffer_write_req_op_tfunction pointer prototype for writing raw hardware buffers
udi_gfx_buffer_write_req_op_tfunction pointer prototype for reading raw hardware buffers
udi_gfx_buffer_write_ack_op_tfunction pointer prototype for writing raw hardware buffers
udi_gfx_buffer_write_ack_op_tfunction pointer prototype for reading raw hardware buffers
udi_gfx_buffer_write_nak_op_terror handling for buffer writes
udi_gfx_buffer_write_nak_op_terror handling for buffer reads
udi_gfx_provider_ops_tThe graphics metalanguage entry points (provider side)
udi_gfx_client_ops_tThe graphics metalanguage entry points (client side)

UDI_GFX_PROP

Lists the various UDI properties

Summary
Constants
UDI_GFX_PROP_ENABLE
UDI_GFX_PROP_INPUTAny valid engine ID, provided no dependency cycles are created, or -1
UDI_GFX_PROP_WIDTHAny non-zero positive number.
UDI_GFX_PROP_HEIGHTAny non-zero positive number.
UDI_GFX_PROP_CUSTOMThe first property index of the driver’s custom range.
UDI_GFX_PROP_CLIP
UDI_GFX_PROP_UNIT_WIDTHAny non-zero positive value
UDI_GFX_PROP_UNIT_HEIGHTAny non-zero positive value
UDI_GFX_PROP_TRANSLATEXAny, signed value.
UDI_GFX_PROP_TRANSLATEYAny signed value.
UDI_GFX_PROP_STOCK_FORMATZero, or any constant from UDI_GFX_STOCK_FORMAT
UDI_GFX_PROP_OPERATOR_COUNTAny non-zero positive number

Constants

UDI_GFX_PROP_ENABLE

Valid values

0disabled
1enabled
2reset

Ranges

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.

UDI_GFX_PROP_INPUT

Valid values

Any valid engine ID, provided no dependency cycles are created, or -1

Ranges

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.

UDI_GFX_PROP_WIDTH

Valid values

Any non-zero positive number.

Ranges

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.

UDI_GFX_PROP_HEIGHT

Valid values

Any non-zero positive number.

Ranges

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.

UDI_GFX_PROP_CUSTOM

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.

UDI_GFX_PROP_CLIP

Valid values

0points outside width x height are passed unmodified from input
1the engine’s contents is tiled with size width x height
2points outside the width overflow into the y coordinate
3points outside the height overflow into the x coordinate

Ranges

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

UDI_GFX_PROP_UNIT_WIDTH

Valid values

Any non-zero positive value

Ranges

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

UDI_GFX_PROP_UNIT_HEIGHT

Valid values

Any non-zero positive value

Ranges

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.

UDI_GFX_PROP_TRANSLATEX

Valid values

Any, signed value.

Ranges

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

UDI_GFX_PROP_TRANSLATEY

Valid values

Any signed value.

Ranges

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.

UDI_GFX_PROP_STOCK_FORMAT

Value

Zero, or any constant from UDI_GFX_STOCK_FORMAT

Ranges

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.

UDI_GFX_PROP_OPERATOR_COUNT

Valid values

Any non-zero positive number

Ranges

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>

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

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)

UDI_GFX_BUFFER_INFO_FLAG

Lists behavioural patterns for direct buffer accesses.

Summary
Constants
UDI_GFX_PROVIDER_OPS_NUMthe ops number used for the graphics driver
UDI_GFX_CLIENT_OPS_NUMthe ops number used for the graphics application

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

Summary
Variables
gcbThe main control block
Functions
udi_block_bind_reqfunction pointer prototype for connecting to a block device
udi_gfx_bind_ackfunction pointer prototype for acknowledging a connection request
udi_gfx_unbind_reqfunction pointer prototype for disconnecting a block device
udi_gfx_unbind_ackfunction pointer prototype for connecting to a block device

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_block_bind_req

function pointer prototype for connecting to a block device

in

cbA pointer to a udi_block_bind_cb_t

udi_gfx_bind_ack

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

in

cbA pointer to a udi_gfx_bind_cb_t
socketsThe number of addressable socket components
enginesThe number of addressable engine components
statusThe result of the bind operation

udi_gfx_unbind_req

typedef void udi_gfx_unbind_req_op_t (udi_gfx_bind_cb_t *cb)

function pointer prototype for disconnecting a block device

in

cbA pointer to a udi_block_bind_cb_t

udi_gfx_unbind_ack

typedef void udi_gfx_unbind_ack_op_t (udi_gfx_bind_cb_t *cb)

function pointer prototype for connecting to a block device

in

cbA pointer to a udi_gfx_bind_cb_t

udi_gfx_state_cb_t

Contains the operations of a read/write transaction

Summary
Variables
gcbThe main control block
Functions
udi_gfx_set_engine_reqfunction pointer prototype for setting an engine state
udi_gfx_set_connector_reqfunction pointer prototype for setting an connector state
udi_gfx_set_engine_ackfunction pointer prototype for setting an engine state
udi_gfx_set_connector_ackfunction pointer prototype for setting an engine state
udi_gfx_get_engine_reqfunction pointer prototype for setting an engine state
udi_gfx_get_connector_reqfunction pointer prototype for setting an connector state
udi_gfx_get_engine_ackfunction pointer prototype for setting an engine state
udi_gfx_get_connector_ackfunction pointer prototype for setting an engine state
udi_gfx_set_engine_nakfunction pointer prototype for setting an engine state
udi_gfx_set_connector_nakfunction pointer prototype for setting an engine state

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_gfx_set_engine_req

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

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_set_connector_req

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

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_set_engine_ack

typedef void udi_gfx_set_engine_ack_op_t (udi_gfx_state_cb_t *cb)

function pointer prototype for setting an engine state

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_set_connector_ack

typedef void udi_gfx_set_connector_ack_op_t (udi_gfx_state_cb_t *cb)

function pointer prototype for setting an engine state

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_get_engine_req

typedef void udi_gfx_get_engine_req_op_t (udi_gfx_state_cb_t *cb)

function pointer prototype for setting an engine state

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_get_connector_req

typedef void udi_gfx_get_connector_req_op_t (udi_gfx_state_cb_t *cb)

function pointer prototype for setting an connector state

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_get_engine_ack

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

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_get_connector_ack

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

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_set_engine_nak

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

in

cbA pointer to a udi_gfx_state_cb_t
statusAn UDI status value indicative of the error

udi_gfx_set_connector_nak

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

in

cbA pointer to a udi_gfx_state_cb_t
statusAn UDI status value indicative of the error

udi_gfx_range_cb_t

Contains the operations of a range request transaction

Summary
Variables
gcbThe main control block
Functions
udi_gfx_range_engine_reqfunction pointer prototype for getting an engine property range
udi_gfx_range_connector_reqfunction pointer prototype for getting a connector property range
udi_gfx_range_engine_ackfunction pointer prototype for replying an engine property range
udi_gfx_range_connector_ackfunction pointer prototype for replying a connector property range
udi_gfx_get_engine_operator_reqfunction pointer prototype for requesting the engine operator layout
udi_gfx_get_engine_operator_ackfunction pointer prototype for replying the engine operator layout

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_gfx_range_engine_req

typedef void udi_gfx_range_engine_req_op_t (udi_gfx_range_cb_t *cb)

function pointer prototype for getting an engine property range

in

cbA pointer to a udi_gfx_range_cb_t

udi_gfx_range_connector_req

typedef void udi_gfx_range_connector_req_op_t (udi_gfx_range_cb_t *cb)

function pointer prototype for getting a connector property range

in

cbA pointer to a udi_gfx_range_cb_t

udi_gfx_range_engine_ack

typedef void udi_gfx_range_engine_ack_op_t (udi_gfx_range_cb_t *cb)

function pointer prototype for replying an engine property range

in

cbA pointer to a udi_gfx_range_cb_t

udi_gfx_range_connector_ack

typedef void udi_gfx_range_connector_ack_op_t (udi_gfx_range_cb_t *cb)

function pointer prototype for replying a connector property range

in

cbA pointer to a udi_gfx_range_cb_t

udi_gfx_get_engine_operator_req

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

in

cbA pointer to a udi_gfx_state_cb_t

udi_gfx_get_engine_operator_ack

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

in

cbA pointer to a udi_gfx_state_cb_t
opThe operator performed at this index
arg1the first argument to this operator
arg2the second argument to this operator
arg3the third argument to this operator

udi_gfx_command_cb_t

Contains the operations of a command sequence

Summary
Variables
gcbThe main control block
Functions
udi_gfx_connector_command_reqfunction pointer prototype for sending command data to the output connector
udi_gfx_engine_command_reqfunction pointer prototype for sending command data to the engine
udi_gfx_connector_command_ackfunction pointer prototype for sending command data replies
udi_gfx_engine_command_ackfunction pointer prototype for sending engine data replies

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_gfx_connector_command_req

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

in

cbA pointer to a udi_gfx_command_cb_t

udi_gfx_engine_command_req

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

in

cbA pointer to a udi_gfx_command_cb_t

udi_gfx_connector_command_ack

typedef void udi_gfx_connector_command_ack_op_t (udi_gfx_command_cb_t *cb)

function pointer prototype for sending command data replies

in

cbA pointer to a udi_gfx_command_cb_t

udi_gfx_engine_command_ack

typedef void udi_gfx_engine_command_ack_op_t (udi_gfx_command_cb_t *cb)

function pointer prototype for sending engine data replies

in

cbA pointer to a udi_gfx_command_cb_t

udi_gfx_buffer_cb_t

Contains a description of a buffer, or area thereof

Summary
Variables
gcbThe main control block
Functions
udi_gfx_buffer_info_reqfunction pointer prototype for getting buffer configuration information
udi_gfx_buffer_info_ackfunction pointer prototype for getting buffer configuration information

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_gfx_buffer_info_req

typedef void udi_gfx_buffer_info_req_op_t (udi_gfx_buffer_info_cb_t *cb)

function pointer prototype for getting buffer configuration information

in

cbA pointer to a udi_gfx_command_cb_t

udi_gfx_buffer_info_ack

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

in

cbA pointer to a udi_gfx_command_cb_t
widthThe width of the buffer
heightThe height of the buffer
bitsperThe number of bits read from the buffer per pixel unit
flagsA bitfield of <UDI_GFX_BUFFER_FLAGS> indicating the exposed capabilities of this buffer

Note that bitsper might not be a multiple of eight.

udi_gfx_buffer_cb_t

Contains a description of a buffer, or area thereof

Summary
Variables
gcbThe main control block
Functions
udi_gfx_buffer_write_req_op_tfunction pointer prototype for writing raw hardware buffers
udi_gfx_buffer_write_req_op_tfunction pointer prototype for reading raw hardware buffers
udi_gfx_buffer_write_ack_op_tfunction pointer prototype for writing raw hardware buffers
udi_gfx_buffer_write_ack_op_tfunction pointer prototype for reading raw hardware buffers
udi_gfx_buffer_write_nak_op_terror handling for buffer writes
udi_gfx_buffer_write_nak_op_terror handling for buffer reads

Variables

gcb

udi_cb_t gcb

The main control block

Functions

udi_gfx_buffer_write_req_op_t

typedef void udi_gfx_buffer_write_req_op_t (udi_gfx_buffer_cb_t *cb)

function pointer prototype for writing raw hardware buffers

in

cbA pointer to a udi_gfx_buffer_cb_t

udi_gfx_buffer_write_req_op_t

function pointer prototype for reading raw hardware buffers

in

cbA pointer to a udi_gfx_buffer_cb_t

udi_gfx_buffer_write_ack_op_t

typedef void udi_gfx_buffer_write_ack_op_t (udi_gfx_buffer_cb_t *cb)

function pointer prototype for writing raw hardware buffers

in

cbA pointer to a udi_gfx_buffer_cb_t

udi_gfx_buffer_write_ack_op_t

function pointer prototype for reading raw hardware buffers

in

cbA pointer to a udi_gfx_buffer_cb_t

udi_gfx_buffer_write_nak_op_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

in

cbA pointer to a udi_gfx_buffer_cb_t

udi_gfx_buffer_write_nak_op_t

error handling for buffer reads

in

cbA pointer to a udi_gfx_buffer_cb_t

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 stock configurations
udi_cb_t gcb
The main control block
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
typedef void udi_gfx_unbind_req_op_t (udi_gfx_bind_cb_t *cb)
function pointer prototype for disconnecting a block device
typedef void udi_gfx_unbind_ack_op_t (udi_gfx_bind_cb_t *cb)
function pointer prototype for connecting to a block device
udi_cb_t gcb
The main control block
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
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
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 engine state
typedef void udi_gfx_get_connector_req_op_t (udi_gfx_state_cb_t *cb)
function pointer prototype for setting an connector 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)
function pointer prototype for setting an engine state
udi_cb_t gcb
The main control block
typedef void udi_gfx_range_engine_req_op_t (udi_gfx_range_cb_t *cb)
function pointer prototype for getting an engine property range
typedef void udi_gfx_range_connector_req_op_t (udi_gfx_range_cb_t *cb)
function pointer prototype for getting a connector property range
typedef void udi_gfx_range_engine_ack_op_t (udi_gfx_range_cb_t *cb)
function pointer prototype for replying an engine property range
typedef void udi_gfx_range_connector_ack_op_t (udi_gfx_range_cb_t *cb)
function pointer prototype for replying a connector property range
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
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
udi_cb_t gcb
The main control block
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
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
typedef void udi_gfx_connector_command_ack_op_t (udi_gfx_command_cb_t *cb)
function pointer prototype for sending command data replies
typedef void udi_gfx_engine_command_ack_op_t (udi_gfx_command_cb_t *cb)
function pointer prototype for sending engine data replies
udi_cb_t gcb
The main control block
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 getting buffer configuration information
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)
function pointer prototype for writing raw hardware buffers
typedef void udi_gfx_buffer_write_nak_op_t (udi_gfx_buffer_cb_t *cb,
udi_status_t status)
error handling for buffer writes
Any non-zero positive value
Any non-zero positive number.
Any, signed value.
Contains the operations of a read/write transaction
Contains the operations of a driver binding request
Contains the operations of a read/write transaction
Contains the operations of a range request transaction
Contains the operations of a command sequence
Contains a description of a buffer, or area thereof