Expert3D Frame Buffer Test (ifbtest)
|
ifbtest verifies the functionality of the Expert3D frame buffer.
ifbtest can detect and adapt to many video modes of the Expert3D frame buffer. All tests can run at a resolution of 1024x768 or higher.
You can interrupt ifbtest 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 Expert3D accelerator port while running ifbtest. This combination causes SunVTS to return incorrect errors.
|
ifbtest 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 Testing Frame Buffers.
Preparation for ifbtest
You should complete a few steps in advance to ensure that ifbtest runs as smoothly as possible.
If you are running ifbtest 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/ifb.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. ifbtest 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 Expert3D frame buffer.
If you are not running ifbtest 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/ifb.conf file.
-
Make sure that no other program is running that might modify the screen during the test.
-
Make sure the Expert3D frame buffer being tested is not the console device. Console messages may modify the screen.
ifbtest 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 ifbtest options are enabled.
FIGURE 30-1 ifbtest Test Parameter Options Dialog Box
TABLE 30-1 ifbtest Options
ifbtest Options
|
Description
|
Frame Buffer Memory test
|
Thoroughly tests the Expert3D 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.
|
ifbtest 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, ifbtest is only available in Offline Functional test mode.
TABLE 30-2 ifbtest Supported Test Modes
Test Mode
|
Description
|
Functional
(Offline)
|
Runs the full set of tests.
|
ifbtest Command-Line Syntax
/opt/SUNWvts/bin/ifbtest 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 30-3 ifbtest 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. If the test is not present in this directory, then it may only be available as a 32-bit test. For more information refer to 32-Bit and 64-Bit Tests.
|
SunVTS 5.1 Test Reference Manual
| 816-5145-10
|
|
Copyright © 2002, Sun Microsystems, Inc. All rights reserved.