Appendix: Hardware Capabilities

This appendix contains information about supported hardware capabilities and limitations.

This chapter contains:

Fujitsu Carmine

OpenGL ES Hardware Acceleration

The driver supports full OpenGL ES hardware acceleration, as long as you enable no more than 2 textures at the same time.

Supported Chipset

There are two versions of the Carmine chip: ES1 and ES2. Only ES2 chips work with QNX Advanced Graphics. ES1 chips are not supported. Unfortunately, there is no way to determine the chip version in software, and attempting to drive an ES1 chip with the driver will cause it to lock up.

OpenGL ES Lighting

The Carmine supports only a subset of the OpenGL ES lighting functionality. If you use any lighting features that are not supported by the Carmine, lighting calculations are performed in software instead. However, the remaining portions of the OpenGL ES pipeline will still be hardware accelerated. The lighting operations which, if enabled, cause lighting processing to be performed in software include:

Intel Extreme2

The driver supports full OpenGL ES hardware acceleration, with up to 4 textures simultaneously.

Fujitsu Coral

Note: The jumper that enables interrupts is not set on Fujitsu Coral cards by default. The Neutrino devg-coral driver will not work unless this jumper is installed. See the Coral hardware documentation for information about installing this jumper.

GF drawing on Coral hardware has these limitations:

In the GF video capture API, gf_vcap_set_brightness(), gf_vcap_set_contrast(), and gf_vcap_set_saturation() are not implemented for Coral hardware. For Coral PA hardware, you can instead use the layer functions gf_layer_set_brightness(), gf_layer_set_contrast(), and gf_layer_set_saturation(). These functions are not implemented for Coral B or Coral P hardware.

Hardware Acceleration

The driver supports full OpenGL ES hardware acceleration, as long as you enable no more than 1 texture. To prevent falling back to software when using Coral hardware, use the OpenGL ES API as follows:

  1. Never enable more than one texture unit.
  2. Never use textures containing alpha values; only specify GL_RGB (or palette-based textures that don't have alpha) for the texture's internal format.
  3. Never specify a value other than GL_TRUE as a parameter to glColorMask().
  4. Never enable the following states:
  5. Only the following blend mode is supported in hardware: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  6. The texture minification filter must be GL_NEAREST or GL_LINEAR.
  7. The same filter must be used for texture minification as for magnification.
  8. The texture application mode must be either GL_REPLACE, GL_DECAL, or GL_MODULATE.
  9. For line and point primitives, don't enable texture mapping or shading.