Solaris Handbook for Sun Frame Buffers

Accelerated Functions

Table 4-1 shows the XIL functions accelerated using VIS. Note that display molecules are defined for one- and three-banded XIL_BYTE images.

Table 4-1 Accelerated XIL Functions

Function 

VIS Acceleration 

Molecules 

Comments 

8-bit 

16-bit 

Display 

Other 

xil_absolute

 

1 - 4 bands 

 

 

 

xil_add

1 - 4 bands 

1 - 4 bands 

 

 

xil_add_constant

1 - 4 bands 

1 - 4 bands 

 

 

xil_affine

1 - 4 bands 

1 - 4 bands 

 

See Note 6 

xil_and

1 - 4 bands 

1 - 4 bands 

 

 

xil_and_constant

1 - 4 bands 

1 - 4 bands 

 

 

xil_band_combine

1 - 4 bands 

1 - 4 bands 

 

 

 

xil_blend

1 - 4 bands 

1 - 4 bands 

 

 

 

xil_cast

8 x 16

16 x 8

 

1 - 4 bands 

1 - 4 bands 

 

1 - 4 bands 

1 - 4 bands 

 

 

xil_convolve

1 - 4 bands 

1 - 4 bands 

 

See Note 1 

xil_copy

1 - 4 bands 

1 - 4 bands 

 

 

xil_decompress

 

 

 

 

See Notes 2, 5 

xil_get_pixel

 

 

 

 

See Note 4 

xil_lookup

1 - 4 bands 

1 - 4 bands 

See Note 5 

xil_max

1 - 4 bands 

1 - 4 bands 

 

 

xil_min

1 - 4 bands 

1 - 4 bands 

 

 

xil_multiply

1 - 4 bands 

1 - 4 bands 

 

 

xil_multiply_constant

1 - 4 bands 

1 - 4 bands 

 

 

xil_not

1 - 4 bands 

1 - 4 bands 

 

 

xil_or

1 - 4 bands 

1 - 4 bands 

 

 

xil_or_constant

1 - 4 bands 

1 - 4 bands 

 

 

xil_rescale

1 - 4 bands 

1 - 4 bands 

See Notes 3, 5 

xil_rotate

1 - 4 bands 

1 - 4 bands 

 

See Note 6 

xil_scale

1 - 4 bands 

1 - 4 bands 

See Note 5, 6 

xil_set_pixel

 

 

 

See Note 4 

xil_set_value

1 - 4 bands 

1 - 4 bands 

 

 

xil_subtract

1 - 4 bands 

1 - 4 bands 

 

 

xil_subtract_const

1 - 4 bands 

1 - 4 bands 

 

 

xil_subtract_from_const

1 - 4 bands 

1 - 4 bands 

 

 

xil_tablewarp

 

 

 

See Note 4 

xil_threshold

1 - 4 bands 

1 - 4 bands 

See Notes 3, 5 

xil_transpose

1 - 4 bands 

1 - 4 bands 

 

 

xil_xor

1 - 4 bands 

1 - 4 bands 

 

 

xil_xor_const

1 - 4 bands 

1 - 4 bands 

 

 

Notes to Table 7-1

Note 1: xil_convolve is accelerated for 3 x 3, 5 x 5, and 7 x 7 kernels.

Note 2: xil_decompress is accelerated for the following cases:

This decoder adheres to full-precision 24-bit CCIR 601 YCC to RGB709 color space conversion.

There are a few instances when decompression of streams will not be accelerated.

Note 3: xil_rescale + xil_threshold + xil_threshold + display molecule is accelerated using the Creator depth-cueing hardware. However, some restrictions apply, as follows:

Figure 4-1 Creator Depth-cueing

Graphic

The following code is an example of a correct call to invoke this molecule:


float scale[1] = 1.5;

float offset[1] = -10;

float t1_lo[1] = 255;

float t1_hi[1] = 240;

float t1_map[1] = 240;

float t2_lo[1] = 0;

float t2_hi[1] = 15;

float t2_map[1] = 15;

xil_rescale(src,tmp1,scale,offset);

xil_threshold(tmp1,tmp2,t1_lo,t1_hi,t1_map);

xil_threshold(tmp2,tmp3,t2_lo,t2_hi,t2_map);

xil_display(tmp3,display);

However, if the same calling sequence is done with scale[1] = .40, the molecule will not be invoked because the line y = 0.40*x -10 only spans the range y = -10 to y = (255*0.40) - 10 = 92 between x = 0 and x = 255. For the molecule to execute, y must span at least the range y = 15 to y = 240 for x between 0 and 255.

Note 4: xil_get_pixel, xil_set_pixel, and xil_tablewarp are accelerated only as display molecules. For xil_tablewarp, only interpolation = "nearest" is accelerated.

Note 5: All the molecules (other than a single xil function + display) that are accelerated are as follows:

Note 6: There are some restrictions on the acceleration of xil_affine, xil_scale, and xil_rotate: xil_affine and xil_rotate are accelerated only for 1-, 3-, and 4-banded images with "nearest" interpolation, and only for 1- and 3-banded images with "bilinear" and "bicubic" interpolation. The restriction for xil_scale is that in the case of interpolation = "general" the size of the resampling kernels are limited to 8 x 8 for 8-bit images, and 8 x 4 for 16-bit images.