Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Starbase Device Drivers Manual - Vol1: HP 9000 Series 700 Computers > Chapter 7 Internal Color Graphics Workstations

The Internal Color Graphics Device

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

Device Description

The hpgcrx device driver is supported on the Series 700 integrated graphics workstations that are described in the chapter

Series 700 Internal Color Graphics device support is described in the chapter "Series 700 Graphics Devices" in the Graphics Administration Guide.

The Internal Color Graphics device is a color display with a single bank of 8 planes for 256 colors. It is a member of the CRX family of devices that are supported by the hpgcrx Starbase driver. As such, it behaves much like the Integrated Graphics displays. The differences are noted in subsequent sections.

Two important features that the Internal Color Graphics device provides are:

  • Two hardware color maps.

  • HP Color Recovery capability to make images rendered in 8 planes look more realistic.

Input Devices

Some systems with the Internal Color Graphics device do not use the HP-HIL input interface. Therefore input from the raw input device using the hp-hil driver is not supported on these systems. They instead use the PS-2 standard keyboard and mouse. It is recommended that input be taken directly from the X server by using Xlib calls.

Input from the X keyboard and X pointer device can also be done through Starbase. No other input devices are supported. Input through Starbase can be done in several ways. You can open the window you are rendering to as an OUTINDEV or INDEV device (see the gopen() function). The driver you will use is the same driver that you use for rendering (for example, hpgcrx). Input using the sox11 driver, hpvmx driver, kbd driver and the lkbd driver is also supported.

These drivers do not interact with the input devices directly. They get the input data indirectly from the X server. Thus the normal X input focus policy applies. For more information, read the sections "Graphical Input through an X11 Window" and "Input Operation" in the chapter "Using Starbase with the X Window System" in the Starbase Graphics Techniques manual.

Double-Buffering

The Internal Color Graphics display has a single bank of 8 planes; therefore, 8/8 double buffering is not done in the display hardware. However, it is possible to do virtual memory 8/8 double buffering. This capability is enabled by the existence (not the value) of the HP_VM_DOUBLE_BUFFER environment variable. For double-buffering information, see the section "VM Double-Buffering on 8-Plane Devices" in the chapter "HP VMX Device Drivers" in this manual.

Double-buffering with less than 8 planes (4/4, 3/3, 2/2, 1/1) is supported for compatibility with previous devices, though it is not recommended, and it is only supported when shade_mode is CMAP_NORMAL. It is implemented by using write_enable and display_enable masks and may cause the technicolor effect to occur under some circumstances.

The Frame Buffer

Since the frame buffer information for the Internal Color Graphics device is the same as for the Integrated Graphics device, read the section "The Frame Buffer" in the chapter "Integrated Graphics Workstations" in this manual.

HP Color Recovery

The Internal Color Graphics display uses HP Color Recovery for shaded areas. HP Color recovery will generate a better picture by attempting to eliminate the graininess caused by dithering.

There are two components to HP Color Recovery. A different dither cell size (16×2) is used when rendering shaded polygons, and a digital filter is used when displaying the contents of the frame buffer to the screen.

HP Color Recovery is available on the Internal Color Graphics device whenever you are in CMAP_FULL mode and you have used the INIT flag in the gopen, shade_mode, or the double_buffer function to initialize color maps. Keep in mind that the default color map mode is CMAP_NORMAL for PseudoColor visuals; therefore, the color recovery color map will not be set up until you call shade_mode to set the mode to CMAP_FULL.

HP Color Recovery is available when using either PseudoColor or TrueColor visuals.

Under some conditions HP Color Recovery can produce undesirable artifacts in the image. This also happens with dithering, but the artifacts are different. However, images rendered with color recovery are seldom worse than what dithering produces. In most cases, HP Color Recovery produces significantly better pictures than dithering. Note that 4×4 dithering is available in the CMAP_FULL color map mode, but not in the CMAP_NORMAL color map mode.

HP Color Recovery is available by default. If for some reason you wish to disable HP Color Recovery, you can do it in three ways:

  • You can export the environment variable HP_DISABLE_COLOR_RECOVERY before starting up the X server (see the section "Accessing HP Color Recovery with X Windows" in this chapter). Setting this environment variable disables HP Color Recovery for all applications and the gescape covered in the subsequent section "Gescapes" cannot be used to enable HP Color Recovery.

  • You can export the environment variable HP_DISABLE_COLOR_RECOVERY before running your application. Setting this environment variable to any value disables HP Color Recovery for subsequently executed applications.

  • You can disable HP Color Recovery programmatically by using the Starbase gescape COLOR_RECOVERY_CONTROL. For details on this gescape, read the section "Gescapes" found in a subsequent section.

In CMAP_FULL shade mode, disabling HP Color Recovery will return normal dithering. Note that HP Color Recovery is not available with any other shade mode.

HP Color Recovery is enabled in conjunction with a particular X color map that is associated with your window. If the X color map of your window is not currently installed in hardware by your window manager, you may not see the HP Color Recovery effect of the HP Color Recovery filter. You may not even see the correct colors for that window. Since there are two hardware color maps available, this should happen infrequently.

The HP Color Recovery color map is a read-only color map. Any attempts to change it will be ignored and no error will be reported.

Gescapes

The COLOR_RECOVERY_CONTROL gescape can be used to disable HP Color Recovery. Passing it a 0 value in arg1 will disable HP Color Recovery, a 1 value will enable it (HP Color Recovery is enabled by default). The arg2 parameter is ignored. The effect of this gescape will not take place until the next time you call shade_mode or double_buffer with the INIT flag. For example:

gescapearg  arg1;

/* Disable HP Color Recovery */
arg1.i0 = 0;
gescape(fildes, COLORRECOVERYCONTROL, arg1, NULL);
shademode(fildes, CMAPFULLINIT,0);

Color Maps

The Internal Color Graphics device has two hardware color maps. These hardware color maps are selected and managed by the X server. For information on how the X server manages the color maps, read the section "Color Maps and Color Map Management" in this chapter.

The use of multiple hardware color maps will minimize any technicolor effect that may occur due to different windows using different logical color maps.

Some graphics applications written for 8-plane devices prior to the 9.03 release required the use of the SB_X_SHARED_CMAP environment variable to prevent the technicolor effect. Since the Internal Color Graphics device has two hardware color maps, applications written on it do not require the SB_X_SHARED_CMAP environment variable.

NOTE: The SB_X_SHARED_CMAP environment variable is not supported in 10.0 and later releases for the Internal Color Graphics device. Therefore, when developing applications, you should modify your application to look for multiple hardware color maps and act accordingly.

Dithering

There are two dither cell sizes in use on the Internal Color Graphics device: a standard 4×4 pixel dither cell and a 16×2 pixel dither cell. The 16×2 dither is used for shaded areas whenever HP Color Recovery is enabled (see the section on "HP Color Recovery"). Otherwise, the 4×4 dither is used. Note that under some circumstances Starbase will employ dithering (with the 4×4 dither cell) when drawing lines and other primitives.

The dither cell pattern on the Internal Color Graphics device is aligned relative to the position of the window. That means the pattern doesn't shift when the window is moved somewhere else on the screen. The dither cell alignment on previous CRX devices could vary depending on where on the screen the window was and whether the dither was done in software by the driver or in hardware.

Supported Visuals for the Internal Color Graphics Device

On the Internal Color Graphics device, Starbase supports the PseudoColor and TrueColor visuals. Table 7-1 “Supported Visuals ” lists the supported visuals.

Table 7-1 Supported Visuals

Support Visual

Shade Mode

PseudoColor

CMAP_NORMAL CMAP_FULL CMAP_MONOTONIC

TrueColor

CMAP_FULL [1]

[1] When the TrueColor visual window is gopened, you will automatically be in CMAP_FULL mode and the shade_mode call will ignore any attempts to go into another mode.

 

Note that the TrueColor visual color map is a READ-ONLY color map and that any attempts to change it will be ignored, with no error message.

For more information on the TrueColor visual, read the section "Device Support for the TrueColor Visual" found in this chapter.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1989 - 1995 Hewlett-Packard Development Company, L.P.