SunVTS 5.0 Test Reference Manual

Chapter 58 S24 Frame Buffer Test (tcxtest)

Through a series of protocol, memory, acceleration, and colormap tests, tcxtest checks the functionality of the S24 Frame Buffer SBus card used on the SPARCstation 5 and checks the FSV (fast SBus video) ASIC on the SPARCstation 4 motherboard.


Note -

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


For full instructions on testing frame buffers, see "Testing Frame Buffers".

tcxtest Test Groups

tcxtest has four distinct test groups.

AFX Protocol tests (in 8/16/32/64-bit mode):

Frame Buffer Memory tests (in 8/16/32/64-bit14 mode):

Acceleration tests (both User and Raw modes):

Colormap and Cursor tests:

tcxtest Subtests

Table 58-1 tcxtest Subtests

tcxtest Subtests 

Description 

WRC 

By performing multiple writes and reads, and then verifying the results, the WRC test exercises the FIFO inside the S24 chip. The WRC test is composed of these three subtests: test_afx_alt_wr, test_memafx, and test_afx_random. If these tests fail, they print an error message showing the expected and observed data.

Test_afx_alt_wr 

This test performs 16 writes to alternative pages, for example, WR (Page1), WR (Page2), WR (Page1+off), WR (Page2+off), and so on. It then reads back the data and compares it with the expected results. This test also writes to the frame buffer space 16 times, followed by a write to a different page in the frame buffer space. The test then reads this data back and verifies it with the expected results. 

Test_memafx 

The CPU in the SWIFT chip has closely coupled interfaces for the DRAM and the AFX bus. This test checks the arbitration between the two accesses. 

 

This test performs a number of alternating writes to the AFX and the CPU memory. After writing to different locations, the test reads and verifies the data. By performing an access across the page boundaries, the test covers both the cached and non-cached accesses. 

Test_afx_random 

After writing to one page in the DRAM memory, the test performs a few random writes/reads to random locations in the AFX space. The test then writes to a different page in the DRAM space, where it performs random accesses. 

 

This test does not perform any data verification, it just checks to see if any of these random accesses caused a time out. 

Constant 

This test writes a data pattern to the whole memory. This pattern is read back and compared with the expected data. Once the memory fill operation is completed, the test reads the memory back and verifies that the value read is correct. 

Address 

This test writes a data pattern (which is same as the value of the address) to the whole memory. This pattern is then read back to verify that it is the correct value. 

Random 

This test writes a random data pattern to the whole memory. This pattern is read back and compared with the expected data. After the memory fill operation is completed, the test reads the memory and verifies the values read are correct. 

Blit 

This test has two parts; the raw blit test and the user blit test.

The raw blit test draws a 64x64x24 pixel image at the top-left corner of screen. Next it blits the image to the screen. The destination images are read back and compared with the original image to verify the raw blit operation has run correctly.

The user blit test draws a 64x64x24 pixel image at the top left corner of screen. It then blits the image to the screen. The destination images are read back and compared with the original image. The user blit test is the same as the raw blit test, except the user blit test uses the user data space for the blit command.

Stip 

This test performs numerous corner cases for stipple. The test writes to the destination with different data values using a stipple operation. The destination data is read back and verified. For the fast SBus video (SV), the following is checked: 

  • Walks 1 through pixel mask.

  • Walks 1 through ROP bits.

  • Walks 1 through destination byte.

  • Walks 1 through IDX byte.

Cursor (does not apply to SPARCstation 4) 

This test performs a data register regression test. It writes a walking 1 pattern to the cursor data registers. The data is then read back and verified with the expected results. The test is repeated using a walking 0 as the data pattern 

Colormap 

Loads all locations in the colormap with varying values of RGB. 

 

Note: If the system being tested has a monochrome or greyscale monitor, visual color problems are undetectable. 

tcxtest 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.

FB locking is the only test parameter option for this test. See "Testing Frame Buffers" for details.

  1. Click enable or disable to configure frame buffer locking. etc.

    Figure 58-1 tcxtest Test Parameter Options Dialog Box

    Graphic

tcxtest Test Modes

Table 58-2 tcxtest Test Modes

Test Mode 

Supported? 

Description 

Connection 

No 

Not supported. 

Functional 

(Offline) 

Yes 

Runs the appropriate subtests for the hardware platform being tested.

tcxtest Command-Line Syntax

/opt/SUNWvts/bin/tcxtest standard_arguments -o dev=device_name,lock=E(nable)|D(isable), X=bit_mode,T=test,S=[dfb8, dfb24, dfb32]

Table 58-3 tcxtest Command-Line Syntax

Argument 

Explanation 

dev=device_name

Specifies the filename of the device to be tested, for example, dev=tcx0.

lock= E(nable)|D(isable)

Enables or disables the window system locking option. See "Testing Frame Buffers" for details. Do not use when device is the window system display.

X=bit_mode

Specifies the data transfer size. Supported values are: 

  • 8 byte

  • 16 short

  • 32 long

  • 64 double word

T=test

Specifies a particular test. To specify an individual test, replace test with:

  • a =Address

  • c =Constant

  • r =Random

  • b =Blit

  • s =Stipple

  • h =Cursor

  • w =WRC

 

Note: When you select either the Blit or Stipple test, both the User and Raw mode tests are run.

S=[dfb8, dfb24, dfb32]

Specifies which frame buffer memory space to use. 

  • -dfb8 --Dumb frame buffer 8-bit space. Memory is accessed only by bytes.

  • -dfb24 --Dumb frame buffer 24-bit space. Memory is accessed only by 24-bit reads and writes.

  • -dfb32 --Dumb frame buffer 8-bit space. Memory is accessed by 8-bit reads and writes.


Note -

64-bit tests are located in the sparcv9 subdirectory: /opt/SUNWvts/bin/sparcv9/testname. 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 "32-Bit and 64-Bit Tests".