SunVTS 2.0 Test Reference Manual
  Suchtext Nur in diesem Buch
Dieses Buch im PDF-Format herunterladen

leotest

13

ZX and TZX Graphics Accelerator Test (leotest)

The leotest verifies the Sun Microsystems ZX and TZX Graphics Accelerators with a sequence of subtests. All tests are nondestructive and maintain the system integrity during and after the tests are run.

CAUTION Caution - Do not run any other application that uses the ZX or TZX accelerator port while running leotest. This combination causes SunVTS to return incorrect errors.


Note - Disable all screen savers before testing any graphics device. Type xset s off at a UNIX prompt to disable the Solaris screen saver.
To start SunVTS with vtsui, but without vtsk, you must add the hostname to xhost as:
xhost + <hostname>.
leotest requires approximately 2 Mbytes of disk space in the /tmp directory to extract its working files. If this space is not available, the diagnostic will fail and report warning and error messages, indicating a lack of disk space.
This test cannot be run on UltraSPARC systems

leotest Options

By default, SunVTS runs all of the available tests, except the Stereo test. See the test descriptions section below. To avoid excessive test cycle times when testing the ZX or TZX Graphics Accelerators, follow these instructions to ensure that leotest runs once, reports the status as each test routine executes, and then exits:
  1. Enable Single Pass on the SunVTS Options menu.

  2. Enable Verbose on the SunVTS Options menu.

  3. Do not select any other diagnostic tests.


Note - Disable all screen savers before testing any graphics device. Type xset s off at a UNIX prompt to disable the Solaris screen saver.

Grafik

Figure 13-1 leotest

leotest Subtests

leotest is divided into two subtest categories:
  • Direct Port tests
  • Accelerator Port tests.

Direct Port Tests

The direct ports tests check the non-accelerated portion of the ZX using the following subtests.
Video Memory The video memory array subtest selects and tests 64 by 64 pixel regions covering all video memory planes, including the 24-bit double-buffered image plane, 8-bit overlay plane, 24-bit depth (Z buffer) plane, and 10-bit window identification (WID) plane. If the subtest detects an error, SunVTS reports the defective plane and location.
LUTs This subtest performs a nondestructive read-write test on the frame buffer color look-up tables and the WID look-up tables. After the test is complete, the table contents are restored. If this subtest detects a failure, SunVTS reports the location of the failure.
At the beginning of this subtest, red, green, and blue stripes are displayed for visual verification of the digital-to-analog converters (DACs).
Frame Buffer Output The Frame Buffer Output subtest creates various windows in the Window ID plane, then sets up the look-up tables (LUTs) associated with these windows. This subtest then writes random values to the video memory of these windows. Next, the test verifies the RGB image data of each pixel by triggering the trap registers, reading and generating RGB checksums from these values, and comparing these checksums with known values. This is also a visual cursor test as the cursor is being displayed for each pixel that is being tested.

Note - Moving the mouse cursor during the test can prolong the test and cause failures. For best results, remove the mouse from the mouse pad during this test.

Accelerator Port Tests

The accelerator port test consists of a sequence of subtests that are designed to ensure the ZX Graphics Accelerator integrity at the system level. They take accelerator port transaction files as input. These files contain graphic data that is passed to the ZX Accelerator port in groups of 32-bit words called packets. These packets contain dots, vectors, triangles, and pass-through commands, and are generated in either immediate (programmed I/O) or DMA mode. The ZX SunVTS queries the system software for DMA capability, and if applicable, renders objects in DMA mode for some subtests. For more information on ZX hardware, refer to the Leo Hardware Reference Manual.
For verification, after the image is rendered to the frame buffer, each subtest reads the RGB image data from the frame buffer and compares the data against known good images. To save disk space, the good image data is stored in a reduced size (64 times smaller that the normal size), and are stored in the Sun raster file format. The files are stored in the leotest.data file in /opt/SUNWvts/bin.

Note - The leotest subtests verify a frame buffer region of 1152 by 900 pixels, regardless of monitor size.

Microcode SRAM Checksum and Read/Write Selftest This subtest sends a diagnostic package to the microcode of the floating point transform engine with instructions to reset the accelerator port, run the SRAM selftest, and restart the engine. Then the test verifies each SRAM of all four Leo float chips in the floating point transform engine to make sure they have the same checksum. If not, the test reports an error, based on the information it receives from the microcode. Nondestructive read/write tests are also performed on each SRAM.
Primitive This subtest renders primitives such as dots and lines, as well as triangle, with different color and shading at each vertex.
Vector This subtest renders fairly large vector objects with aliased and anti-aliased vectors. This subtest is rendered in DMA mode, when applicable.
Viewport Clipping This subtest renders and clips an object around and in front of the screen.
Hidden Surface This subtest renders objects with the Z-buffer-compare attribute turned on.
Polygon Edge Highlighting This subtest renders an object with the polygon edge attribute turned on. This subtest is rendered in DMA mode, when applicable.
Transparency This subtest renders a scene with two transparency modes (standalone and alpha blend) in various degrees. This results in a two-pass transparency of the objects in the scene. This subtest is rendered in DMA mode, when applicable.
Depth-Cueing This subtest renders an object with the depth-cueing attribute turned on.
Lighting and Shading This subtest renders an object with multiple light sources and Gouraud shading for front and back surfaces. This subtest is rendered in DMA mode, when applicable.
Raster Copy This subtest renders 32-bit image and various subregions of it, and zooms in on a subregion, using the microcode raster data copy command.
Picking This subtest has two parts: a pick detect test and a pick echo test.
XGL The transaction file for this subtest was generated from an XGL program to ensure that the XGL registers are exercised.
Arbitration This subtest continually renders an object into the accelerator port while a second process performs a read-write test to the WID planes from the direct port on the frame buffer. This subtest simulates conditions where rendering processes and windows operation run concurrently. This subtest is rendered in DMA mode, when applicable.
Stereo (Interactive) This subtest displays text information in stereo mode. The user verifies proper operation by looking at the screen with stereo glasses and following the instructions displayed.
Loops per subtest Type the number of times each test should be run before going on to the next test. The default is one loop.
Loops per test sequence Type the number of times the entire test sequence should be run. Each sequence pass registers one in the SunVTS Pass Count window. The default is one loop.
FB Locking See the section "Testing Multiple Frame Buffers" in Chapter 3 of the SunVTS 2.0 User's Guide for details.
Pattern Press MENU to select a data pattern for the direct port tests. The default is "r" for random patterns. You may select a pattern of 0s, 3s, 5s, or 9s. For example, if you choose a pattern of 3s, the value 0x33333333 is written to and read from the frame buffer.

leotest Test Modes

Due to the nature of graphic tests, reading from or writing to the frame buffer during graphic tests will disturb user operation. This test is only available in offline mode.
Connectivity Mode Not applicable for this test.
Online Mode Not applicable for this test.
Offline Mode In this mode, leotest verifies the ZX and TZX graphics accelerators by running direct port tests and accelerator port tests.

leotest Command Line Syntax

/opt/SUNWvts/bin/leotest standard_arguments -o dev=device_name, S=subtest_number,F=#_of_subtest_loops,B=#_of_test_loops,lock=E(nable)/D(isable),P=patt ern
ArgumentExplanation
dev=device_namedevice_name is the full path name of the device being tested; the default is /dev/fbs/leo0.
S=subtest_numbersubtest_number is the test number of the subtest to be run. Select from the subtests below. You can run multiple subtests by adding the subtest numbers. For example, n=0x3 runs both test 1 and test 2; n=0x180 runs both test 0x080 and test 0x0100. Note that you do not need the leading zeros. To run all tests, enter n=0xFFFF.

0x 000 001 Direct port--video memory 0x 000 002 Direct port--CLUTs and WID LUTs 0x 000 004 Direct port--Frame buffer output section 0x 000 008 Direct port--SRAM checksum & Read/Write 0x 000 010 Accelerator port--primitives 0x 000 020 Accelerator port--vectors 0x 000 040 Accelerator port--clipping 0x 000 080 Accelerator port--z-buffer 0x 000 100 Accelerator port--polygon edge 0x 000 200 Accelerator port--transparency 0x 000 400 Accelerator port--depth cueing 0x 000 800 Accelerator port--lighting & shading 0x 001 000 Accelerator port--raster copy 0x 002 000 Accelerator port--picking 0x 004 000 Accelerator port--XGL 0x 008 000 Accelerator port--arbitration 0x 010 000 Accelerator port--stereo (interactive)

F=#_of_subtest_loops#_of_subtest_loops is the number of loops for each subtest; the default is 1.
B=#_of_test_loops#_of_test_loops is the number of loops of each test sequence. The default is 1.
ArgumentExplanation (Continued)
lock=E(nable)/D(isable )Enables or disables frame buffer locking. See the section "Testing Multiple Frame Buffers" in Chapter 3 of the SunVTS 2.0 User's Guide for details.
P=pattern_numberSelects a pattern number to be used with the direct ports tests; the default is r, for random patterns. You may also choose 0, 3, 5, or 9.

leotest Command Line Examples

Here are three examples that illustrate how to run leotest from a command line. Make sure to change the directory to /opt/SUNWvts/bin before running leotest from the command line. leotest is hard-wired to look for its data file, leotest.data, in /opt/SUNWvts/bin.
  • A simple accelerator port test, primitive single pass:

  machine# cd /opt/SUNWvts/bin  
  machine# leotest -o S=0x10  

  • All direct port tests, five loops of sequence:

  machine# cd /opt/SUNWvts/bin  
  machine# leotest -o S=0x7,B=0x5  

  • All subtests (except the interactive tests), two loops of each subtest, four loops of each test sequence:

  machine# cd /opt/SUNWvts/bin  
  machine# leotest -o S=0xFFFF,F=2,B=4  

leotest Error Messages

Error messages for leotest are listed below with explanations and probable causes. In all error conditions, the field replaceable unit (FRU) is the entire FFB. The error messages are listed below, along with explanations and probable cause.
1. Arbitration test failed.
  The arbitration test fails, and the cause is given in the message that follows.

2. Background process wouldn't die. System error.

A software error. You may have to reboot the SPARCstation.
3. Busy wait exceeded <number> loops. Error in the Floating
    Point Transform section. Rerun Leoconfig.

A timeout error condition. There is possibly a problem with the Floating Point Transform section, and the leoconfig software (located in /etc/opt/SUNWleo/bin/leoconfig) should be executed again. Check the leoconfig man pages for more details.
4. [Plane group name] Byte Access Mode error at x=<number>
    y=<number>, bank=<number>, expected=<number>,
    observed=<number>, XOR=<number>.

The direct port video memory test found an error at pixel (x,y) in the named plane group. The bank # refers to the corresponding VRAM bank number. Byte/Stencil Access Mode applies to all plane groups that access 8 bits of the frame buffer memory (in other words, the 8-bit image and overlay planes). The test expected to find exp but observed obs, yielding xor when the two values are exclusive or'd with each other.

Note - The following error messages are software errors. They are grouped together since the cause of the errors is similar. The reason for the errors is described at the end of the list.

5. Cannot read Window ID look up table from device
    <device_name>.
  Check device for existence and/or permissions.

6. Cannot write Window ID look up table to device
    <device_name>.
  Check device for existence and/or permissions.

7. Cannot post Color LUTs to device <device_name>.

Check device for existence and/or permissions.
8. Cannot get monitor mode from device <device_name>.
  Check device for existence and/or permissions.

9. Cannot set diagnostic mode from device <device_name>.

Check device for existence and/or permissions.
10. Cannot set monitor mode from device <device_name>.

Check device for existence and/or permissions.
11. Cannot create raster for device <device_name>.

Check device for existence and/or permissions.
12. Cannot create color map for device <device_name>.

Check device for existence and/or permissions.
13. Cannot create context for device <device_name>.

Check device for existence and/or permissions.
14. Cannot create color translation object for device
    <device_name>.
     Check device for existence and/or permissions.

15. Cannot create path object for device <device_name>.

Check device for existence and/or permissions.
16. Cannot create child raster for device <device_name>.

Check device for existence and/or permissions.
17. Cannot create multiple plane group information for
    device <device_name>.

Check device for existence and/or permissions.
Software error. The device that you specified (the default is /dev/fbs/leo0) may not be available to the test, therefore the above operation cannot be performed on this device. Make sure that you are executing the test on a machine with a ZX, and that you have permission to access it, and that the device is not being used by another application.
18. Cannot start another process. Software error.

     Software error. The process table may be full and the SPARCstation may
     have to be rebooted.

19. Cannot grab mouse or keyboard because                  <message>.

May need to bring down other graphic software that is currently running same window server.
Software error. When the FB locking option is selected, leotest tries to lock the mouse and keyboard but was not successful. The reason can be one of the following, according the window system software:
  • mouse/keyboard is frozen
  • grab window is not viewable
  • grabbed at invalid time
  • already grabbed by another client
20. CLUT <number>, index <number>, color <name>, expected
    <number>, observed <number>, XOR=<number>

An error was found in one of the three color look-up tables tested by SunVTS. The error was found in the nth CLUT. The index is out of 256 entries in each CLUT. Each CLUT has an 8-bit value for RED, GREEN, and BLUE. The color indicates the 8-bit set in which the error was found. The test expected to find expected but received observed, yielding XOR when the two values are exclusive or'd with each other.
21. Data file <file_name> missing in the current test
    directory.
     Software error.  ZX SunVTS can't find the data file (leotest.data) in
     the current /opt/SUNWvts/bin directory. You may have to reinstall the
     SUNWvts package in the specified directory.

22. Error in <subtest_name> test.

The subtest fails and the cause is given in the message that follows.
23. Error in verifying the <Red/Green/Blue> plane at
    x=<number>, y=<number>, bank=<number>,
    expected=<number>,observed=<number>, XOR=<number>.

Failed accelerator port test. The error is in either the RED, GREEN, or BLUE image plane. The x-y coordinate of the pixel should contain the expected value but instead received the observed value. This yields XOR value, or the bits in error, when the two values are exclusive or'd with each other.
24. Failed to open data file <file_name>. Suspect
    incomplete or incorrect hardware installation. Files may
    also have been corrupted.
     Software initialization problem. <file_name> is the data file that
     SunVTS can't open.

25.Failed to read data file <file_name>. Suspect incomplete
    or incorrect hardware installation. Files may also have
    been corrupted.
     Indicates a software initialization problem where <file_name> is the
     data file that SunVTS can't read.

26. Illegal SBus DVMA code = <number> addr = 0x%x data=
    <number>.
     Maybe data file is corrupted.

27. Illegal SBus packet, code = <number> addr = <number>
    data = <number>. Maybe data file is corrupted.
     This error occurs while the subtest is reading the transaction file. It is
     likely that the data file is corrupted, so the SUNWvts package may need
     to be reinstalled.

28. Out of Memory.

No memory left. Increase swap space and/or kill other processes.
29. Pick Detect misses:<number> lines and/or triangles
    inside the pickbox and/or <number> lines and triangles
    outside the pickbox.
     Failed the Picking accelerator port test.   Only the failing component
     <Red, Green or Blue> appears in the message.

30. Pick Echo failed: *** Error(s) found in <Red, Green or Blue>
    components.
     Failed the Picking accelerator port test. Only the failing component <Red,
     Green or Blue>  appears in the message.

31. Picking: *** Error(s) found in <Red, Green or Blue>
     components.
     Failed the picking accelerator port test. Only the failing component <Red,
     Green or Blue>  appears in the message.

32. <Plane group name> Pixel Access Mode error at x=<number>
     y=<number>, bank=<number>,
     expected=<number>,observed=<number>, XOR=<number>.

The direct port video memory test has found an error at pixel (x,y) in the named plane group. Pixel Access Mode applies to all plane groups that access the frame buffer memory 4-bytes at a time. (In other words, all planes except 8-bit planes). The memory for the pixel resides in the given VRAM bank. The test expected to find expected but found observed, yielding XOR when the two values are exclusive or'd with each other.
33. SRAM checksum mismatch. Float #1 = <number>, Float #2 =
     <number>, Float #3 = <number>, Float #4 = <number>.

All four checksums of the SRAMs in the Floating Point Transform section are not identical. The subtest displays the mismatched checksum from each SRAM of each LeoFloat chip.
34. SRAM of the LeoFloat [0/1/2/3], number of failures =
     <number>, first SRAM location = <number>, expected =
     <number>, observed = <number>, XOR = <number>

An error is found in the SRAM test of the LeoFloat chip number 0, 1, 2, or 3. If the number of failures is more than one, the subtest displays the first SRAM location that fails, the expected and observed values in this location, and the bits in error (values of expected and observed are xor'd together).
35. tar never finished. System software problem.

     Software error. Make sure that the tar program is installed correctly on
     your system. Also, use df to see if you have enough disk space left in
     your /tmp directory.

36. tar <error>

Software error. Ensure that the tar program is installed correctly on your system. Also, use df to see if you have enough disk space left in your /tmp directory.
tar failed. Note: A space of approximately 2MB in /tmp is required for the test to run correctly.
Software error. The tar program cannot unpack data file to the /tmp directory due to limited disk space.
37. The checksums for <red/green/blue> image data of all pixels
     don't match, expected = <number>, observed = <number>,
     XOR = <number>

The FB output section subtest prints this message when the checksums of either RED, GREEN, or BLUE image data observed from the trap registers in the Video Output test are not the same as the expected values. It also prints the error messages below if the upper four bits in the trap registers are not set/reset as expected,
38. The Even Field bit expected to be 0, observed 1.

39. The Composite Sync bit expected to be 1, observed 0.

40. The Composite Blank field expected to be 1, observed
     0.

41. The Stereo bit expected to be 1, observed 0.

42. The Stereo bit expected to be 1, observed 0.
     These bits are either not set correctly, or the read is from the wrong
     location, which indicates there is an error in the Video Output section.

43. Unable to map <device_name>. Not enough memory.
     Software error. There is not enough memory to map the addresses for the
     ZX device; the default is /dev/fbs/leo0. You may have to increase
     swap space or add more memory.

44. Unable to open device <device_name>. Check device for
     existence and/or permission.
     Software error. SunVTS is unable to open the ZX device. Ensure that
     /dev/fbs/leo0 exists and that the permissions are correct. There may
     be a software installation problem in which the ZX software packages
     need to be reinstalled.

45. Uncompression of data file failed. Note: A space of
     approximately 2MB in /tmp is required for the test to
     run correctly
     Software error. There is not enough disk space in /tmp; about 2 Mbytes
     is required to uncompress the data file. You may have to remove
     unneeded files or link /tmp to a larger disk partition.

46. Unknown data file magic number = <number>.
     Software error. The data file was generated by an older version of
     software tools. Report this error by filing a bug report or calling the Sun
     800 number.

47. Unsupported 24-bit data length. Maybe data file is
     corrupted.

This error occurs while the subtest is reading the transaction file. Corrupt data is likely, so the SUNWvts package may need to be reinstalled.
48. Unable to open display. Window server not running.

Warning message only. This message is displayed when the ZX SunVTS is executed from the command line remotely or if SunVTS is run in TTY mode.
49. vfork:<error>
     Software error. An error occurred while trying to fork a child process.
     Increase swap space, or close other processes.

50. [PWID/QWID] WLUT: Look up table error at index
     <number>, expected <number>, observed <number>, XOR
     <number>.

An error was found in either the PWID (Hardware Window ID) or the QWID (Software Window ID) look-up tables. The error was found in the nth WLUT. The index is out of 64 entries for PWID or 15 for QWID. The test expected to find expected but received observed, yielding XOR when the two values are exclusive or'd with each other, which indicates the bits in error. This error message indicates there is an error in the Video Output section.