disp_layer_query_t

Query capabilities of a given layer

Synopsis:

#include <graphics/display.h>

typedef struct {
    int                size;
    unsigned           pixel_format;
    unsigned           caps;
    unsigned           alpha_valid_flags;
    unsigned           alpha_combinations;
    unsigned           chromakey_caps;

    int                src_max_height;
    int                src_max_width;
    int                src_max_viewport_height;
    int                src_max_viewport_width;

    int                dst_max_height;
    int                dst_max_width;
    int                dst_min_height;
    int                dst_min_width;

    int                max_scaleup_x;
    int                max_scaleup_y;

    int                max_scaledown_x;
    int                max_scaledown_y;

    uint64_t           order_mask;
    uint32_t           output_mask;

} disp_layer_query_t *info;

Description:

The disp_layer_query_t structure defines the graphics driver's capabilities. The graphics framework passes this structure to the layer query entry point.

The members of disp_layer_query_t include:

size
The sizeof disp_surface_info_t structure.
format
The pixel format; see Pixel formats for layers in the Writing a Graphics Driver chapter.
caps
The flags that describe the capabilities of a layer for a given format:
alpha_valid_flags
These are the flags that may be specified in the alpha_mode parameter to layer_set _blending().
alpha_combinations
alpha_combinations are used to define some capabilities of the alpha-blending hardware for this layer. Defined values are:
chromakey_caps
These flags define some capabilities of the chroma-key hardware for this layer. Defined values are:
src_max_height
The maximum height of the source image that can be displayed. The surface to be displayed may be taller than this value. When this is the case, it isn't possible to display part of the image at the bottom of the surface.
src_max_width
The maximum width of the source image that can be displayed. The surface to be displayed may be wider than this value. When this is the case, it isn't possible to display part of the image at the right of the surface.
src_max_viewport_height
Maximum height of the viewport into the source image. The layer isn't capable of fetching an image area for a display that's taller than this value.
src_max_viewport_width
Maximum width of the viewport into the source image. The layer isn't capable of fetching an image area for a display that's wider than this value.
dst_max_height
Maximum height of the destination viewport on the display.
dst_max_width
Maximum width of the destination viewport on the display.
dst_min_height
Minimum height of the destination viewport on the display.
dst_min_width
Minimum width of the destination viewport on the display.
max_scaleup_x
Maximum scaling factor for image upscaling in the horizontal direction. A value of 1 means upscaling can't be performed. A value < 1 is invalid. A value > 1 means that the destination viewport width can be up to max_scaleup_x times the source viewport width.
max_scaleup_y
Maximum scaling factor for image upscaling in the vertical direction. A value of 1 means upscaling can't be performed. A value < 1 is invalid. A value > 1 means that the destination viewport height can be up to max_scaleup_y times the source viewport height.
max_scaledown_x
Maximum scaling factor for image downscaling in the horizontal direction. A value of 1 means downscaling can't be performed. A value < 1 is invalid. A value > 1 means that the source viewport width can be up to max_scaledown_x times the destination viewport width.
max_scaledown_y
Maximum scaling factor for image downscaling in the vertical direction. A value of 1 means downscaling can't be performed. A value < 1 is invalid. A value > 1 means that the source viewport height can be up to max_scaledown_x times the destination viewport height.
order_mask
If you think of the hardware as having n slots and n layers which can occupy these slots, for a given layer this bit mask represents the slots which the layer may occupy. For example, these two layers can only occupy one slot, and can't be re-ordered:
output_mask
On a display with multiple outputs, this bitmask specifies which outputs this layer may be displayed on. Each bit in the layer mask represents an output for the display.

Classification:

Neutrino