Sun XVR-1200 Graphics Accelerator Test (jfbtest)
|
jfbtest verifies the proper functioning of the Sun
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 - 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:
To turn Power Management off, type the following at a UNIX prompt:
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):
-
Turn Power Management off, if it is enabled. The following is an alternate way to turn Power Management off. Change allowFBPM=1 to allowFBPM=0 in
/platform/sun4u/kernal/drv/jfb.conf file.
-
Make sure that no other program is running that might modify the screen during the test.
-
Make sure you have permission to lock the X server. jfbtest is designed to lock the X server during testing to prevent screen changes.
-
The CDE login window should not be displayed during testing.
-
Check that the window system is only running on one Sun XVR-1200 graphics accelerator.
If you are not running jfbtest in a window system:
-
Turn Power Management off, if it is enabled. The following is an alternate way to turn Power Management off. Change allowFBPM=1 to allowFBPM=0 in
/platform/sun4u/kernal/drv/jfb.conf file.
-
Make sure that no other program is running that might modify the screen during the test.
-
Make sure the Sun XVR-1200 graphics accelerator being tested is not the console device. Console messages may modify the screen.
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 19-1 jfbtest Test Parameter Options Dialog Box
TABLE 19-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 19-2 jfbtest Supported Test Modes
Test Mode
|
Description
|
Functional
|
Runs the full set of tests.
|
Connection
|
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 19-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).
|