C H A P T E R  4

Suntrademark XVR-1200 Graphics Accelerator Test (jfbtest)

jfbtest verifies the proper functioning of the Suntrademark XVR-1200 graphics accelerator.

jfbtest can detect and adapt to many video modes of the Sun XVR-1200 graphics accelerator. All tests can run at a resolution of 1024x768 or higher.

You can interrupt jfbtest using Control-C.

Test accuracy is checked using direct image comparison against compressed images. Failed pixel locations are printed as error messages.



caution icon

Caution - Do not run any other application or screen saver program that uses the Sun XVR-1200 graphics accelerator port while running jfbtest. This combination causes SunVTS to return incorrect errors.




jfbtest Test Requirements

Disable all screen savers before testing any graphics device. To disable the Solaris screen saver, type the following at a UNIX prompt:

# xset s off

To turn Power Management off, type the following at a UNIX prompt:

# xset -dpms

The display resolution must be 1024x768 or higher (the standard resolution). To change resolution, go to a UNIX prompt and type:

# fbconfig -res 1280x1024x76

For full instructions on testing frame buffers, see the Testing Frame Buffers section of the SunVTS 5.1 Test Reference Manual.

Preparation for jfbtest

You should complete a few steps in advance to ensure that jfbtest runs as smoothly as possible.

If you are running jfbtest in a window system (such as CDE):

If you are not running jfbtest in a window system:


jfbtest Options

To reach the dialog box below, right-click on the test name in the System Map and select Test Parameter Options. If you do not see this test in the System Map, you might need to expand the collapsed groups, or your system may not include the device appropriate to this test. Refer to the SunVTS User's Guide for more details.

By default, all jfbtest options are enabled.

FIGURE 4-1 jfbtest Test Parameter Options Dialog Box

Screenshot of the ifbtest Test Parameter Options dialog box.

TABLE 4-1 jfbtest Options

jfbtest Options

Description

Frame Buffer Memory test

Thoroughly tests the Sun XVR-1200 video memory by using read and write requests. Tests for shorts or failed connections on the data bus by writing the following values to every address:

  • 0xFFFFFFFF

  • 0xFFFF0000

  • 0x0000FFFF

  • 0xFF00FF00

  • 0x00FF00FF

  • 0xF0F0F0F0

  • 0x0F0F0F0F

  • 0xCCCCCCCC

  • 0x33333333

  • 0xAAAAAAAA

  • 0x55555555

Tests for shorts or failed connections on the address bus by writing the offset of each memory location to each location and reading them back. This may also catch speed-related problems due to the volume of read/writes.

Errors in the test are reported as an error in a particular address, not attributed to a specific chip. To help distinguish bit-related errors, the errors are summarized to list which bits had at least one error in the test.

This test shows on the screen as random pixels.

Texture Memory test

This test is identical in process to the Frame Buffer Memory test (above). Since this test produces no visible effect, rectangles are drawn in rows across the screen to show progress.

Display List Memory test

This test is identical in process to the Frame Buffer Memory and Texture Memory tests (above), and is applied to direct burst memory.

This test takes little time and no progress is displayed.

Geometry Engine test

Loads diagnostic microcode into the geometry engine and confirms that the processor operates correctly. This is a pass/fail test.

This test takes little time and no progress is displayed.

Rasterization test

Renders many primitives with minimal fragment processing, to test the rasterization of the primitives.

The primitives used are:

  • Dots

  • Anti-aliased dots

  • Lines using all for line-drawing primitives

  • Anti-aliased lines using all for line-drawing primitives

  • Triangles, Quads, and Polygons in point, line, and fill modes

  • Rectangles

This tests for the following rasterization attributes:

  • Pixel coverage

  • Constant value registers for color, Z, and stencil

  • Interpolation of color, Z, and texture coordinates along lines and spans in polygons

  • Texture map sampling

Resulting images are compared against stored images. Errors indicate which operation type and value was being tested, and the coordinate of the failed pixel.

Pixel Processor test

Tries the various pixel processing operators using a variety of fragment values. This tests the following fragment processing operations:

  • Depth Buffering

  • Blending

  • Alpha Test

  • Color Test

  • Color Clamp

  • Logic Operations

  • Color Matrix and Bias

  • Color Table

  • Control Planes

  • Fast Clear

  • Stencil

  • Scissor Clipping

  • Desktop Clipping

  • Mask Clipping

  • Write Masks

  • Window Origin

  • Fog

  • Pixel Texture

  • Accumulation Buffer

  • Pixel Buffers

Resulting images are compared against stored images. Errors indicate which operation type and value was being tested and the coordinate of the failed pixel.



jfbtest Test Modes

Due to the nature of graphic tests, reading data from, or writing data to the frame buffer during graphic tests will disturb user operation. For this reason, jfbtest is only available in Functional test mode.

TABLE 4-2 jfbtest Supported Test Modes

Test Mode

Description

Functional

Runs the full set of tests.



jfbtest Command-Line Syntax

/opt/SUNWvts/bin/jfbtest standard_arguments -o dev=device_name, fbmem=E(nable)/D(isable),texmem=E/D,dlmem=E/D,geomeng=E/D, rasterization=E/D,pixelproc=E/D,subtest_repeat=number, test_repeat=number

TABLE 4-3 jfbtest Command-Line Syntax

Argument

Description

dev=device_name

device_name is the relative path name of the device being tested with respect to /dev/fbs. There is no default.

fbmem=E/D

Enables or disables the Frame Buffer Memory test.

texmem=E/D

Enables or disables the Texture Memory test.

dlmem=E/D

Enables or disables the Display List Memory test.

geomeng=E/D

Enables or disables the Geometry Engine test.

rasterization=E/D

Enables or disables the Rasterization test.

pixelproc=E/D

Enables or disables the Pixel Processing test.

subtest_repeat=number

Defines the number of times to repeat each subtest. The default is 1.

test_repeat=number

Defines the number of times to repeat a test loop before passing. The default is 1.




Note - 64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname, or the relative path to which you installed SunVTS. If a test is not present in this directory, then it may only be available as a 32-bit test. For more information refer to the "32-Bit and 64-Bit Tests" section of the SunVTS 5.1 Test Reference Manual (816-5145-10).