Innerhalb
Nach weiteren Dokumenten suchen
Support-Ressourcen
| Dieses Buch im PDF-Format herunterladen
- CHAPTER 17
ZX and TZX Graphics Accelerator Test (leotest)
-
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 - 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 host name 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:
-
- Select Single Pass on the SunVTS Options menu.
- Select Verbose on the SunVTS Options menu.
- 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.

FIGURE 17-1 leotest
leotest Subtests
-
leotest is divided into two subtest categories:
-
- The direct port tests check the non-accelerated portion of the ZX using various subtests (refer to TABLE 17-1).
-
- The accelerator port test consists of a sequence of subtests that are designed to ensure the ZX Graphics Accelerator integrity at the system level (refer to TABLE 17-1). 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.
-
TABLE 17-1 leotest
| leotest Subtests | Description |
| Direct Port Tests |
|
| Video Memory | The video memory array subtest selects and tests 64 x 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 |
|
| 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. |
-
TABLE 17-1 leotest(Continued)
| leotest Subtests | Description |
| Viewpoint 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. |
-
TABLE 17-1 leotest(Continued)
| leotest Subtests | Description |
| 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.1 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 Functional test.
- In Functional test, 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=pattern
-
TABLE 17-2 leotest
| Argument | Explanation |
| dev=device_name | device_name is the full path name of the device being tested; the default is /dev/fbs/leo0. |
| S=subtest_number | subtest_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 001Direct port--video memory 0x 000 002Direct port--CLUTs and WID LUTs 0x 000 004Direct port--Frame buffer output section 0x 000 008Direct port--SRAM checksum and read/write 0x 000 010Accelerator port--primitives 0x 000 020Accelerator port--vectors 0x 000 040Accelerator port--clipping 0x 000 080Accelerator port--z-buffer 0x 000 100Accelerator port--polygon edge 0x 000 200Accelerator port--transparency 0x 000 400Accelerator port--depth cueing 0x 000 800Accelerator port--lighting & shading 0x 001 000Accelerator port--raster copy 0x 002 000Accelerator port--picking 0x 004 000Accelerator port--XGL 0x 008 000Accelerator port--arbitration 0x 010 000Accelerator port--stereo (interactive)
|
| F=#_of_subtest_loops | #_of_subtest_loops is the number of loops for each subtest; the default is 1. |
-
TABLE 17-2 leotest(Continued)
| Argument | Explanation (Continued) |
| B=#_of_test_loops | #_of_test_loops is the number of loops of each test sequence. The default is 1. |
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.1 User's
Guide for details. |
| P=pattern_number | Selects 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
- In all error conditions, the field replaceable unit (FRU) is the entire FFB.
-
TABLE 17-3 leotest
| Error Message | Probable Cause(s) | Recommended Action |
| 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. | Reboot the SPARCstation. |
| 3 | Busy wait exceeded <number> loops. Error in the Floating Point Transform section. Rerun Leoconfig | A timeout error. | There is a possible problem with the floating point transform section. Execute the leoconfig software (located in /etc/opt/SUNWleo/bin/ leoconfig) 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. |
|
| 5 | Cannot read Window ID look up table from device <device_name> | Software error. | Check device for existence or permissions. |
| 6 | Cannot write Window ID look up table to device <device_name> | Software error. | Check device for existence or permissions. |
| 7 | Cannot post Color LUTs to device <device_name> | Software error | Check device for existence or permissions. |
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 8 | Cannot get monitor mode from device <device_name> | Software error. | Check device for existence or permissions. |
| 9 | Cannot set diagnostic mode from device <device_name> |
| Check device for existence or permissions. |
| 10 | Cannot set monitor mode from device <device_name> |
| Check device for existence or permissions. |
| 11 | Cannot create raster for device <device_name> |
| Check device for existence or permissions. |
| 12 | Cannot create color map for device <device_name> |
| Check device for existence or permissions. |
| 13 | Cannot create context for device <device_name> |
| Check device for existence or permissions. |
| 14 | Cannot create color translation object for device <device_name> |
| Check device for existence or permissions. |
| 15 | Cannot create path object for device <device_name> |
| Check device for existence or permissions. |
| 16 | Cannot create child raster for device <device_name> |
| Check device for existence or permissions. |
| 17 | Cannot create multiple plane group information for device <device_name> | 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. | Check device for existence or permissions. 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. | Reboot. |
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 19 | Cannot grab mouse or keyboard because <message> | 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 an invalid time · Another client grabbed it | Bring down other graphic software that is currently running the same window server. |
| 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 | 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>,observe d=<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. |
|
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 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> | Data file may be corrupt. |
|
| 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 corrupt. | The SUNWvts package may need to be reinstalled. |
| 28 | Out of Memory | No memory available. | Increase swap space 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. |
|
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 32 | <Plane group name> Pixel Access Mode error at x=<number> y=<number>, bank=<number>, expected=<number>,observe d=<number>, XOR=<number> | The direct port video memory test 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. The tar program cannot unpack data file to the /tmp directory due to limited disk space. A space of approximately 2MB in /tmp is required for the test to run correctly. | 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. |
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 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 or 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. | Make sure 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. |
-
TABLE 17-3 leotest(Continued)
| Error Message | Probable Cause(s) | Recommended Action |
| 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 contacting your Sun Service representative. |
| 47 | Unsupported 24-bit data length. Maybe data file is corrupted | This error occurs while the subtest is reading the transaction file. Data may be corrupt. | Reinstall the SUNWvts package. |
| 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. |
|
|
|