Image Compatibility Guarantees Overview

Pixel format support is generally device-dependent. This can cause difficulties for application developers, who usually want their applications to work across a variety of devices including those with and without hardware acceleration. In order to allow development of more generic applications, the Graphics Resource component guarantees a certain level of image format compatibility across all platforms.

Guarantees of image compatibility cover a variety of combinations of pixel format, mutability, CPU access, usage and screen identifier. The following table provides a description of these attributes.

Attribute Description


Whether or not the image can be modified.

Application-level CPU access

Whether an application has direct access to the image pixel data.


With which rendering pipeline the image is to be used and for what purpose (for example, DirectGDI source or OpenVG target).

Screen identifier

This can be the identifier of the screen which the image must be rendered on. Alternatively, this can be -1, which indicates that the image is screen agnostic (in other words, it can be rendered on any screen.)

Size in pixels

The height and width of the image in pixels.

In order to allow efficient implementation on the widest possible range of devices, the combinations of attributes that are guaranteed is limited. For a full list of the combinations that are guaranteed, see Supported Image Formats.

Individual devices may provide support for pixel formats and usage combinations beyond the minimum guarantees provided by the Graphics Resource component. Application developers can take advantage of these by querying RSgImage::GetPixelFormats() at run-time. Developers must make sure that alternative methods are in place should the features not be available on a particular device.