Contenues dans
Trouver plus de documentation
Ressources d'assistance comprises
| Télécharger cet ouvrage au format PDF
- CHAPTER 19
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 described in the next section,"leotest Subtests" on page 203, except the Stereo test. 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, and then exits:
-
- Select Single Pass in the SunVTS Options menu.
- Select Verbose in 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 19-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 19-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 19-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 is stored in the Sun raster file format. The files are stored in the leotest.data file in the /opt/SUNWvts/bin directory.
-
Note - The leotest subtests verify a frame buffer region of 1152 by 900 pixels, regardless of monitor size.
-
TABLE 19-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 19-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 19-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 19-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 19-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
- The following three examples 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.
-
- To test the simple accelerator port with a primitive single pass:
-
machine# cd /opt/SUNWvts/bin
machine# leotest -o S=0x10
|
-
- To test all direct port with five loops of sequence:
-
machine# cd /opt/SUNWvts/bin
machine# leotest -o S=0x7,B=0x5
|
-
- To test all subtests (except the interactive tests) with two loops of each subtest and 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 19-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 19-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 19-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,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. |
|
-
TABLE 19-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 19-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,observed= 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 19-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 19-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. |
|
|
|